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 |
---|---|---|
|
Cachorro Quente |
|
|
X-Salada |
|
|
X-Bacon |
|
|
Torrada simples |
|
|
Refrigerante |
|
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.
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):
- Peço pro usuário digitar
codigo
(um número entre 1 e 5). - Peço pro usuário digitar
quantidade
. - Pego o preço correspondente:
4) Calculo o total a pagar:
- 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.