Mudanças entre as edições de "MCO018703 2018 1 AULA06"
Linha 1: | Linha 1: | ||
=Objetivo= | =Objetivo= | ||
− | *Aprender sobre o comando de | + | |
+ | *Aprender sobre o comando de repetição ''while'' controlado por condição; | ||
+ | *Saber usar o comando ''while'' e ''do while''. | ||
=Introdução= | =Introdução= |
Edição das 19h15min de 5 de março de 2018
Objetivo
- Aprender sobre o comando de repetição while controlado por condição;
- Saber usar o comando while e do while.
Introdução
Nesta sessão vamos estudar sobre o comando while e do while. Nesta estrutura de repetição, o bloco de instruções é executado no mínimo uma vez, já que a condição que controla o laço pode ser testada no início ou no final do comando. A diferença entre o comando while e o do while é justamente o local onde a condição que controla o laço é testada. No comando while a condição é testada antes do bloco de instruções, e caso a condição seja falsa a repetição não será executada. No do while o bloco de comandos é executado pelo menos uma vez de forma obrigatória, independente do resultado da expressão lógica
O comando while(): teste da repetição no começo
- O comando while tem a seguinte forma geral
while (condição) declaração;
ou
while (condição) { declaração1; declaração2; }
Podemos ver que a estrutura while testa uma condição. Se esta for verdadeira
a declaração é executada e faz-se o teste novamente, e assim por diante.
O comando while permite implementar loops com controle no início:
#include <stdio.h>
main()
{
int contador;
contador=0;
while (contador<5) {
printf("valor do contador = %d\n", contador);
contador=contador+1;
}
}
Variação do exemplo anterior:
#include <stdio.h>
main()
{
int contador;
contador=0;
while (contador<5) {
printf("valor da expressão = contador < 5 é %d\n", contador<5);
printf("valor do contador = %d\n", contador);
contador=contador+1;
}
printf("NO FINAL a expressão contador < 5 é %d\n", contador<5);
}
Vamos ver a correspondência do comando while com um fluxograma:
NOTE que no exemplo anterior o contador inicialmente DEVE conter um valor válido.
Comando do while: controle do loop no final
- O comando do while tem a seguinte forma geral
do { declaração1; declaração2; } while (condição);
Nesta variação o comando do while() permite a repetição de uma ou mais instruções, com controle do loop no final.
Isto permite que o bloco seja executado pelo menos uma vez.
#include <stdio.h>
main()
{
int contador;
contador=0;
do {
printf("valor do contador = %d\n", contador);
contador=contador+1;
} while (contador<5);
}
Loop Infinito
É possível implementar loops infinitos com qualquer uma das instruções acima.
Exemplo com comando while:
main()
{
while(1) {
/* Este bloco se executará infinitamente */
}
}
Exercícios
- Elabore um programa que lê um número inteiro e imprime todos os números pares entre 0 e este número.
- Elabore um programa que lê um número inteiro e imprime todos os números impares entre 1 e este número.
- Elabore um programa que lê um número inteiros relativos a quantos elementos que computar da sequecia fibonacci, em que o segundo elemento é sempre a soma dos dos primeiros, por exemplo: (1+0=1, 1+1=2, 2+1=3, 2+3=5, 3+5=8, =5+8=13, 8+13=21 e assim por diante). Lembre que os dois primeiros elementos considerados são 1).