//Ejercicio 3
let lenguagesDeProgramacion = ['JavaScript','C','C++','Kotlin','Python'];
lenguagesDeProgramacion.push('Java','Ruby','GoLang');
console.log(lenguagesDeProgramacion);
//Ejercicio 4
let lenguagesDeProgramacion = ['JavaScript','C','C++','Kotlin','Python'];
lenguagesDeProgramacion.push('Java','Ruby','GoLang');
console.log(lenguagesDeProgramacion);
function mostrarElementos (lista){
function recorrerElementos(indice){
if (indice < lista.length){
console.log(lista[indice]);
recorrerElementos(indice+1);
}
}
recorrerElementos(0);
};
//Ejercicio 5
let lenguagesDeProgramacion = ['JavaScript','C','C++','Kotlin','Python'];
lenguagesDeProgramacion.push('Java','Ruby','GoLang');
console.log(lenguagesDeProgramacion);
function mostrarElementosInversos (lista){
function recorrerElementos(indice){
if (indice >=0) {
console.log(lista[indice]);
recorrerElementos(indice-1);
}
}
recorrerElementos(lista.length-1);
};
mostrarElementosInversos(lenguagesDeProgramacion);
//Ejercicio 6
let numeros = [5, 4, 2, 6, 7];
function promedioElementos(lista) {
function adicionarElementos(indice) {
if (indice < lista.length) {
return lista[indice] + adicionarElementos(indice + 1);
} else {
return 0;
}
}
if (lista.length > 0) {
let adicion = adicionarElementos(0);
let promedio = adicion / lista.length;
console.log("Promedio es:", promedio);
} else {
console.log("Lista vacía");
}
}
promedioElementos(numeros);
//Ejercicio 7
let numeros = [10, 4, 2, 6, 3, 7];
function mostrarMaxMin(lista) {
if (lista.length === 0) {
console.log("La lista está vacía");
return;
}
function encontrarMaxMin(indice, max, min) {
if (indice >= lista.length) {
console.log("Número más grande:", max);
console.log("Número más pequeño:", min);
return;
}
if (lista[indice] > max) {
max = lista[indice];
}
if (lista[indice] < min) {
min = lista[indice];
}
encontrarMaxMin(indice + 1, max, min);
}
encontrarMaxMin(0, lista[0], lista[0]);
}
mostrarMaxMin(numeros);
//Ejercicio 8
let numeros = [10, 4, 2, 6, 3, 7];
function sumarElementos(lista) {
if (lista.length === 0){
console.log('La lista está vacia. La suma es cero');
return;
}
function calcularTodos(indice, suma) {
if(indice >= lista.length ){
return suma;
}
return calcularTodos(indice +1, suma + lista[indice]);
}
let resultado = calcularTodos(0, 0);
console.log('La suma de los elementos es:', resultado);
}
sumarElementos(numeros);
//Ejercicio 9
let colores = ["rojo", "azul", "verde", "naranja", "morado"];
function posicion(lista, elemento) {
function buscarElemento(indice) {
if (indice >= lista.length) {
return -1;
}
if (lista[indice] === elemento) {
return indice;
}
return buscarElemento(indice + 1);
}
return buscarElemento(0);
}
let colorBuscado = "verde";
let resultadoVerde = posicion(colores, colorBuscado);
if (resultadoVerde !== -1) {
console.log(El color ${colorBuscado} se encuentra en la posición ${resultadoVerde}
);
} else {
console.log( El color ${colorBuscado} no se encuentra en la lista. Resultado es: ${resultadoVerde}
);
}
let otroColor = "negro";
let resultadoDiferente = posicion(colores, otroColor);
if (resultadoDiferente !== -1) {
console.log(El color ${otroColor} se encuentra en la posición ${resultadoDiferente}
);
} else {
console.log( El color ${otroColor} no se encuentra en la lista. Resultado es: ${resultadoDiferente}
);
}
//Ejercicio 10
let primeraLista = [3, 5, 2, 7, 8];
let segundaLista = [4, 6, 5, 9, 3];
function sumarListas(lista1, lista2) {
if (lista1.length !== lista2.length) {
console.log("La listas no tienen el mismo tamaño");
return [];
}
function sumarElementosPorIndices(indice) {
if (indice >= lista1.length) {
return [];
}
let suma = lista1[indice] + lista2[indice];
return [suma].concat(sumarElementosPorIndices(indice + 1));
}
return sumarElementosPorIndices(0);
}
let resultado = sumarListas(primeraLista, segundaLista);
console.log("El resultado de las sumas en la nueva lista es:", resultado);
//Ejercicio 11
let listaNumeros = [6, 4, 7, 9, 2];
function recibirNumeros(lista) {
if(lista.length === 0){
console.log('La lista regresa vacia');
return[];
}
function nuevaLista(indice) {
if(indice >= lista.length){
return [];
}
let dobleDelNumero = lista[indice] * 2;
return [dobleDelNumero].concat(nuevaLista(indice + 1));
}
return nuevaLista(0);
}
let resultado = recibirNumeros(listaNumeros)
console.log('El resultado del doble del número en la nueva lista es:', resultado);