AULA 11 - Introdução à Linguagem C - FIC

De IFSC
Ir para navegação Ir para pesquisar

O COMANDO WHILE

A forma geral da declaração while é:

while( expressão_de_teste)
comando;

A interpretação é: "Enquanto expressão_de_teste for verdadeira; execute comando". No momento em que expressão_de_teste deixa de ser não-zero, a execução continua na linha de comando seguinte ao laço while.


Se houver vários comandos internos ao loop while, estes devem estar entre chaves ({ }).


Ex:

i=0;
... while(i < 10)
{ a = b * 2;
chama_função( );
i++;
}


É importante salientar que se a expressão_de_teste não for verdadeira já no primeiro teste do laço este não será executado nenhuma vez e que o comando while é mais apropriado para laços onde o número de interações não é conhecido de antemão. Por exemplo, como saber quantas vezes o usuário vai digitar caracteres para um número ou uma string de entrada?

Ex:

#include <stdio.h>
#include <conio.h>
void main(void)
{ int cont=0;
printf("Digite uma frase: \n");
while(getche()!= 13) /* O caractere com ASCII igual a 13 é a tecla enter (return) */
cont++;
printf("\nO numero de caracteres é %d", cont); }


Ex2:

i = 0; i = 5;

... while (i<5) É equivalente a ... while (i)

i++; ... i--; ...


O COMANDO DO-WHILE

A forma geral da declaração do-while é:

do
comando;
while(expressão_de_teste);

A interpretação é: "Faça comando enquanto expressão_de_teste for verdadeira".

O comando do while faz quase o mesmo que o while, com a diferença que no primeiro, o loop é executado pelo menos uma vez, já que o teste da expressão é feito no final da interação. Ou seja, se expressão_de_teste for falsa já na primeira interação, comando é executado uma vez e em seguida a execução continua fora do loop, na próxima linha de comando. Caso expressão_de_teste seja verdadeira, comando será executado até que esta se torne falsa.


Exercício:

1) Adapte o programa do número mágico, para uso com estrutura do-while.

2) Faça o programa que lê um número inteiro e devolve o fatorial deste número [ fat(n) = 1*2*3*4*...*n ] Solução: solucaob

3) Faça o programa que lê os coeficientes da equação de 2o. grau A.X2 + B.X + C = 0 e calcula as raízes reais ou complexas. Solução: solucaoa