Menu
Coddy logo textTech

Recapitulação - Lista de Produtos

Parte da seção Fundamentos do Journey de R da Coddy — lição 75 de 78.

challenge icon

Desafio

Fácil

Você receberá quatro linhas de entrada:

  1. Um nome de produto (ex: Wireless Headphones)
  2. Um preço (ex: 79.99)
  3. Uma quantidade em estoque (ex: 25)
  4. Uma porcentagem de desconto a ser aplicada (ex: 20)

Realize as seguintes operações:

  1. Crie uma lista nomeada chamada product com os elementos: name (character), price (numeric), stock (numeric) e available (definido como TRUE se o estoque for maior que 0, caso contrário FALSE)
  2. Imprima o nome do produto usando o operador $
  3. Calcule o preço com desconto (preço original menos a porcentagem de desconto) e atualize o elemento price
  4. Adicione um novo elemento chamado discounted com o valor TRUE
  5. Reduza o stock em 1 (simulando uma compra)
  6. Remova o elemento available da lista
  7. Imprima a lista final

Por exemplo, se as entradas forem:

Smart Watch
150
10
25

A saída deve ser:

[1] "Smart Watch"
$name
[1] "Smart Watch"

$price
[1] 112.5

$stock
[1] 9

$discounted
[1] TRUE

Explicação:

  • Preço original 150 com 25% de desconto: 150 - (150 * 25/100) = 112.5
  • Estoque reduzido de 10 para 9
  • O elemento available foi removido da lista final

Experimente você mesmo

# Ler entrada
con <- file("stdin", "r")
product_name <- suppressWarnings(readLines(con, n = 1))
price <- as.numeric(suppressWarnings(readLines(con, n = 1)))
stock <- as.numeric(suppressWarnings(readLines(con, n = 1)))
discount_percentage <- as.numeric(suppressWarnings(readLines(con, n = 1)))
close(con)

# TODO: Escreva seu código abaixo
# 1. Crie uma lista nomeada chamada 'product' com os elementos: name, price, stock e available
# 2. Imprima o nome do produto usando o operador $
# 3. Calcule o preço com desconto e atualize o elemento price
# 4. Adicione um novo elemento chamado 'discounted' com o valor TRUE
# 5. Reduza o estoque (stock) em 1
# 6. Remova o elemento 'available' da lista
# 7. Imprima a lista final

Todas as lições de Fundamentos