Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/samuelrocha91/ruby_exercises


https://github.com/samuelrocha91/ruby_exercises

Last synced: about 10 hours ago
JSON representation

Awesome Lists containing this project

README

        

# React Logo Armazenador de Exercícios do The Odin Project em Ruby React Logo

Este repositório serve como um armazenador de exercícios propostos pela plataforma **The Odin Project**, focando na linguagem de programação **Ruby**.

📖 Sobre o Projeto

O **The Odin Project** é uma plataforma educacional que oferece um currículo completo de desenvolvimento web. Este repositório foi criado para acompanhar e armazenar os exercícios práticos propostos durante o curso relacionado à linguagem de programação Ruby. Cada exercício é uma oportunidade de praticar e aprimorar suas habilidades em programação.

📁 Estrutura do Repositório

O repositório está organizado em pastas temáticas, cada uma representando uma seção ou módulo específico do curso. Dentro de cada pasta, você encontrará os exercícios propostos, acompanhados por seus respectivos códigos-fonte, soluções ou quaisquer informações adicionais relevantes.

### Pastas do Repositório

- **basic_ruby_projects**: Projetos básicos de Ruby que abordam conceitos fundamentais e métodos.
- Exemplo: Implementação de um método de ordenação por bolha (`#bubble_sort`):

```ruby
def bubble_sort(array)
max_index = array.length - 1
(0..max_index - 1).each do |index|
(index + 1..max_index).each do |index_2|
number_1 = array[index]
number_2 = array[index_2]
if number_1 > number_2
intermediate = number_1
array[index] = number_2
array[index_2] = intermediate
end
end
end
array
end

p bubble_sort([4, 3, 78, 2, 0, 2])
```

- **mastermind**: Implementações do jogo Mastermind, onde os conceitos de lógica e controle de fluxo são aplicados.

- **poo**: Exercícios focados em Programação Orientada a Objetos, incluindo a criação de classes e objetos.

- **tic_tac_toe**: Implementação do jogo da velha, aplicando conceitos de lógica de jogo e interatividade.

📝 Exemplos de Exercícios

Aqui estão alguns exemplos de exercícios incluídos no repositório:

1. **Cifra de César**: Implementação de um método que aplica a cifra de César em uma string.

```ruby
def caesar_cipher(phrase, displacement)
phrase_array = phrase.split(' ')
final_array = []
phrase_array.each do |word|
intermediate_array = []
word.split('').each do |letter|
num = letter.ord
if letter.match(/[A-Z|a-z]/)
if num.between?(65, 90)
tot = num + displacement
tot > 90 ? tot = (tot - 90) + 64 : tot
intermediate_array << tot.chr
else
tot = num + displacement
tot > 122 ? tot = (tot - 122) + 97 : tot
intermediate_array << tot.chr
end
else
intermediate_array << letter
end
end
final_array << intermediate_array.join('')
end
final_array.join(' ')
end

p caesar_cipher("What a string!", 5)
```

2. **Escolha de Ações**: Método que determina o melhor dia para comprar e vender ações, maximizando o lucro.

```ruby
def stock_picker(stock_prices)
day_buy = 0
day_sale = 0
profit = 0
stock_prices.each_with_index do |price, index|
(index + 1..stock_prices.length - 1).each do |index_2|
price_2 = stock_prices[index_2]
subtraction = price_2 - price
if subtraction.positive? && subtraction > profit
day_buy = index
day_sale = index_2
profit = subtraction
end
end
end
[day_buy, day_sale]
end

p stock_picker([17, 3, 6, 9, 15, 8, 6, 1, 10])
```

🔗 Outros Repositórios

- 🎥 [Rails Movie](https://github.com/SamuelRocha91/rails_movies_catalog)