Skip to content

Commit

Permalink
Tarea UD4 Parte JS Final
Browse files Browse the repository at this point in the history
  • Loading branch information
PabloTabernero committed Dec 3, 2023
1 parent 97d11a7 commit 11a1ebc
Show file tree
Hide file tree
Showing 3 changed files with 320 additions and 51 deletions.
106 changes: 106 additions & 0 deletions UD4/TS/Tarea.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
let paises: string[] = ['España', 'Portugal', 'Brasil', 'Argentina', 'Mexico'];

// Amosa o numero de elementos do Array.
console.log("Amosa o número de elementos do Array.");

let tamanoArray = (lista: string[]): void => console.log("La longitud del array es: " + lista.length);
tamanoArray(paises);

// Amosa todos os paises.
console.log("Amosa todos os paises.");

let mostrarPaises = (lista: string[]): void => console.log("El listado de paises es:" + lista.map(elemento => " " + elemento).join(",") + ".");
mostrarPaises(paises);

// Amosa todos os paises en sentido inverso. Ollo, que o Array orixinal non quede modificado, é dicir, que non quede ordenado ao revés.
console.log("Amosa todos os paises en sentido inverso. Ollo, que o Array orixinal non quede modificado, é dicir, que non quede ordenado ao revés.");

let mostrarPaisesInvertido = (lista: string[]): void =>
console.log("El listado de paises en orden inverso es:" + lista.map(elemento => " " + elemento).reverse().join(",") + ".");
mostrarPaisesInvertido(paises);

// Engade un pais ao comezo do Array.
console.log("Engade un pais ao comezo do Array.");

let anadirPaisAlInicio = (lista: string[], elemento: string): number => lista.unshift(elemento);

anadirPaisAlInicio(paises, "Andorra");
mostrarPaises(paises);

// Engade un pais ao final do Array.
console.log("Engade un pais ao final do Array.");

let anadirPaisAlFinal = (lista: string[], elemento: string): number => lista.push(elemento);

anadirPaisAlFinal(paises, "Italia");
mostrarPaises(paises);

// Elimina un elemento ao comezo do Array e indica cal foi.
console.log("Elimina un elemento ao comezo do Array e indica cal foi.");

let elimiarPaisAlInicio = (lista: string[]): string | undefined => lista.shift();

console.log("Eliminado del elemento " + elimiarPaisAlInicio(paises) + " del listado de paises.");
mostrarPaises(paises);

// Elimina un elemento ao final do Array e indica cal foi.
console.log("Elimina un elemento ao final do Array e indica cal foi.");

let elimiarPaisAlFinal = (lista: string[]): string | undefined => lista.pop();

console.log("Eliminado del elemento " + elimiarPaisAlFinal(paises) + " del listado de paises.");
mostrarPaises(paises);

// Amosa o elemento que se atope na posición que che indique o usuario.
// Asumimos que para un usuario la primera posisión de la lista es 1.
console.log("Amosa o elemento que se atope na posición que che indique o usuario.");

let entrada: string | null = prompt("Introduce la posicion del pais a mostrar(1 a " + paises.length + "): ");
let posicion = parseInt(entrada);

let validarEntrada = (posicion: number): boolean => (typeof posicion === 'number' && posicion > 0 && posicion <= paises.length);

console.log(
validarEntrada(posicion)
? "El elemento de la posicion " + posicion + " es: " + paises[posicion - 1]
: "La posición introducida no es válida."
);

// Amosa a posición na que se atopa un elemento indicado polo usuario.
// Asumimos que la posición para el usuario empieza en 1, por que se suma a la hora de mostrarlo.
console.log("Amosa a posición na que se atopa un elemento indicado polo usuario.");

entrada = prompt("Introduce el nombre del pais a buscar: ");

let exitePais = (lista: string[], elemento: string): number | null => {
let indice = lista.indexOf(elemento);
return indice !== -1 ? indice + 1 : null;
};

let indicePais = exitePais(paises, entrada);

console.log(indicePais !== null ? "La posicion de " + entrada + " es: " + indicePais : "El pais introducido no es valido.");

