Desafios de Prática

Escreva sua solução em Ruby, execute os testes e veja se você passou. Comece pelos desafios de iniciante e avance gradualmente.

Filtrar por nível:

Iniciante

35
Iniciante+10pts

Saudação

Crie uma função que receba o nome de uma pessoa e retorne uma saudação no formato: plain text Olá, Tiago! Exemplos rub...

🤩Fundamentos da Linguagem Ruby
Iniciante+10pts

Soma de dois números

Crie uma função que receba dois números e retorne a soma entre eles. Exemplos ruby sum(2, 3) => 5 sum(10, 20) => 30 ...

🤩Fundamentos da Linguagem Ruby
Iniciante+10pts

Maior de idade

Crie uma função que receba uma idade e informe se a pessoa é maior de idade. Considere que a maioridade começa aos 18 an...

🤩Fundamentos da Linguagem Ruby
Iniciante+10pts

Número par

Crie uma função que determine se um número é par. Exemplos ruby even?(2) => true even?(10) => true even?(7) => fal...

🤩Fundamentos da Linguagem Ruby
Iniciante+10pts

Classificação de idade

Crie uma função que classifique uma pessoa de acordo com sua idade: - Menor de 12 → "criança" - De 12 até 17 → "adolesce...

🤩Fundamentos da Linguagem Ruby
Iniciante+10pts

Calculadora simples

Crie uma função que receba dois números e uma operação. As operações possíveis são: plain text + - / A função deve ret...

🤩Fundamentos da Linguagem Ruby
Iniciante+10pts

Maior número

Crie uma função que receba três números e retorne o maior deles. Não considere que os números estarão ordenados. Exempl...

🤩Fundamentos da Linguagem Ruby
Iniciante+10pts

Contagem regressiva

Crie uma função que receba um número inteiro positivo e retorne um array contendo uma contagem regressiva até zero. Exe...

🤩Fundamentos da Linguagem Ruby
Iniciante+10pts

Soma dos números

Crie uma função que receba um número n e retorne a soma de todos os números de 1 até n. Exemplos ruby sum_until(5) => ...

🤩Fundamentos da Linguagem Ruby
Iniciante+10pts

Tabuada

Crie uma função que receba um número e retorne um array contendo sua tabuada de 1 até 10. Exemplos ruby multiplication_...

🤩Fundamentos da Linguagem Ruby
Iniciante+10pts

Estatísticas de uma lista

Crie uma função que receba um array de números e retorne um hash contendo: - quantidade de números - soma - menor número...

🤩Fundamentos da Linguagem Ruby
Iniciante+10pts

Contar números pares

Crie um método count_even_numbers que receba um Array de números e retorne a quantidade de números pares. Exemplos ruby...

🤩Fundamentos da Linguagem Ruby
Iniciante+10pts

Transformar nomes

Crie um método uppercase_names que receba um Array de nomes e retorne um novo Array com todos os nomes em letras maiúscu...

🤩Fundamentos da Linguagem Ruby
Iniciante+10pts

Produtos disponíveis

