Portugol (algoritmo macabro). Me ajudem, por favor?

1. Portugol (algoritmo macabro). Me ajudem, por favor?

Vítor Hugo Vervloet
@VitorHugoRMDS

(usa Linux Mint)

Enviado em 10/12/2011 - 21:49h

Companheirada, preciso da ajuda de vocês. Estive muito ocupado com outras matérias e acabei relaxando em algorítmos. Dediquei-me muito ao meu projeto sob edubuntu e acabei tendo que aprender a metade da matéria estudando na internet.

Preciso entregar esse programa terça feira. Caso contrário, fico reprovado. Já fiz a metade do programa, mas chegou a hora em que eu simplesmente não sei mais o que fazer. Me ajudem?

O programa que ela pede é:

Construa um sistema de vendas de bilhetes de um cinema. O algoritmo deverá:

1) Permitir que o usuário cadastre 3 filmes, sendo que cada filme será exibido em duas sessões (14 ás 17-18 ás 20)

2) O algoritmo deverá tambem cadastrar o tipo de filme, que pode ser 3D, ou comum.

3) Deverá permitir que o usuário ao comprar o bilhete escolha entre pagar meia entrada ou inteiro. Considere que se
o filme for do tipo 3D o preço do bilhete será de R$ 30,00 e se o filme for do tipo comum R$ 20,00.

4) Deverá permitir que o usuário visualize os lugares disponiveis e escolha o lugar que deseja.
O cinema possui 3 salas, onde cada sala possui 20 filheiras com 18 cadeiras em cada filheira.

5) O algoritmo deverá retornar a arrecadação de: cada filme.

O que eu já fiz foi:

algoritmo "cinema"
// Função :
// Autor : Vítor Hugo Vervloet
// Data : 27/11/2011
// Seção de Declarações
var filme:vetor[1..3] de caracter
sala,nomefilme,resposta1:caracter
l,c,opcao,resposta,voltar,voltar1,tipofilme,numsala:inteiro
filme1:caracter

inicio

filme[1]<-("Não há nenhum filme cadastrado nesta sala")
filme[2]<-("Não há nenhum filme cadastrado nesta sala")
filme[3]<-("Não há nenhum filme cadastrado nesta sala")

// menu principal

repita

escreval ("===============================================================")
escreval ("===============================================================")
escreval ("================ ================")
escreval ("================ VENDA DE BILHETES ================")
escreval ("================ ================")
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("")
escreval ("Escolha uma das opções abaixo")
escreval ("")
escreval ("1- Cadastrar um filme")
escreval ("2- Ver os filmes já cadastrados")
escreval ("3- Emitir nota fiscal")
escreval ("4- Ver os lugares disponíveis")
escreval ("5- Sair do programa")
escreval ("")

leia (opcao)
limpatela
escolha (opcao)

//opção de cadastrar o filme

caso 1
repita
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("================ ================")
escreval ("================ VENDA DE BILHETES ================")
escreval ("================ ================")
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("")
escreval ("As salas disponíveis são: sala 1, sala 2 e sala 3. Escolha uma")
escreva ("sala para cadastrar um filme. Digite o número da sala desejada")
escreval ("")
escreval ("")
escreva ("Sala: ")
leia (numsala)
escolha (numsala)

// tela de cadastro de filme na sala 1

caso 1
limpatela
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("================ ================")
escreval ("================ VENDA DE BILHETES ================")
escreval ("================ ================")
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("")
escreval ("Cadastre um filme na sala 1")
escreval ("")
leia (nomefilme)
filme[1]<-(nomefilme)
escreval ("")
escreva ("Digite 1 para continuar o cadastro e 2 para voltar ao menu prin")
escreva ("cipal ")
leia (resposta)
se (resposta=1) entao
voltar1<-(2)
fimse
se (resposta=2) entao
voltar1<-(1)
limpatela
fimse

// tela de cadastro de filme na sala 2

caso 2
limpatela
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("================ ================")
escreval ("================ VENDA DE BILHETES ================")
escreval ("================ ================")
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("")
escreval ("Cadastre um filme na sala 2")
escreval ("")
leia (sala)
filme[2]<-(sala)
escreval ("")
escreva ("Digite 1 para continuar o cadastro e 2 para voltar ao menu prin")
escreva ("cipal ")
leia (resposta)
se (resposta=1) entao
voltar1<-(2)
fimse
se (resposta=2) entao
voltar1<-(1)
limpatela
fimse

// tela de cadastro de filme na sala 3

