Ir ao conteúdo
  • Cadastre-se

VisualG Controle de produtos de armazém


Posts recomendados

Comecei esse ano o curso de Ciências da Computação, minha professora de lógica de programação é muito louca e não da conta de tirar dúvidas de quase 60 alunos em 2 horários de aulas só, então ela passou uma lista enorme de exercícios e eu estou nos 2 últimos, sendo que tem algumas coisas que ela ainda não explicou muito bem, ainda tem muitas dúvidas minhas no ar.(tem que ser feito no VisualG).

Segue o link dos exercícios com enunciado: (não consigo ir mais longe que isso, ja tentei armar as variáveis, pra mostrar certinho o que se pede e nada acontece.)

 

//16. Num armazém existem inúmeras caixas de produtos diferentes. Cada caixa
//tem uma etiqueta que contém o seu nome, o número de identificação, seu peso,
//sua quantidade e o seu valor. Fazer um algoritmo que faça o cadastro de
//todos os produtos do armazém(4 produtos) e faça a listagem, quando for
//solicitado, destes produtos cadastrados identificando caixa mais pesada e
//caixa mais pesada e caixa mais cara.
-------------------------------------------------------------------------------
algoritmo "Exercício 16"

var
   N1, N2, N3, N4: caracter
   NumId, NumId2, NumId3, NumId4: real
   Peso, Peso2, Peso3, Peso4:  real
   Quant, Quant2, Quant3, Quant4: real
   Valor, Valor2, Valor3, Valor4: real

inicio
   Escreval ("Informe os nomes dos produtos: ")
   Leia(N1, N2, N3, N4)
   Escreval("Informe o código de identificação: ")
   Leia(NumId, NumId2, NumId3, NumId4)
   Escreval ("Informe o peso do produto:(em kilos) ")
   Leia(Peso, Peso2, Peso3, Peso4)
   Escreval ("Informe a quantidade em estoque: ")
   Leia(Quant, Quant2, Quant3, Quant4)
   Escreval ("Informe o preço do produto:(em reais) ")
   Leia(Valor, Valor2, Valor3, Valor4)
   Escreval ("Nomes: ", N1, N2, N3, N4)
   Escreval ("Identificador: ", NumId, NumId2, NumId3, NumId4)
   Escreval ("Peso: ", Peso, Peso2, Peso3, Peso4)
   Escreval ("Quantidade em estoque: ", Quant, Quant2, Quant3, Quant4)
   Escreval ("Valor:  ", Valor, Valor2, Valor3, Valor4)

 

 

[REMOVIDO PELA MODERAÇÃO - Para um "exercício diferente, favor criar uma nova postagem]

 

 

 

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

Mano o que sua professora ja te ensinou? tem um jeito mais fácil de resolver que é usando estrutura condicional,  o codigo fica feio e não é tão otimizado, e o jeito mais complicadinho que é com estrutura de repetição o codigo fica menor e mais bonito se ela esta ensinando ainda o "SE alguma coisa ENTÃO:" provavelmetne ela quer que você faça usando estrutara condicional...

Resumindo, em que fase do aprendizado você está? não adianta eu tenta te explica como faz com laço de repitição tu vai chega la e ela vai fala "mas eu nem te ensinei isso ainda"

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

7 minutos atrás, thehootbr disse:

Mano o que sua professora ja te ensinou? tem um jeito mais fácil de resolver que é usando estrutura condicional,  o codigo fica feio e não é tão otimizado, e o jeito mais complicadinho que é com estrutura de repetição o codigo fica menor e mais bonito se ela esta ensinando ainda o "SE alguma coisa ENTÃO:" provavelmetne ela quer que você faça usando estrutara condicional...

Resumindo, em que fase do aprendizado você está? não adianta eu tenta te explica como faz com laço de repitição tu vai chega la e ela vai fala "mas eu nem te ensinei isso ainda"

cara então ela começou a ensinar a estrutura de repetição, só que como são poucas aulas eu ainda não peguei bem como se faz, essa 17 eu já tentei de tudo e 16 então nem se fala tem 2 dias que estou nela, já tentei usar a estrutura de repetição, mas não sei estruturar ela no algoritmo sabe? da um help ai.

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

@Luan Ynnaê     você não disse se pode usar vetor,  pois se puder seria mais fácil e o código ficaria bem menor,   mas como você está começando então creio que você ainda não estudou sobre vetores,  então essa questão 16 sem usar vetor, é do jeito que você está fazendo mesmo,  apenas que na hora de exibir os resultados precisa uma melhor organização,  pois do jeito que está ele vai imprimir um monte de coisas que você não vai saber o que significa, então é melhor imprimir um nome de cada vez e tudo referente a ele, então depois de pegar todos os dados, imprima os resultados assim :

escreval
Escreval("Nome --------------- : ",N1)
Escreval("Identificador ------ : ",NumId)
Escreval("Peso --------------- : ",Peso)
Escreval("Quantidade em estoque: ",Quant)
Escreval("Valor -------------- : ",Valor)
  .
  .
  .
repete esse código para os outros nomes

 

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

  • Membro VIP

Olá.

 

Vou tentar complementar.

 

Em relação ao desenvolvimento sem uso de vetores (array).

 

1) LEITURA DOS DADOS

