Download - Introdução à Programação
![Page 1: Introdução à Programação](https://reader036.vdocuments.com.br/reader036/viewer/2022082712/56813d21550346895da6e133/html5/thumbnails/1.jpg)
Introdução à Programação
Aula Prática 4Estruturas de Repetição
Monitoria 2013.2
![Page 2: Introdução à Programação](https://reader036.vdocuments.com.br/reader036/viewer/2022082712/56813d21550346895da6e133/html5/thumbnails/2.jpg)
Roteiro
Laços– For– While– Do – while– Laços aninhados– Observações
Dúvidas Exercícios
![Page 3: Introdução à Programação](https://reader036.vdocuments.com.br/reader036/viewer/2022082712/56813d21550346895da6e133/html5/thumbnails/3.jpg)
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.
![Page 4: Introdução à Programação](https://reader036.vdocuments.com.br/reader036/viewer/2022082712/56813d21550346895da6e133/html5/thumbnails/4.jpg)
Funciona na forma:
Antes do laço, faça isso;
Enquanto isto for verdade,
{
faça aquilo;
incremente o contador;
}
Laços - For
Em C:
for( isso ; isto; incremento)
{
Faça aquilo;
}
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.
Exemplo
For(int i = 0; i< 10;i++){
printf(“%d”, i);}
![Page 5: Introdução à Programação](https://reader036.vdocuments.com.br/reader036/viewer/2022082712/56813d21550346895da6e133/html5/thumbnails/5.jpg)
Laços - While
Em C:
While(isso)
{
Aquilo;
}
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.
Exemplo:while( a >= b ){
a -= b;}
Funciona na forma:
Enquanto isso for verdade,
{
Faça aquilo;
}
![Page 6: Introdução à Programação](https://reader036.vdocuments.com.br/reader036/viewer/2022082712/56813d21550346895da6e133/html5/thumbnails/6.jpg)
Funciona na forma:
Faça
{
isso;
} enquanto aquilo for verdade.
Laços - Do - While
Em C:
do
{
isso;
} while(aquilo);
Usado quando queremos executar o bloco pelo menos uma vez, pois a condição é testada ao fim de cada iteração.
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.
Exemplo:do{
andar();}while(energia > 0);
![Page 7: Introdução à Programação](https://reader036.vdocuments.com.br/reader036/viewer/2022082712/56813d21550346895da6e133/html5/thumbnails/7.jpg)
Quiz
1- Qual dos laços é ideal para um evento que acontece um número fixo de vezes?
![Page 8: Introdução à Programação](https://reader036.vdocuments.com.br/reader036/viewer/2022082712/56813d21550346895da6e133/html5/thumbnails/8.jpg)
Quiz
2- Qual dos laços é ideal para repetir um programa inteiro?
![Page 9: Introdução à Programação](https://reader036.vdocuments.com.br/reader036/viewer/2022082712/56813d21550346895da6e133/html5/thumbnails/9.jpg)
Quiz
3- Qual dos laços é equivalente a um if que se repete?
![Page 10: Introdução à Programação](https://reader036.vdocuments.com.br/reader036/viewer/2022082712/56813d21550346895da6e133/html5/thumbnails/10.jpg)
Quiz
4- O que acontece no código seguinte:
int main(){
unsigned int i;for (i = 10; i >= 0; i--){
printf (“a”);}return 0;
}
![Page 11: Introdução à Programação](https://reader036.vdocuments.com.br/reader036/viewer/2022082712/56813d21550346895da6e133/html5/thumbnails/11.jpg)
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);}
}
![Page 12: Introdução à Programação](https://reader036.vdocuments.com.br/reader036/viewer/2022082712/56813d21550346895da6e133/html5/thumbnails/12.jpg)
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.
![Page 13: Introdução à Programação](https://reader036.vdocuments.com.br/reader036/viewer/2022082712/56813d21550346895da6e133/html5/thumbnails/13.jpg)
Dúvidas?
![Page 14: Introdução à Programação](https://reader036.vdocuments.com.br/reader036/viewer/2022082712/56813d21550346895da6e133/html5/thumbnails/14.jpg)
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 menores números distintos digitados pelo usuário.
Obs: O usuário irá digitar um número por vez.
Ex:
Entrada:
20 1 8 1999 104 2 42 1 51 18 Saida:
1 2
![Page 15: Introdução à Programação](https://reader036.vdocuments.com.br/reader036/viewer/2022082712/56813d21550346895da6e133/html5/thumbnails/15.jpg)
Exercício 2
Faça um programa que recebe do usuário um número N e imprima uma matriz de NxN onde cada elemento é a soma da linha e da coluna da célula.
Dica: use %.3d para ficar bem alinhado
Ex:
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
6 7 8 9 10
![Page 16: Introdução à Programação](https://reader036.vdocuments.com.br/reader036/viewer/2022082712/56813d21550346895da6e133/html5/thumbnails/16.jpg)
Exercício 3
Faça um programa que recebe um numero inteiro N positivo, e imprima todos os quadrados perfeitos que existem entre 0 e N (inclusive).
Ex:
Entrada:
64
Saída:
1 4 9 16 25 36 49 64