Ir ao conteúdo
  • Cadastre-se
jailton.pires

VisualG Exercicio cadastro de produto no VisuAlg

Recommended Posts

Boa Tarde,

 

Estou iniciando nesse mundo de Linguagem de programação , e comecei fazendo um curso no Senai onde usamos o VisuAlg!

Estou tentando criar um programa onde realizo a venda de Bolos.Nesse programa gostaria que ele associa-se o código do Bolo ao bolo cadastrado e o valor a cada tipo de bolo.

Comecei só com 2 tipos de bolo para inicio,mas gostaria de adicionar mais uns 20 tipos.Gostaria também de poder selecionar mais de um tipo de bolo na minha venda.

Eu parei aqui e não consigo sair disso!Alguém poderia me ajudar?

Obs : Eu não quero só simplesmente copiar o programa,meu intuito é aprender!

 

 

algoritmo "Vendas Bolo"

var

codigo,qtde: inteiro
valor_Chocolate,valor_Nozes: inteiro
Bolo1,Bolo2: Literal
Total : Inteiro



inicio

Bolo1  <- "Chocolate"
Bolo2  <- "Nozes"
valor_Chocolate <- 10
valor_Nozes <- 5

escreval ( "Informe o codigo do Bolo" )
leia (codigo)
se codigo=1 então
escreval ( "Bolo Selecionada: ",Bolo1)
senao
se codigo=2 então
escreval ( "Bolo Selecionada: ",Bolo2)
fimse
fimse
escreval ( "Informe a Quantidade" )
leia (qtde)
escreval ( "Valor Total: ",qtde*valor_Chocolate)
escreval ( "Valor Total: ",qtde*valor_Nozes)
fimalgoritmo

Sem título.jpg

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@jailton.pires Cara não sei se visualG tem mas para isso você usaria o arraylist e correria o valor com um comando chamado "for" e verificaria se em algum valor do array bateria com o valor da variável inserida pelo usuário.

 

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde, Jailton

 

Muito bom que você esteja iniciando sua vida no mundo da programação, posso te dizer que será muito satisfatório para você! Também fiz curso no SENAI, mas não na área e sei da excelência do ensino, então se esforce que com certeza você adquirirá bons conhecimentos.

 

Em relação ao seu problema, acredito que o ideal nesse caso, seria utilizar arrays, também conhecido como vetores/matrizes. Você leu sobre? Se não, aconselho que você leia sobre, pois irá lhe ajudar no desafio proposto. Leia um pouco sobre aqui: Wikipedia - Array

 

De forma bem resumida, a ideia é a mesma que você já executa, porém ao invés de criar diversas variáveis para armazenar dados que possuem o mesmo significado para o seu programa, você criaria uma matriz (o dito cujo do array), por exemplo onde conectaria as informações do bolo X com sua descrição, por exemplo. É bem semelhante ao funcionamento de linhas e colunas no excel, segue exemplo:

 

5a947734614e1_Capturadeecrde2018-02-2618-06-13.png.4e3419d0072f5b8695c9ddb4f6a530f6.png

 

No exemplo acima, temos os tipos de bolo, divididos em duas linhas, contendo as mesmas colunas, porém com valores diferentes. É exatamente isso que você faria com uma matriz, por exemplo, você armazenaria os mesmos objetos (bolos), com as mesmas características em comuns, porém com suas descrições diferentes. Portanto, é crucial que você pesquise e entenda o conceito de arrays no visualG/programação em si, pois posso te afirmar que será muito comum na sua vida estudantil.

 

Uma dica, os arrays trabalham através de índices. Índices são basicamente as posições em que as informações estão armazenadas. Trazendo para o exemplo de cima, para pegarmos as informações do primeiro bolo, seria necessários pegarmos os dados do índice 1. Para exemplificar essa ideia de índices, teríamos algo como:

leia(bolo[1])

 

A lógica dos if's, continuaria a mesma, só seria alterada a forma com que você exibirá as informações.

 

Em relação ao desenvolvimento da possibilidade de realizar mais de uma compra de bolos, em um único ciclo de vida do script, também é possível realizar com a utilização de arrays. Tente realizar os desafios por partes, pois ambos possuem bastante semelhança na hora de desenvolver.

 

Você pode ler um pouco sobre tipo de dados no visualG aqui. Veja também este vídeo que está dando uma introdução ao que são arrays e pode lhe dar o ponta pé inicial.

 

Qualquer dúvida é só postar, abraços.

 

Bons estudos!

  • Curtir 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá a todos.

 

