Segue a forma como eu após pesquisar desenvolvi os exercícios:
console.log("=== Exercício 1 ===");
// Array com as letras para construir a escada
const degraus = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'];
// String que armazenará cada degrau
let escada = "";
// Para cada letra no array:
degraus.forEach((letra) => {
escada += letra; // Adiciona a letra atual
// Imprime o degrau alinhado à direita com espaços
// padStart completa com espaços até ter o tamanho total do array
console.log(escada.padStart(degraus.length, " "));
});
console.log("=== Exercício 2 ===");
function calcularLogaritimo(numeros) {
return numeros.map (num => {
if (num < 0) {
console.warn(`Logarítmo não definido para ${num} o número deve ser > 0.`);
return NaN; // retorna NaN para número inválido
}
const resultado = Math.log10(num); // calcula logarítmo na base 10
console.log(`log10(${num}) = ${resultado.toFixed(0)}`);
return resultado;
});
}
const valores = [1, 10, 100, 1000, 0.1, -5, 100000, 0.0001, -0.5];
// executando a função
const resultado = calcularLogaritimo(valores);
console.log("\n Resultados Finais");
console.log(resultado.join(" , "));
/* console.log("=== Exercício 3 exemplo ===");
const numeros = [10, 20, 30, 40, 50];
const numeroProcurado = 40;
let posicao = -1; // (-1) usado para iniciar antes do primeiro índice que é zero
for (let i = 0; i < numeros.length; i++) {
if (numeros[i] === numeroProcurado) {
posicao = i;
break;
}
}*/
console.log("=== Exercício 3 com readline ===");
// importa e inicializa a interface readline para interação do usuário no terminal
const readline = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
// array com lista de carros disponíveis
const carros = ["Fusca", "Honda Civic", "Onix", "Ford Camaro", "Toyota", "Jeep Cherokee"];
//solicitação de entrada do usuários
readline.question("Digite o nome do carro que deseja procurar na lista:", (alvo) => {
let indice = -1;
console.log(`\nIniciando Busca por ${alvo} ...`);
// loop de busca linear
for (let i = 0; i < carros.length; i++) { // condição de execução
if (carros[i].toLocaleLowerCase() === alvo.toLocaleLowerCase()) { // comparação com letras minúscula
indice = i;
break; // interrompe o loop quando encontrar
}
}
// verifica os resultados com if
if (indice !== -1) { // operador (indice ! -1) diferente de -1
// mostra os resultados da busca
console.log(`O carro ${alvo} foi encontrado na posição ${indice} da lista`);
} else {
console.log(`O carro ${alvo} não foi encontrado na lista!`);
}
readline.close(); // fecha a interface para o recurso redline
console.log(" *** Lista de carros disponíveis: ***");
console.log(carros.join(" | "));
});