// Amosa os elementos que se atopan entre dúas posicións indicadas polo usuario.
console.log("Amosa os elementos que se atopan entre dúas posicións indicadas polo usuario.");

let validarFin = (inicial: number, final: number): boolean => typeof final === 'number' && final > inicial && final <= paises.length;
let extraerPaises = (lista: string[], posicionIncial: number, posicionFinal: number): string[] =>
lista.slice(posicionIncial - 1, posicionFinal - 1);

let entradaInicio = prompt("Introduce el valor de la posición inicial: ");
let inicio = parseInt(entradaInicio);

if (validarEntrada(inicio)) {
let entradaFin = prompt("Introduce el valor de la posición final: ");
let fin = parseInt(entradaFin);

if (validarFin(inicio, fin)) {
let paisesExtraidos = extraerPaises(paises, inicio, fin);
mostrarPaises(paisesExtraidos);
} else {
console.log("El valor final introducido no es valido");
}
} else {
console.log("El valor inicial introducido no es valido.");
}
108 changes: 65 additions & 43 deletions UD4/Tarea.js
Original file line number Diff line number Diff line change
@@ -1,78 +1,70 @@
//Apartires dun Array cun listado de paises realiza o seguinte:
let paises = ['España', 'Portugal', 'Brasil', 'Argentina', 'Mexico'];
let paises = ['España', 'México', 'Argentina', 'Brasil', 'Francia', 'Italia', 'Alemania', 'Japón', 'Australia', 'Canadá'];

//• Amosa o numero de elementos do Array.
console.log("Amosa o número de elementos do Array.");

let tamanoArray = (lista) => console.log("La longitud del array es: " + lista.length);
tamanoArray(paises);
let tamanoArray = (lista) => lista.length;
console.log("La longitud del array es: " + tamanoArray(paises));


//• Amosa todos os paises.
console.log("Amosa todos os paises.");

let mostrarPaises = (lista) => console.log("El listado de paises es:" + lista.map(elemento => " " + elemento).join(",") + ".");
mostrarPaises(paises);
let mostrarPaises = (lista) => lista.map(elemento => " " + elemento).join(",");
console.log("El listado de paises es:" + mostrarPaises(paises) + ".");


//• Amosa todos os paises en sentido inverso. Ollo, que o Array orixinal non quede modificado, é dicir, que non quede ordenado ao revés.
console.log("Amosa todos os paises en sentido inverso. Ollo, que o Array orixinal non quede modificado, é dicir, que non quede ordenado ao revés.");

let mostrarPaisesInvertido = (lista) => console.log("El listado de paises en orden inverso es:" + lista.map(elemento => " " + elemento).reverse().join(",") + ".");
mostrarPaisesInvertido(paises);
let mostrarPaisesInvertido = (lista) => lista.slice().reverse().map(elemento => " " + elemento).join(",");
console.log("El listado de paises en orden inverso es:" + mostrarPaisesInvertido(paises) + ".");


//• Engade un pais ao comezo do Array.
console.log("Engade un pais ao comezo do Array.");

let anadirPaisAlInicio = (lista, elemento) => lista.unshift(elemento);

anadirPaisAlInicio(paises, "Andorra");
mostrarPaises(paises);
let anadirPaisAlInicio = (lista, elemento) => {
let nuevoArray = lista.slice();
nuevoArray.unshift(elemento);
return nuevoArray;
}
console.log("El nuevo listado de paises es: " + mostrarPaises(anadirPaisAlInicio(paises, "Andorra")));


//• Engade un pais ao final do Array.
console.log("Engade un pais ao final do Array.")

let anadirPaisAlFinal = (lista, elemento) => lista.push(elemento);

anadirPaisAlFinal(paises, "Italia");
mostrarPaises(paises);
let anadirPaisAlFinal = (lista, elemento) => {
let nuevoArray = lista.slice();
nuevoArray.push(elemento);
return nuevoArray;
}
console.log("El nuevo listado de paises es: " + mostrarPaises(anadirPaisAlFinal(paises, "Grecia")));


//• Elimina un elemento ao comezo do Array e indica cal foi.
console.log("Elimina un elemento ao comezo do Array e indica cal foi.");

