Stela JavaScript Aulas Aula 6
Repetindo tarefas sem cansar
Laços de repetição: o computador faz mil vezes sem reclamar.
Automatizar tarefas repetitivas com laços e escrever código legível.
Revisar estruturas condicionais.
Resolução de exercícios em laboratório.
Laços e como controlá-los
for: quando você sabe quantas vezes
O for tem três partes: começo, condição para continuar e passo. Perfeito para contar.
1// tabuada do 72for (let i = 1; i <= 10; i++) {3 console.log(`7 x ${i} = ${7 * i}`);4}
while e do...while: até a condição mudar
O while repete enquanto a condição for verdadeira e pode nem começar. O do...while executa pelo menos uma vez antes de testar.
O do...while é ótimo para validar entrada: pergunta de novo até a resposta servir.
Cuidado: se a condição nunca ficar falsa, o laço é infinito e a aba trava. Use o depurador do navegador (aba Sources) para ver o que está acontecendo.
1let senha;2do {3 senha = prompt("Crie uma senha com 6 ou mais caracteres");4} while (senha.length < 6);56console.log("Senha aceita!");
Contadores, acumuladores, break e continue
O contador conta quantas vezes algo aconteceu. O acumulador vai somando valores.
O break sai do laço na hora. O continue pula para a próxima volta.
1let soma = 0; // acumulador2let aprovados = 0; // contador34for (let i = 1; i <= 5; i++) {5 const nota = Number(prompt(`Nota do aluno ${i}`));6 if (nota < 0) continue; // ignora nota inválida7 soma += nota;8 if (nota >= 6) aprovados++;9}10console.log(`Média: ${soma / 5}, aprovados: ${aprovados}`);
Código que os outros entendem
Indentação certinha, nomes que dizem o que guardam (totalDeAlunos, não x) e comentários que explicam o porquê, não o óbvio.
Código é lido muito mais vezes do que é escrito, inclusive por você daqui a um mês.
Gerar o boletim da turma
Ator: Professora
Objetivo: Ver a situação de todos os alunos de uma vez, sem calcular um por um.
Fluxo principal
- A professora informa quantos alunos tem a turma.
- Para cada aluno, informa a média.
- O sistema mostra a situação de cada um.
- No fim, mostra quantos foram aprovados.
E se...
- A professora digita "fim" antes do último aluno: o sistema para e mostra o que já tem.
Para pensar
- Aqui cabe um for ou um while? E no caso do "fim"?
- Qual variável é contador e qual é acumulador?
Trilha de desafios: bronze, prata e ouro
Comece pelo bronze e suba de nível. O que você marcar fica salvo neste navegador.
Repetição é tudo
Matemática
Somatório (Σ) é um laço: somar de 1 a 100 dá 5050, como o jovem Gauss descobriu sem computador.
Eletrônica
O loop() do Arduino é um laço infinito de propósito: lê o sensor, decide e repete para sempre.
Arte
Padrões repetidos são arte: um laço desenha um mosaico, uma estampa ou uma escada de asteriscos.
Terminou antes? Tem mais.
Desenhe no console uma escada de asteriscos com laços: uma linha com *, a próxima com **, até 5. Depois faça a escada de cabeça para baixo.
Para estudar e praticar
Commit dos desafios
Pelo menos o nível bronze completo. Prata e ouro contam como esforço extra.