Programação de Computadores - Professor Baesseprocessar um trecho de código É necessário uma...
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