Você recebeu uma lista de produtos representados por hashes. Cada produto possui: ruby { name: "Notebook", price: 30...

🤩Fundamentos da Linguagem Ruby
Iniciante+10pts

Total do carrinho

Crie uma função que receba um array de produtos e retorne o valor total do carrinho. Cada produto possui: ruby { name:...

🤩Fundamentos da Linguagem Ruby
Iniciante+10pts

Conversor de temperatura

Crie uma função que converta uma temperatura de Celsius para Fahrenheit. Utilize a fórmula: plain text F = C × 9 / 5 + 3...

🤩Fundamentos da Linguagem Ruby
Iniciante+10pts

Status do pedido

Crie uma função que receba o status de um pedido e retorne uma mensagem. Possíveis status: plain text pending → "Pedido...

🤩Fundamentos da Linguagem Ruby
Iniciante+10pts

Análise de palavras

Crie uma função que receba uma frase e retorne um hash contendo: - quantidade de palavras - quantidade de caracteres - q...

🤩Fundamentos da Linguagem Ruby
Iniciante+10pts

Encontrar usuário

Você possui uma lista de usuários: ruby users = [ { id: 1, name: "Tiago" }, { id: 2, name: "Maria" }, { id: 3, nam...

🤩Fundamentos da Linguagem Ruby
Iniciante+10pts

Sistema de aprovação

Crie uma função que receba uma lista de alunos e determine o resultado de cada um. Cada aluno possui: ruby { name: "Ti...

🤩Fundamentos da Linguagem Ruby
Iniciante+10pts

Dobrar números

Crie um método double_numbers que receba um Array de números e retorne um novo Array contendo todos os números multiplic...

💾Collections e Enumerable
Iniciante+10pts

Selecionar números pares

Crie um método even_numbers que receba um Array de números e retorne somente os números pares. Exemplos ruby even_numbe...

💾Collections e Enumerable
Iniciante+10pts

Selecionar números positivos

Crie um método positive_numbers que receba um Array de números e retorne somente os números maiores que zero. Exemplos ...

💾Collections e Enumerable
Iniciante+10pts

Encontrar o primeiro número maior que 10

Crie um método first_number_greater_than_ten que receba um Array de números e retorne o primeiro número maior que 10. Ca...

💾Collections e Enumerable
Iniciante+10pts

Verificar se existe um número negativo

Crie um método contains_negative? que receba um Array de números e retorne true caso exista pelo menos um número negativ...

💾Collections e Enumerable
Iniciante+10pts

Verificar se todos são maiores de idade

Crie um método all_adults? que receba um Array de idades e retorne true se todas forem maiores ou iguais a 18. Exemplos...

💾Collections e Enumerable
Iniciante+10pts

Somar números

Crie um método sum_numbers que receba um Array de números e retorne a soma de todos os elementos. Exemplos ruby sum_num...

💾Collections e Enumerable
Iniciante+10pts

Encontrar o maior número

Crie um método maximum_number que receba um Array de números e retorne o maior número da coleção. Considere que o Array ...

💾Collections e Enumerable
Iniciante+10pts

Ordenar usuários por idade

Crie um método sort_users_by_age que receba um Array de Hashes representando usuários e retorne os usuários ordenados pe...

💾Collections e Enumerable
Iniciante+10pts

Agrupar números por paridade

Crie um método group_by_parity que receba um Array de números e agrupe os números em dois grupos: true para números pare...

💾Collections e Enumerable
Iniciante+10pts

Filtrar usuários ativos

Crie um método active_users que receba um Array de usuários. Cada usuário possui name e active. Retorne apenas os usuári...

💾Collections e Enumerable
Iniciante+10pts

Calcular total de preços

Crie um método total_price que receba um Array de produtos. Cada produto possui name e price. Retorne a soma dos preços ...

💾Collections e Enumerable
Iniciante+10pts

Pipeline de processamento

Crie um método process_numbers que receba um Array de números e execute as seguintes regras: - Remova os números negativ...

💾Collections e Enumerable
Iniciante+10pts

Ranking de usuários

Crie um método top_users que receba um Array de usuários. Cada usuário possui: - name - score - active O método deve: - ...

💾Collections e Enumerable
Iniciante+10pts

Desafio — Ranking de usuários

Crie um método top_users que receba um Array de usuários. Cada usuário possui: - name - score - active O método deve: - ...

💾Collections e Enumerable

Intermediário

10
Intermediário+25pts

Executar uma Saudação

Crie um método execute_greeting que receba um nome e um bloco. O método deve executar o bloco passando o nome recebido. ...

🪄Blocos, Proc e Lambda
Intermediário+25pts

Repetindo uma Ação

Crie um método repeat_action que receba um número e execute o bloco recebido exatamente essa quantidade de vezes. Exempl...

🪄Blocos, Proc e Lambda
Intermediário+25pts

Verificar se um Bloco foi Recebido

Crie um método has_block? que retorne true quando um bloco for fornecido e false quando nenhum bloco for fornecido. Exem...

🪄Blocos, Proc e Lambda
Intermediário+25pts

Transformando um Valor com Proc

Crie um método transform que receba um valor e um Proc. O método deve executar o Proc passando o valor recebido. Exemplo...

🪄Blocos, Proc e Lambda
Intermediário+25pts

Aplicando um Proc a uma Coleção

Crie um método apply_operation que receba uma coleção e um Proc. O método deve aplicar o Proc a cada elemento e retornar...

🪄Blocos, Proc e Lambda
Intermediário+25pts

Criando uma Lambda

Crie um método create_multiplier que receba um número e retorne uma Lambda capaz de multiplicar outros números pelo valo...

🪄Blocos, Proc e Lambda
Intermediário+25pts

Criando uma Calculadora

Crie um método calculator que receba dois números e uma operação representada por uma Lambda. A operação deve ser respon...

🪄Blocos, Proc e Lambda
Intermediário+25pts

Convertendo um Proc em Bloco

Crie um método process_numbers que receba uma coleção e um Proc, aplicando o comportamento recebido a cada elemento. O o...

🪄Blocos, Proc e Lambda
Intermediário+25pts

Criando um Filtro Personalizado

Crie um método filter_items que receba uma coleção e um bloco. O método deve retornar apenas os elementos para os quais ...

🪄Blocos, Proc e Lambda
Intermediário+25pts

Pipeline de Transformações

Crie um método pipeline que receba um valor e uma coleção de operações. Cada operação será representada por uma Lambda. ...

🪄Blocos, Proc e Lambda