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

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

Embed Size (px)

Citation preview

Page 1: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

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

Page 2: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato 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

Page 3: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato 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

Fim seFim se

RepitaRepita 5 vezes 5 vezes

Descasque uma batataDescasque uma batata

Fim repitaFim repita

Page 4: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

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

Page 5: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

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

Page 6: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

Visualização na forma de um Visualização na forma de um fluxogramafluxograma

var começo

var > fim

comando1comando2comandoN

var var +1

N

S

Page 7: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

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.

Page 8: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

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

Page 9: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

ExemploExemplo

Saída:Saída:

passo 2passo 2

passo 3passo 3

passo 4passo 4

passo 5passo 5

Page 10: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

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

Page 11: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

Outro exemploOutro exemplo

Saída:Saída:

total = 10total = 10

total = 20total = 20

total = 30total = 30

total = 40total = 40

Page 12: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

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

Page 13: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

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

Page 14: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

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)

Page 15: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

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

Page 16: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

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

Page 17: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

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.

Page 18: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

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

Page 19: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

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

Page 20: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

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

Page 21: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

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

Page 22: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

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

Page 23: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

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

Page 24: Projeto e Desenvolvimento de Algoritmos Laços com Número Determinado de Repetições Renato Campioni

Outro ExemploOutro ExemploImprime números inteirosImprime números inteiros

SaídaSaída 11

33

44

55

66

77

88

1010

1111

1212