//Primera parte
let listaGenerica = [];
//Seunda parte
let lenguagesDeProgramacion = ['JavaScript', 'C', 'C++', 'Kotlin' , 'Python'];
//Tercera parte
let lenguagesDeProgramacion0 = ['Java', 'Ruby' , 'GoLang']
//Cuarta parte
function Visualizador(lenguagesDeProgramacion){
    return lenguagesDeProgramacion;
}
console.log(Visualizador);
//Quinta parte
function VisualizadorInversa(lenguagesDeProgramacion0){
    return lenguagesDeProgramacion0.slice().reverse(); //Crea una copia y lo invierte
    //el uso de .slice es para crear una copia del array original, evitando modificarlo directamente.
    //el .Reverse simplemente invierte el orden y bueno con eso gg xd
}
console.log(VisualizadorInversa)
//Sexta parte
let listaDeNumeros = [10 , 20 , 40 , 60];
function calcularPromedio(listaDeNumeros){
    //suma
    let suma = listaDeNumeros.reduce((total, numero) => total + numero , 0);
    //sacar promedio
    let promedio = suma / listaDeNumeros.length;
    return promedio;
}
console.log(calcularPromedio(listaDeNumeros));
//Septima parte
let listaDeNumeros1 = [30 , 20 , 10 , 50 , 60 , 40];
function numerosExtremos(listaDeNumeros1){
    let mayor = Math.max(...listaDeNumeros1);
    let menor = Math.min(...listaDeNumeros1);
 
    console.log(mayor);
    console.log(menor);
    return;
}
//Octava parte
let listaDeNumeros2 = [13 , 24 , 12 , 3]
function calculadoraSuma(listaDeNumeros2){
    
    let total = listaDeNumeros2.reduce((acumulador, numero) => acumulador + numero, 0);
    return total;
}
console.log(calculadoraSuma(listaDeNumeros2)); // Aquí se muestra el valor retornado
//Novena parte
function encontrarPosicion(lista, elemento) {
    return lista.indexOf(elemento);  // Devuelve el índice o -1 si no existe
//indexOf() busca un valor dentro del array y devuelve su índice.
//Si el valor no se encuentra, devuelve -1.
}
let listaDeNumeros3 = [10, 20, 30, 40];
console.log(encontrarPosicion(listaDeNumeros, 30)); // Devuelve 2
console.log(encontrarPosicion(listaDeNumeros, 50)); // Devuelve -1
//Decima parte
function sumarListas(lista1, lista2) {
    return lista1.map((num, index) => num + lista2[index]);
}
const lista1 = [1, 2, 3];
const lista2 = [4, 5, 6];
const resultado1 = sumarListas(lista1, lista2);
console.log(resultado1);  
//Onceava parte
function obtenerCuadrados(lista) {
    return lista.map(num => num * num); // Multiplicamos cada elemento por sí mismo
}
let listaDeNumeros4 = [1, 2, 3, 4];
console.log(obtenerCuadrados(listaDeNumeros4)); // Devuelve [1, 4, 9, 16]