Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Comparação Entre Estruturas de Repetição Professor: Danilo Giacobo Todas as estruturas de repetição apresentadas cumprem o papel de possibilitar a criação de laços de repetição dentro de um algoritmo. Convém conhecermos bem as características de cada uma, para melhor utilizá-las conforme nossa conveniência. A Tabela 1 apresenta um quadro comparativo: Tabela 1 - Comparação entre as estruturas de repetição Estrutura Condição Quantidade de Execuções Condição de Existência Enquanto Início 0 ou muitas Condição verdadeira Repita Final Mínimo 1 Condição falsa Para Não tem ((vf-vi) div p) + 1 v <= vf Exemplos a. Elabore um algoritmo que, utilizando as três estruturas de repetição, imprima a tabuada do número 5: Utilizando enquanto: ALGORITMO 4.12 Tabuada do número 5 usando enquanto 1. início 2. inteiro: CON; 3. CON 1; 4. enquanto (CON <= 10) faça 5. escreva (“5 x ”, CON, “ = ”, CON * 5); 6. CON CON + 1; 7. fimenquanto; 8. fim. Utilizando repita: ALGORITMO 4.13 Tabuada do número 5 usando repita 1. início 2. inteiro: CON; 3. CON 1; 4. repita 5. escreva (“5 x ”, CON, “ = ”, CON * 5); 6. CON CON + 1; 7. até (CON > 10); 8. fim. Utilizando para: ALGORITMO 4.14 Tabuada do número 5 usando para 1. início 2. inteiro: CON; 3. para CON de 1 até 10 passo 1 faça 4. escreva (“5 x ”, CON, “ = ”, CON * 5); 5. fimpara; 6. fim. b. Modifique o algoritmo para que ele imprima a tabuada de quaisquer números, sendo que esses são fornecidos pelo usuário, até encontrar como finalizador -1. Sabendo que o primeiro número-base fornecido não é 1: Utilizando enquanto: ALGORITMO 4.15 Tabuada de qualquer número usando enquanto 1. início 2. inteiro: N, CON; // número-base e contador 3. leia (N); 4. enquanto (N <> -1) faça 5. CON 1; 6. enquanto (CON <= 10) faça 7. escreva (N, “ x ”, CON, “ = ”, CON * N); 8. CON CON + 1; 9. fimenquanto; 10. leia (N); 11. fimenquanto; 12. fim. Utilizando repita: ALGORITMO 4.16 Tabuada de qualquer número usando repita 1. início 2. inteiro: N, CON; // número-base e contador 3. leia (N); 4. repita 5. CON 1; 6. repita 7. escreva (N, “ x ”, CON, “ = ”, CON * N); 8. CON CON + 1; 9. até (CON > 10); 10. leia (N); 11. até (N = -1); 12. fim. Utilizando para: ALGORITMO 4.17 Tabuada de qualquer número usando para 1. início 2. inteiro: N, CON, X; // número-base, contador e variável de controle 3. leia (N); 4. // número de repetições é indefinido! 5. para X de 1 até ?? passo 1 faça 6. para CON de 1 até 10 passo 1 faça 7. escreva (N, “ x ”, CON, “ = ”, CON * N); 8. CON CON + 1; 9. fimpara; 10. leia (N); 11. fimpara; 12. fim. Verificamos na linha 5 desse exemplo a impossibilidade de construir esse algoritmo utilizando a estrutura para, pois esta exige que o número de repetições, além de ser finito, seja predeterminado.