DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

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

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
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!

 

Facebook Comments Box
  • Giovani Da Cruz
  • 319 views
  • 2 comentários
  • 16 de maio de 2023

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

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