Bem vindo algoritmizeiros…
Parece que foi ontem que começamos nossa série de posts sobre algoritmos, na tentativa de fazer esse mundo melhor com mais programadores =D
Agora, no nono post da série, vamos aprender sobre estruturas de repetição.
Bom, até o momento, sempre fizemos algoritmos lineares, ou seja, ele possui um começo, meio e fim, e segue essa ordem…
As estruturas de repetição, irão repetir determinados comandos, até que uma comparação lógica se torne verdadeira ou falsa.
Vou explicar com exemplos, assim o entendimento se tornará mais fácil.
O Algoritmo abaixo, lê o nome e a nota de três provas de três alunos diferentes…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | Algoritmo "MediaHarmonica" var a, b, c, MH: real nome: caractere inicio escreva ( "Entre com o nome do aluno: " ) leia (nome) escreval ( "Entre com as notas das três provas" ) escreva ( "Digite a primeira nota: " ) leia (a) escreva ( "Digite a segunda nota: " ) leia (b) escreva ( "Digite a terceira nota: " ) leia (c) MH <- 3 /( 1 /a + 1 /b + 1 /c) escreval ( "A média harmônica do aluno: " , NOME, " é " , MH) escreva ( "Entre com o nome do aluno: " ) leia (nome) escreval ( "Entre com as notas das três provas" ) escreva ( "Digite a primeira nota: " ) leia (a) escreva ( "Digite a segunda nota: " ) leia (b) escreva ( "Digite a terceira nota: " ) leia (c) MH <- 3 /( 1 /a + 1 /b + 1 /c) escreval ( "A média harmônica do aluno: " , NOME, " é " , MH) escreva ( "Entre com o nome do aluno: " ) leia (nome) escreval ( "Entre com as notas das três provas" ) escreva ( "Digite a primeira nota: " ) leia (a) escreva ( "Digite a segunda nota: " ) leia (b) escreva ( "Digite a terceira nota: " ) leia (c) MH <- 3 /( 1 /a + 1 /b + 1 /c) escreval ( "A média harmônica do aluno: " , NOME, " é " , MH) fimalgoritmo |
Ainda bem que só tínhamos três alunos…
E se fosse uma turma de 40 alunos?
Para isso vamos utilizar estruturas de repetição =)
Na estrutura repita – ate, todos os comandos serão executados e, ao final, haverá uma expressão lógica, para que avalie a repetição, esta que somente irá cessar quando essa expressão for verdadeira.
1 2 3 4 | // sintaxe da estrutura de repetição repita
ate |
Agora um exemplo didático…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | algoritmo "DemonstraRepeticao" var i: inteiro inicio i <- 1 repita escreva(i) i <- i + 1 ate i > 10 fimalgoritmo |
Este algoritmo irá retornar na tela do usuário os números: 1 2 3 4 5 6 7 8 9 10
Mais porquê?
Primeiramente foi declarado a variável i como inteiro, logo em seguida utilizamos uma estrutura de repetição, o repita-ate, pedimos para escrever o valor de i e acrescentamos ao seu valor mais uma unidade, ou seja, i + 1.
e até quando isso será repetido?
Até que o valor de i seja maior que 10…
Então quando o valor de i chegou a 11, ele perguntou se i era maior que 10, como a resposta foi verdadeira, ele encerrou a repetição e foi para o próximo comando…
Como não temos mais nada, encerramos nosso algoritmo.
Só que dessa vez, nós teremos 40 alunos em nossa classe!
Não! Agora que já sabemos utilizar uma estrutura de repetição, vamos poupar trabalho e resumir nosso algoritmo!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | Algoritmo "MediaHarmonica" var a, b, c, MH, i: real NOME: caractere inicio i <- 1 Repita escreva( "Entre com o nome do aluno: " ) leia(nome) escreval ( "Entre com as notas das três provas" ) escreva( "Digite a primeira nota: " ) leia(a) escreva( "Digite a segunda nota: " ) leia(b) escreva( "Digite a terceira nota: " ) leia(c) MH <- 3 /( 1 /a + 1 /b + 1 /c) escreval( "A média harmônica do aluno: " , NOME, " é " , MH) i <- i + 1 ate i > 40 FimAlgoritmo
Credito total a:http://algoritmizando.com/aprenda-a-programar-9-algoritmos/ |
thank for info
ResponderExcluir