• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

fabio19

projecto em pascal

23 mensagens neste tópico

Eu tenho que fazer um programa para gerir um cinema...

Onde tenha que introduzir vaios dados sobre o filme, realizador, assistencia etc....

E depois tenhu que ter o total de assistencia de uma sala e a média...Só que não sei como o fazer...

Agradecia ajuda...Obrigado... :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não sei como fazer a soma nem a média de assistencia do cinema.... :wallbash:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

program Estatisticas_de_um_Cinema;
        {declara‡Æo variaveis}
Var n_filme:integer;
    nomefilme:string;
    nomerealizador:string;
    nomeactor:string;
    tipofilme:string;
    precobilhete:string;
    assistencia:integer;
    totalassistencia:integer;
    mediaassitencia:integer;

    F:text;
    begin

                write ('Introduza o nome do filme :');
                readln (nomefilme);
                write ('Introduza o nome do realizador:');
                readln (nomerealizador);
                write ('Introduza o nome do actor :');
                readln (nomeactor);
                write ('Introduza o tipo de filme :');
                readln (tipofilme);
                write ('Introduza o preco do bilhete :');
                readln (precobilhete);
                write ('Introduza a assistencia :');
                readln (assistencia);



end.

Até agora tenho isto...

Mas agora tenho que por a media e o total de aasistencia...so que nao sei como fazer...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Provavelmente tens que pedir a assistência para cada uma das sessões e ires somando numa variável, e obténs a soma. Depois divides pelo total de sessões e obténs a média.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Parece-me que tens que ler melhor o enunciado... O que é que diz mais?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E como é que eu faço isso????

da-me um exemplo se faz favor....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tipo tenho que inicializar uma variavel tipo "soma:=0"

depois acho que tenho que fazer um ciclo for, mas não tenho a certeza...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É isso mesmo!

Já tens ali a variável totalassistencia que podes utilizar em vez da soma.

Tens que pedir o total de sessões do filme, e fazes um for de 1 até esse valor. Dentro do for pedes o número de assistentes a essa sessão e somas à totalassistencia. Quando terminas o for, divides pelo total de sessões e tens a média.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

totalassistencia:=0;

For i:= 1 to assistencia do

soma:=soma+i;

Fica assim????

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Dentro do for tens que pedir ao utilizador para inserir a assistência para cada uma das sessões, e em vez de adicionares i adicionas o valor inserido pelo utilizador.

Mas estás no bom caminho :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

program Estatisticas_de_um_Cinema;
        {declara‡Æo variaveis}
Var n_filme:integer;
    nomefilme:string;
    nomerealizador:string;
    nomeactor:string;
    tipofilme:string;
    precobilhete:string;
    sessao:integer;
    assistencia:integer;
    totalassistencia:integer;
    mediaassitencia:integer;
    soma,i:integer;

    F:text;
    begin


                write ('Introduza o numero de sessÆo :');
                readln (sessao);
                write ('Introduza o nome do filme :');
                readln (nomefilme);
                write ('Introduza o nome do realizador:');
                readln (nomerealizador);
                write ('Introduza o nome do actor :');
                readln (nomeactor);
                write ('Introduza o tipo de filme :');
                readln (tipofilme);
                write ('Introduza o preco do bilhete :');
                readln (precobilhete);



                totalassistencia:=0;
                For i:= 1 to assistencia do
                write ('Introduza a assistencia :');
                readln (assistencia);
                totalassistencia:=assistencia+i;

end.

eu fiz assim mas o programa nao corre em condiçoes...

Podias me dizer o que fazer para ele correr melhor????

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Assim rapidamente, acho que só te falta o begin e o end no for, e tens ali um erro na soma:

                For i:= 1 to assistencia do begin
                        write ('Introduza a assistencia :');
                        readln (assistencia);
                        totalassistencia:=totalassistencia+assistencia;
                end;

O i não entra nas contas para nada...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Poes mas desta forma o programa salta fora sem fazer a pergunta (introduza a assistencia)...

Tou a ficar confuso..... :wallbash:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

My bad. É o que dá não testar o código.

1º tens que pedir o número de sessões, depois é que fazes o for de 1 até ao número de sessões.

writeln("Introduza o numero de sessoes:");
readln(nsessoes);
totalassistencia:=0;
for i:= 1 to nsessoes do begin
        write ('Introduza a assistencia :');
        readln (assistencia);
        totalassistencia:=totalassistencia+assistencia;
end;

Se calhar já estou a meter código a mais...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

program Estatisticas_de_um_Cinema;
        {declara‡Æo variaveis}
Var n_filme:integer;
    nomefilme:string;
    nomerealizador:string;
    nomeactor:string;
    tipofilme:string;
    precobilhete:string;
    sessao:integer;
    assistencia:integer;
    totalassistencia:integer;
    mediaassitencia:integer;
    i:integer;

    F:text;
    begin


                
                write ('Introduza o nome do filme :');
                readln (nomefilme);
                write ('Introduza o nome do realizador:');
                readln (nomerealizador);
                write ('Introduza o nome do actor :');
                readln (nomeactor);
                write ('Introduza o tipo de filme :');
                readln (tipofilme);
                write ('Introduza o preco do bilhete :');
                readln (precobilhete);

	write ('Introduza o numero de sessÆo :');
                readln (sessao);
	totalassistencia:=0;
                For i:= 1 to sessao do begin                        
        write ('Introduza a assistencia :');                        
        readln (assistencia);                        
        totalassistencia:=totalassistencia+assistencia;                
                end;





end.

Esprimenta por o programa a correr....

Nao funciona como desejado...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não experimento porque não tenho aqui nenhum ambiente Pascal. Mas podes sempre explicar o que é que não funciona como seria pretendido.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tipo depois de escrever os dados todos devia aparecer o total, e não aparece....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tipo depois de escrever os dados todos devia aparecer o total, e não aparece....

Falta-te um

Writeln(totalassistencia)

Fora do ciclo de for.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

program Estatisticas_de_um_Cinema;

        {declara‡Æo variaveis}

Var n_filme:integer;

    nomefilme:string;

    nomerealizador:string;

    nomeactor:string;

    tipofilme:string;

    precobilhete:string;

    assistencia:integer;

    totalassistencia:integer;

    sessao:string;

    mediaassitencia:integer;

    Terror, Accao, Romance:string;

    i:integer;

    F:text;

    begin

                write ('Introduza o numero de sessÆo :');

                readln (sessao);

                write ('Introduza o nome do filme :');

                readln (nomefilme);

                write ('Introduza o nome do realizador:');

                readln (nomerealizador);

                write ('Introduza o nome do actor :');

                readln (nomeactor);

                write ('Introduza o tipo de filme :');

                readln (tipofilme);

                      If tipofilme <> 'Terror' and tipofilme <> 'Accao' and  tipofilme <> 'Romance' then

                              writeln ('Introduza novamente o tipo de filme:');

                              readln (tipofilme);

                write (tipofilme);

                write ('Introduza o preco do bilhete :');

                readln (precobilhete);

totalassistencia:=0;

                For i:= 1 to sessao do begin

        write ('Introduza a assistencia :');

        readln (assistencia);

        totalassistencia:=totalassistencia+assistencia;

                end;

                Writeln (totalassistencia);

end.

O progama nao compila....

Não sei o que fazer mais...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sessao tem que ser integer. Ou outro tipo numérico, mas para este caso integer.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora