Ir ao conteúdo
  • Cadastre-se

VisualG Como criar um algoritmo de estoque como esse ?


Posts recomendados

1. O algoritmo deve contemplar o armazenamento de estoque para 5 produtos: água, refrigerante, vinho, suco e cerveja, podendo estes serem os nomes das variáveis a serem declaradas para serem mais intuitivas.
2. Uma venda só pode ser realizada se houver saldo positivo em estoque. Caso contrário, não haveria como entregar o produto ao cliente na venda.
3. Em caso de uma venda ser bem-sucedida, exibir uma mensagem positiva do processo. Caso contrário, exibir uma mensagem informando que a venda não pode ser efetuada.
4. A escolha do produto deve ser feita a partir de um menu de opções a ser exibido ao usuário que escolhe a opção desejada para em seguida, informar a quantidade desejada.
5. Todos os produtos iniciam o algoritmo com um estoque de 10 produtos, e ao longo das vendas vão sendo reduzidos estes valores, sem a necessidade de reposição durante a execução, imaginando que seria a única quantidade possível disponível no momento em que o algoritmo é executado.
 

Var

    opcao, i : inteiro
    valor : real

Inicio


    escreval("menu de opções")
    escreval("1.agua")
    escreval("2. vinho")
    escreval("3.refrigerante")
    escreval("4.suco")
    escreval("5.cerveja")
    escreva("digite uma opcao de produto: ")
    leia (opcao)

        escreva ("Digite um valor: ")
     leia (valor)
     SE (valor >= 0) ENTAO
        ESCREVAL ("Temos no estoque")
     senao (valor <0,>10) ENTAO
        ESCREVAL ("não TEMOS NO ESTOQUE")
    FIMSE

    ESCOLHA OPCAO
    CASO 1
         ESCREVAL ("sua agua sera entregue")
    CASO 2
         ESCREVAL ("Seu vinho sera entregue")
    CASO 3
         ESCREVAL ("Seu refrigerante sera entregue ")
    caso 4
         ESCREVAL ("seu suco sera entregue ")
    caso 5
         ESCREVAL ( "sua cerveja sera entregue")
    OUTROCASO
         ESCREVAL("NÃO TEMOS O PRODUTO")
    FIMESCOLHA

         
Fimalgoritmo

Estou tentando fazer mais ta difícil

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@rodrigo junior 1001, imaginei de duas formas:


 

Esboço utilizando um vetor para cada item:

algoritmo "Gerenciador de Estoque"
//1. O algoritmo deve contemplar o armazenamento de estoque para 5 produtos:
//água, refrigerante, vinho, suco e cerveja, podendo estes serem os nomes das
//variáveis a serem declaradas para serem mais intuitivas.
//2. Uma venda só pode ser realizada se houver saldo positivo em estoque. Caso
//contrário, não haveria como entregar o produto ao cliente na venda.
//3. Em caso de uma venda ser bem-sucedida, exibir uma mensagem positiva do
//processo. Caso contrário, exibir uma mensagem informando que a venda não pode ser efetuada.
//4. A escolha do produto deve ser feita a partir de um menu de opções a ser
//exibido ao usuário que escolhe a opção desejada para em seguida, informar a
//quantidade desejada.
//5. Todos os produtos iniciam o algoritmo com um estoque de 10 produtos, e
//ao longo das vendas vão sendo reduzidos estes valores, sem a necessidade de
//reposição durante a execução, imaginando que seria a única quantidade
//possível disponível no momento em que o algoritmo é executado.
var
   nomes :vetor[1..5] de caractere
   valores :vetor[1..5] de real
   estoques :vetor[1..5] de inteiro
   codVenda :inteiro
   qtdItens :inteiro
   valorVenda :real

inicio
   nomes[1] <- "Água"
   valores[1] <- 3.0
   estoques[1] <- 10

   nomes[2] <- "Vinho"
   valores[2] <- 27.62
   estoques[2] <- 10

   repita
      escrevaL("Menu de opções ")
      escrevaL("1. Água        ")
      escrevaL("2. Vinho       ")
      escrevaL("3. Refrigerante")
      escrevaL("4. Suco        ")
      escrevaL("5. Cerveja     ")
      escrevaL
      escreva ("Digite a opcao de produto: ")
      leia(codVenda)
      escreva ("Digite a quantidade desejada: ")
      leia(qtdItens)

      valorVenda <- valores[codVenda]*qtdItens

      escrevaL("")
      escrevaL("Valor da venda: R$", valorVenda:1:2)
      escrevaL("")
      escrevaL("")

   ate (codVenda = 0)
fimAlgoritmo

 


Esboço utilizando vetores de registros:

algoritmo "Gerenciador de Estoque"
//1. O algoritmo deve contemplar o armazenamento de estoque para 5 produtos:
//água, refrigerante, vinho, suco e cerveja, podendo estes serem os nomes das
//variáveis a serem declaradas para serem mais intuitivas.
//2. Uma venda só pode ser realizada se houver saldo positivo em estoque. Caso
//contrário, não haveria como entregar o produto ao cliente na venda.
//3. Em caso de uma venda ser bem-sucedida, exibir uma mensagem positiva do
//processo. Caso contrário, exibir uma mensagem informando que a venda não pode ser efetuada.
//4. A escolha do produto deve ser feita a partir de um menu de opções a ser
//exibido ao usuário que escolhe a opção desejada para em seguida, informar a
//quantidade desejada.
//5. Todos os produtos iniciam o algoritmo com um estoque de 10 produtos, e
//ao longo das vendas vão sendo reduzidos estes valores, sem a necessidade de
//reposição durante a execução, imaginando que seria a única quantidade
//possível disponível no momento em que o algoritmo é executado.
tipo
   t_Produto = registro
      nome :caractere
      valor :real
      estoque :inteiro
   fimRegistro

   t_Venda = registro
      cod :inteiro
      qtd :inteiro
      valor :real
   fimRegistro
var
   produtos :vetor[1..5] de t_Produto
   venda :t_Venda

inicio
   produtos[1].nome <- "Água"
   produtos[1].valor <- 3.0
   produtos[1].estoque <- 10

   produtos[2].nome <- "Vinho"
   produtos[2].valor <- 27.62
   produtos[2].estoque <- 10

   repita
      escrevaL("Menu de opções ")
      escrevaL("1. Água        ")
      escrevaL("2. Vinho       ")
      escrevaL("3. Refrigerante")
      escrevaL("4. Suco        ")
      escrevaL("5. Cerveja     ")
      escrevaL
      escreva ("Digite a opcao de produto: ")
      leia(venda.cod)
      escreva ("Digite a quantidade desejada: ")
      leia(venda.qtd)

      venda.valor <- produtos[venda.cod].valor*venda.qtd

      escrevaL("")
      escrevaL("Valor da venda: RS", venda.valor:1:2)
      escrevaL("")
      escrevaL("")

   ate (venda.cod = 0)
fimAlgoritmo


Eu acharia melhor utilizando registro. Isso é apenas em relação a "como armazenar e recuperar dados". Todos 2 vai funcionar, daí implementar o resto do código com a lógica do problema.

 

Dica importante: sempre mantenha o código rodável. Cada vez que for alterando alguma coisa, coloca para rodar e testa rapidinho. Não tente fazer muita coisa de vez e depois testar, vá fazendo aos poucos. 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!