Pular para o conteúdo

Programa em Pascal - Ajuda

Responder tópico
  • Denunciar
  • Indicar

1. Programa em Pascal - Ajuda

Enviado em 21/05/2008 - 12:30h

Estou fazendo um código, para registrar nomes, disciplinas e notas de alunos.

No momento de inserção das notas, ele so varre o primeiro aluno, alguem poderia me dar uma ajuda por favor..

For i:= 1 to 5 do
Begin
writeln;
writeln('Informe as notas do ', alunos[I]:2, ': ');
for i:=1 to 5 do
for j:= 1 to 2 do
begin
write('Nota', J:2, ' da ', disciplinas[i]:2, ' :');
readln(NOTAS[I, J]);
end;
end;

Responder tópico

2. Não conheço de pascal, mas...

Enviado em 21/05/2008 - 13:05h

Pelo que estou vendo você está usando "i" no primeiro loop (for) até 5, depois usa outra vez ele no segundo loop até 5 também.

Acontece que quando ele sai do segundo loop ele está com 5 e quando volta para o primeiro continua com 5, sendo assim só vai funcionar uma vez o primeiro loop...

Mude para algo como:


For i:= 1 to 5 do
Begin
writeln;
writeln('Informe as notas do ', alunos[I]:2, ': ');
for k:=1 to 5 do
for j:= 1 to 2 do
begin
write('Nota', J:2, ' da ', disciplinas[k]:2, ' :');
readln(NOTAS[K, J]);
end;
end;

3. Re: Programa em Pascal - Ajuda

Enviado em 21/05/2008 - 13:30h

muito obrigado, problema foi sanado...
só que isso me gerou um outro problema...

Em cada loop eu tenho 2 notas de uma disciplina, e são 5 disciplinas....
Ao final da inserção de todas as notas eu preciso mostrar a média)..
pensei em algo do tipo writeln('média', (NOTAS[k, J])/ 2); mas ele não esta acumulando..

podem me ajudar?

4. Acho que seria isso...

Enviado em 21/05/2008 - 14:29h

Você quer a média por disciplina, certo? Para isso você precisa de uma outra variavel apenas para isso, que exista antes do ultimo loop e seja zerada sempre no loop do meio.


Seria algo do tipo:


For i:= 1 to 5 do
Begin
writeln;
writeln('Informe as notas do ', alunos[I]:2, ': ');
for k:=1 to 5 do
Begin
z := 0;
for j:= 1 to 2 do
begin
write('Nota', J:2, ' da ', disciplinas[k]:2, ' :');
readln(NOTAS[K, J]);
z := z + J
end;
write('Media: ', z/2);
end;
end;

5. Re: Programa em Pascal - Ajuda

Enviado em 21/05/2008 - 16:01h

Ou muito obrigado mesmo mano, sua ajuda foi de enorme valia. Preciso de uma ultima ajuda, sobre como exibir as informações na tela, utilizando o comando gotoxy...
Comecei a fazer, algo mais o menos do tipo, mas to tendo dificuldade em exibir os outros alunos com as disciplinas, bem como as notas, só estão aparecendo o primeiro:

clrscr;
writeln('Aluno Disciplina Nota1 Nota2 Média');
x:= 2;
for i:= 1 to 6 do
begin
gotoxy(1,x);
writeln(alunos[i]);
for i:= 1 to 5 do
begin
gotoxy(9,x);
writeln(disciplinas[i]);
end;

x:= x + 1;

end;




readkey;

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder