Ir ao conteúdo

Problemas com condicionais em Portugol


Malhard

Posts recomendados

Postado

Prezados,

Acabo de iniciar no mundo da programação e estou aprendendo a lidar com o Portugol.

Criei um algoritmo:

inicio
inteiro combustivel
caracter resp
escrever "\nObrigado por escolher o nosso posto. Escolha a sua opção no menu."
escrever "\n1-Gasolina | 2-Alcool | 3-Gas\n"
ler combustivel
se combustivel = 1 então
escrever "Você escolheu a opção Gasolina. A opção está correta? (s/n)\n"
ler resp
se resp = "s" ou resp = "S" então
escrever "Obrigado e volte sempre"
senao
se resp = "n" ou resp = "N" então
escrever "Volte ao inicio e escolha o combustível"
fimse
senao
se combustivel = 2 então
escrever "Você escolheu a opção Alcool. A opção está correta? (s/n)\n"
ler resp
se resp = "s" ou resp = "S" então
escrever "Obrigado e volte sempre"
senao
se resp = "n" ou resp = "N" então
escrever "Volte ao inicio e escolha o combustível"
fimse
senao
se combustivel = 3 então
escrever "Você escolheu a opção Gas. A opção está correta? (s/n)\n\n"
ler resp
se resp = "s" ou resp = "S" então
escrever "Obrigado e volte sempre"
senao
se resp = "n" ou resp = "N" então
escrever "Volte ao inicio e escolha o combustível"
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fim

Porém ele só deixa entrar com a opção 1, se escolho a opção 2 (alcool) ou 3 (gas) ele não passa para a etapa seguinte, como acontece com a opção 1.

Alguém poderia me ajudar? Se alguém puder testa-lo e ferificar onde estou errando.

Muito obriagado pela atenção.

  • Membro VIP
Postado
Prezados,

Acabo de iniciar no mundo da programação e estou aprendendo a lidar com o Portugol.

Criei um algoritmo:

inicio
inteiro combustivel
caracter resp
escrever "\nObrigado por escolher o nosso posto. Escolha a sua opção no menu."
escrever "\n1-Gasolina | 2-Alcool | 3-Gas\n"
ler combustivel
se combustivel = 1 então
escrever "Você escolheu a opção Gasolina. A opção está correta? (s/n)\n"
ler resp
se resp = "s" ou resp = "S" então
escrever "Obrigado e volte sempre"
senao
se resp = "n" ou resp = "N" então
escrever "Volte ao inicio e escolha o combustível"
fimse
senao
se combustivel = 2 então
escrever "Você escolheu a opção Alcool. A opção está correta? (s/n)\n"
ler resp
se resp = "s" ou resp = "S" então
escrever "Obrigado e volte sempre"
senao
se resp = "n" ou resp = "N" então
escrever "Volte ao inicio e escolha o combustível"
fimse
senao
se combustivel = 3 então
escrever "Você escolheu a opção Gas. A opção está correta? (s/n)\n\n"
ler resp
se resp = "s" ou resp = "S" então
escrever "Obrigado e volte sempre"
senao
se resp = "n" ou resp = "N" então
escrever "Volte ao inicio e escolha o combustível"
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fim

Porém ele só deixa entrar com a opção 1, se escolho a opção 2 (alcool) ou 3 (gas) ele não passa para a etapa seguinte, como acontece com a opção 1.

Alguém poderia me ajudar? Se alguém puder testa-lo e ferificar onde estou errando.

Muito obriagado pela atenção.

Olá Malhard.

Que programa/compilador você está utilizando?

Postado

Retire alguns "senao", acho que deve ser isso...

Prezados,

Acabo de iniciar no mundo da programação e estou aprendendo a lidar com o Portugol.

Criei um algoritmo:

inicio
inteiro combustivel
caracter resp
escrever "\nObrigado por escolher o nosso posto. Escolha a sua opção no menu."
escrever "\n1-Gasolina | 2-Alcool | 3-Gas\n"
ler combustivel
se combustivel = 1 então
escrever "Você escolheu a opção Gasolina. A opção está correta? (s/n)\n"
ler resp
se resp = "s" ou resp = "S" então
escrever "Obrigado e volte sempre"
senao
se resp = "n" ou resp = "N" então
escrever "Volte ao inicio e escolha o combustível"
fimse
senao
se combustivel = 2 então
escrever "Você escolheu a opção Alcool. A opção está correta? (s/n)\n"
ler resp
se resp = "s" ou resp = "S" então
escrever "Obrigado e volte sempre"
senao
se resp = "n" ou resp = "N" então
escrever "Volte ao inicio e escolha o combustível"
fimse
senao
se combustivel = 3 então


Ficando assim:


inicio
inteiro combustivel
caracter resp
escrever "\nObrigado por escolher o nosso posto. Escolha a sua opção no menu."
escrever "\n1-Gasolina | 2-Alcool | 3-Gas\n"
ler combustivel
se combustivel = 1 então
escrever "Você escolheu a opção Gasolina. A opção está correta? (s/n)\n"
ler resp
se resp = "s" ou resp = "S" então
escrever "Obrigado e volte sempre"
senao
se resp = "n" ou resp = "N" então
escrever "Volte ao inicio e escolha o combustível"
senao
escrever "Digite um caractere válido."
fimse

se combustivel = 2 então
escrever "Você escolheu a opção Alcool. A opção está correta? (s/n)\n"
ler resp
se resp = "s" ou resp = "S" então
escrever "Obrigado e volte sempre"
senao
se resp = "n" ou resp = "N" então
senao
escrever "Digite um caractere válido."
escrever "Volte ao inicio e escolha o combustível"
fimse

Recomendo que você use o VisualG, que eu acho um compilador mais simples e mais pratico. Nele eu faria um algoritimo simples para resolver seu problema...

Postado

Olá amigo, também sou iniciante em programação e estou estudando portugol. Veja, ressaltando a ideia do luiz, sugiro também que use o visualg, é simples e é postátil, você pode fazer o download aqui : http://www.tinotec.com.br/blog/visualg-e-exercicios-para-logica-de-programacao-e-algoritmos/

veja, no seu código, como tem algumas opções, eu sugiro que você use o "Caso" ao invés do "se", acho ele bem mais apropriado para a situação e você gastará um menor número de linhas. Espero ter ajudado :)

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!