Você está na página 1de 25

Introdução à Programação

Aula 8 - Estrutura de Repetição (WHILE e DO.. WHILE)

Curso: Técnico em Desenvolvimento de Sistemas

Professor: Fernando Kenji Kamei


E-mail: fernando.kenji@ifal.edu.br

Versão: 2022
O que vimos nas aulas passadas…

• Estrutura condicional simples - if

• Estrutura condicional composta - else

• Estrutura condicional encadeada - if, else if, else

Introdução à Programação | Prof. Fernando Kenji 2


O que veremos hoje

• Como melhorar nossos códigos, evitando duplicação de códigos.

Introdução à Programação | Prof. Fernando Kenji 3


Vamos pensar no nosso jogo…
Jogo de Adivinhação

Nosso jogo está mostrando se o jogador acertou ou


errou o número secreto. Quando erra, mostra se o
chute foi maior ou menor que o número secreto.

Introdução à Programação | Prof. Fernando Kenji 4


Vamos pensar no nosso jogo…
Jogo de Adivinhação

numeroSecreto = 10

chute = Number(prompt("Qual o seu chute?"));

if (chute == numeroSecreto) {
console.log("Acertou!");
}
else {
console.log("Errou!");
}

Introdução à Programação | Prof. Fernando Kenji 5


Vamos pensar no nosso jogo…
Jogo de Adivinhação

E se, ao invés de uma única chance de chute


quisermos deixar o usuário dar chutes até
acertar o número secreto. Como fazer?

Introdução à Programação | Prof. Fernando Kenji 6


numeroSecreto = 10

chute = Number(prompt("Qual o seu chute?"));

if (chute == numeroSecreto) {
console.log("Acertou!"); Aqui temos um código que
} permite ao jogador dar até
else { dois chutes.
console.log(“Errou!”);
chute = Number(prompt("Qual o seu chute?"));

if (chute == numeroSecreto) {
console.log("Acertou!");
}
else {
console.log("Errou!");
}
}

Introdução à Programação | Prof. Fernando Kenji 7


numeroSecreto = 10

chute = Number(prompt("Qual o seu chute?"));

if (chute == numeroSecreto) {
console.log("Acertou!"); Aqui temos um código que
} permite ao jogador dar até
else { dois chutes.
console.log(“Errou!”);
chute = Number(prompt("Qual o seu chute?"));
Mas, ainda não atendemos
if (chute == numeroSecreto) { a necessidade de deixar o
console.log("Acertou!"); jogador dar chutes até
} acertar.
else {
console.log("Errou!");
}
}

Introdução à Programação | Prof. Fernando Kenji 8


Vamos pensar no nosso jogo…
Jogo de Adivinhação

Precisamos entender sobre estruturas de


repetição

Introdução à Programação | Prof. Fernando Kenji 9


Exemplo de repetição no dia a dia…
Escovar os dentes

Escovar cada dente pelo


menos 10x em cada
parte: frontal, superior e
interna

Introdução à Programação | Prof. Fernando Kenji 10


Estrutura de repetição

Uma estrutura de repetição permite fazer com


um ou mais comandos em um programa
sejam executamos várias vezes.

Introdução à Programação | Prof. Fernando Kenji 11


Repetindo até uma determinada condição
While

Existe uma estrutura que pode repetir um


determinado trecho de código, até que uma
condição seja atendida.

Introdução à Programação | Prof. Fernando Kenji 12


Repetindo até uma determinada condição
While

Até que a condição se


while (<condição>)
A { atendida
<comandos aqui>
}

Introdução à Programação | Prof. Fernando Kenji 13


Repetindo até uma determinada condição
While

Até que a condição se


while (<condição>)
A { atendida
<comandos aqui>
}

Até complete 150 Até que acerte o


reais no cofre número
Até que tenham 5
pessoas com
mais de 1.70m

Introdução à Programação | Prof. Fernando Kenji 14


Pensando em repetição no nosso jogo
Jogo de Adivinhação

Quantas vezes queremos repetir o nosso código?

Introdução à Programação | Prof. Fernando Kenji 15


Pensando em repetição no nosso jogo
Jogo de Adivinhação

