Algoritmos aplicados à Engenharia I Vinicius Alegreti Meza [email protected] www.profvinicius.weebly.com Estruturas de repetição São estruturas que permitem a repetição de uma determinada tarefa, até quando uma condição seja satisfeita Elas são organizadas nos laços de repetição (conhecidos como loop, ou looping) Tipos comuns de laços de repetição (português estruturado) - I enquanto (condição) faça ... ... ... fimenquanto Este laço é executado até que a condição seja satisfeita. Enquanto a condição for verdadeira, não há parada das operações dentro do laço Exemplo de laço enquanto - contador inicio // declaração de variáveis inteiro contador; // inicialização de valor de CONTADOR contador = 0; enquanto (contador <= 50) faça contador = contador + 1; fimenquanto // apresenta o valor na tela escreva(contador); Repetição com variável de controle – estrutura para para controle de inicio até fim passo tanto faça ... ... ... fim para Esta estrutura é repetida até que fim seja alcançado, variando inicio de um valor de tanto Exemplo I de laço for – média da nota de uma sala de 50 alunos inicio // declaração de variáveis real: MA, // média aritmética de um aluno SOMA = 0, // acumulador de valores MA_ANUAL = 0; // média anual da sala inicializada inteiro: i // variável de controle do laço for // lê cada nota e soma na variável MA_anual para i de 1 até 50 passo 1 faça escreva(“Digite nota do aluno i”); leia(MA); SOMA = SOMA + MA; fim para // calcula a média anual dos 50 alunos MA_ANUAL = SOMA/50; // apresenta na tela escreva(“A média anual é MA_ANUAL”); fim Exemplo II – Tabuada do 5 (com laço enquanto) inicio // declaração de variáveis inteiro: contador = 1, // variável de controle valor = 1; // número da tabuada // inicia a tabuada do 5 enquanto (contador <=10) faça valor = contador*5; escreva(“contador x 5 = valor”); contador = contador + 1; fimenquanto fim Exemplo III – Tabuada do 5 (com laço para) inicio // declaração de variáveis inteiro: contador = 1, // variável de controle i = 1; // controle de laço para // inicia a tabuada do 5 para i de 1 até 10 passo 1 faça valor = i*5; escreva(“i x 5 = valor”); fimpara fim Exercício 1 – Faça um algoritmo com a estrutura enquanto que efetue a soma dos 30 primeiros números naturais, a partir de 1. Informações adicionais: O algoritmo deverá simplesmente efetuar a seguinte soma Esta sequência de números é chamada uma progressão aritmética, cujo primeiro termo é 1, cuja razão é 1, e o último termo é 30 Exercício 2 – Faça um algoritmo com a estrutura enquanto que efetue a soma dos 30 primeiros números da seguinte progressão aritmética: Esclarecendo “algumas pontas soltas” o primeiro termo é ଵ a razão da progressão aritmética é o último termo é ଷ ଵ A expressão do termo geral é Exemplo IV – Laço para com estrutura de controle se Faça um algoritmo que apresente a tabuada do 9 e apresente uma mensagem quando o número da tabuada por impar Lembrando: um número ímpar é aquele cujo resto da divisão por 2 é 1. inicio // declaração de variáveis inteiro: i, // variável de controle do laço para resto, // resto da divisão por 2 num; // número da tabuada // início da tabuada para i de 1 até 10 passo 1 faça num = i*9; escreva(“i x 9 = num”); // verifica se é ímpar se ( num % 2 == 1){ escreva(“num é impar”); } fim para