@jailton.pires, seja bem vindo ao Fórum do Clube do Hardware.

 

3 horas atrás, jailton.pires disse:

Estou tentando criar um programa onde realizo a venda de Bolos.Nesse programa gostaria que ele associa-se o código do Bolo ao bolo cadastrado e o valor a cada tipo de bolo.

Comecei só com 2 tipos de bolo para inicio,mas gostaria de adicionar mais uns 20 tipos.Gostaria também de poder selecionar mais de um tipo de bolo na minha venda.

Eu parei aqui e não consigo sair disso!Alguém poderia me ajudar?

Obs : Eu não quero só simplesmente copiar o programa,meu intuito é aprender!

 

Inicialmente vamos tentar analisar o código atual e ao mesmo tempo tentar dar uma revisada.

 

 

1) NOMENCLATURAS DE VARIÁVEIS

É recomendado utilizar nomenclaturas que remetam a funcionalidade da variável. Abaixo demonstro um exemplo:

algoritmo "Vendas Bolo"
var
   //DADOS DO BOLO
   nomeBolo1 , nomeBolo2 :caracter //nome do bolo
   precoBolo1, precoBolo2:inteiro  //preco do bolo para venda

   //DADOS DE VENDA
   codigoBolo  :inteiro //codigo referente ao bolo desejado
   qtdBolos    :inteiro //quantidade de bolos que deseja comprar
   totalPedido :inteiro //valor total da venda
inicio
   //"inicializa" os dados dos bolos
   nomeBolo1  <- "Chocolate"
   precoBolo1 <- 10
   nomeBolo2  <- "Nozes    "
   precoBolo2 <- 5

Observe que só pelo nome dá para supor o que a variável se propõe.

 

Mas no seu código ficou bom também...

 

 

 

2) ESTRUTURA DE SELEÇÃO

Os se servem justamente para "selecionar" qual caminho o fluxo do código deve seguir... como sabido, o Visualg vai lendo "de cima para baixo"... a estrutura de seleção então vai verificar a expressão e "desviar" o fluxo de acordo com o seu valor. Se VERDADEIRO entra no se, se FALSE pula para próxima estrutura.

 

Então, no seu código, você aplica um para exibir o bolo selecionado.. OK. Mas para calcular, efetua conta para ambos os bolos.. é necessário "selecionar" também... só calcular para o bolo que foi escolhido, ou seja, precisa de um se/senão para exibir apenas o "Valor total" correspondente ao bolo escolhido.

 

 

 

***

 

Por enquanto seria isso... tente ajustar o seu código com esses 2 itens acima. Ai posta o código aqui, e se for o caso onde está com dúvidas.

 

Agora outros pontos importantes:

 

3) VERSÃO DO VISUALG

Recomendo utilizar a versão mais recente do Visualg. Terá alguns recursos a mais... e também é a versão mais popular. Pela imagem e por algumas características do código, acredito que esteja utilizando a versão 2.0. A versão mais recente está na 3.0.6.5.

Link para download: http://visualg3.com.br/

 

obs.: no lugar do tipo literal, precisará usar caracter.

 

 

 

4) USO DA TAG CODE

Aqui é para melhor organização no Fórum... Para postar código aqui, favor utilizar a tag CODE. Basta clicar no botão <> que consta na barra de ferramentas e colar o código lá.

 

Um pouco mais sobre aqui:

Poste seus códigos corretamente!

 

 

 

5) USO DE VETORES/MATRIZES EM VISUALG (Array)

1 hora atrás, XenoStory disse:

Uma dica, os arrays trabalham através de índices. Índices são basicamente as posições em que as informações estão armazenadas. Trazendo para o exemplo de cima, para pegarmos as informações do primeiro bolo, seria necessários pegarmos os dados do índice 1. Para exemplificar essa ideia de índices, teríamos algo como:


leia(bolo[1])

 

Sobre o exemplo do @XenoStory referente ao vetor do bolo... só um adendo para ficar mais claro: como o exemplo foi dado como o «funcionamento de linhas e colunas no Excel», subentendem-se que o esse vetor teria 2 coordenadas, ou seja, uma para indicar a linha, e outra para indicar a coluna. Daí, para ler uma informação do bolo, assim como no Excel, é necessário informa as duas coordenadas: da linha e da coluna, ex.:

 

Tendo a tabela:

5a947734614e1_Capturadeecrde2018-02-2618-06-13.png.4e3419d0072f5b8695c9ddb4f6a530f6.png

 

