Upload
internet
View
105
Download
1
Embed Size (px)
Citation preview
Projeto e Desenvolvimento de Projeto e Desenvolvimento de AlgoritmosAlgoritmos
Laços com Número Determinado de Laços com Número Determinado de RepetiçõesRepetições
Renato CampioniRenato Campioni
Laços com número Laços com número determinado de repetiçõesdeterminado de repetições
Traga a cesta com as batatasTraga a cesta com as batatas SeSe a roupa é clara a roupa é clara entãoentão coloque aventalcoloque avental FimFim sese Descasque uma batataDescasque uma batata Descasque uma batataDescasque uma batata Descasque uma batataDescasque uma batata Descasque uma batataDescasque uma batata Descasque uma batataDescasque uma batata
Laços com número Laços com número determinado de repetiçõesdeterminado de repetições
Traga a cesta com as batatasTraga a cesta com as batatas
SeSe a roupa é clara a roupa é clara entãoentão
coloque aventalcoloque avental
Fim seFim se
RepitaRepita 5 vezes 5 vezes
Descasque uma batataDescasque uma batata
Fim repitaFim repita
Laços com número Laços com número determinado de repetiçõesdeterminado de repetições Em muitas situações práticas, existe a Em muitas situações práticas, existe a
necessidade de saber o número da repetição. necessidade de saber o número da repetição. Por este motivo, o pseudo-código introduz um Por este motivo, o pseudo-código introduz um
contador de voltas:contador de voltas:
Traga a cesta com as batatasTraga a cesta com as batatasSeSe a roupa é clara a roupa é clara entãoentão coloque aventalcoloque aventalFim seFim seParaPara i i 1 1 atéaté 5 5 façafaça Descasque uma batataDescasque uma batatapróximopróximo i i
Laços com número Laços com número determinado de repetiçõesdeterminado de repetições
Sintaxe:Sintaxe:
parapara varvar comecocomeco atéaté fimfim façafaça
comando 1comando 1
comando 2comando 2
......
comando Ncomando N
próximopróximo varvar
Visualização na forma de um Visualização na forma de um fluxogramafluxograma
var começo
var > fim
comando1comando2comandoN
var var +1
N
S
Laços com número Laços com número determinado de repetiçõesdeterminado de repetições
varvar é uma variável qualquer, do tipo é uma variável qualquer, do tipo inteirointeiro
começocomeço é, em geral, igual a 1, mas é, em geral, igual a 1, mas pode assumir qualquer valor inteiro.pode assumir qualquer valor inteiro.
se se começocomeço for maior do que for maior do que fimfim, o laço , o laço não é executado nem uma vez.não é executado nem uma vez.
ExemploExemplo
Escreva um programa para imprimir os Escreva um programa para imprimir os números inteiros entre 2 e 5números inteiros entre 2 e 5
inícioinício
i i 2 2
f f 5 5
parapara conta conta i i atéaté f f façafaça
imprimaimprima 'passo ', conta 'passo ', conta
próximopróximo conta conta
fimfim
ExemploExemplo
Saída:Saída:
passo 2passo 2
passo 3passo 3
passo 4passo 4
passo 5passo 5
Outro exemploOutro exemplo
Escreva um programa para imprimir os Escreva um programa para imprimir os números inteiros entre 10 e 40, múltiplos de números inteiros entre 10 e 40, múltiplos de 1010
inícioinício total total 0 0 parapara i i 1 1 atéaté 4 4 façafaça total total total + 10 total + 10 imprimaimprima 'total = ', total 'total = ', total próximopróximo i ifimfim
Outro exemploOutro exemplo
Saída:Saída:
total = 10total = 10
total = 20total = 20
total = 30total = 30
total = 40total = 40
Laços com número Laços com número determinado de repetiçõesdeterminado de repetições
É possível ainda utilizar variáveis caracter para É possível ainda utilizar variáveis caracter para controlar o número de iterações do laço.controlar o número de iterações do laço.
inícioinício
parapara ch ch 'A' 'A' atéaté 'D' 'D' façafaça
imprimaimprima 'ch = ', ch 'ch = ', ch
próximopróximo ch ch
fimfim
Laços com número Laços com número determinado de repetiçõesdeterminado de repetições
Saída:Saída:
ch = Ach = A
ch = Bch = B
ch = Cch = C
ch = Dch = D
Laços dentro de laçosLaços dentro de laços
É bastante comum a situação em que um É bastante comum a situação em que um comando, ou grupo de comandos, tem de ser comando, ou grupo de comandos, tem de ser repetido dentro de um laço externorepetido dentro de um laço externo..
Imagine as horas do dia. Elas assumem todos Imagine as horas do dia. Elas assumem todos os dias os mesmos valores: 12:00, 13:00, os dias os mesmos valores: 12:00, 13:00, 14:00, etc. No entanto, cada hora é unicamente 14:00, etc. No entanto, cada hora é unicamente identificada: identificada: 12:00 (laço interno) 12:00 (laço interno) do dia 19/06/2001 (laço externo)do dia 19/06/2001 (laço externo)12:00 (laço interno) 12:00 (laço interno) do dia 20/06/2001 (laço externo)do dia 20/06/2001 (laço externo)
Laços dentro de laçosLaços dentro de laços
Um exemploUm exemploinícioinício parapara cExt cExt 1 1 atéaté 3 3 façafaça imprimaimprima 'Laço externo: ',cExt 'Laço externo: ',cExt parapara cInt cInt 1 1 atéaté 3 3 façafaça imprimaimprima 'Laço interno:',cExt, 'Laço interno:',cExt, '.', '.', cIntcInt
próximopróximo cInt cInt próximopróximo cExt cExtfimfim
Laços dentro de laçosLaços dentro de laços
Saída:Saída:Laço externo: 1Laço externo: 1Laço interno: 1.1Laço interno: 1.1Laço interno: 1.2Laço interno: 1.2Laço interno: 1.3Laço interno: 1.3Laço externo: 2Laço externo: 2Laço interno: 2.1Laço interno: 2.1Laço interno: 2.2Laço interno: 2.2Laço interno: 2.3Laço interno: 2.3Laço externo: 3Laço externo: 3Laço interno: 3.1Laço interno: 3.1Laço interno: 3.2Laço interno: 3.2Laço interno: 3.3Laço interno: 3.3
Outro ExemploOutro ExemploConversão de TemperaturasConversão de Temperaturas
Outro exemplo: Escreva um programa Outro exemplo: Escreva um programa para converter temperaturas em graus para converter temperaturas em graus Celsius para Fahrenheit. As Celsius para Fahrenheit. As temperaturas a serem convertidas temperaturas a serem convertidas estão na faixa [0estão na faixa [0ooC..100C..100ooC] e devem C] e devem variar de 10variar de 10ooC em 10C em 10ooC. Assinale as C. Assinale as temperaturas de congelamento e temperaturas de congelamento e fervura da água.fervura da água.
Outro ExemploOutro ExemploConversão de TemperaturasConversão de Temperaturas
inicioinicio Celsius Celsius 0.0 0.0 parapara i i 1 1 atéaté 11 11 façafaça Fahrenheit Fahrenheit 1.8*Celsius+32.0 1.8*Celsius+32.0 ImprimaImprima 'C =', Celsius, 'C =', Celsius, ' F =', Fahrenheit' F =', Fahrenheit sese Celsius = 0.0 Celsius = 0.0 entãoentão Imprima ' Congelamento'Imprima ' Congelamento' fim sefim se sese Celsius = 100.0 Celsius = 100.0 entãoentão Imprima ' Fervura'Imprima ' Fervura' fim sefim se Celsius Celsius Celsius+10.0 Celsius+10.0 próximo próximo iifimfim
Outro ExemploOutro ExemploConversão de TemperaturasConversão de Temperaturas
Saída:Saída:C = 0.0 F = 32.0 CongelamentoC = 0.0 F = 32.0 CongelamentoC = 10.0 F = 50.0C = 10.0 F = 50.0C = 20.0 F = 68.0C = 20.0 F = 68.0C = 30.0 F = 86.0C = 30.0 F = 86.0C = 40.0 F = 104.0C = 40.0 F = 104.0C = 50.0 F = 122.0C = 50.0 F = 122.0C = 60.0 F = 140.0C = 60.0 F = 140.0C = 70.0 F = 158.0C = 70.0 F = 158.0C = 80.0 F = 176.0C = 80.0 F = 176.0C = 90.0 F = 194.0C = 90.0 F = 194.0C = 100.0 F = 212.0 FervuraC = 100.0 F = 212.0 Fervura
Outro ExemploOutro ExemploSeu AniversárioSeu Aniversário
Escreva um programa que escreva os números Escreva um programa que escreva os números inteiros de 1 a 12 e escreva uma mensagem ao inteiros de 1 a 12 e escreva uma mensagem ao lado do número correspondente ao mês do seu lado do número correspondente ao mês do seu aniversárioaniversário
Outro ExemploOutro ExemploSeu AniversárioSeu Aniversário
inícioinício
parapara mes mes 1 1 atéaté 12 12 façafaça
imprima imprima 'mes : ', mes'mes : ', mes
se se mes=3 mes=3 entãoentão
imprimaimprima 'Feliz Aniversario, 'Feliz Aniversario, Jonas!'Jonas!'
fim sefim se
próximo próximo mesmes
fimfim
Outro ExemploOutro ExemploSeu AniversárioSeu Aniversário
SaídaSaídames : 1mes : 1mes : 2mes : 2mes : 3 Feliz Aniversario, Jonas!mes : 3 Feliz Aniversario, Jonas!mes : 4mes : 4mes : 5mes : 5mes : 6mes : 6mes : 7mes : 7mes : 8mes : 8mes : 9mes : 9mes : 10mes : 10mes : 11mes : 11mes : 12mes : 12
Outro ExemploOutro ExemploImprime números inteirosImprime números inteiros
Escreva um programa que liste os números Escreva um programa que liste os números inteiros de 1 a 12, exceto os números 2 e 9.inteiros de 1 a 12, exceto os números 2 e 9.
inícioinício
parapara i i 1 1 atéaté 12 12 façafaça
sese (i<>2) (i<>2) ee (i<>9) (i<>9) entãoentão
imprimaimprima i i
fimfim sese
próximopróximo i i
fimfim
Outro ExemploOutro ExemploImprime números inteirosImprime números inteiros
SaídaSaída 11
33
44
55
66
77
88
1010
1111
1212