[go: up one dir, main page]

0% acharam este documento útil (0 voto)
179 visualizações3 páginas

Cálculo de Preços Progressivos Delphi

O documento descreve um sistema para calcular o preço de venda de produtos com descontos progressivos de acordo com a quantidade comprada. Ele define as tabelas Produto e ProdutoDesconto no banco de dados e apresenta cinco questões para implementar funções para inserir dados nessas tabelas e calcular o preço total de uma venda.

Enviado por

Tarcilo
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
179 visualizações3 páginas

Cálculo de Preços Progressivos Delphi

O documento descreve um sistema para calcular o preço de venda de produtos com descontos progressivos de acordo com a quantidade comprada. Ele define as tabelas Produto e ProdutoDesconto no banco de dados e apresenta cinco questões para implementar funções para inserir dados nessas tabelas e calcular o preço total de uma venda.

Enviado por

Tarcilo
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 3

EXERCCIO 1 - CONHECIMENTO DELPHI

Uma loja vende DVDs por R$ 1,10 a unidade. Acima de 10 unidades, ser
vendido cada DVD por R$ 1,00 a unidade adicional e acima de 20 unidades,
ser vendido cada unidade adicional a R$ 0,90. Exemplo, vendendo 21
unidades dever ser cobrado 10x1.10+10x1.00+1x0.90. Escreva uma
funo (utilizando Delphi / Pascal) que receba a quantidade de DVDs a ser
vendida e retorne o valor desta venda.

EXERCCIO 2 - CONHECIMENTO DELPHI COM BANCO DE DADOS


Dado o problema do exerccio 1 e procurando ter uma forma mais flexvel
para o usurio, o analista de requisito escreveu o requisito abaixo:
REQUISITO: Calcular preo de venda: O valor de venda do produto
definido no campo valor da tabela Produto. O valor de venda diminui
medida que a quantidade a ser vendida aumenta. Este valor ser vlido at
a quantidade da prxima faixa. importante ressaltar que o produto no
assume o valor da respectiva faixa de quantidade e sim, ele vendido cada
faixa com seu respectivo valor, devendo ao final ser calculado o valor total
do produto. Por exemplo, a venda de 21 unidades de um produto com valor
de venda de R$ 1,10 de 1 a 10 unidades, R$ 1,00 de 11 a 20 unidades e R$
0,90 acima de 20 unidades ser 10x1.10+10x1.00+1x0.90.
Para atender este requisito, o requisito Manter dados do Produto foi
alterado para suportar a tabela com valor progressivo de desconto, ficando
o banco de dados definido conforme o diagrama seguinte:

Dicionrio de Dados:
TABELA: PRODUTO
CAMPO
DESCRIO
codigo
Cdigo do produto.
Chave primria
nome
Nome do produto
valor
Valor de venda do produto.
O produto tem este valor de venda at a quantidade atingir
(inclusive) o valor da prxima faixa estabelecida na tabela
produtodesconto.
TABELA PRODUTODESCONTO
CAMPO
DESCRIO

codigo
quantidade

valor

Cdigo do produto
Chave primria e estrangeira para a tabela produto.
Quantidade acima da qual o produto vendido com valor
diferente, devendo o produto ser vendido cada faixa de
quantidade pelo respectivo valor de venda da faixa.
Chave primria
Valor de venda do produto j com desconto embutido (no
o valor do desconto).

Observao: As questes abaixo devem ser escritas utilizando o


componente de acesso a banco de dados de sua preferncia, desde que o
mesmo herde de TDataset. Utilize a funo abaixo para criar uma instncia
do seu componente com a conexo j estabelecida. Faa o typecast para
a sua classe conforme sua necessidade.
functioncreateDataset():TDataset;
QUESTO A) Escreva o comando SQL para criar as tabelas acima com as
respectivas chaves primrias, estrangeiras e ndice nico.
QUESTO B) Escreva uma funo para inserir um registro na tabela
produto que recebe como parmetro o nome do produto e o valor e retorna
o cdigo que deve ser gerado por esta funo.
QUESTO C) Escreva uma funo para inserir um registro na tabela
ProdutoDesconto que recebe como parmetro o cdigo do produto, a
quantidade inicial da faixa e o valor.
QUESTO D) Escreva uma funo que utilize as funes criadas acima,
para inserir os registros no banco de dados do problema do EXERCCIO 1
QUESTO E) Escreva uma funo que receba como parmetro o cdigo do
produto e a quantidade a ser vendida, e retorne o valor total da venda. Esta
questo, para melhor entendimento, o algoritmo da questo A, porm,
utilizando as tabelas que foram criadas nas demais questes.
EXEMPLOS DE TESTES PARA A QUESTO E:
E1)

TABELA PRODUTO
Cdigo=1, Nome=DVD, Valor=15,00
TABELA PRODUTODESCONTO
Cdigo=1, Quantidade=20, Valor=14,00
RESULTADO ESPERADO
Para uma venda de 10 unidades, resultado = 15,00 * 10 = 150,00

Para uma venda de 30 unidades, resultado = 15,00 * 20 + 14,00 * 10


= 440,00

E2)

TABELA PRODUTO
Cdigo=1, Nome=DVD, Valor=11,00
TABELA PRODUTODESCONTO
Cdigo=1, Quantidade=5, Valor=10,00
Cdigo=1, Quantidade=12, Valor=9,00
RESULTADO ESPERADO
Para uma venda de 3 unidades, resultado = 11,00 * 3 = 33,00
Para uma venda de 7 unidades, resultado = 11,00 * 5 + 10,00 * 2 =

75,00
Para uma venda de 15 unidades, resultado = 11,00 * 5 + 10,00 * 7 +
9,00 * 3 = 152,00

Você também pode gostar