Pascal/Turbo Pascal - AYUDA CON PASCAL

 
Vista:

AYUDA CON PASCAL

Publicado por Vanesa  (1 intervención) el 06/09/2009 16:17:37
Hola amigos, mi nombre es Vane, y queria pedirles por favor si me pueden ayudar con esto. Hice todo el ejercicio en Turbo Pascal, y no termino nunca de ingreser numeros, cuando me compila el programa.. No se que hacer.. Por favor, alguien que sepa algo de esto, que le de una revisadita y me corrija please!! Desde ya muchisimas gracias a todos! Besitooos! =D
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:AYUDA CON PASCAL

Publicado por Vane (2 intervenciones) el 06/09/2009 16:20:24
Perdon, este es el programa:


program ALUMNOSPROMEDIOS;

uses wincrt;

var N, MAY, MEN, NOMA, NOME, PROM, F, C, R:integer;


ALU: array [1..1,1..5] of integer;

Begin

F:=1;

C:=1;

writeln ('Ingrese la cantidad de alumnos');

Repeat

Readln (N);

Until (N>0);

While (F<=N) do

Begin

While(C<=5) do
Begin
Readln (ALU[F,C]);

C := C+1;
End;

C:=1;
F:=F+1;

End;

F:=1;

Begin

While(F<=N) do

ALU [F,5]:= (ALU[F,2]+ALU[F,3]+ALU[F,4]) div 3;

Writeln('El alumno',ALU[F,1],'Tiene el promedio', ALU[F,5]);

F:=F+1;

End;

F:=1; C:=5; MAY:=ALU[F,5]; NOMA:=ALU[F,1]; MEN:=ALU[F,5]; NOME:=ALU[f,1];

While (F<=N)do
Begin

If (ALU[F,5]>=MAY) Then

BEGIN

MAY:=ALU[F,5];

NOMA:=ALU[F,1];

End

else

If(ALU[F,5]<=MEN) Then

Begin

MEN:=ALU[F,5];

NOME:=ALU[F,1];

End;

PROM:=PROM+ALU[F,5];
F:=F+1;
End;

Begin

R:=PROM div N;

Writeln('El mayor promedio es', May, 'y le corresponde al alumno', NOMA);

Writeln ('El menor promedio es', MEN,'y le correspondeal alumno', NOME) ;

Writeln ('El promedio general es',R);

End;

End.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA CON PASCAL

Publicado por Alexis (44 intervenciones) el 06/09/2009 19:41:04
No revisé mucho el código, pero según lo que entendí estas usando una matriz de una columna y N filas. No sería igual utilizar un vector

ALU: array[1..5] of integer;

intentalo así a ver si te funciona mejor.

Saludos!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA CON PASCAL

Publicado por Vane (2 intervenciones) el 06/09/2009 23:23:19
No alexis, porque el ejercicio que estoy haciendo debe hacerse con una matriz, por eso. Asi es la consigna =/ Espero que me ayudes amigo! :(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:AYUDA CON PASCAL

Publicado por Willy (177 intervenciones) el 08/09/2009 20:36:52
Hola Vane.
Veo que estás declarando un array de bidimencional o matriz (filas y columnas):
ALU: array [1..1,1..5] of integer;

Esto creo que no tiene sentio porque a la primer dimención le estás asignando una solo celda [1..1] lo que hace que tu arreglo sea de una solola dimención. Este arreglo que has creado podría visualisarce así:

[ ]
[ ]
[ ]
[ ]
[ ]

Una sola cloumna y cinco filas.

Normalmente los arreglos de dos dimenciones deben tener varias filas y columnas. Por ejemplo si declaramos y MiArreglo: array [1..4, 1..5] of integer;

[ ][ ][ ][ ]
[ ][ ][x][ ]
[ ][ ][ ][ ]
[ ][ ][ ][ ]
[ ][ ][ ][ ]

MiArreglo[3,2] estaría haciendo referencia dondo está la "x"

Por otro lado:
Veo que estás usando algunos begin y end si propósito, como estos:

Begin
While(C<=5) do
Begin
Readln (ALU[F,C]);
C := C+1;
End;

Begin
While(F<=N) do
ALU [F,5]:= (ALU[F,2]+ALU[F,3]+ALU[F,4]) div 3;
Writeln('El alumno',ALU[F,1],'Tiene el promedio', ALU[F,5]);
F:=F+1;
end;

Puedes quitar estos begin y end que no son necesarios, el programa no los necesita.

Otra cosita. Sería mejor para todos y usaras nombres de variable más largos con le proposito de entender mejor el programa por parte tuya y todos los que lo vean debes intentar utilizar un nombre significativo (esto es, el nombre debe indicar a qué nos estamos refiriendo), esto hará más fácil que podamos a comprender qué tratas de hacer o que debe hacer el programa y así poderte ayudar mejor.

También es buena idea indicar exáctamente el objetivo del programa.

Saludos!
End;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar