Introdução à Programação
Aula Prática 4
Estruturas de Repetição
Monitoria 2013.1
Roteiro

Laços
–
–
–
–
–


For
While
Do – while
Laços aninhados
Observações
Dúvidas
Exercícios
Laços

Laços são comandos usados quando queremos
realizar uma tarefa várias vezes, até uma condição
ser cumprida.

Em C, temos 3 tipos de laços:
– For
– While
– Do – while

Os 3 são equivalentes: A mesma coisa pode ser feita
usando os 3 tipos.
Laços - For

Funciona
Em C:
na forma:
Antes
for( isso
do; laço,
isto; incremento)
faça isso;
Enquanto
{
isto for verdade,
{ Faça aquilo;
faça
}
aquilo;
incremente o contador;
Exemplo
}
For(int i = 0; i< 10;i++)
{
printf(“%d”, i);
}
Se só for executado um comando dentro
do bloco, as chaves são facultativas,
mas é preferível sempre usar chaves.
Podem ser declaradas variáveis dentro
do laço, que tem como seu escopo o
bloco de comandos. Quando elas saírem
do escopo, são destruídas.
Isso também vale para os outros dois
tipos de laço.
Os laços “for” são indicados quando se
sabe exatamente o numero de vezes
que o código será iterado.
Laços - While

Funciona
na forma:
Em C:
Enquanto
While(isso)isso for verdade,
{
Faça
aquilo;
Aquilo;
}
Exemplo:
while( a >= b )
{
a -= b;
}
Usado quando queremos repetir uma
ação até que uma condição não seja
mais verdade.
Na condição, não se pode usar variáveis
declaradas no bloco, pois a expressão é
avaliada fora do bloco.
Se a condição for falsa desde o começo,
o laço não é executado.
Laços - Do - While

Funciona
Em C:
na forma:
Faça
do
Usado quando queremos executar o
bloco pelo menos uma vez, pois a
{
condição é testada ao fim de cada
isso;
iteração.
} enquanto
while(aquilo);
aquilo for verdade.
do
{
Exemplo:
andar();
}while(energia > 0);
Na condição, não se pode usar variáveis
declaradas no bloco, pois a expressão é
avaliada fora do bloco.
Obs: o “ponto-e-virgula” depois do
while(condição) é necessário.
Laços – Laços aninhados.

Laços, por serem comandos, podem ser colocados
dentro de outros laços. Assim, podemos “aninhar”
laços dentro de laços dentro de laços dentro de
laços...
Exemplo:
For(sala = 1; sala <= 10 ; sala++)
{
for(mesa = 1; mesa <= 60; mesa++)
{
Limpar(sala,mesa);
}
}
Laços – Observações

Nos 3 tipos de laço, devemos tomar cuidado com a
condição: Se ela nunca for falsa, o código entrará num
laço infinito, efetivamente “travando” seu programa.

No laço “for”, tomar cuidado para não incrementar
uma variável no bloco de comandos e no incremento
próprio do laço.

Novamente: É sempre aconselhável usar um bloco de
código ao usar laços, mesmo quando só um comando
será repetido. Isso facilita a leitura do código, e
elimina possíveis ambiguidades com laços aninhados.
Dúvidas?
Exercício 1
 Escreva um programa em C que solicita 10
números ao usuário, através de um laço while, e
ao final mostre os dois maiores números digitados
pelo usuário.
 Obs: O usuário irá digitar um número por vez.
Ex:
Entrada:
2 0 8 26 104 8 48 1 10 17
 Saida:
104 48
Exercício 2

Faça um programa que simule uma calculadora
que realiza apenas operações de multiplicação e
divisão. No entanto, para realizar tais operações,
você tem que utilizar apenas adição e subtração
(não pode fazer x*y ou x/y diretamente). Dado dois
inteiros, retorne o resultado da operação desejada
entre eles.
Exercício 3

Faça um programa que recebe um numero inteiro
N positivo, e imprima todos os números primos
que existem entre N e 0.

Ex:
Entrada:
8
Saída:
75321
Download

Laços - Do