Quantas vezes queremos repetir o nosso código?


Até que o jogador acerte o número secreto!

Introdução à Programação | Prof. Fernando Kenji 16


Repetição com teste no início
While
var acertou = false;
var numeroSecreto = parseInt(Math.random() * 100);

console.log("** Jogo da Adivinhação **");


console.log("Tente adivinhar o número secreto entre 0 e 100");

while (!acertou) {
var chute = Number(prompt("Qual o seu chute?"));
if (chute == numeroSecreto) {
acertou = true;
console.log("Parabéns! Você acertou!");
} else if(chute > numeroSecreto) {
console.log("O número secreto é menor");
} else {
console.log("O número secreto é maior");
}
}

Introdução à Programação | Prof. Fernando Kenji 17


Exercício prático 1
Contando números pares e impares

Faça um programa que peça 10 números inteiros, calcule e mostre a quantidade de


números pares e a quantidade de números ímpares.

Introdução à Programação | Prof. Fernando Kenji 18


Exercício prático 2
Fatorial

Faça um programa que calcule o fatorial de um número inteiro fornecido pelo usuário.
Ex.: 5! = 5 x 4 x 3 x 2 x 1 = 120

Introdução à Programação | Prof. Fernando Kenji 19


Exercício prático 3
Veri cando a senha

Faça um programa que leia um nome de usuário e a sua senha e não aceite a senha
igual ao nome do usuário, mostrando uma mensagem de erro e voltando a pedir as
informações.

Introdução à Programação | Prof. Fernando Kenji 20


fi
Observe o nosso código Repetição com teste no
While início
var acertou = false;
var numeroSecreto = parseInt(Math.random() * 100);

console.log("** Jogo da Adivinhação **");


console.log("Tente adivinhar o número secreto entre 0 e 100");

while (!acertou) { Estamos avaliando a


var chute = Number(prompt("Qual o seu chute?")); condição, antes mesmo de
if (chute == numeroSecreto) { pedir o primeiro chute
acertou = true;
console.log("Parabéns! Você acertou!");
} else if(chute > numeroSecreto) {
console.log("O número secreto é menor");
} else {
console.log("O número secreto é maior");
}
}

Introdução à Programação | Prof. Fernando Kenji 21


Observe o nosso código Repetição com teste no
While início
var acertou = false;
var numeroSecreto = parseInt(Math.random() * 100);

console.log("** Jogo da Adivinhação **");


console.log("Tente adivinhar o número secreto entre 0 e 100");

while (!acertou) { Estamos avaliando a


var chute = Number(prompt("Qual o seu chute?")); condição, antes mesmo de
if (chute == numeroSecreto) { pedir o primeiro chute
acertou = true;
console.log("Parabéns! Você acertou!");
} else if(chute > numeroSecreto) {
console.log("O número secreto é menor"); Podemos utilizar uma outra
} else { estrutura de repetição
console.log("O número secreto é maior");
}
}

Introdução à Programação | Prof. Fernando Kenji 22


Repetição com teste no final
do.. while
var acertou = false;
var numeroSecreto = parseInt(Math.random() * 100);

console.log("** Jogo da Adivinhação **");


console.log("Tente adivinhar o número secreto entre 0 e 100");

do {
var chute = Number(prompt("Qual o seu chute?"));
if (chute == numeroSecreto) {
acertou = true;
console.log("Parabéns! Você acertou!");
} else if(chute > numeroSecreto) {
console.log("O número secreto é menor");
} else {
console.log("O número secreto é maior");
}
} while(!acertou);

Introdução à Programação | Prof. Fernando Kenji 23


While vs Do.. while

Com o comando while, a condição é veri cada no início,


enquanto com o comando do.. while, a condição é
veri cada no nal.

Introdução à Programação | Prof. Fernando Kenji 24


fi
fi
fi
While vs Do.. while

Com o comando while, a condição é veri cada no início,


enquanto com o comando do.. while, a condição é
veri cada no nal.

Com o do.. while, ca garantido que, no mínimo, uma


vez os comandos do laço serão executados.

Introdução à Programação | Prof. Fernando Kenji 25


fi
fi
fi
fi

Você também pode gostar