Skip to content

Instantly share code, notes, and snippets.

@JorgeMadson
Last active April 25, 2018 15:58
Show Gist options
  • Select an option

  • Save JorgeMadson/e0e87a61fed5ad6942328a76965993f4 to your computer and use it in GitHub Desktop.

Select an option

Save JorgeMadson/e0e87a61fed5ad6942328a76965993f4 to your computer and use it in GitHub Desktop.
Desafio Pipefy
# Desafio: https://drive.google.com/file/d/1VJuk98F3rdC93pBi9_OfNeFZBItJqafU/view
#!/usr/bin/env ruby
# Função que mostra o numero como em um display
# e muda o número de colunas de acordo com o número
# Basicamente o desenho dos números é montado com retas horizontais e verticais
# Autor: Jorge Madson
#ARGV é uma array global que é daonde o ruby pega os paramêtros
n = ARGV.first.to_i
def reta_horizontal(n)
puts n.to_s * n
end
def reta_vertical_direita(n)
n.times { puts ' ' * (n - 1) + "#{n}\n" }
end
def reta_vertical_esquerda(n)
n.times { puts "#{n}\n" }
end
#Função
def num(n)
if n == 2
reta_horizontal(n)
reta_vertical_direita(n)
reta_horizontal(n)
reta_vertical_esquerda(n)
reta_horizontal(n)
elsif n == 3
reta_horizontal(n)
reta_vertical_direita(n)
reta_horizontal(n)
reta_vertical_direita(n)
reta_horizontal(n)
elsif n == 4
n.times { puts "4 4\n" }
reta_horizontal(n)
reta_vertical_direita(n)
elsif n == 5
reta_horizontal(n)
reta_vertical_esquerda(n)
reta_horizontal(n)
reta_vertical_direita(n)
reta_horizontal(n)
elsif n == 6
reta_horizontal(n)
reta_vertical_esquerda(n)
reta_horizontal(n)
n.times { puts "#{n} #{n}\n" }
reta_horizontal(n)
elsif n == 7
reta_horizontal(n)
reta_vertical_direita(n)
elsif n == 8
reta_horizontal(n)
(n / 2).times { puts n.to_s + ' ' * (n - 2) + "#{n}\n" }
reta_horizontal(n)
(n / 2).times { puts n.to_s + ' ' * (n - 2) + "#{n}\n" }
reta_horizontal(n)
elsif n == 9
reta_horizontal(n)
(n / 2).times { puts n.to_s + ' ' * (n - 2) + "#{n}\n" }
reta_horizontal(n)
reta_vertical_direita(n)
else
p '1'
end
end
#Execução
num(n)
@JorgeMadson
Copy link
Author

JorgeMadson commented Apr 23, 2018

Pra executar, é só baiar o script e chamar ruby num.rb 5(ou outro número)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment