dicas show delphi

DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais
sombra
Artigos Show Delphi

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais
sombra
iniciantes show delphi

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais
sombra
downloads show delphi

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
sombra
voltar

PARA QUEM GOSTA DE DELPHI

Algoritmo de Cadastro de Produtos utilizando matrizes

Developer Giovani

Fala galera, tudo beleza? Aqui vai um exemplo bem legal utilizando praticamente todos aprendizados de algoritmos. Se você for professor, este é um exemplo para trabalhos finais de disciplina.

Imagine que você precisa desenvolver um programa para cadastrar produtos em uma loja. Cada produto tem as seguintes informações: nome, preço e quantidade em estoque.

Para isso, crie uma matriz onde cada linha representa um produto e cada coluna representa uma informação desse produto (nome, preço e quantidade em estoque). O programa deve ser capaz de realizar as seguintes operações:

  1. Cadastrar um novo produto
  2. Editar informações de um produto existente
  3. Excluir um produto cadastrado
  4. Listar todos os produtos cadastrados
  5. Buscar um produto pelo nome

Lembre-se de validar as entradas do usuário e tratar possíveis erros que possam ocorrer.

Testes:

Aqui estão alguns testes que podem ser realizados para verificar se o programa está funcionando corretamente:

  1. Cadastre 3 produtos com nome, preço e quantidade em estoque diferentes.
  2. Edite o preço de um dos produtos cadastrados.
  3. Exclua um dos produtos cadastrados.
  4. Liste todos os produtos cadastrados.
  5. Busque um produto pelo nome e verifique se as informações exibidas estão corretas.

Esses testes devem ajudar a verificar se o programa está funcionando corretamente e a identificar possíveis erros ou falhas que precisam ser corrigidos.

No final do post terá o link com este mesmo exercício para o site giovanidacruz.com.br com sugestões de resposta e explicações em outras linguagens.

 

Vamos ao código em Pascal / Delphi / Lazarus

{ Criado por Giovani Da Cruz - https://giovanidacruz.com.br
 
Programa cadastro de Produtos
 
Exercício bem completo que utiliza praticamente
todos aprendizados de3 algoritmos.
 
Exemplo de sistema que utiliza:
record - registros;
array de duas dimenções - matriz;
 
Laços For e repeat - Para e Repita;
Constantes;
Procedimentos auxiliares
 
Ideal para prova final de disciplina.
}
 
program cadastro_produtos;
 
const
MAX_PRODUTOS = 100;
MAX_CARACTERES = 50;
 
type
TProduto = record
nome: string[MAX_CARACTERES];
preco: real;
quantidade: integer;
end;
 
TListaProdutos = array [1..MAX_PRODUTOS] of TProduto;
 
var
listaProdutos: TListaProdutos;
numProdutos, opcao: integer;
 
procedure cadastrarProduto(var listaProdutos: TListaProdutos; var numProdutos: integer);
var
produto: TProduto;
begin
writeln('CADASTRO DE PRODUTO');
writeln('-------------------');
writeln;
 
// leitura dos dados do produto
write('Nome: ');
readln(produto.nome);
 
write('Preco: ');
readln(produto.preco);
 
write('Quantidade: ');
readln(produto.quantidade);
 
// adiciona o produto na lista
numProdutos := numProdutos + 1;
listaProdutos[numProdutos] := produto;
 
writeln;
writeln('Produto cadastrado com sucesso!');
writeln;
end;
 
procedure exibirProdutos(listaProdutos: TListaProdutos; numProdutos: integer);
var
i: integer;
begin
writeln('LISTA DE PRODUTOS');
writeln('-----------------');
writeln;
 
// exibe os dados de cada produto cadastrado
for i := 1 to numProdutos do begin
writeln('Nome: ', listaProdutos[i].nome);
writeln('Preco: ', listaProdutos[i].preco:0:2);
writeln('Quantidade: ', listaProdutos[i].quantidade);
writeln;
end;
end;
 
begin
numProdutos := 0; // inicializa o contador de produtos cadastrados
 
repeat
// exibe o menu de opções
writeln('MENU DE OPCOES - GIOVANI DA CRUZ');
writeln('--------------');
writeln('1 - Cadastrar produto');
writeln('2 - Exibir lista de produtos');
writeln('0 - Sair');
writeln;
 
// leitura da opção escolhida
write('Opcao: ');
readln(opcao);
 
// realiza a operação escolhida pelo usuário
case opcao of
1: cadastrarProduto(listaProdutos, numProdutos);
2: exibirProdutos(listaProdutos, numProdutos);
0: writeln('Saindo...');
else writeln('Opcao invalida!');
end;
 
writeln;
 
until opcao = 0;
 
end.

Testando no Lazarus funcionou muito bem.

 

Explicação do código

Neste código, foi criado um registro chamado TProduto com três campos: nome (string), preco (real) e quantidade (integer). Em seguida, foi criado um tipo TListaProdutos como uma matriz com tamanho máximo de 100 produtos. A variável numProdutos é utilizada para controlar o número de produtos cadastrados.

A função cadastrarProduto é responsável por ler os dados de um novo produto e adicioná-lo na lista de produtos cadastrados. Já a função exibirProdutos percorre a lista de produtos cadastrados e exibe os dados de cada um.

No programa principal, foi criado um menu de opções com as operações disponíveis: cadastrar produto, exibir lista de produtos e sair. Este menu, através do laço de repetição repeat sempre disponibiliza para o usuário o menu completo após cada ação.

 

Detalhamento do funcionamento

O exercício envolve o cadastro de produtos utilizando matrizes. Cada produto é representado por uma linha na matriz, com as informações referentes ao nome, preço e quantidade em estoque. O usuário pode escolher entre as opções de cadastrar um novo produto, listar todos os produtos cadastrados ou buscar um produto pelo nome.

Para cadastrar um novo produto, o usuário deve informar o nome, preço e quantidade em estoque. Os dados são adicionados em uma nova linha na matriz.

Para listar todos os produtos cadastrados, o programa percorre todas as linhas da matriz e exibe as informações do nome, preço e quantidade em estoque.

Para buscar um produto pelo nome, o usuário deve informar o nome do produto que deseja buscar. O programa percorre todas as linhas da matriz procurando pelo nome informado e exibe as informações referentes ao produto encontrado. Se o produto não for encontrado, o programa exibe uma mensagem informando que o produto não está cadastrado.

Esse tipo de exercício é comum em programação e ajuda a desenvolver habilidades de manipulação de matrizes e estruturas de repetição, além de familiarizar o aluno com a lógica de programação.

Exemplos em outras Linguagens

Publicamos no site Giovani Da Cruz, exemplo em C / C++, Python, Javascript e outros. Acesse o site e confira.

Acessar exercício no site Giovani Da Cruz.

 

Beleza pessoal?

Neste post vimos um ótimo exemplo de algoritmo em pascal que utiliza matrizes e registros. Muito bom para treinar para as provas finais de semestre.

Dúvidas ou sugestões? Deixe o seu comentário!

Um abraço e até o próximo post! Valeu!

 

  • Giovani Da Cruz
  • 2 comentários
  • 16 de maio de 2023

2 respostas para “Algoritmo de Cadastro de Produtos utilizando matrizes”

  1. Newton Vieira disse:

    Conciso ao extremo, excelente e muito útil, parabéns pelo trabalho.

Deixe um comentário

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados