Você está na página 1de 12

Algoritmos

Aula 06 Loops (while)


Fernando Kenji Kamei
fkenjikamei@gmail.com

O que j vimos at agora...


}

Definio de variveis

Tipos de variveis

Operadores lgicos e aritmticos

Estruturas Condicionais

IF

IF / ELSE

IF / ELSE IF / ELSE

Estrutura de Repetio
}

FOR

Algoritmos e Linguagem de Programao | Prof. Fernando Kenji Kamei

2 de 12

Hoje veremos...
}

Fazendo loops contados com o while

Fazendo loops com Do .. While

Algoritmos e Linguagem de Programao | Prof. Fernando Kenji Kamei

3 de 12

Fazendo loop utilizando o While


}

Comando que faz a repetio de um trecho de cdigo at


que uma determinada condio seja atendida.
Olhando para o nosso jogo de Adivinhao, poderamos
implementar o programa, fazendo com que seja sempre
solicitados novos nmeros, at que a pessoa acerte o
nmero secreto.

Algoritmos e Linguagem de Programao | Prof. Fernando Kenji Kamei

4 de 12

Fazendo loop utilizando o While


while (expresso) {

Enquanto a condio da
expresso for atendida

<comandos>
}

Algoritmos e Linguagem de Programao | Prof. Fernando Kenji Kamei

5 de 12

While vs For
}

Qual a diferena entre esses dois comandos?


Diferente do FOR, que possui uma quantidade determinada
de repetio, o WHILE repete at que a condio seja
atendida.
Nossa realidade: enquanto no acertar o nmero secreto,
pode chutar um novo nmero.

Algoritmos e Linguagem de Programao | Prof. Fernando Kenji Kamei

6 de 12

Adivinhacao.c utilizando o FOR


#include <stdio.h>
int main() {
int numeroSecreto = 10;
int chute;
for(int i=0; i<=4; i++) {
printf("JOGO DE ADIVINHAO\n\n");
printf("Digite um nmero inteiro qualquer: ");
scanf("%d", &chute);
if(chute == numeroSecreto) {
printf("Parabns, voc acertou!");
break;
}
else if(chute > numeroSecreto) {
printf("Chute maior que o nmero secreto");
}
else {
printf("Chute menor que o nmero secreto");
}
}

Algoritmos e Linguagem de Programao | Prof. Fernando Kenji Kamei

7 de 12

Adivinhacao.c utilizando o WHILE


#include <stdio.h>
int main() {
int numeroSecreto = 10;
int chute;
int acertou = 0;

Preciso inicializar a
varivel

while(acertou == 0)
printf("JOGO DE ADIVINHAO\n\n");
printf("Digite um nmero inteiro qualquer: ");
scanf("%d", &chute);
if(chute == numeroSecreto) {
printf("Parabns, voc acertou!");
acertou = 1;
}
else if(chute > numeroSecreto) {
printf("Chute maior que o nmero secreto");
continue;
}
else {
printf("Chute menor que o nmero secreto");
continue;
}

Enquanto for igual a 0 (zero),


continua repetindo o trecho
que est dentro do while
Atribuindo 1 variavel
acertou. Ou seja, no
ir mais repetir o
cdigo

}
Algoritmos e Linguagem de Programao | Prof. Fernando Kenji Kamei

8 de 12

Vamos praticar...
}

Exerccio 01:

Faa um programa que receba dois nmeros X e Y. E,


enquanto X > Y, calcule e mostre:
}

a soma dos nmeros pares desse intervalo de nmeros, incluindo os


nmeros digitados;
a multiplicao dos nmeros mpares desse intervalo, incluindo os
digitados;

Algoritmos e Linguagem de Programao | Prof. Fernando Kenji Kamei

9 de 12

Vamos praticar...
}

Exerccio 02:

Faa um programa que, para um nmero indeterminado de


pessoas: leia a idade de cada uma, sendo que a idade 0 (zero)
indica o fim da leitura e no deve ser considerada. A seguir
calcule:
}

o nmero de pessoas;

a idade mdia do grupo;


a menor idade e a maior idade.

Algoritmos e Linguagem de Programao | Prof. Fernando Kenji Kamei

10 de 12

Fazendo loop utilizando o Do ... While


}

Neste comando a expresso de teste est disposta ao final


da execuo da sequncia de comandos dentro do bloco,
portanto o bloco executado pelo menos uma vez.

do {
<comandos>
while ( expresso );

Enquanto a condio da
expresso for atendida

Algoritmos e Linguagem de Programao | Prof. Fernando Kenji Kamei

11 de 12

Perguntas?

No esqueam de
ler os slides da
prxima aula

Algoritmos e Linguagem de Programao | Prof. Fernando Kenji Kamei

12 de 12

Você também pode gostar