Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/samuelrocha91/ruby_exercises
https://github.com/samuelrocha91/ruby_exercises
Last synced: about 10 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/samuelrocha91/ruby_exercises
- Owner: SamuelRocha91
- Created: 2024-01-29T13:38:10.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-03-04T10:33:50.000Z (9 months ago)
- Last Synced: 2024-03-04T11:55:37.704Z (9 months ago)
- Language: Ruby
- Size: 6.95 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Armazenador de Exercícios do The Odin Project em Ruby
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
endp 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(' ')
endp 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]
endp stock_picker([17, 3, 6, 9, 15, 8, 6, 1, 10])
```
🔗 Outros Repositórios
- 🎥 [Rails Movie](https://github.com/SamuelRocha91/rails_movies_catalog)