Vous êtes sur la page 1sur 30

Universidade Federal da Paraba

Centro de Informtica
Introduo Programao

Prof. Bruno Jefferson


bruno@ci.ufpb.br

Bruno Jefferson (2014)

Roteiro


Estruturas de Repetio
Comando Enquanto
Comando Repita
Comando Para

Estruturas de Repetio em C
Comando for
Comando while
Comando do-while

Exerccios
Bruno Jefferson (2014)

Estruturas de Repetio
Permite que um bloco de instrues seja
executado um determinado nmero de
vezes ou at que uma dada condio seja
satisfeita.
 Principais estruturas de repetio:


Enquanto
Repita
Pa r a
Bruno Jefferson (2014)

Comando Enquanto
Utilizado em situaes nas quais no se
pode, a priori, determinar o nmero de
vezes que um lao ser executado.
 O lao ser executado enquanto uma
determinada condio for atendida.
 um tipo de lao condicional.


Comando Enquanto


Forma geral

enquanto <condio> faa


Instruo1;
Instruo2;
...
InstruoN;
fim-enquanto

Comando Enquanto


Consideraes
A sequncia de comandos ser executada
zero ou mais vezes, dependendo da
avaliao da condio.
A condio deve ser testada a cada ciclo de
repetio, para verificar o momento de
romper o lao.

Comando Enquanto


Consideraes
Os valores que constituem a expresso
condicional devem ser modificados para
que um novo teste seja feito. Caso contrrio,
o lao pode nunca terminar.
As instrues so executadas enquanto
condio de controle for verdadeira.

Comando Enquanto


Exemplo

