Qual estrutura vista em aula seria a melhor escolha para fazer um algoritmo que, informado o código de um item e a quantidade desse respectivo item, calculasse o preço a ser pago por essa quantia? Justifique sua resposta.
CODIGO ESPECIFICAÇÃO PREÇO
1 Cachorro Quente R
| | X-Salada | X-Salada |
4.50 X-Bacon 3
R Torrada simples | |
| Torrada simp<=s | Refrigerante 2.00
RESPOSTA:

Passo 1

Beleza, o enunciado diz assim: tenho uma tabela de 5 itens (cachorro-quente, x-salada, etc), cada um com um código (1 a 5) e um preço. Preciso de um algoritmo que, dado o código e a quantidade, me devolva quanto devo pagar.
Conteúdo envolvido: estruturas de dados (forma de guardar preço “associado” a cada código) e operação aritmética básica (multiplicação). Para resolver, vamos usar um vetor (array) e acessar o preço direto pelo índice, depois multiplicar pela quantidade.

Passo 2

Vamos criar um vetor chamado precos, onde o índice do vetor é exatamente o código do item. Assim:
precos[1] = 4.00   // Cachorro-quente  
precos[2] = 4.50   // X-Salada  
precos[3] = 5.00   // X-Bacon  
precos[4] = 2.00   // Torrada simples  
precos[5] = 1.50   // Refrigerante  
Teoria aplicada:
  • Um vetor (array) é uma sequência de posições numeradas (índices).
  • Se o código do produto vai de 1 a 5, cada posição do vetor armazena o preço daquele código.
  • A grande vantagem é o acesso direto: quando eu sei o código, eu chego ao preço em tempo constante, sem ter que “varrer” nada.

Passo 3

Agora, o algoritmo completo fica assim (pseudocódigo numa pegada de amigo):
  1. Peço pro usuário digitar codigo (um número entre 1 e 5).
  2. Peço pro usuário digitar quantidade.
  3. Pego o preço correspondente: preco = precos[codigo]
    4) Calculo o total a pagar:
    precototal = preco times quantidade
  4. Exibo preco_total formatado como valor em reais.

Resposta

A melhor estrutura é um vetor (array) de preços indexado pelo código do item, pois permite, em O(1), buscar o preço correspondente e depois só multiplicar pela quantidade.

Exercícios relacionados