Ir ao conteúdo

Posts recomendados

Postado

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
  • Membro VIP
Postado

@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

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!