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.
Iniciante
35Saudaçã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...
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 ...
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...
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...
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...
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...
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...
Contagem regressiva
Crie uma função que receba um número inteiro positivo e retorne um array contendo uma contagem regressiva até zero. Exe...
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) => ...
Tabuada
Crie uma função que receba um número e retorne um array contendo sua tabuada de 1 até 10. Exemplos ruby multiplication_...
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...
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...
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...
Produtos disponíveis
Você recebeu uma lista de produtos representados por hashes. Cada produto possui: ruby { name: "Notebook", price: 30...
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:...
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...
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...
Análise de palavras
Crie uma função que receba uma frase e retorne um hash contendo: - quantidade de palavras - quantidade de caracteres - q...
Encontrar usuário
Você possui uma lista de usuários: ruby users = [ { id: 1, name: "Tiago" }, { id: 2, name: "Maria" }, { id: 3, nam...
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...
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...
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...
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 ...
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...
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...
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...
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...
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 ...
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...
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...
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...
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 ...
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...
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: - ...
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: - ...
Intermediário
10Executar 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. ...
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...
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...
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...
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...
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...
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...
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...
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 ...
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. ...