Programa em Pascal - Ajuda

1. Programa em Pascal - Ajuda

Bruno
wodizinho

(usa Kurumin)

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;


  


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

Rodrigo Ferreira Valentim
engos

(usa openSUSE)

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

Bruno
wodizinho

(usa Kurumin)

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

Rodrigo Ferreira Valentim
engos

(usa openSUSE)

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

Bruno
wodizinho

(usa Kurumin)

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;







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts