Baixe o app para aproveitar ainda mais
Prévia do material em texto
15/10/2012 1 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Estruturas de Repetição ENQUANTO Estrutura de repetição para número indefinido de repetições e teste no início (estrutura enquanto). Essa estrutura de repetição é utilizada quando não se sabe o número de vezes que um trecho do algoritmo deve ser repetido, embora também possa ser utilizada quando se conhece esse número. Essa estrutura baseia-se na análise de uma condição. A repetição será feita enquanto a condição mostrar-se verdadeira. 204 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Estruturas de Repetição ENQUANTO Existem situações em que o teste condicional da estrutura de repetição, que fica no início, resulta em um valor falso logo na primeira comparação. Nesses casos, os comandos de dentro da estrutura de repetição não serão executados. enquanto condição faça cornando1 Enquanto a condição for verdadeira, o comando 1 será executado. 205 15/10/2012 2 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Estruturas de Repetição ENQUANTO enquanto condição faça início cornando1 comando2 Comando3 fim Enquanto a condição for verdadeira, o comando1, o comando2 e o comando3 serão executados. 206 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Exemplo de Repetição ENQUANTO x �1 y�5 enquanto x < y faça início x �x + 2 y�y + 1 fim 207 Neste trecho do algoritmo, os comandos que estão dentro da estrutura de repetição serão repetidos quatro vezes. 15/10/2012 3 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Exemplo de Repetição ENQUANTO x �1 y �1 enquanto x <= 5 faça início y�y * x x� x + 1 fim 208 Neste trecho do algoritmo, os comandos que se localizam na estrutura de repetição serão repetidos cinco vezes. Nesse exemplo, a estrutura ENQUANTO é utilizada para repetir o trecho do algoritmo um número definido de vezes. ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição REPITA Essa estrutura de repetição é utilizada quando não se sabe o número de vezes que um trecho do algoritmo deve ser repetido, embora também possa ser utilizada quando se conhece esse número. Essa estrutura baseia-se na análise de uma condição. A repetição será feita até a condição tornar-se verdadeira. 209 15/10/2012 4 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição REPITA A diferença entre a estrutura enquanto e a estrutura repita é que nesta última os comandos serão repetidos pelo menos uma vez, já que a condição de parada se encontra no final. repita comandos até condição Repita os comandos até a condição se tornar verdadeira. 210 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Exemplo de Repetição REPITA x �1 y �5 repita x � x + 2 y � y + 1 até x >= y 211 Neste trecho do algoritmo, os comandos de dentro da estrutura de repetição serão repetidos quatro vezes. 15/10/2012 5 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Exemplo de Repetição REPITA x � 1 y � 1 repita y � y * x x � x + 1 até x = 6 212 Neste trecho do algoritmo, os comandos que se localizam dentro da estrutura de repetição serão repetidos cinco vezes. Nesse exemplo, a estrutura REPITA é utilizada para repetir o trecho do algoritmo um número definido de vezes. ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição WHILE(enquanto) Trata-se de uma estrutura de repetição que pode ser utilizada quando o número de repetições necessárias não é fixo. Os comandos serão repetidos ate a condição assumir o valor falso. Nesse tipo de estrutura, o teste condicional ocorre no início. Isto significa que existe a possibilidade da repetição não ser executada quando a condição assumir valor falso logo na primeira verificação. while (condição) comando; Enquanto a condição for verdadeira, o comando será executado. 213 15/10/2012 6 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição While while (condição) { comando1; comando2; comando3; } Enquanto a condição for verdadeira, os comandos que estão dentro das chaves serão executados (comando1, comando2, comando3...). 214 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição While x = 0; while (x != 5) { cout<<"valor de x - " << x; x = x + 1; } Cout<<"valor de x depois que sair da estrutura = “<< x; No trecho de programa acima, os comandos cout e x = x + i; serão executados cinco vezes. O teste condicional avaliará x valendo 0, 1, 2, 3. 4 e 5. 215 15/10/2012 7 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Exemplo de Repetição While x = 1; y= 10; while (y > x) { cout<<"valor de y = “<< y; y= y - 2; } cout<<"valor de y depois que sair da estrutura = “<< y; 216 No trecho de programa acima, os comandos cout e y= Y - 2; serão executados cinco vezes. O teste condicional avaliará Y valendo 10, 8, 6, 4, 2 e 0. ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Exemplo de Repetição While x = 1; y = 1; while (x < y) { cout<<"valor de x = “<<x; x = x + 1; } No trecho de programa acima, os comandos cout e x = x + 1, não serão executados, pois com os valores iniciais de x e y a condição é falsa, logo, não ocorrerá a entrada na estrutura de repetição para execução de seus comandos. 217 15/10/2012 8 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição DO WHILE (Repita) Trata-se de uma estrutura de repetição que pode ser utilizada quando o número de repetições necessárias não é fixo. Os comandos serão repetidos até a condição assumir o valor falso. Nesse tipo de estrutura, o teste condicional ocorre no fim. Isso significa que a repetição será executada no mínimo uma vez, quando todo o bloco for executado uma vez e, ao final, a condição assumir valor falso. 218 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição DO WHILE (Repita) do{ comandos; }while (condição); Os comandos serão repetidos até que a condição assuma valor falso. 219 15/10/2012 9 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Exemplo de Repetição DO WHILE x = 0; do{ cout<< "valor de x = “<<x; x = x + 1; }while (x != 5); cout<<"valor de x depois que sair da estrutura = “<<x; 220 Os comandos cout e x = x + i; serão executados cinco vezes. O teste condicional avaliará x valendo 0, 1, 2, 3, 4 e 5. ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Exemplo de Repetição DO WHILE x = 1; y= 10; do{ cout<< "valor de y = “ << y; y= y - 2; }while (y > x); cout<< "valor de y depois que sair da estrutura = “<<y; 221 Os comandos cout e Y = Y – 2; serão executados cinco vezes. O teste condicional avaliará Y valendo 10, 8, 6, 4, 2 e 0. 15/10/2012 10 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Exercício Resolvido 1. Um funcionário de uma empresa recebe aumento salarial anualmente. Sabe-se que: Esse funcionário foi contratado em 2005, com salário inicial de R$ 1.000,00. Em 2006, ele recebeu aumento de 1,5% sobre seu salário inicial. A partir de 2007 (inclusive), os aumentos salariais sempre corresponderam ao dobro do percentual do ano anterior. Faça um programa que determine o salário atual desse funcionário. 222 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Exercício Resolvido algoritmo declare i, ano_atual, salario numérico novo_salario, percentual numérico leia ano_atual salario � 1000 percentual �1,5/100 novo_salario � salario + percentual * salario para i � 2007 até ano_atual faça início percentual � 2 * percentual novo_salario � novo_salario+ percentual * novo_salario fim escreva novo_salario fim algoritmo 223 15/10/2012 11 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Exercício Resolvido Faça um programa que leia um valor N inteiro e positivo, calcule e mostre o valor de E, conforme a fórmula a seguir: algoritmo declare n, e, i, j, fat numérico leia n e �1 para i � 1 até n faça início fat � 1 para j � 1 até i faça início fat � fat * j fim e �e + 1/fat fim escreva e fim_algoritmo. 224
Compartilhar