Aula02

18

Click here to load reader

Transcript of Aula02

Page 1: Aula02

RUBYAula 02 - Estruturas condicionais e laços de repetição

Page 2: Aula02

ESTRUTURA CONDICIONAIS

• if

• if..else

• if..elsif

Page 3: Aula02

EXEMPLO

# ler_idade.rbidade = gets.chomp.to_iif idade>=18puts “Maior de idade”

end

Page 4: Aula02

SIMPLIFICANDO

# ler_idade.rbidade = gets.chomp.to_iputs “Maior de idade” if idade>=18

Page 5: Aula02

EXEMPLO 2

idade = gets.chomp.to_iif idade>=18puts “Maior de idade”

elseputs “Menor de idade"

end

Page 6: Aula02

SIMPLIFICANDO

idade = gets.chomp.to_i

# Utilizando o operador ternário

puts (idade>18) ? “Maior de idade” :“Menor de idade"

Page 7: Aula02

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

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

EXEMPLO

idade = gets.chomp.to_iunless idade<18puts “Maior de idade”

elseputs “Menor de idade"

end

Page 10: Aula02

CASE

• Serve para quando se trabalha com múltiplos valores que podem ser verificados

Page 11: Aula02

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

LAÇOS DE REPETIÇÃO

• While

• Until

• For

Page 13: Aula02

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

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

EXEMPLO

numero = 1

until numero==100

puts numero

numero+=1

end

Page 16: Aula02

FOR

• O for trabalha com intervalos(Range)

for numero in (0..100)

puts numero

end

Page 17: Aula02

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

PERCORRENDO COM EACH

(0..100).each do |numero|

puts numero

end

# reduzindo

(0..100).each {|numero| puts numero }