No seu código, você está efetuando as leituras agrupando pelos "tipos de dados", ou seja, está lendo todos os nomes, depois ler todas as identificações...:

18 horas atrás, Luan Ynnaê disse:

inicio
   escreval ("Informe os nomes dos produtos: ")
   leia(N1, N2, N3, N4)
   escreval("Informe o código de identificação: ")
   leia(NumId, NumId2, NumId3, NumId4)
   ...

 

Apesar de funcional, é pouco convencional. Uma forma mais verossímil, ou seja, que ser aproximaria mais de um contexto real, seria agrupando por produto, ou seja, ler cada um dos dados do primeiro produto, depois ler os dados do segundo... etc. Algo assim:

inicio
   //LEITURA DOS DADOS DOS PRODUTOS
   //PRODUTO 1
   escreval("INFORMA OS DADOS DO PRODUTO 1: ")
   escreval("Nome :")
   leia(N1)
   escreval("Código de identificação: ")
   leia(NumId1)
   escreval("Peso (KG)")
   leia(Peso1)
   escreval("Quantidade em estoque: ")
   leia(Quant1)
   {escreval("Preço R$")} //valor é valor, preço é preço
   escreval("Valor R$")
   leia(Valor1)
   //PRODUTO 2
   escreval()
   escreval("INFORMA OS DADOS DO PRODUTO 2: ")
   escreval("Nome :")
   leia(N2)
   escreval("Código de identificação: ")
   leia(NumId2)
   escreval("Peso (KG)")
   leia(Peso2)
   escreval("Quantidade em estoque: ")
   leia(Quant2)
   {escreval("Preço R$")} //valor é valor, preço é preço
   escreval("Valor R$")
   leia(Valor2)

 

 

 

2) EXIBIÇÃO DOS DADOS

Idem à leitura... agrupar por produto. Ex.:

   //LISTAGEM DOS PRODUTOS
   //PRODUTO 1
   escreval()
   escreval("Nome --------------- : ",N1    )
   escreval("Identificador ------ :" ,NumId1)
   escreval("Peso --------------- :" ,Peso1 )
   escreval("Quantidade em estoque:" ,Quant1)
   escreval("Valor -------------- :" ,Valor1)
   //PRODUTO 2
   escreval()
   escreval("Nome --------------- : ",N2    )
   escreval("Identificador ------ :" ,NumId2)
   escreval("Peso --------------- :" ,Peso2 )
   escreval("Quantidade em estoque:" ,Quant2)
   escreval("Valor -------------- :", Valor2)

Além de ser um requisito em si do enunciado, essa exibição dos dados também vai servir para verificar se a leitura dos dados estão corretas, ou seja, essa "constatação" é importante, pois se os dados não forem lidos corretamente, ficará inviável efetuar as "identificações" posteriormente... concorda?

 

 

 

3) "IDENTIFICAÇÕES"

O enunciado também pede para identificar "caixa mais pesada e caixa mais cara". Como sugerido acima, só poderá identificar algo, após ter os dados lidos corretamente...

Como se trata de uma "identificação", podem-se usar então uma "Estrutura de Seleção (ou Comando de Desvio Condicional)" para "selecionar os dados que desejam". Ex.:

 

   //VERICAÇÂO DO MAIOR PESO
   maiorPeso:=0; //inicializa com um peso nulo
   se (maiorPeso<Peso1) ENTÃO //se o então maior peso for menor que o peso que
                              //está sendo verificado
      maiorPeso:=Peso1 //atualiza o maior peso
   fimSe
   se (maiorPeso<Peso2) ENTÃO
      maiorPeso:=Peso2
   fimSe
   
   escreval()
   escreval("Maior peso",maiorPeso)
   

 

 

 

