![Page 2: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/2.jpg)
Estruturas repetição
Plano de aula
1 A estrutura for
2 A estrutura while
3 A estrutura do-while
4 Observações
![Page 3: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/3.jpg)
Estruturas repetição
Estruturas de repetição
Repetir a execução de um conjunto de instruções por umnúmero de vezes:
Fixo;Variável.
Na linguagem C: for, while, do-while.
ExemplosSomar os n primeiros números ímpares;Repetir um menu até o usuário digitar x.
![Page 4: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/4.jpg)
Estruturas repetição
A estrutura for
1 A estrutura for
2 A estrutura while
3 A estrutura do-while
4 Observações
![Page 5: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/5.jpg)
Estruturas repetição
A estrutura for
Exemplo:∑n
i=1 i
Soma de 1 até 10Mostrar a soma dos n primeiros inteiros, para n de 1 até 10.
De que precisamos?Realizar um grande número de operações
![Page 6: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/6.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Solução força bruta
main(){
printf("Valor da soma ate 1: %d\n", 1);printf("Valor da soma ate 2: %d\n", 1+2);printf("Valor da soma ate 3: %d\n", 1+2+3);printf("Valor da soma ate 4: %d\n", 1+2+3+4);printf("Valor da soma ate 5: %d\n", 1+2+3+4+5);printf("Valor da soma ate 6: %d\n", 1+2+3+4+5+6);printf("Valor da soma ate 7: %d\n", 1+2+3+4+5+6+7);printf("Valor da soma ate 8: %d\n", 1+2+3+4+5+6+7+8);printf("Valor da soma ate 9: %d\n", 1+2+3+4+5+6+7+8+9);printf("Valor da soma ate 10: %d\n",1+2+3+4+5+6+7+8+9+10);
}
ProblemasRealizamos varias vezes as mesmas somas (1+2+3...)Código muito extensoCódigo difícil “copiar-colar”
![Page 7: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/7.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Variável acumulando a soma
main(){
int soma = 0;soma = soma + 1;printf("Valor da soma ate 1: %d\n", soma);soma = soma + 2;printf("Valor da soma ate 2: %d\n", soma);soma = soma + 3;printf("Valor da soma ate 3: %d\n", soma);...soma = soma + 8;printf("Valor da soma ate 8: %d\n", soma);soma = soma + 9;printf("Valor da soma ate 9: %d\n", soma);soma = soma + 10;printf("Valor da soma ate 10: %d\n", soma);
}
ProblemasCódigo muito extensoCódigo difícil “copiar-colar”
![Page 8: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/8.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Código “copiável”
int main(void){
int soma = 0;int i = 1;soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);i = i+1;soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);i = i+1;soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);i = i+1;soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);i = i+1;soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);i = i+1;...
}
ProblemasCódigo muito extenso
![Page 9: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/9.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Com estrutura for
Programa: Mostrar a soma dos n primeiros inteiros, para n de 1até 10int main(void){
int soma = 0;int i;
for (i = 1; i <= 10; i = i+1){soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
}return 0;
}
![Page 10: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/10.jpg)
Estruturas repetição
A estrutura for
Sintaxe da estrutura de repetição for
Sintaxefor (inicializacoes; condicoes; incrementos){sequencia de comandos
}
Inicializações: valores iniciais das variáveis;Condições: condições para continuar a execução do laço(expressão lógica);Incrementos: incrementação das variáveis;Sequência de comandos: comandos a seremrepetidos.
![Page 11: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/11.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (início)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1){
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
}printf("Fim do programa");
Tela
Valor da soma ate 1: 1Valor da soma ate 2: 3Valor da soma ate 3: 6
Memoria
soma0 i
11
2
33
6
4
![Page 12: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/12.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (início)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1){
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
}printf("Fim do programa");
Tela
Valor da soma ate 1: 1Valor da soma ate 2: 3Valor da soma ate 3: 6
Memoria
soma0
i1
12
33
6
4
![Page 13: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/13.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (início)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1){
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
}printf("Fim do programa");
Tela
Valor da soma ate 1: 1Valor da soma ate 2: 3Valor da soma ate 3: 6
Memoria
soma0 i
11
2
33
6
4
![Page 14: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/14.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (início)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1){
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
}printf("Fim do programa");
Tela
Valor da soma ate 1: 1Valor da soma ate 2: 3Valor da soma ate 3: 6
Memoria
soma0 i
11
2
33
6
4
![Page 15: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/15.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (início)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1) // Execucao da inicializacao{
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
}printf("Fim do programa");
Tela
Valor da soma ate 1: 1Valor da soma ate 2: 3Valor da soma ate 3: 6
Memoria
soma0 i
1
12
33
6
4
![Page 16: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/16.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (início)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1) // Verdadeiro => Execucao dos comandos{
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
}printf("Fim do programa");
Tela
Valor da soma ate 1: 1Valor da soma ate 2: 3Valor da soma ate 3: 6
Memoria
soma0 i
1
12
33
6
4
![Page 17: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/17.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (início)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1){
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
}printf("Fim do programa");
Tela
Valor da soma ate 1: 1Valor da soma ate 2: 3Valor da soma ate 3: 6
Memoria
soma0 i
1
12
33
6
4
![Page 18: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/18.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (início)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1){
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
}printf("Fim do programa");
Tela
Valor da soma ate 1: 1Valor da soma ate 2: 3Valor da soma ate 3: 6
Memoria
soma0 i
11
2
33
6
4
![Page 19: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/19.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (início)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1){
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
}printf("Fim do programa");
TelaValor da soma ate 1: 1
Valor da soma ate 2: 3Valor da soma ate 3: 6
Memoria
soma0 i
11
2
33
6
4
![Page 20: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/20.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (início)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1){
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
} // Fim dos comandos associados ao for. Voltando no forprintf("Fim do programa");
TelaValor da soma ate 1: 1
Valor da soma ate 2: 3Valor da soma ate 3: 6
Memoria
soma0 i
11
2
33
6
4
![Page 21: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/21.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (início)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1){
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
}printf("Fim do programa");
TelaValor da soma ate 1: 1
Valor da soma ate 2: 3Valor da soma ate 3: 6
Memoria
soma0 i
11
2
33
6
4
![Page 22: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/22.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (início)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1) // Execucao do incremento{
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
}printf("Fim do programa");
TelaValor da soma ate 1: 1
Valor da soma ate 2: 3Valor da soma ate 3: 6
Memoria
soma0 i
11
2
33
6
4
![Page 23: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/23.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (início)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1) // Verdadeiro => Execucao dos comandos{
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
}printf("Fim do programa");
TelaValor da soma ate 1: 1
Valor da soma ate 2: 3Valor da soma ate 3: 6
Memoria
soma0 i
11
2
33
6
4
![Page 24: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/24.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (início)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1){
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
} // Fim dos comandos associados ao for. Voltando no forprintf("Fim do programa");
TelaValor da soma ate 1: 1Valor da soma ate 2: 3
Valor da soma ate 3: 6
Memoria
soma0 i
11
2
3
36
4
![Page 25: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/25.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (início)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1) // Execucao do incremento{
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
}printf("Fim do programa");
TelaValor da soma ate 1: 1Valor da soma ate 2: 3
Valor da soma ate 3: 6
Memoria
soma0 i
11
2
33
6
4
![Page 26: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/26.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (início)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1) // Verdadeiro => Execucao dos comandos{
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
}printf("Fim do programa");
TelaValor da soma ate 1: 1Valor da soma ate 2: 3
Valor da soma ate 3: 6
Memoria
soma0 i
11
2
33
6
4
![Page 27: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/27.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (início)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1){
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
} // Fim dos comandos associados ao for. Voltando no forprintf("Fim do programa");
TelaValor da soma ate 1: 1Valor da soma ate 2: 3Valor da soma ate 3: 6
Memoria
soma0 i
11
2
33
6
4
![Page 28: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/28.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (início)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1) // Etc.{
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
}printf("Fim do programa");
TelaValor da soma ate 1: 1Valor da soma ate 2: 3Valor da soma ate 3: 6
Memoria
soma0 i
11
2
33
6
4
![Page 29: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/29.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (fim)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1){
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
}printf("Fim do programa");
TelaValor da soma ate 1: 1Valor da soma ate 2: 3Valor da soma ate 3: 6Valor da soma ate 4: 10Valor da soma ate 5: 15Valor da soma ate 6: 21Valor da soma ate 7: 28Valor da soma ate 8: 36Valor da soma ate 9: 45
Valor da soma ate 10: 55Fim do programa
Memoria
somai10
55
11
![Page 30: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/30.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (fim)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1){
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
}printf("Fim do programa");
TelaValor da soma ate 1: 1Valor da soma ate 2: 3Valor da soma ate 3: 6Valor da soma ate 4: 10Valor da soma ate 5: 15Valor da soma ate 6: 21Valor da soma ate 7: 28Valor da soma ate 8: 36Valor da soma ate 9: 45Valor da soma ate 10: 55
Fim do programa
Memoria
somai10
55
11
![Page 31: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/31.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (fim)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1){
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
} // Fim dos comandos associados ao for. Voltando no forprintf("Fim do programa");
TelaValor da soma ate 1: 1Valor da soma ate 2: 3Valor da soma ate 3: 6Valor da soma ate 4: 10Valor da soma ate 5: 15Valor da soma ate 6: 21Valor da soma ate 7: 28Valor da soma ate 8: 36Valor da soma ate 9: 45Valor da soma ate 10: 55
Fim do programa
Memoria
somai10
55
11
![Page 32: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/32.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (fim)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1) // Execucao do incremento{
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
}printf("Fim do programa");
TelaValor da soma ate 1: 1Valor da soma ate 2: 3Valor da soma ate 3: 6Valor da soma ate 4: 10Valor da soma ate 5: 15Valor da soma ate 6: 21Valor da soma ate 7: 28Valor da soma ate 8: 36Valor da soma ate 9: 45Valor da soma ate 10: 55
Fim do programa
Memoria
somai10
55
11
![Page 33: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/33.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (fim)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1) // False => Pular os comandos e continuar{
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
}printf("Fim do programa");
TelaValor da soma ate 1: 1Valor da soma ate 2: 3Valor da soma ate 3: 6Valor da soma ate 4: 10Valor da soma ate 5: 15Valor da soma ate 6: 21Valor da soma ate 7: 28Valor da soma ate 8: 36Valor da soma ate 9: 45Valor da soma ate 10: 55
Fim do programa
Memoria
somai10
55
11
![Page 34: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/34.jpg)
Estruturas repetição
A estrutura for
Soma de 1 até 10: Passo a passo (fim)
int soma = 0;int i;for (i = 1; i <= 10; i = i+1){
soma = soma + i;printf("Valor da soma ate %d: %d\n", i, soma);
}printf("Fim do programa");
TelaValor da soma ate 1: 1Valor da soma ate 2: 3Valor da soma ate 3: 6Valor da soma ate 4: 10Valor da soma ate 5: 15Valor da soma ate 6: 21Valor da soma ate 7: 28Valor da soma ate 8: 36Valor da soma ate 9: 45Valor da soma ate 10: 55Fim do programa
Memoria
somai10
55
11
![Page 35: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/35.jpg)
Estruturas repetição
A estrutura for
for: Passos de execução
for (inicializacoes; condicoes; incrementos){sequencia de comandos
}
1 Inicializações;2 Verificação das condições;3 Se verdadeiras: sequência de comandos;4 Incrementos;5 Verificação das condições;6 Se verdadeiras: sequência de comandos;7 . . .
![Page 36: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/36.jpg)
Estruturas repetição
A estrutura for
Exercícios
Entrar com um inteiro n, e imprimir na tela os númerosímpares menores ou iguais a n;Faça um programa que imprima em ordem decrescentetodos os valores inteiros maiores que zero a partir de umnúmero fornecido pelo usuário;
![Page 37: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/37.jpg)
Estruturas repetição
A estrutura for
Observação: for
Observações
Não tem ; no fim da linha do for;Se tiver uma instrução só, as chaves { e } são opcionais;É possível usar caracteres no lugar de inteiros:for(c=’a’; c <= ’z’; c++)
printf("O valor ASCII de %c e:%d\n",c,c);
![Page 38: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/38.jpg)
Estruturas repetição
A estrutura for
Recomendação: for
Usar a estrutura for quando a quantidade de laços éprevisível no momento da execução;Nos outros casos, usar uma estrutura while oudo-while.
![Page 39: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/39.jpg)
Estruturas repetição
A estrutura while
1 A estrutura for
2 A estrutura while
3 A estrutura do-while
4 Observações
![Page 40: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/40.jpg)
Estruturas repetição
A estrutura while
Estrutura while
Sintaxewhile (expressao_de_teste){sequencia de comandos
}
Repetição com a estrutura while
Usa apenas uma expressão de teste;Se tiver uma instrução só, as chaves { } são opcionais;Mais apropriado que a estrutura for em situações em queo laço pode ser terminado inesperadamente, emconsequência das operações do corpo do laço;O corpo do laço será executado sempre que a expressãofor verdadeira.
![Page 41: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/41.jpg)
Estruturas repetição
A estrutura while
while: Passos de execução
while (expressao_de_teste){sequencia de comandos
}
1 Verificação da expressão_de_teste;2 Se verdadeira: sequência de comandos;3 Verificação da expressão_de_teste;4 Se verdadeira: sequência de comandos;5 . . .
![Page 42: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/42.jpg)
Estruturas repetição
A estrutura while
while: Exemplo
Programa: Imprimir a tecla digitada até o usuário digitar x:printf("Entre com um caracter (x para sair): ");scanf(" %c", &c);while(c != ’x’){printf("Digitou o caracter %c\n",c);printf("Entre com outro caracter (x para sair): ");scanf(" %c", &c);
}
![Page 43: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/43.jpg)
Estruturas repetição
A estrutura while
while: Exercícios
Exercício: simular um for
Faça um programa usando a estrutura while que imprima emordem decrescente todos os valores inteiros maiores que zeroa partir de um número fornecido pelo usuário.
Exercício: Algarismos
Escreva um programa para determinar o número de algarismosde um número inteiro positivo dado.
![Page 44: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/44.jpg)
Estruturas repetição
A estrutura do-while
1 A estrutura for
2 A estrutura while
3 A estrutura do-while
4 Observações
![Page 45: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/45.jpg)
Estruturas repetição
A estrutura do-while
Estrutura do-while
Sintaxedo{sequencia de comandos
}while (expressao de teste)
![Page 46: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/46.jpg)
Estruturas repetição
A estrutura do-while
do-while: Descrição
Repetição com a estrutura do-while
Como a estrutura while, é usado quando a quantidadede repetições não é previsível no momento da execução;Se tiver uma instrução só, as chaves { } são opcionais;Diferente do while, a expressão de teste fica no fim daestrutura;Repetição da sequência de comandos até aexpressão_de_teste ser false;Consequentemente, o laço é sempre executado pelomenos uma vez.
![Page 47: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/47.jpg)
Estruturas repetição
A estrutura do-while
do-while: Passos de execução
do{sequencia de comandos
}while (expressao de teste)
1 Sequência de comandos;2 Verificação da expressão_de_teste;3 Se verdadeira: sequência de comandos;4 Verificação da expressão_de_teste;5 . . .
![Page 48: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/48.jpg)
Estruturas repetição
A estrutura do-while
Exercício: Jogo de sorte
Escrever um programa em C que peça ao jogador paraadivinhar o número da sorte (entre 0 e 100) geradoaleatoriamente pelo programa. O jogador vai entrando comnúmeros, e o programa vai informando se o número do jogadoré maior ou menor que o número da sorte.Quando o jogador acertar o número, o programa deve imprimir’ACERTOU’ e informar o número de tentativas do jogador.Para gerar um número entre 0 e 100, use o comando:num = rand()%100;
![Page 49: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/49.jpg)
Estruturas repetição
Observações
1 A estrutura for
2 A estrutura while
3 A estrutura do-while
4 Observações
![Page 50: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/50.jpg)
Estruturas repetição
Observações
Estruturas aninhadas
Obviamente, estas estruturas podem ser aninhadas. . .Por exemplo:do{sequencia de comandos (1)for (i=n1; i <= n2; i++){sequencia de comandos (1.1)
}sequencia de comandos (2)
while (expressao_de_teste);
![Page 51: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/51.jpg)
Estruturas repetição
Observações
Repetições aninhadas: ordem de execução
dosequencia de comandos (1)for (i=n1; i <= n2; i++){sequencia de comandos (1.1)
}sequencia de comandos (2)
while (expressao_de_teste);
1 Sequência de comandos (1);
2 Execução da estrutura for:1 i = n12 Verificação se i ≤ n2;3 Se verdadeira: sequência de comandos (1.1);4 . . .
3 Sequência de comandos (2);4 Verificação da expressão_de_teste;5 Se verdadeira: sequência de comandos(1);6 Execução da estrutura for:7 . . .
![Page 52: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/52.jpg)
Estruturas repetição
Observações
Exercício: Desenho
Exercício: EstrelasUsando apenas uma vez os comandos printf("."),printf("*") e printf("\n") e usando laços aninhados,faça o seguinte aparecer na tela.
*****.****..***...**....*.....
![Page 53: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/53.jpg)
Estruturas repetição
Observações
Exercício: Tabuada
Tabuadas de 1 até 5Imprimir na tela as tabuadas de 1 até 5 da forma seguinte:
![Page 54: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/54.jpg)
Estruturas repetição
Observações
break e continue
O comando break
O comando break causa a saída imediata do laço.
O comando continue
Pula o código que estiver abaixo e força a próxima iteração dolaço.
Observações
Podem ser usado no corpo de qualquer estrutura (for,while, do-while);Se o break ou o continue estiver em laços aninhados,afetará somente o laço mais interno onde ele está.
![Page 55: Computação eletrônica: Estruturas de repetiçãocz/if165/NotasAulas/05-estruturas_repetica… · Estruturas repetição Plano de aula 1 A estrutura for 2 A estrutura while 3 A](https://reader034.vdocuments.net/reader034/viewer/2022051811/601cd97d0eaf60283e3b4fae/html5/thumbnails/55.jpg)
Estruturas repetição
Observações
break e continue: Recomendação
Evitar o uso dos comandos break e continue
Deve ser evitado, pois pode causar dificuldade de leitura econfusão na manutenção o programa.
Exemplowhile (1){
printf("Digite um numero maior que zero: ");scanf("%d",&num);if(num<0){
printf("numero errado\n");continue;
}printf("Numero correto\n");
}