Programação de Computadores - Professor Baesseprocessar um trecho de código É necessário uma...

Post on 16-Jul-2020

2 views 0 download

Transcript of Programação de Computadores - Professor Baesseprocessar um trecho de código É necessário uma...

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIARIO GRANDE DO NORTE

Programação de Computadores

Mais repetiçãoCopyright © 2013 IFRN

/12

O que veremos hoje?Repetição condicionalOperação whileExercícios

2

/12

LaçoMuitas vezes não se sabe quantas vezes processar um trecho de códigoÉ necessário uma condição de parada

Horário.Encontrar algo.Não encontrar algo e esgotou o espaço de busca.

3

/12

Operação whilePermite processar um trecho de código repetidas vezes

Condição booleana deve ser verdadeira para processar

4

while (condicao) do inst01 inst02 ... instnnend

/12

Operação whilePermite processar um trecho de código repetidas vezes

Condição booleana deve ser verdadeira para processar

4

while (condicao) do inst01 inst02 ... instnnend

Condição booleana

/12

Operação whilePermite processar um trecho de código repetidas vezes

Condição booleana deve ser verdadeira para processar

4

while (condicao) do inst01 inst02 ... instnnend

Condição booleana

Corpo do laço

/12

Operação while

5

...pre-whilewhile (condicao) do inst01 inst02 ... instnnendpos-while...

I

pre-while

inst01

F

...

condicaoSIM NÃO

...

pos-while

inst02

...

instnn

/12

whiledividir número por 2 até chegar em 1

Usado para conversão decimal/binário

6

x = numerowhile (x>1) do x = x/2end

/12

whileEquivalência com o for

7

for i in 0..10 do ...end

i = 0while (i<=10) do ... i = i+1end

/12

whileEquivalência com o for

7

for i in 0..10 do ...end

i = 0while (i<=10) do ... i = i+1end

início

teste de fim

atualiza valor de i

/12

ExemploLer número até entrada ser igual a -1

8

a = []num = gets.to_iwhile (num != -1) do a << num num = gets.to_iend

/12

ExemploLer uma nota até que a entrada seja válida

9

...nota = gets.to_fwhile ( (nota < 0.0) or (nota > 10.0) ) do nota = gets.to_fend...

/12

ExemploProcurar um número do array

10

a = ARRAY...indice = 0numero = gets.to_iencontrou = falsewhile ( (not encontrou) and (indice<a.size)) do if (a[indice] == numero) then encontrou = true else indice=indice+1 endendif (encontrou) then # Numero encontrado no indice else # Numero nao esta presente no arrayend...

/12

ComentáriosQualquer laço em programação pode ser feito usando while

Baseado em condição booleanaMuitos cálculos (também programa) são feitos repetindo uma operação até chegar a um resultado

Exemplo: Cálculo do MDC através do método de Euclides

11

/12

Dúvidas?12