Skip to content

Commit e56d5bd

Browse files
committed
Apply rubocop
1 parent 344c43b commit e56d5bd

34 files changed

+559
-525
lines changed

src/ruby/BuscaBinaria.rb

+13-17
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,20 @@
1+
# frozen_string_literal: true
12

23
def BuscaBinaria(valor, vetor, esquerda, direita)
3-
meio = ((esquerda+direita)/2).floor
4+
meio = ((esquerda + direita) / 2).floor
45

5-
if esquerda <= direita
6+
return -1 unless esquerda <= direita
67

7-
if valor > vetor[meio]
8-
esquerda = meio + 1
9-
return BuscaBinaria(valor, vetor, esquerda, direita)
10-
elsif valor < vetor[meio]
11-
direita = meio - 1
12-
return BuscaBinaria(valor, vetor, esquerda, direita)
13-
else
14-
return meio
15-
end
16-
17-
else
18-
return -1
19-
end
8+
if valor > vetor[meio]
9+
esquerda = meio + 1
10+
BuscaBinaria(valor, vetor, esquerda, direita)
11+
elsif valor < vetor[meio]
12+
direita = meio - 1
13+
BuscaBinaria(valor, vetor, esquerda, direita)
14+
else
15+
meio
16+
end
2017
end
2118

22-
2319
vetor = [0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12]
24-
print BuscaBinaria(12, vetor, 0, vetor.length)
20+
print BuscaBinaria(12, vetor, 0, vetor.length)

src/ruby/BuscaSentinela.rb

+15-19
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,22 @@
1-
1+
# frozen_string_literal: true
22

33
def busca_sentinela(valor, vetor)
4-
# Adiciona o valor ao final do vetor
5-
vetor.push(valor)
6-
indice = 0
7-
8-
# Enquanto nao for o valor, incrementa 1
9-
while vetor[indice] != valor
10-
indice += 1
11-
end
12-
13-
# Remove o valor do final do vetor
14-
vetor.pop()
4+
# Adiciona o valor ao final do vetor
5+
vetor.push(valor)
6+
indice = 0
7+
8+
# Enquanto nao for o valor, incrementa 1
9+
indice += 1 while vetor[indice] != valor
10+
11+
# Remove o valor do final do vetor
12+
vetor.pop
1513

16-
# Se a variavel indice corresponde ao tamanho do vetor, retorne -1
17-
if indice == vetor.length
18-
return -1
19-
end
14+
# Se a variavel indice corresponde ao tamanho do vetor, retorne -1
15+
return -1 if indice == vetor.length
2016

21-
# Caso contrario, retorne a posicao do valor no vetor
22-
return indice
17+
# Caso contrario, retorne a posicao do valor no vetor
18+
indice
2319
end
2420

2521
vetor = [1, 4, 5, 2, 42, 34, 54, 98, 89, 78, 67]
26-
puts busca_sentinela(98, vetor)
22+
puts busca_sentinela(98, vetor)

src/ruby/BuscaSequencial.rb

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1+
# frozen_string_literal: true
2+
13
def busca_sequencial(valor, vetor)
24
# Procura o valor no vetor sequencialmente
35
# Se encontrar retorna o índice, senão -1
46
vetor.each_with_index do |elemento, indice|
57
return indice if elemento.equal?(valor)
68
end
7-
return -1
9+
-1
810
end
911

1012
# Teste Manual
+15-13
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
1-
require "test/unit/assertions"
1+
# frozen_string_literal: true
2+
3+
require 'test/unit/assertions'
24
include Test::Unit::Assertions
35

46
# Retorna o índice do elemento. Se não existir, retorna -1.
57

6-
def busca_sequencial_recursiva(lista, valor, index=0)
7-
if lista[index] == valor
8-
return index
9-
elsif index == lista.size
10-
return -1
11-
else
12-
index +=1
13-
busca_sequencial_recursiva(lista, valor, index)
14-
end
8+
def busca_sequencial_recursiva(lista, valor, index = 0)
9+
if lista[index] == valor
10+
index
11+
elsif index == lista.size
12+
-1
13+
else
14+
index += 1
15+
busca_sequencial_recursiva(lista, valor, index)
16+
end
1517
end
1618

17-
assert_equal busca_sequencial_recursiva([1, 2, 3, 4, 5], 1, index=0), 0
18-
assert_equal busca_sequencial_recursiva(["a", "b", "c"], 1, index=0), -1
19-
assert_equal busca_sequencial_recursiva([10, 9, 7, 2, 4, 5, 6, 99, 11, 4], 7, index=0), 2
19+
assert_equal busca_sequencial_recursiva([1, 2, 3, 4, 5], 1, index = 0), 0
20+
assert_equal busca_sequencial_recursiva(%w[a b c], 1, index = 0), -1
21+
assert_equal busca_sequencial_recursiva([10, 9, 7, 2, 4, 5, 6, 99, 11, 4], 7, index = 0), 2

src/ruby/Exponenciacao.rb

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
def exponenciacao(base, expoente)
24
result = base
35
expoente.pred.times { result *= base }

src/ruby/ExponenciacaoRecursiva.rb

+3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1+
# frozen_string_literal: true
2+
13
def exponenciacao(base, expoente)
24
return 1 if expoente.zero?
5+
36
base * exponenciacao(base, expoente.pred)
47
end
58

src/ruby/ExponenciacaoTest.rb

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
require 'minitest/autorun'
24

35
class ExponenciacaoTest < Minitest::Test

src/ruby/Fatorial.rb

+10-11
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
1+
# frozen_string_literal: true
12

23
def fatorial(n)
3-
aux = 1
4-
for x in 2..n
5-
aux = aux * x
6-
end
7-
return aux
4+
aux = 1
5+
(2..n).each do |x|
6+
aux *= x
7+
end
8+
aux
89
end
910

1011
def fatorial_recursiva(n)
11-
if n <= 1
12-
return 1
13-
else
14-
return n * fatorial_recursiva(n-1)
15-
end
12+
return 1 if n <= 1
13+
14+
n * fatorial_recursiva(n - 1)
1615
end
1716

1817
puts fatorial(5)
19-
puts fatorial_recursiva(5)
18+
puts fatorial_recursiva(5)

src/ruby/Fibonacci.rb

+16-15
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,24 @@
1+
# frozen_string_literal: true
12

23
def fibonacci(n)
3-
last = 0
4-
curr = 1
5-
for _ in 0..n-1
6-
swap = curr
7-
curr += last
8-
last = swap
9-
end
10-
return last
4+
last = 0
5+
curr = 1
6+
(0..n - 1).each do |_|
7+
swap = curr
8+
curr += last
9+
last = swap
10+
end
11+
last
1112
end
1213

1314
def fibonacci_recursiva(n)
14-
if n <= 0
15-
return 0
16-
elsif n == 1
17-
return 1
18-
else
19-
return fibonacci(n-1) + fibonacci(n-2)
20-
end
15+
if n <= 0
16+
0
17+
elsif n == 1
18+
1
19+
else
20+
fibonacci(n - 1) + fibonacci(n - 2)
21+
end
2122
end
2223

2324
puts fibonacci(12)

src/ruby/Fila.rb

+21-20
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,31 @@
1+
# frozen_string_literal: true
12

23
class Queue
3-
def initialize()
4-
@queue = []
5-
end
6-
7-
def enqueue(value)
8-
@queue.push(value)
9-
end
10-
11-
def dequeue()
12-
@queue.delete_at(0)
13-
end
14-
15-
def display()
16-
print @queue.to_s + "\n"
17-
end
4+
def initialize
5+
@queue = []
6+
end
7+
8+
def enqueue(value)
9+
@queue.push(value)
10+
end
11+
12+
def dequeue
13+
@queue.delete_at(0)
14+
end
15+
16+
def display
17+
print "#{@queue}\n"
18+
end
1819
end
1920

20-
q = Queue.new()
21+
q = Queue.new
2122

2223
q.enqueue(1)
2324
q.enqueue(2)
2425
q.enqueue(3)
2526
q.enqueue(4)
26-
q.display()
27+
q.display
2728

28-
q.dequeue()
29-
q.dequeue()
30-
q.display()
29+
q.dequeue
30+
q.dequeue
31+
q.display

src/ruby/Hanoi.rb

+10-9
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1+
# frozen_string_literal: true
12

23
def Hanoi(pin0, pin2, pin1, num)
3-
if num == 1
4-
# Show the operations
5-
print "Move from ", pin0, " to ", pin2, "\n"
6-
else
7-
Hanoi(pin0, pin1, pin2, num-1)
8-
Hanoi(pin0, pin2, pin1, 1)
9-
Hanoi(pin1, pin2, pin0, num-1)
10-
end
4+
if num == 1
5+
# Show the operations
6+
print 'Move from ', pin0, ' to ', pin2, "\n"
7+
else
8+
Hanoi(pin0, pin1, pin2, num - 1)
9+
Hanoi(pin0, pin2, pin1, 1)
10+
Hanoi(pin1, pin2, pin0, num - 1)
11+
end
1112
end
1213

1314
# Move from Pin-0 to Pin-2 using Pin-1 as helper (number of disks = 3)
14-
Hanoi(0, 2, 1, 3)
15+
Hanoi(0, 2, 1, 3)

0 commit comments

Comments
 (0)