4) CÓDIGO BASE

Seguindo estas sugestões, a base do código poderia ficar mais ou menos assim:

//16. Num armazém existem inúmeras caixas de produtos diferentes. Cada caixa
//tem uma etiqueta que contém o seu nome, o número de identificação, seu peso,
//sua quantidade e o seu valor. Fazer um algoritmo que faça o cadastro de
//todos os produtos do armazém (4 produtos) e faça a listagem, quando for
//solicitado, destes produtos cadastrados identificando caixa mais pesada e
//caixa mais pesada e caixa mais cara.
-------------------------------------------------------------------------------
algoritmo "Exercício 16"
var
   //DADOS DO PRODUTO
   N1    , N2    , N3    , N4    :caracter
   NumId1, NumId2, NumId3, NumId4:real
   Peso1 , Peso2 , Peso3 , Peso4 :real
   Quant1, Quant2, Quant3, Quant4:real
   Valor1, Valor2, Valor3, Valor4:real
   
   //VARIÁVEIS AUXILIÁRES
   maiorPeso:real
   maisCara :real

inicio
   //LEITURA DOS DADOS DOS PRODUTOS
   //PRODUTO 1
   escreval("INFORMA OS DADOS DO PRODUTO 1: ")
   escreval("Nome :")
   leia(N1)
   escreval("Código de identificação: ")
   leia(NumId1)
   escreval("Peso (KG)")
   leia(Peso1)
   escreval("Quantidade em estoque: ")
   leia(Quant1)
   {escreval("Preço R$")} //valor é valor, preço é preço
   escreval("Valor R$")
   leia(Valor1)
   //PRODUTO 2
   escreval()
   escreval("INFORMA OS DADOS DO PRODUTO 2: ")
   escreval("Nome :")
   leia(N2)
   escreval("Código de identificação: ")
   leia(NumId2)
   escreval("Peso (KG)")
   leia(Peso2)
   escreval("Quantidade em estoque: ")
   leia(Quant2)
   {escreval("Preço R$")} //valor é valor, preço é preço
   escreval("Valor R$")
   leia(Valor2)



   //LISTAGEM DOS PRODUTOS
   //PRODUTO 1
   escreval()
   escreval("Nome --------------- : ",N1    )
   escreval("Identificador ------ :" ,NumId1)
   escreval("Peso --------------- :" ,Peso1 )
   escreval("Quantidade em estoque:" ,Quant1)
   escreval("Valor -------------- :" ,Valor1)
   //PRODUTO 2
   escreval()
   escreval("Nome --------------- : ",N2    )
   escreval("Identificador ------ :" ,NumId2)
   escreval("Peso --------------- :" ,Peso2 )
   escreval("Quantidade em estoque:" ,Quant2)
   escreval("Valor -------------- :", Valor2)



   //VERICAÇÂO DO MAIOR PESO
   maiorPeso:=0; //inicializa com um peso nulo
   se (maiorPeso<Peso1) ENTÃO //se o então maior peso for menor que o peso que
                              //está sendo verificado
      maiorPeso:=Peso1 //atualiza o maior peso
   fimSe
   se (maiorPeso<Peso2) ENTÃO
      maiorPeso:=Peso2
   fimSe
   
   escreval()
   escreval("Maior peso",maiorPeso)
   
   


fimAlgoritmo

 

 

 

****

 

Se for seguir essas sugestões, adicionaria os outros produtos ao código, assim como a verificação da "caixa mais cara".

 

Qualquer dúvida é só perguntar.

 

Aí poste o código completo para analisarmos, e se for o caso onde está com dúvidas.

 

No aguardo.

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

  • Membro VIP
35 minutos atrás, Luan Ynnaê disse:

@Simon Viegas estou refazendo o código do jeito que me explicou, eu uso a mesma atribuição da caixa mais pesada para a verificação da caixa mais cara?

 

Como assim mesma atribuição?

 

Então, de certo modo modo poderia usar a "mesma base", ou seja, a estrutura para verificar a "mais cara" é análoga a verificar a "mais pesada" (só muda as variáveis).

 

Sugiro que tente inicialmente fazer apenas a "mais pesada".. termine a implementação de todos os produtos.. só depois tenta a "mais cara".

  • Curtir 2
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...