Ruby Basics 6 - Times and Range - Aula 9A - Aprendendo a programar com Ruby: O Básico para iniciantes

:warning: Material da aula 9.A! Veja mais informações sobre o curso e a lista completa das aulas em: http://cursoprogramacao.rafaelbiriba.com/ :warning:

9.A. Ruby Basics 6 - Times and Range

Essa é a sexta aula com o conteúdo básico do Ruby. Explico brevemente sobre Times e Range e rapidamente sobre o operador matemático modulos (%).

Não deixe de tentar resolver os exercícios da aula e investir algum tempo estudando mais sobre o assunto.

Vídeo da aula

Conteúdo da aula

  • Times

  • Range

  • Math Operations: The modulo operator (%)

Exemplos da aula
Math: %
3 % 5
# 3

10 % 2
# 0

6 % 5
#1
Times
10.times { puts "Oi!" }

10.times {
  puts "Oi!"
}

10.times do puts "Oi!" end

10.times do
  puts "Oi!"
end

contador = 5
contador.times do
  puts "contando..."
end
10.times { |n| puts "Oi! #{n}" } #0 1 2 3 4 5 6 7 8 9

10.times { |n|
  puts "Oi! #{n}"
}

10.times do |n| puts "Oi! #{n}" end

2.times do |x|
  puts x
end
# 0
# 1
4.times do |n|
  puts n
  if n % 2 == 0
    puts "PAR!"
  end
end
#0
# PAR!
#1
#2
#PAR!
#3
10.times do |n|
  puts n
  if n % 5 == 0
    puts "multiplo de 5!"
    break
  end
end
#0
#multiplo de 5!


10.times do |n|
  n = n + 1
  puts n
  if n % 5 == 0
    puts "multiplo de 5!"
    break
  end
end
#1
#2
#3
#4
#5
#multiplo de 5!
4.times do |n|
  if n == 2
    next
  else
    puts n
  end
end
#0
#1
#3

4.times do |n|
  if n == 2
    next
  end
  puts n
end
#0
#1
#3

4.times do |n|
  next if n == 2
  puts n
end
#0
#1
#3
valor = 0
5.times do
  valor = valor + 10
end
puts valor
# 50
Ranges
(1..10).to_a
#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

(55..67).to_a
# [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67]
inicio = 5
fim = 8
(inicio..fim).to_a
# [5, 6, 7, 8]
nascimento = 1989
hoje = 2020
(nascimento..hoje).each do |x|
  puts x
end
#1989
#1990
#1991
#...
#2019
#2020

Exercícios

1.

Utilizando a função .times, escreva um código que imprima todos os números de 1 até 21, exceto múltiplos de 3.


2.

Cálculo de potência usando .times:

Uma potência de expoente natural é o resultado da multiplicação de
um dado número por si mesmo um certo número de vezes, ou seja,
é uma forma de representar sucessivas multiplicações de um só fator,
repetido um determinado número de vezes.
Ou seja, 3 x 3 x 3 x 3 x 3 é o mesmo que 3 elevado a 5.

Calcule e imprima o valor de 4 elevado a 5, usando .times


3.

Crie uma variável com seu nome e uma variável com sua idade. Escreva um código que imprima cada ano de sua idade a frase Fulano já teve 1 ano(s) ou Fulano tem 1 ano

Exemplo:

  nome = "Fulano"
  idade = 3
  # Fulano já teve 1 ano(s)
  # Fulano já teve 2 ano(s)
  # Fulano tem 3 ano(s)

4.

Considerando a variável abaixo:

letras = ["A", "B", "C"]

Escreva um código que imprima em cada linha a sequência: A1, A2, A3, A4, A5, B1, B2, B3, B4, B5, C1, C2, C3, C4, C5

NOTA: Você pode combinar o uso de .times e .each aqui.


5.

Considerando a variável abaixo:

inicio = 32

Imprima todos os números desde a variável inicio até o número 51.


6.

Considerando a variável abaixo:

temperatura_min_celsius = 10
temperatura_max_celsius = 40

Utilizando ranges, escreva um código que imprima cada uma das temperaturas junto com uma descrição baseado na regra abaixo:

  • <=19 Imprimir “frio”
  • >=20 e <=29 Imprimir “agradável”
  • >=30 imprimir “quente”

7. DESAFIO

Considerando uma sequência de 1 até 3, veja o exemplo abaixo:

1
1. Rafael
2
1. Rafael
2. Rafael
3
1. Rafael
2. Rafael
3. Rafael

Escreva um código que imprima ,linha a linha, uma sequência de 1 até 10. Entre cada número da sequência, imprima o seu nome a quantidade de vezes referente ao número que você imprimiu. (Veja o exemplo acima e faça o mesmo de 1 até 10)


Correção dos exercícios


Comments & Social
comments powered by Disqus