Cuestiones y dudas acerca de lenguajes de programación diversos.
Moderador: Moderadores
-
Xmas
Mensaje
por Xmas » Mar Feb 15, 2011 3:31 am
Hola a todos tengo un problema con un programa en pascal estoy intentando hacer un programa que me calcule 3 materias y 3 notas encada materia, con sus respectivos cortes. Sacar el promedio de cada materia despues cargar la matriz y sacar el promedio final si me entienden.. Pero la parte de la matriz y el promedio final por mas que lo intento no me sale ayuda porfa. Esto es lo que llevo estaria muy agradecido si alguien me puede ayudar...
Código: Seleccionar todo
Program promedio_materias;
Uses wincrt;
Type
Vector=array [1..4] of string;
Matriz=array [1..4,1..3] of real;
Promedio=array [1..4] of real;
Var
Vecmateria: vector;
Mat: matriz;
P: promedio;
I, f: integer;
suma: real;
Begin
For I:=1 to 3 do
Begin
Writeln ('Indicar Materia', I);
Readln (vecmateria[i]);
End;
vecmateria[4]:= 'Promedio';
For I:=1 to 3 do
begin
Suma:=0;
For f:=1 to 3 do
Begin
Writeln ('Indicar nota de la materia: ', vecmateria[i], ' En el corte Numero: ', f );
Readln (mat[I,f]);
suma:=mat[I,f]+suma;
p[i]:=suma/3;
end;
for I:= 1 to 3 do
Begin
writeln ('El promedio es ', p[i]:2:2);
end;
writeln;
end;
end.
-
rescobar
Mensaje
por rescobar » Mar Feb 15, 2011 5:30 pm
Aquí tienes el código lo que no te cuadre lo modificas aquí tines mi correo
rescobar@ipiij.rimed.cu
Program Promedio;
Uses CRT;
var Notas: array [1..3,1..4] of real;
Nombres: array[1..3] of String;
i, j: integer;
suma:real;
Begin
for i:=1 to 3 do
begin
CLRSCR;
Writeln;
suma:=0;
Write('Entre el nombre ',i,': '); Readln(Nombres
);
for j:=1 to 3 do
begin
Writeln;
Case j of
1: begin
Write('Nota de Matemática: ');Readln(Notas[i, j]);
end;
2: begin
Write('Nota de Historia: ');Readln(Notas[i, j]);
end;
3: begin
Write('Nota de Español: ');Readln(Notas[i, j]);
end
end;
suma:= suma + Notas[i, j]; { Variable sumadora }
end;
Notas[i,4]:=suma / 3; { Calcula el promedio }
end;
Clrscr;
Writeln;
Writeln('Nombre Matemática Historia Español Promedio');
For I:= 1 to 3 do
begin
gotoxy(1,i+2);
Write(Nombres);
For j:=1 to 4 do
begin
gotoxy(j*13,i+2);
Write(Notas[I, j]:0:1);
end;
Writeln;
end;
Readln;
End.