Desafio: Par ou Ímpar
Lendo entrada do usuário
Até agora, os valores estavam fixos no código. Vamos deixar o programa interativo com prompt-sync.
Instalação
npm install prompt-sync
npm install -D @types/prompt-sync
Como usar
import PromptSync from "prompt-sync";
const prompt = PromptSync();
const nome: string = prompt("Qual seu nome? ");
console.log(`Olá, ${nome}!`);
const idadeTexto: string = prompt("Qual sua idade? ");
const idade: number = parseInt(idadeTexto);
console.log(`Você tem ${idade} anos`);
O desafio
Problema: classifique cada número de uma lista como par ou ímpar.
Versão com array fixo
function parOuImpar(n: number): string {
return n % 2 === 0 ? "par" : "ímpar";
}
const números = [1, 2, 3, 4, 5, 6, 7, 8];
for (const n of números) {
console.log(`${n} é ${parOuImpar(n)}`);
}
// → 1 é ímpar
// → 2 é par
// → 3 é ímpar
// → ...
% dá o resto da divisão. Resto 0 ao dividir por 2 = par.
Versão interativa
import PromptSync from "prompt-sync";
const prompt = PromptSync();
function parOuImpar(n: number): string {
return n % 2 === 0 ? "par" : "ímpar";
}
let continuar = true;
while (continuar) {
const entrada = prompt("Digite um número (ou 'sair'): ");
if (entrada === "sair") {
continuar = false;
continue;
}
const número = parseInt(entrada);
if (isNaN(número)) {
console.log("Entrada inválida. Digite um número.");
continue;
}
console.log(`${número} é ${parOuImpar(número)}`);
}
console.log("Programa encerrado.");
Exercício extra
Modifique o programa para contar quantos pares é ímpares o usuário digitou:
let pares = 0;
let impares = 0;
// Use a versão interativa como base
// Incremente pares ou impares conforme a classificação
// Exiba o total ao final
Referências
- Operador resto (%) - MDN Web Docs - documentação do operador módulo usado para verificar par ou ímpar
- JavaScript While Loop - W3Schools - tutorial sobre loops while e validação de entrada do usuário
- Par ou Ímpar em JavaScript - DevMedia - vídeo prático sobre como classificar números usando operador módulo
Testa o que você leu
3 perguntas sobre esta aula. Errar aqui não custa nada - a explicação vem junto da correção.