Em qual coordenada está o nome do primeiro bolo? está na linha 1, coluna 2.  Perceba que para o contexto do problema, a "matriz" em si, só é a parte destacada em vermelho. O restante é apenas para ilustrar.

 

Para ler do teclado seria algo como:

leia(bolo[1,2])

Então... no Visualg esta estrutura é bastante usada... onde a linha representará o "posição do objeto no vetor" (primeiro bolo na posição 1, segundo na posição 2 etc) e a coluna representa cada atributo desse objeto (no caso, posição 1 é do código do bolo, posição 2 é da descrição e a terceira do valor etc). Não tem mistério...

 

Verás que uma das grandes vantagens do vetores é que poderá usar variáveis para acessar as coordenadas... o que reduzirá em muito o tamanho do código.

 

Mas sugiro que tente resolver primeiro o citado no item 1 e 2. Depois tenta entrar nesse mundo dos vetores.

 

No aguardo.

  • Curtir 3

Compartilhar este post


Link para o post
Compartilhar em outros sites
4 horas atrás, LucasMachadoID disse:

@jailton.pires Cara não sei se visualG tem mas para isso você usaria o arraylist e correria o valor com um comando chamado "for" e verificaria se em algum valor do array bateria com o valor da variável inserida pelo usuário.

 

Muito Obrigado LucasMachadoID pela ajuda.Não cheguei a estudar essa opção Arraylist!

Vou procurar aqui e tentar usar no meu programa!

 

Abraço!

adicionado 23 minutos depois
4 horas atrás, XenoStory disse:

Boa tarde, Jailton

 

Muito bom que você esteja iniciando sua vida no mundo da programação, posso te dizer que será muito satisfatório para você! Também fiz curso no SENAI, mas não na área e sei da excelência do ensino, então se esforce que com certeza você adquirirá bons conhecimentos.

 

Em relação ao seu problema, acredito que o ideal nesse caso, seria utilizar arrays, também conhecido como vetores/matrizes. Você leu sobre? Se não, aconselho que você leia sobre, pois irá lhe ajudar no desafio proposto. Leia um pouco sobre aqui: Wikipedia - Array

 

De forma bem resumida, a ideia é a mesma que você já executa, porém ao invés de criar diversas variáveis para armazenar dados que possuem o mesmo significado para o seu programa, você criaria uma matriz (o dito cujo do array), por exemplo onde conectaria as informações do bolo X com sua descrição, por exemplo. É bem semelhante ao funcionamento de linhas e colunas no excel, segue exemplo:

 

5a947734614e1_Capturadeecrde2018-02-2618-06-13.png.4e3419d0072f5b8695c9ddb4f6a530f6.png

 

No exemplo acima, temos os tipos de bolo, divididos em duas linhas, contendo as mesmas colunas, porém com valores diferentes. É exatamente isso que você faria com uma matriz, por exemplo, você armazenaria os mesmos objetos (bolos), com as mesmas características em comuns, porém com suas descrições diferentes. Portanto, é crucial que você pesquise e entenda o conceito de arrays no visualG/programação em si, pois posso te afirmar que será muito comum na sua vida estudantil.

 

Uma dica, os arrays trabalham através de índices. Índices são basicamente as posições em que as informações estão armazenadas. Trazendo para o exemplo de cima, para pegarmos as informações do primeiro bolo, seria necessários pegarmos os dados do índice 1. Para exemplificar essa ideia de índices, teríamos algo como:


leia(bolo[1])

 

A lógica dos if's, continuaria a mesma, só seria alterada a forma com que você exibirá as informações.

 

Em relação ao desenvolvimento da possibilidade de realizar mais de uma compra de bolos, em um único ciclo de vida do script, também é possível realizar com a utilização de arrays. Tente realizar os desafios por partes, pois ambos possuem bastante semelhança na hora de desenvolver.

 

Você pode ler um pouco sobre tipo de dados no visualG aqui. Veja também este vídeo que está dando uma introdução ao que são arrays e pode lhe dar o ponta pé inicial.

 

Qualquer dúvida é só postar, abraços.

 

Bons estudos!

Boa Noite @LucasMachadoID @XenoStory e @Simon Viegas!

Primeiramente queria agradece-los pela ajuda , nunca havia usado este fórum e fiquei impressionado com as respostas,elas tem um conteúdo incrível e uma excelente didática.Li todas as respostas e vou tentar usar todas as dicas contidas nelas.

Eu vou tentar continuar o programa aqui e se tiver duvidas acho que vou precisar da ajuda de vocês novamente ,caso possam ajudar é claro!

 

Valeu novamente e Muito Obrigado!

 

 

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×