Desafio: Tabuada
O desafio
Problema: gere a tabuada completa de qualquer número.
Solução básica
function tabuada(n: number): void {
console.log(`\n--- Tabuada do ${n} ---`);
for (let i = 1; i <= 10; i++) {
console.log(`${n} x ${i} = ${n * i}`);
}
}
tabuada(7);
// → --- Tabuada do 7 ---
// → 7 x 1 = 7
// → 7 x 2 = 14
// → ...
// → 7 x 10 = 70
Um for de 1 a 10 multiplicando n por i.
Versão formatada
Para alinhar os números bonitinho, use padStart:
function tabuadaFormatada(n: number): void {
console.log(`\n--- Tabuada do ${n} ---`);
for (let i = 1; i <= 10; i++) {
const multiplicador = i.toString().padStart(2);
const resultado = (n * i).toString().padStart(3);
console.log(`${n} x ${multiplicador} = ${resultado}`);
}
}
tabuadaFormatada(7);
// → --- Tabuada do 7 ---
// → 7 x 1 = 7
// → 7 x 2 = 14
// → 7 x 10 = 70
Versão interativa
import PromptSync from "prompt-sync";
const prompt = PromptSync();
const entrada = prompt("Digite um número para ver a tabuada: ");
const número = parseInt(entrada);
if (isNaN(número)) {
console.log("Número inválido!");
} else {
tabuadaFormatada(número);
}
Exercício extra
Gere as tabuadas de 1 a 10 de uma vez:
for (let n = 1; n <= 10; n++) {
tabuadaFormatada(n);
}
Referências
- String.prototype.padStart() - MDN Web Docs - documentação do padStart para formatação e alinhamento de strings
- JavaScript For Loop - W3Schools - tutorial sobre loops for com exemplos de contagem e iteração
- Tabuada com JavaScript - Curso em Vídeo - vídeo prático gerando tabuadas com loops e formatação
Testa o que você leu
3 perguntas sobre esta aula. Errar aqui não custa nada - a explicação vem junto da correção.