let elimiarPaisAlInicio = (lista) => lista.shift();

console.log("Eliminado del elemento " + elimiarPaisAlInicio(paises) + " del listado de paises.");
mostrarPaises(paises);
let elimiarPaisDelInicio = (lista) => {
let nuevoArray = lista.slice();
let elemento = nuevoArray.shift();
return { nuevoArray, elemento };
}
console.log("Eliminado del elemento " + elimiarPaisDelInicio(paises).elemento + " del listado de paises.");


//• Elimina un elemento ao final do Array e indica cal foi.
console.log("Elimina un elemento ao final do Array e indica cal foi.");

let elimiarPaisAlFinal = (lista) => lista.pop();
let eliminarPaisDeLFinal = (lista) => {
let nuevoArray = lista.slice();
let elemento = nuevoArray.pop();
return { nuevoArray, elemento };
}
console.log("Eliminado del elemento " + eliminarPaisDeLFinal(paises).elemento + " del listado de paises.");

console.log("Eliminado del elemento " + elimiarPaisAlFinal(paises) + " del listado de paises.");
mostrarPaises(paises);

//• Amosa o elemento que se atope na posición que che indique o usuario.
//Asumimos que para un usuario la primera posisión de la lista es 1.
console.log("Amosa o elemento que se atope na posición que che indique o usuario.");

let entrada = prompt("Introduce la posicion del pais a mostrar(1 a " + (paises.length) + "): ");
let entrada = prompt("Introduce la posición del país a mostrar (1 a " + paises.length + "): ");
let posicion = parseInt(entrada);

let validaarEntrada = (posicion) => (typeof(posicion) === 'number' && posicion > 0 && posicion <= paises.length)
let validarEntrada = (posicion) => (typeof (posicion) === 'number' && posicion > 0 && posicion <= paises.length);
let obtenerElemento = (lista, posicion) => validarEntrada(posicion) ? lista[posicion - 1] : false;

console.log(validaarEntrada(posicion) ? "El elemento de la posicion " + posicion + " es: " + paises[posicion - 1] : "La posición introducida no es válida.");
console.log(validarEntrada(posicion) ? "El elemento de la posicion " + posicion + " es: " + obtenerElemento(paises, posicion) : "La posición introducida no es válida.");


//• Amosa a posición na que se atopa un elemento indicado polo usuario.
// Asumimos que la posición para el usuario empieza en 1, por que se suma a la hora de mostrarlo.
console.log("Amosa a posición na que se atopa un elemento indicado polo usuario.");

entrada = prompt("Introduce el nombre del pais a buscar: ");

let exitePais = (lista, elemento) => {
Expand All @@ -86,5 +78,35 @@ console.log(indicePais !== null ? "La posicion de " + entrada + " es: " + indice


//• Amosa os elementos que se atopan entre dúas posicións indicadas polo usuario.
let validar = (inicial, final, longitud) => {
let validarInicio = (inicial, longitud) => (typeof (inicial) === 'number' && inicial > 0 && inicial < longitud);
let validarFin = (inicial, final, longitud) => (typeof (final) === 'number' && final > inicial && final <= longitud);

return (validarInicio(inicial, longitud) && validarFin(inicial, final, longitud));
}

let extraerPaises = (inicial, final, lista) => {
return validar(inicial, final, lista.length) ? lista.slice(inicial - 1, final - 1) : null;
}

let entradaInicio = prompt("Introduce el valor de la posición inicial: ");
let inicio = parseInt(entradaInicio);
let entradaFin = prompt("Introduce el valor de la posición final: ");
let fin = parseInt(entradaFin);

//console.log(validar(inicio, fin, pa))
console.log("Los paises seleccionados son: " + extraerPaises(inicio, fin, paises) + ".");





/*
if (validarFin(inicio, fin)) {
let piasesExtraidos = extraerPaises(paises, inicio, fin);
} else {
alert("El valor final introducido no es valido")
}
} else {
alert("El valor inicial introducido no es valido.")
}*/
Loading

0 comments on commit 11a1ebc

Please sign in to comment.