algoritmo verifica_senha
senha : texto;
inicio
leia(senha);
enquanto (senha "XYZ) faa
escreva("Senha invlida);
escreva("Digite a senha novamente: );
leia(senha);
fim-enquanto
fim

Comando Enquanto
Exerccios
(1) Faa um algoritmo que mostre todos os
nmeros inteiros pares de 2 a 100.
(2) Faa um algoritmo que leia uma senha.
Caso o usurio digite a senha errada, a
mensagem Senha incorreta. Digite
novamente deve ser mostrada. Porm, se o
usurio digitar a senha errada 3 vezes, a
seguinte mensagem deve ser mostrada:
Senha bloqueada


Comando Repita


Semelhante ao comando Enquanto,


contudo a avaliao da condio de
repetio ocorre aps a execuo das
instrues.

Comando Repita


Forma geral
repita
Instruo1;
Instruo2;
...
InstruoN;
enquanto <condio>

Bruno Jefferson (2014)

11

Comando Repita


Consideraes
A sequncia de comandos ser executada
uma ou mais vezes, dependendo da
avaliao da condio.
Assim como no comando Enquanto, os
valores que constituem a expresso
condicional devem ser modificados para
que um novo teste seja feito. Caso contrrio,
o lao pode nunca terminar (loop infinito).

Comando Repita


Exerccios

(1) Faa um algoritmo para gerar e exibir os


nmeros inteiros de 100 at 1, decrescendo de 1em
1.
(2) Faa um algoritmo que leia a opo do usurio,
considerando o seguinte menu:
MENU
1 Subtrair
2 Somar
3 Sair do programa
Digite a opo:

Comando Para
utilizada quando se sabe, a priori, o
nmero exato de repeties que se
deseja executar.
 Este tipo de estrutura de repetio
tambm chamado de lao de
contagem.
 Controlado por um contador.


Bruno Jefferson (2014)

14

Comando Para


Forma geral:
para <var>  <inicio> at <fim> faa
Instruo1;
Instruo2;
...
InstruoN;
fim-para

Comando Para


Exemplo
algoritmo mostra_1_a_100
i: inteiro;
inicio
para i  1 a 100 faa
escreva(i);
fim-para
fim

Comando Para
Exerccios
(1) Criar um algoritmo que leia dois
nmeros inteiros, e depois mostre todos os
inteiros entre eles.
(2) Criar um algoritmo que mostre todos
os nmeros de 1 a 100 e a soma deles.
(3) Criar um algoritmo que mostre na tela
uma matriz quadrada 5 x 5.


Bruno Jefferson (2014)

17

Estruturas de Repetio em C


Comando while
Equivalente ao comando enquanto

Comando do-while
Equivalente ao comando repita

Comando for
Equivalente ao comando para
Bruno Jefferson (2014)

18

Comando while


Sintaxe
while (<condio>) {
<instruo 1>;
<instruo 2>;
...
<instruo N>;
}

Repete a execuo da sequncia de comandos


enquanto a expresso lgica for verdadeira.
O teste da expresso lgica realizado no
incio de sua execuo.
Bruno Jefferson (2014)

19

Comando while


Exemplo
#include <stdio.h>
int main() {
int num = 0;
while (num >= 0) {
printf("\nDigite um numero: ");
scanf("%d", &num);
}
return 0;
}

Bruno Jefferson (2014)

20

Comando do-while


Sintaxe
do {
<instruo 1>;
<instruo 2>;
...
<instruo N>;
} while (<condio>);

Repete a execuo da sequncia de comandos


enquanto a expresso lgica for verdadeira.
O corpo do do-while executado no
mnimo uma vez.
Bruno Jefferson (2014)

21

Comando do-while


Exemplo
#include <stdio.h>
int main() {
int i = 0;
do {
printf(i: %d, i);
i++;
} while (i < 10);
return 0;
}

Bruno Jefferson (2014)

22

Comando for


Sintaxe

for (<inicializao>; <condio>; <incremento>) {


<instruo 1>;
<instruo 2>;
...
<instruo N>;
}

normalmente utilizado quando sabemos a


priori quantas vezes o lao ir se repetir.
Bruno Jefferson (2014)

23

Fluxograma do comando for


Incio

Inicializao

No

Condio
verdadeira

Sim

Instrues

Realiza o
incremento

Fim

Bruno Jefferson (2014)

24

Comando for


Exemplo
#include <stdio.h>
int main() {
int i;
for (i = 0; i <= 50; i++)
printf(%d\n, i);
for (i = 50; i >= 0; i--)
printf(%d\n, i);
return 0;
}

Bruno Jefferson (2014)

25

Instrues de desvio


Comando break
Interrompe a execuo da estrutura de
repetio.
O fluxo de execuo segue para a prxima
instruo aps o lao.

Comando continue
Interrompe a iterao da estrutura de
repetio.
O fluxo de execuo segue para a prxima
iterao do lao.
Bruno Jefferson (2014)

26

Instrues de desvio


Exemplo
#include <stdio.h>

Sada do programa
int main() {
int x = 0;
while (x >= 0) {
x++;
if (x == 5) continue;
printf(x = %d\n, x);
if (x == 10) break;
}

x=1
x=2
x=3
x=4
x=6
x=7
x=8
x=9
x = 10

return 0;
}
Bruno Jefferson (2014)

27

Exerccios
(1) Faa um programa que leia um valor inteiro
positivo n e determina a soma dos n primeiros
nmeros pares positivos (utilize o comando for).
(2) Escreva um programa que leia um conjunto de
nmeros inteiros positivos e determine o maior
deles. A cada leitura de um valor pergunte ao
usurio se ele deseja continuar (Deseja
continuar(S/N)).
A entrada de dados
interrompida quando o usurio digitar os caracteres
N ou n(utilize o comando do-while).
Bruno Jefferson (2014)

28

Exerccios
(3) Escreva um programa para determinar o
nmero de algarismos de um nmero inteiro
positivo dado (utilize o comando while).
(4) Faa um algoritmo que leia uma senha.
Caso o usurio digite a senha errada, a
mensagem Senha incorreta. Digite
novamente deve ser mostrada. Porm, se o
usurio digitar a senha errada 3 vezes, a
seguinte mensagem deve ser mostrada: Senha
bloqueada.( Utilize o comando do-while).
Bruno Jefferson (2014)

29

Referncias
ASCENCIO, A. F. G., CAMPOS, E. A.V.;
Fundamentos da Programao de
Computadores, 3. Ed., So Paulo: Pearson,
2012.
 Schildt, H; C Completo e Total. Makron
Books. 1997.
 Oliveira, U.; Programando em C Fundamentos.Volume I. Editora Cincia
Moderna. 2008.


Bruno Jefferson (2014)

30

Vous aimerez peut-être aussi