Jump to content
Miguel_Esteves

Dúvida num exercício de Pascal

Recommended Posts

Miguel_Esteves

Boa tarde malta! Sou novato aqui no forum, mas aproveito já para dizer que adorei isto. Já tinha usado para tirar uma dúvida que tinha mas agora criei conta para exporarrow-10x10.png uma questão pois não encontrei resposta! Sou um aluno do 12º e é a primeira vez que aprendo programação, por isso gostaria de, não só compreensão da vossa parte, como também uma boa explicação detalhada. O objetivo do exercício proposto pelo o meu professor é o seguinte. 

Um programa que aceite um determinado número de alunos e a classificação de cada um e que retorne a média dos alunos, o total de alunos reprovados, o total de alunos aprovados, a classificação mais alta e a classificação mais baixa.

Já fiz parte do programa mas não consegui fazer a parte de apresentar o valor mais alto e mais baixo. Aqui está o que fiz. Desde já origado



Program classificacoes ;

var i,alunos,class,soma,a,r:integer;
        media:real;
        

Begin
    
    writeln('Quantos alunos TEM a turma?');
    readln(alunos);
    soma:=0;
    for i:=1 to alunos do
        begin
            writeln('(Valor inteiro) Classificacao do aluno nº ', i);
            readln(class);
            for i:= 1 to class
            soma:=soma+class;    
                if class >=10 then a:=a+1;
                if class <=9 then r:=r+1;
                if class >20 then
                    begin
                        writeln('Classificacao invalida');
                        readln;
                        exit;
                    end;
                if class <0 then
                    begin
                        writeln('Classificacao invalida');
                        readln;
                        exit;
                    end;
        end;
    writeln('Media das classificacoes dos alunos: ' , soma/alunos);
    writeln('Total de alunos aprovados: ',a);
    writeln('Total de alunos reprovados: ',r);                
    readln;
End.

 

Edited by Miguel_Esteves
erro na escrita

Share this post


Link to post
Share on other sites
M6

Dado o que tens, é bastante simples.

Defines duas variáveis uma para valor mais alto e outra para valor mais baixo.
Inicias a de valor mais alto com 0 e a de valor mais baixo com 20.
Depois, sempre que encontras uma nota mais baixa que o teu valor mais baixo atual, atualizas. Fazes o mesmo para o valor mais alto.
No final, basta mostrares os valores com que ficaste.

  • Vote 1

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
Miguel_Esteves
4 minutos atrás, M6 disse:

Dado o que tens, é bastante simples.

Defines duas variáveis uma para valor mais alto e outra para valor mais baixo.
Inicias a de valor mais alto com 0 e a de valor mais baixo com 20.
Depois, sempre que encontras uma nota mais baixa que o teu valor mais baixo atual, atualizas. Fazes o mesmo para o valor mais alto.
No final, basta mostrares os valores com que ficaste.

Eu acho que entendi o que queres dizer. Mas por acaso podes dar um exemplo de como o fazer? Podes acrescentar no trabalho que já fiz. 

Agora não estou em casa. Depois experimento e digo qualquer coisa! Obrigado

Não me importo de ler outras respostas

 

Share this post


Link to post
Share on other sites
Miguel_Esteves

Tentei fazer algo desse género mas sem sucesso! Alguém pode dar um exemplo de como fazer isso?

Share this post


Link to post
Share on other sites
M6

Tenho dificuldade em acreditar que se escreveste o código do post original não és capas de declarar mais duas variáveis e fazer mais duas condições de IF, mas vou dar o beneficio da dúvida:

  1. Declaras as variáveis como as outras.
  2. Inicias as variáveis como te referi.
  3. Implementas as condições de atualização, guardando o valor atual se o mesmo é maior/menor) atualizas a variável correspondente.
  4. Mostras o resultado no final.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.