Escolar Documentos
Profissional Documentos
Cultura Documentos
while (<expressão>)
{
<bloco executado enquanto expressão for verdadeira>
}
Exemplo while
4
for
(5)
for (int contador = 0; contador < 11; ++contador)
{ (4)
(6)
resultado = 5 * contador;
printf("5 * %d = %d\n", contador, resultado);
}
*
<inicialização> -> int contador = 0
<condição> -> contador < 11
<atualização> -> ++contador
for
int resultado = 0;
(2)
(1)
for (int contador = 11; contador < 11; ++contador)
{
resultado = 5 * contador;
printf("5 * %d = %d\n", contador, resultado);
}
*
(3)
for
Eq
uiv
ale
a
<inicialização>
while (<condição>)
{
<bloco de código a ser repetido se condição for verdadeira>
<atualização>
}
Exemplo for
14
do ... while
do
{
<bloco repetido enquanto expressão for verdadeira>
}
while (<expressão>);
do ... while
do
{
<bloco repetido enquanto expressão for verdadeira>
}
while (<expressão>);
• Na estrutura do ... while, o bloco de código sempre é executado pelo menos 1 vez.
• Na estrutura while, há a possibilidade do bloco de código não ser executado nenhuma vez.
Exemplo
do ... while
17
Mudanças de fluxo no loop
• É possível alterar o fluxo de execução de uma estrutura de
repetição, caso necessário:
o Podemos sair de um loop antes do seu encerramento normal.
o Podemos ignorar um trecho de um loop, sem encerrá-lo.
18
Interrompendo um loop
• Para sair do bloco de códigos de um loop, usamos a instrução
break (a mesma do comando switch-case).
• Exemplo do próximo slide:
• Ler números inteiros até que 0 seja informado;
• Quando 0 for inserido, encerrar o loop;
• Após o loop terminar, exibir a média dos números.
19
Exemplo break
20
Ignorando parte de um loop
• Para ignorar um trecho do bloco de códigos de um loop, usamos
a instrução continue.
• Todas as instruções após continue são ignoradas e o loop volta
para o início, começando uma nova iteração.
• Exemplo do próximo slide:
• Ler números inteiros até que 0 seja informado;
• Quando 0 for inserido, encerrar o loop;
• Ignorar números negativos;
• Após o loop terminar, exibir a média dos números.
21
Exemplo continue
22
Exercício Júnior
Desenvolva um programa que:
• Sorteie um número inteiro no intervalo de 1 a 100 (incluindo os valores 1 e
100).
• Solicite que o usuário tente adivinhar o número sorteado, digitando o seu
palpite.
(se o usuário entrar um valor inválido - menor que 1 ou maior que 100 - o
programa deverá refazer a solicitação até que o usuário entre um valor
válido).
• Verifique se o palpite do usuário está correto:
• Se estiver correto, o programa deverá imprimir na tela “Parabéns!!! Você acertou!”
• Se o palpite for menor que o número sorteado, deverá imprimir “Você chutou muito baixo! O
valor correto é xx.” (onde xx é o número sorteado).
• Se o palpite for maior que o número sorteado, deverá imprimir “Você chutou muito alto! O valor
correto é xx.” (onde xx é o número sorteado). 23
Exercício Pleno
Desenvolva um programa semelhante ao anterior, só que com as seguintes
diferenças:
• Se o palpite do usuário estiver incorreto, o programa deverá imprimir a dica
(“você chutou muito baixo” ou “você chutou muito alto”) sem mostrar o
valor sorteado, incrementar o número de tentativas e dar uma nova chance
até que ele consiga acertar o número sorteado.
• Quando o usuário conseguir acertar o número sorteado, o programa deverá
apresentar a mensagem de parabéns e mostrar o número de tentativas
feitas pelo usuário até acertar o número.
24
Exercício Sênior
Desenvolva um programa semelhante ao anterior, só que com a seguinte
diferença:
• Caso o usuário não consiga acertar o número sorteado após a 5ª tentativa, o
programa deverá mostrar a mensagem “você excedeu o número máximo de
tentativas” e mostrar qual era o número sorteado.
25
MENOTTI, D.; OLIVEIRA, L. CI-1002: Programação 2. Disponível em: <
https://wiki.inf.ufpr.br/maziero/doku.php?id=prog2:start>. Acesso em: 03 de
janeiro de 2023.
26