Ir ao conteúdo
  • Cadastre-se

Problema Exercicio Pasca!!


Visitante: TrebeH

Posts recomendados

Visitante: TrebeH
 

Estou fazendo um exercicio em Pascal, mas estou com um problema.

Preciso atribuir quatro valores diferentes a quatro notas de um aluno, se a nota for maior ou igual a 7, imprimir que ele foi aprovado, se não informar que o aluno foi para a prova final, pedir pro usuario atribuir um valor para a nota do exame final se a nota for maior que 5, ele foi aprovado, se menor que 5 reprovado.

Até ai tudo bem mas mesmo o aluno sendo Aprovado com nota maior que 7, ele mesmo assim pede para que seja atribuido um valor para a nota do exame final!

Deem uma olhada de como esta o Codigo de fonte :

PROGRAM QUESTAOD;
USES CRT;
VAR
A,B,C,D,E,F,G:REAL;
BEGIN
CLRSCR;
WRITE('INFORME O VALOR DA PRIMEIRA NOTA DO ALUNO :'); READLN(A);
WRITE('INFORME O VALOR DA SEGUNDA NOTA DO ALUNO :'); READLN(;
WRITE('INFORME O VALOR DA TERCEIRA NOTA DO ALUNO :'); READLN(C);
WRITE('INFORME O VALOR DA QUARTA NOTA DO ALUNO :'); READLN(D);
E:= (A+B+C+D)/4
IF (A+B+C+D)/4 >= 7 THEN WRITE('ALUNO APROVADO')
ELSE IF E < 7 THEN WRITE('ALUNO EM PROVA FINAL, INFORME O VALOR DA NOTA DA PROVA FINAL :'); READLN(F);
G:= (E+F)/2
IF (E<7) AND (G>5) THEN WRITE('APROVADO')
ELSE IF (G<5) THEN WRITE('REPROVADO');
READKEY;
END.

Mesmo a média do aluno sendo maior que 7, o programa pede para que seja informado o valor de F (Nota do exame final)

E executa as 2 linhas de comando :

IF (E<7) AND (G>5) THEN WRITE('APROVADO')
ELSE IF (G<5) THEN WRITE('REPROVADO');

Quem puder ajudar, agradeço desde ja.

Link para o comentário
Compartilhar em outros sites


PROGRAM QUESTAOD;
USES
CRT;
VAR
A,B,C,D,E,F,G:REAL;
BEGIN
CLRSCR;
WRITE('INFORME O VALOR DA PRIMEIRA NOTA DO ALUNO : ');
READLN(A);
WRITE('INFORME O VALOR DA SEGUNDA NOTA DO ALUNO : ');
READLN(;
WRITE('INFORME O VALOR DA TERCEIRA NOTA DO ALUNO : ');
READLN(C);
WRITE('INFORME O VALOR DA QUARTA NOTA DO ALUNO : ');
READLN(D);
E := (A+B+C+D)/4[B][COLOR="Blue"];[/COLOR][/B]
IF E >= 7 THEN
WRITE('ALUNO APROVADO')
ELSE
IF E < 7 THEN
[B][COLOR="Blue"]BEGIN[/COLOR][/B]
WRITE('ALUNO EM PROVA FINAL, INFORME O VALOR DA NOTA DA PROVA FINAL :'); READLN(F);
G:= (E+F)/2[B][COLOR="Blue"];[/COLOR][/B]
IF (E<7) AND (G>5) THEN
WRITE('APROVADO')
ELSE
IF (G<5) THEN
WRITE('REPROVADO');
[B][COLOR="Blue"]END;[/COLOR][/B]
READKEY;
END.

Obs.: não precisa de tantas variáveis...

Link para o comentário
Compartilhar em outros sites

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