



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:
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:
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.
{ 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.
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.
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.
Publicamos no site Giovani Da Cruz, exemplo em C / C++, Python, Javascript e outros. Acesse o site e confira.
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!
Você precisa fazer o login para publicar um comentário.
Conciso ao extremo, excelente e muito útil, parabéns pelo trabalho.
Que bom que está gostando Newton.