Prévia do material em texto
CCE1040 – LÓGICA DE PROGRAMAÇÃO Aula 12: Estruturas de Repetição (teste no início) Lógica de Programação Aula 12: Estruturas de Repetição (teste no início) Motivação Motivação como calcular o fatorial de 6? #include <iostream> int main() { int fat; fat = 6; fat = fat*5; fat = fat*4; fat = fat*3; fat = fat*2; fat = fat*1; cout<<"Fatorial de 6 = "<<fat<<endl; return 0; } Lógica de Programação Aula 12: Estruturas de Repetição (teste no início) Motivação Motivação como calcular o fatorial de 6? #include <iostream> int main() { int fat; fat = 6; fat = fat*5; fat = fat*4; fat = fat*3; fat = fat*2; fat = fat*1; cout<<"Fatorial de 6 = "<<fat<<endl; return 0; } E se fosse o fatorial de 100 ?!?!? Lógica de Programação Aula 12: Estruturas de Repetição (teste no início) Motivação • Como entrar com as notas de 35 alunos de uma turma? • Como continuar comprando em uma loja enquanto o valor da soma for menor que R$200,00? • Como exibir um menu de funções até que seja digitado o número 9? São problemas parecidos... ... mas não são iguais Em comum: um conjunto de operações que se repetem Lógica de Programação Aula 12: Estruturas de Repetição (teste no início) Motivação Como entrar com as notas de 35 alunos de uma turma? Lógica de Programação Aula 12: Estruturas de Repetição (teste no início) Motivação Como entrar com as notas de 35 alunos de uma turma? Repetindo a entrada de notas 35 vezes Número de repetições conhecido Lógica de Programação Aula 12: Estruturas de Repetição (teste no início) Motivação Como continuar comprando em uma loja enquanto o valor da soma for menor que R$200,00? Lógica de Programação Aula 12: Estruturas de Repetição (teste no início) Motivação Como continuar comprando em uma loja enquanto o valor da soma for menor que R$200,00? Repetindo a compra enquanto o total for menor que R$200 Número de repetições desconhecido Repetir enquanto uma condição for verdadeira Lógica de Programação Aula 12: Estruturas de Repetição (teste no início) Motivação Como exibir um menu de funções até que seja digitado o número 9? Lógica de Programação Aula 12: Estruturas de Repetição (teste no início) Motivação Como exibir um menu de funções até que seja digitado o número 9? Repetindo a compra até que o número digitado seja 9 Número de repetições desconhecido Repetir até uma condição se tornar verdadeira Lógica de Programação Aula 12: Estruturas de Repetição (teste no início) Comando para repetir uma determinada quantidade de vezes: while Controle do contador de repetições: • O contador é uma variável inteira comum; • Deve ser fornecido um valor inicial; • Deve ser fornecida uma condição de parada; • Deve ser fornecida uma forma de incremento (de 1 em 1 ou de 2 em 2, por exemplo). valor inicial do contador while(condição) { bloco de comandos que serão executados repetidamente Incremento do contador } Lógica de Programação Aula 12: Estruturas de Repetição (teste no início) Comando para repetir uma determinada quantidade de vezes: while Controle do contador de repetições: • O contador é uma variável inteira comum; • Deve ser fornecido um valor inicial; • Deve ser fornecida uma condição de parada; • Deve ser fornecida uma forma de incremento (de 1 em 1 ou de 2 em 2, por exemplo). valor inicial do contador while(condição) { bloco de comandos que serão executados repetidamente Incremento do contador } EXPERIMENTE cont=1; while (cont<=5){ cout<<cont<<endl; cont++; } Lógica de Programação Aula 12: Estruturas de Repetição (teste no início) Comando para repetir uma determinada quantidade de vezes: while Sequência de execução: 1. cont vale 1 2. Se condição for verdadeira executa bloco de comandos 3. cont vale 2 4. Se condição for verdadeira executa bloco de comandos 5. cont vale 3 6. Se condição for verdadeira executa bloco de comandos 7. cont vale 4 8. Se condição for verdadeira executa bloco de comandos 9. cont vale 5 10. Se condição for verdadeira executa bloco de comandos 11. cont vale 6 12. Se condição for verdadeira executa bloco de comandos EXPERIMENTE cont=1; while (cont<=5){ cout<<cont<<endl; cont++; } interrompe Lógica de Programação Aula 12: Estruturas de Repetição (teste no início) Comando while Enquanto uma condição for verdadeira while (condição verdadeira) { bloco de comando } int main () { int cont,num; cout << "Numero? "; cin >> num; cont = 1; while (cont < 10) { cout << num << " x " <<cont <<" = "; cout << num*cont << "\n"; cont++; } system ("pause"); } Inicialização Incremento condição Lógica de Programação Aula 12: Estruturas de Repetição (teste no início) Comando para repetir uma determinada quantidade de vezes: for Ideia: repetir um bloco de comandos de forma controlada através de um contador Nome do comando: for (quer dizer “para”) produz o mesmo efeito visto no comando while, mas é compacto o valor inicial do contador, o teste e o incremento ficam em um único comando Controle do contador: • O contador é uma variável inteira comum; • Deve ser fornecido um valor inicial; • Deve ser fornecida uma condição de parada para interromper a repetição; • Deve ser fornecida uma forma de incremento (de 1 em 1 ou de 2 em 2, por exemplo). Lógica de Programação Aula 12: Estruturas de Repetição (teste no início) Comando para repetir uma determinada quantidade de vezes: for Controle do contador: • O contador é uma variável inteira comum; • Deve ser fornecido um valor inicial; • Deve ser fornecida uma condição de parada; • Deve ser fornecida uma forma de incremento (de 1 em 1 ou de 2 em 2, por exemplo). for (inicial; condição; incremento) { bloco de comandos que serão executados repetidamente } Lógica de Programação Aula 12: Estruturas de Repetição (teste no início) Comando para repetir uma determinada quantidade de vezes: for Controle do contador: • O contador é uma variável inteira comum • Deve ser fornecido um valor inicial • Deve ser fornecida uma condição de parada • Deve ser fornecida uma forma de incremento (de 1 em 1 ou de 2 em 2, por exemplo) for (inicial ; condição ; incremento) { bloco de comandos que serão executados repetidamente } EXPERIMENTE for (cont=1; cont<=5; cont++) { cout<<cont<<endl; } Lógica de Programação Aula 12: Estruturas de Repetição (teste no início) Comando para repetir uma determinada quantidade de vezes: for para contador de 1 até 5 faca EXPERIMENTE for (cont=1; cont<=5; cont++) { cout<<cont<<endl; } Sequência de execução: 1. cont vale 1 2. Executa o bloco de comandos 3. cont vale 2 4. Se condição for verdadeira executa bloco de comandos 5. cont vale 3 6. Se condição for verdadeira executa bloco de comandos 7. cont vale 4 8. Se condição for verdadeira executa bloco de comandos 9. cont vale 5 10. Se condição for verdadeira executa bloco de comandos 11. cont vale 6 12. Se condição for verdadeira executa bloco de comandos interrompe Lógica de Programação Aula 12: Estruturas de Repetição (teste no início) Comando para repetir uma determinada quantidade de vezes: for for (inicial ; condição ; incremento) { bloco de comandos} int main () { int cont,num; cout << "Numero? "; cin >> num; for (cont =1;cont <10 ;cont++) { cout << num << " x " <<cont <<" = "; cout << num*cont << "\n"; } system ("pause"); } Nº conhecido de repetições