Aula02
Click here to load reader
-
Upload
renato-sousa -
Category
Education
-
view
61 -
download
4
Transcript of Aula02
![Page 1: Aula02](https://reader038.fdocuments.net/reader038/viewer/2022100508/55ba1287bb61ebad3d8b45b1/html5/thumbnails/1.jpg)
RUBYAula 02 - Estruturas condicionais e laços de repetição
![Page 2: Aula02](https://reader038.fdocuments.net/reader038/viewer/2022100508/55ba1287bb61ebad3d8b45b1/html5/thumbnails/2.jpg)
ESTRUTURA CONDICIONAIS
• if
• if..else
• if..elsif
![Page 3: Aula02](https://reader038.fdocuments.net/reader038/viewer/2022100508/55ba1287bb61ebad3d8b45b1/html5/thumbnails/3.jpg)
EXEMPLO
# ler_idade.rbidade = gets.chomp.to_iif idade>=18puts “Maior de idade”
end
![Page 4: Aula02](https://reader038.fdocuments.net/reader038/viewer/2022100508/55ba1287bb61ebad3d8b45b1/html5/thumbnails/4.jpg)
SIMPLIFICANDO
# ler_idade.rbidade = gets.chomp.to_iputs “Maior de idade” if idade>=18
![Page 5: Aula02](https://reader038.fdocuments.net/reader038/viewer/2022100508/55ba1287bb61ebad3d8b45b1/html5/thumbnails/5.jpg)
EXEMPLO 2
idade = gets.chomp.to_iif idade>=18puts “Maior de idade”
elseputs “Menor de idade"
end
![Page 6: Aula02](https://reader038.fdocuments.net/reader038/viewer/2022100508/55ba1287bb61ebad3d8b45b1/html5/thumbnails/6.jpg)
SIMPLIFICANDO
idade = gets.chomp.to_i
# Utilizando o operador ternário
puts (idade>18) ? “Maior de idade” :“Menor de idade"
![Page 7: Aula02](https://reader038.fdocuments.net/reader038/viewer/2022100508/55ba1287bb61ebad3d8b45b1/html5/thumbnails/7.jpg)
EXEMPLO 3
idade = gets.chomp.to_iif idade>=18 && idade<=60
puts “Voto obrigatório”elsif idade>=16 || idade>60
puts “Voto facultativo”else puts “Voto não permitido"end
![Page 8: Aula02](https://reader038.fdocuments.net/reader038/viewer/2022100508/55ba1287bb61ebad3d8b45b1/html5/thumbnails/8.jpg)
ESTRUTURA UNLESS
• O unless é o inverso do if.
• O bloco é executado se a negativa da condição for verdadeira.
• Pode ser combinado com o else ou elseif da mesma forma que o if.
![Page 9: Aula02](https://reader038.fdocuments.net/reader038/viewer/2022100508/55ba1287bb61ebad3d8b45b1/html5/thumbnails/9.jpg)
EXEMPLO
idade = gets.chomp.to_iunless idade<18puts “Maior de idade”
elseputs “Menor de idade"
end
![Page 10: Aula02](https://reader038.fdocuments.net/reader038/viewer/2022100508/55ba1287bb61ebad3d8b45b1/html5/thumbnails/10.jpg)
CASE
• Serve para quando se trabalha com múltiplos valores que podem ser verificados
![Page 11: Aula02](https://reader038.fdocuments.net/reader038/viewer/2022100508/55ba1287bb61ebad3d8b45b1/html5/thumbnails/11.jpg)
EXEMPLOdia_da_semana= gets.chomp.to_idia = case (dia_da_semana)when 1 then "Segunda feira"when 2 then "Terça feira"when 3 then "Quarta feira"when 4 then "Quinta feira"when 5 then "Sexta feira"when 6 then "Sábado"when 7 then "Domingo"else "dia inválido"
endputs dia
![Page 12: Aula02](https://reader038.fdocuments.net/reader038/viewer/2022100508/55ba1287bb61ebad3d8b45b1/html5/thumbnails/12.jpg)
LAÇOS DE REPETIÇÃO
• While
• Until
• For
![Page 13: Aula02](https://reader038.fdocuments.net/reader038/viewer/2022100508/55ba1287bb61ebad3d8b45b1/html5/thumbnails/13.jpg)
WHILE• Executa um bloco de código enquanto uma
condição for verdadeira.
numero = 0
while numero<100
puts numero
numero+=1
end
![Page 14: Aula02](https://reader038.fdocuments.net/reader038/viewer/2022100508/55ba1287bb61ebad3d8b45b1/html5/thumbnails/14.jpg)
DO..WHILE
• Funciona similar ao While.
• Condição é testada no final.
• Diferença: é garantido que o bloco vai ser executado ao menos uma vez.
![Page 15: Aula02](https://reader038.fdocuments.net/reader038/viewer/2022100508/55ba1287bb61ebad3d8b45b1/html5/thumbnails/15.jpg)
EXEMPLO
numero = 1
until numero==100
puts numero
numero+=1
end
![Page 16: Aula02](https://reader038.fdocuments.net/reader038/viewer/2022100508/55ba1287bb61ebad3d8b45b1/html5/thumbnails/16.jpg)
FOR
• O for trabalha com intervalos(Range)
for numero in (0..100)
puts numero
end
![Page 17: Aula02](https://reader038.fdocuments.net/reader038/viewer/2022100508/55ba1287bb61ebad3d8b45b1/html5/thumbnails/17.jpg)
USANDO A ORIENTAÇÃO OBJETOS COM RUBY
• No último exemplo vimos como executar um laço for para o intervalo (0..100).
• (0..100) é um objeto que possui o método each.
![Page 18: Aula02](https://reader038.fdocuments.net/reader038/viewer/2022100508/55ba1287bb61ebad3d8b45b1/html5/thumbnails/18.jpg)
PERCORRENDO COM EACH
(0..100).each do |numero|
puts numero
end
# reduzindo
(0..100).each {|numero| puts numero }