Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato...

Preview:

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