Baixe o app para aproveitar ainda mais
Prévia do material em texto
INTRODUÇÃO A LINGUAGEM DE PROGRAMAÇÃO Prof.: Danilo Coimbra (coimbra.danilo@ufba.br) 2017 -2 Estruturas de Repetição - Laços 1 Conteúdo Introdução Para (FOR) Enquanto (WHILE) Faça – enquanto (DO – WHILE) 2 Introdução “Há repetições em todos os lugares, e nada é encontrado apenas uma vez no mundo.” GOETHE Quais as repetições encontramos diariamente? 3 Introdução Em programação, um dos principais desafios é identificar e criar processos repetitivos para os problemas que queremos resolver Processos repetitivos ou estruturas de repetição também são conhecidos como loop Loop? 4 Introdução Segundo o dicionário Aurélio, “Trecho de programa executado repetidamente um número definido de vezes, ou até que uma condição seja satisfeita.” Segundo Michaelis*, 5 *http://michaelis.uol.com.br/moderno-portugues/busca/portugues-brasileiro/loop/ Introdução Permitem que uma ação seja executada mais de uma vez sem que tenhamos que executar o programa novamente Exemplo: Imprimir todos os usuários de um sistema Poderia ser obtido com outra estrutura? Desvios condicionais? 6 Introdução Há, basicamente, três tipos de estruturas de repetição Para (FOR) Enquanto (WHILE) Faça Enquanto (DO - WHILE) break em estrutura de repetição 7 Estrutura de Repetição - Para (for) O comando para (for) é uma estrutura de repetição que repete a execução de uma dada sequência de instruções n vezes, sendo n conhecido Sintaxe for(inicializações; condição de manutenção da repetição; incrementos){ sequência de instruções } 8 Estrutura de Repetição - Para (for) Sintaxe for(inicializações; condição de manutenção da repetição; incrementos){ sequência de instruções } 9 Primeiro o sistema realiza as inicializações Estrutura de Repetição - Para (for) Sintaxe for(inicializações; condição de manutenção da repetição; incrementos){ sequência de instruções } 10 Em seguida, o sistema avalia a expressão lógica que define as condições de manutenção da repetição. Se for verdadeira (diferente de 0), a sequência de instruções é executada Estrutura de Repetição - Para (for) Sintaxe for(inicializações; condição de manutenção da repetição; incrementos){ sequência de instruções } 11 Por fim, o sistema realiza as incrementações... Estrutura de Repetição - Para (for) Sintaxe for(inicializações; condição de manutenção da repetição; incrementos){ sequência de instruções } 12 ...e as condições de manutenção da repetição são novamente avaliadas Estrutura de Repetição - Para (for) Exemplo 1 13 #include <iostream> using namespace std; int main() { int i; for(i=1; i<=10 ; i=i+1){ cout<< i <<endl; } return 0; } ? SaídaCódigo Estrutura de Repetição - Para (for) Exemplo 1 14 #include <iostream> using namespace std; int main() { int i; for(i=1; i<=10 ; i=i+1){ cout<< i <<endl; } return 0; } 1 2 3 4 5 6 7 8 9 10 SaídaCódigo Estrutura de Repetição - Para (for) Exemplo 2 15 #include <iostream> using namespace std; int main() { int i; for(i=10; i>=0 ; i=i-2){ cout<< i <<endl; } return 0; } ? SaídaCódigo Estrutura de Repetição - Para (for) Exemplo 2 16 #include <iostream> using namespace std; int main() { int i; for(i=10; i>=0 ; i=i-2){ cout<< i <<endl; } return 0; } 10 8 6 4 2 0 SaídaCódigo Estrutura de Repetição - Para (for) Exemplo 3 17 #include <iostream> using namespace std; int main() { int i; for(i=1; i<=10 ; i=i+20){ cout<< i <<endl; } return 0; } ? SaídaCódigo Estrutura de Repetição - Para (for) Exemplo 3 18 #include <iostream> using namespace std; int main() { int i; for(i=1; i<=10 ; i=i+20){ cout<< i <<endl; } return 0; } 1 SaídaCódigo Estrutura de Repetição enquanto (while) É uma estrutura que repete uma sequência de instruções enquanto uma determinada condição for satisfeita (verdadeira) Se condição for falsa, o controle passa para a próxima sequência de instruções fora do laço enquanto Sintaxe while (expressão lógica){ sequência de instruções } 19 Estrutura de Repetição Enquanto (while) while (expressão lógica){ sequência de instruções } Sequência de instruções é executada enquanto o valor da expressão for verdadeiro Quando não será verdadeiro? Quando e como a condição será falsa? 20 Estrutura de Repetição Enquanto (while) Exemplo 1 21 #include <iostream> using namespace std; int main() { int i=0; while(i<10){ cout<< i <<endl; } return 0; } ? SaídaCódigo Estrutura de Repetição Enquanto (while) Exemplo 1 22 #include <iostream> using namespace std; int main() { int i=0; while(i<10){ cout<< i <<endl; } return 0; } 0 0 0 0 0 0 0 0 0 0 0 ... SaídaCódigo Estrutura de Repetição Enquanto (while) Exemplo 1 23 #include <iostream> using namespace std; int main() { int i=0; while(i<10){ cout<< i <<endl; i++; } return 0; } ? SaídaCódigo Estrutura de Repetição Enquanto (while) Exemplo 1 24 #include <iostream> using namespace std; int main() { int i=0; while(i<10){ cout<< i <<endl; i++; } return 0; } 0 1 2 3 4 5 6 7 8 9 SaídaCódigo Estrutura de Repetição Enquanto (while) Exemplo 2 25 #include <iostream> using namespace std; int main() { int i=10; while(i<10){ cout<< i <<endl; i++; } return 0; } ? SaídaCódigo Estrutura de Repetição Enquanto (while) Exemplo 2 26 #include <iostream> using namespace std; int main() { int i=10; while(i<10){ cout<< i <<endl; i++; } return 0; } SaídaCódigo Faça - Enquanto (do - while) O comando “do while” define uma estrutura de repetição que garante que uma sequência seja executada ao menos uma vez Testa a condição somente no final Sintaxe do{ sequência de instruções } while(expressão lógica); 27 Faça - Enquanto (do - while) Exemplo 1 28 #include <iostream> using namespace std; int main() { int i=1; do { cout<< i <<endl; } while(i<=2); return 0; } ? SaídaCódigo Faça - Enquanto (do - while) Exemplo 1 29 #include <iostream> using namespace std; int main() { int i=1; do { cout<< i <<endl; } while(i<=2); return 0; } 1 1 1 1 1 1 1 1 1 1 ... SaídaCódigo Faça - Enquanto (do - while) Exemplo 1 30 #include <iostream> using namespace std; int main() { int i=1; do { cout<< i <<endl; i++; } while(i<=2); return 0; } ? SaídaCódigo Faça - Enquanto (do - while) Exemplo 1 31 #include <iostream> using namespace std; int main() { int i=1; do { cout<< i <<endl; i++; } while(i<=2); return 0; } 1 2 SaídaCódigo O Comando break em Estruturas de Repetição Do mesmo modo que break interrompe a execução de instrução(ou instruções) dentro de um “case” no “switch” A execução de um comando break dentro de uma estrutura de repetição interrompe as execuções de uma sequência de instruções do laço Exemplo: Imprimir o maior número inteiro, de um número dado, que seja múltiplo de 10? 32 O Comando break em Estruturas deRepetição Exemplo 33 #include <iostream> using namespace std; int main() { int i, num; cin>>num; // 11? 19? 0 ? 10 ? for(i=num;i<num+10;i++){ if(i%10==0){ cout<<i<<endl; break; } } return 0; } ? SaídaCódigo E Quando não sabemos o número de repetições? Uso do while (programa que calcula a média de x alunos) 34 #include <iostream> using namespace std; int main() { float n1,n2,n3,n4,media; int continua=1; while(continua != 0) { cin >> n1 >> n2 >> n3 >> n4; media = (n1+n2+n3+n4)/4.0; if(media >= 7.0) cout << "Aluno aprovado! Parabens!\n"; else cout << "Aluno reprovado! Estude mais!\n"; cin >> continua; } return 0; } Código
Compartilhar