caso 3
limpatela
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("================ ================")
escreval ("================ VENDA DE BILHETES ================")
escreval ("================ ================")
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("")
escreval ("Cadastre um filme na sala 3")
escreval ("")
leia (sala)
filme[3]<-(sala)
escreval ("")
escreva ("Digite 1 para continuar o cadastro e 2 para voltar ao menu prin")
escreva ("cipal ")
leia (resposta)
se (resposta=1) entao
voltar1<-(2)
fimse
se (resposta=2) entao
voltar1<-(1)
limpatela
fimse
fimescolha
limpatela
ate (voltar1=1)

// tela de exibição dos filmes já cadastrados

caso 2
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("================ ================")
escreval ("================ VENDA DE BILHETES ================")
escreval ("================ ================")
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("")
escreval ("Sala 1: ",filme[1])
escreval ("Sala 2: ",filme[2])
escreval ("Sala 3: ",filme[3])
escreval ("")
escreva ("Pressione ENTER para voltar ao menu principal")
leia (resposta1)
se (resposta1="") entao
limpatela
fimse

//

caso 3
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("================ ================")
escreval ("================ VENDA DE BILHETES ================")
escreval ("================ ================")
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("")
escreval ("Abaixo estão listadas as salas disponíveis e os respectivos")
escreval ("filmes em seção")
escreval ("")
escreval ("Sala 1: ",filme[1])
escreval ("Sala 2: ",filme[2])
escreval ("Sala 3: ",filme[3])
escreval ("")
escreval ("Escolha um dos filmes digitando o número da sala correspondente")
escreval ("")
leia (sala)
escreval ("")
escreval ("Os tipos de filme disponíveis são:")
escreval ("")
escreval ("1- 3D (R$ 30)")
escreval ("2- Comum (R$ 20)")
escreval ("")
escreva ("Escolha um tipo de filme ")
leia (tipofilme)

// sair do programa

caso 5
voltar<-(1)
fimescolha

ate (voltar=1)

fimalgoritmo

me ajudem companheiros?


  


2. Re: Portugol (algoritmo macabro). Me ajudem, por favor?

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 11/12/2011 - 11:34h

Dicas:

1 - Veja a dica abaixo, ela mostra uma IDE para programar em POrtugol e nessa IDE tem uma ajuda sobre a linguagem.

http://www.vivaolinux.com.br/artigo/Portugol-IDE?pagina=2

2 - Quando pedir ajuda sobre códigos, especifique a parte em que está tendo problemas, fica mais fácil obter ajuda.

Abraços


3. Re: Portugol (algoritmo macabro). Me ajudem, por favor?

Vítor Hugo Vervloet
@VitorHugoRMDS

(usa Linux Mint)

Enviado em 11/12/2011 - 18:22h

primeiramente, obrigado por responder

eu consegui fazer o menu 1, 2 e 5 sem problema

o que ta complicando a minha vida é o menu 3, que se refere à venda de ingressos
simplesmente não faço ideia de como fazer esse procedimento de escolha do horário, tipo de filme, se é meia ou inteira, posição da cadeira na sala e o faturamento total

alguém pode me ajudar?
vlw


4. Re: Portugol (algoritmo macabro). Me ajudem, por favor?

Levi Gomes
levi linux

(usa Arch Linux)

Enviado em 11/12/2011 - 18:45h

Boa tarde!
Uma vez fiz um pequeno algoritmo para venda de passagens de ônibus, me lembro muito pouco tanto do algoritmo quanto do Portugol.
Para a venda de cadeiras gerei uma matriz bidimensional com as dimensões do ônibus, no seu caso seriam as dimensões da sala.
A posição da cadeira era dada pelo número dos contadores i,j.
A venda era um pouco problemática, pois tinha que se escolher a cadeira em duas etapas, primeiro localizada a linha, depois a coluna.
Era algo do tipo: caso se efetue a compra de um ingresso, matriz na posição [i,j] recebe V, por exemplo para indicar que a cadeira foi vendida.

matriz[ i][j]<-V;

O detalhe e que antes de confirmar a venda temos que ver se a cadeira não foi vendida. Aí eu verificava se matri[ i][j]==V;

Para a arrecadação eu gerei um contador que era atualizado a cada venda.

Boa sorte!




5. Re: Portugol (algoritmo macabro). Me ajudem, por favor?

Vítor Hugo Vervloet
@VitorHugoRMDS

(usa Linux Mint)

Enviado em 11/12/2011 - 22:42h

irmão, muito obrigado pelas dicas

já havia pensado no contador para registrar o valor das vendas, mas agora ficou mais claro

vou ver se consigo terminar isso

brigadão