Pular para o conteúdo
Bruno Dórea
Todos os posts

5 mins de leitura


Brinquedos com Desconto

Técnicas de Programação com Funções e Classes - 1/2


Ri Happy - Front-end do Zero
Ri Happy - Front-end do Zero

Descrição

Seu objetivo é ajudar a loja a identificar quais brinquedos estão elegíveis para descontos com base na quantidade comprada. Neste desafio, você vai receber uma lista de brinquedos, suas quantidades compradas e preços unitários. Sua tarefa é verificar quais brinquedos devem ter um desconto aplicado e quais devem manter o preço original. Você receberá um código que já inclui a função e o cálculo de desconto necessários. A função aplicará automaticamente um desconto de 10% para brinquedos cujo estoque comprado for igual ou maior que 5 unidades. Você deve utilizar essa função para processar a lista de brinquedos e formatar a saída conforme o esperado.

Passo a Passo:

  • Entrada de Dados: O usuário fornecerá uma lista de brinquedos no formato "Nome: Quantidade, Preço Unitário", onde:

    • "Nome" é o nome do brinquedo.
    • "Quantidade" é a quantidade comprada desse brinquedo.
    • "Preço Unitário" é o preço de uma unidade do brinquedo.

    Os brinquedos são separados por - e cada parte do brinquedo é separada por ,. Por exemplo: "Carrinho: 10, 15.00 - Boneca: 3, 25.00".

  • Processamento dos Dados: Utilize a função e o cálculo de desconto fornecidos para determinar o preço final de cada brinquedo. Se a quantidade comprada for 5 ou mais, aplique um desconto de 10% sobre o preço unitário. Caso contrário, mantenha o preço unitário inalterado.

  • Formatação da Saída: Para cada brinquedo, retorne uma string no formato "Nome: Preço com Desconto". Se o brinquedo não for elegível para desconto, retorne o preço sem desconto. Separe as informações dos brinquedos por - e espaço.

Entrada

O usuário deverá fornecer uma lista de brinquedos e suas respectivas quantidades e preços no seguinte formato:

Formato: Nome_do_brinquedo: quantidade, preço_unitário - Nome_do_brinquedo: quantidade, preço_unitário

Saída

A saída será uma lista de brinquedos com seus respectivos preços finais após a aplicação de possíveis descontos, fornecida no seguinte formato:

Formato da saída: Nome_do_brinquedo: preço_final - Nome_do_brinquedo: preço_final

Exemplos

A tabela abaixo apresenta exemplos com alguns dados de entrada e suas respectivas saídas esperadas. Certifique-se de testar seu programa com esses exemplos e com outros casos possíveis.

EntradaSaída
Carrinho: 10, 15.00 - Boneca: 3, 25.00Carrinho: 13.50 - Boneca: 25.00
Bola: 7, 10.00 - Quebra-Cabeca: 4, 20.00Bola: 9.00 - Quebra-Cabeca: 20.00
Drone: 2, 150.00 - Carro de Controle Remoto: 5, 200.00Drone: 150.00 - Carro de Controle Remoto: 180.00

Resolução

function verificarPromocoes() {
    const taxaDesconto = 0.10
    const entrada = gets() 
    const produtos = entrada.split(' - ') 
    const resultado = []
 
    produtos.forEach(produto => {
        const [nome, quantidadePreco] = produto.split(': ') 
        const [quantidade, precoUnitario] = quantidadePreco.split(', ').map(Number) 
        let precoFinal
 
        if (quantidade >= 5) {
            precoFinal = precoUnitario * (1 - taxaDesconto)
        } else {
            precoFinal = precoUnitario
        }
        resultado.push(`${nome}: ${precoFinal.toFixed(2)}`)
    })
 
    print(resultado.join(' - '))
}
 
verificarPromocoes()

Para encontrar outras soluções, verifique aqui.

Caso encontre algum erro ou tenha sugestões, clique aqui e abra uma issue no Github.