Pascal/Turbo Pascal - EJERCICIO DE TABLAS

   
Vista:

EJERCICIO DE TABLAS

Publicado por Sara (6 intervenciones) el 12/02/2015 16:32:48
Tengo que hacer el siguiente ejercicio basado en uno que ya hice

1) Este es el que tengo que hacer
Escriba un programa que:
a) Cree una tabla en la que cada elemento es otra tabla del tipo descrito en las dos actividades optativas (3 y 4) anteriores. Cada elemento de la tabla representa los datos de un alumno.
b) Pida al usuario el número de alumnos de una clase.
c) Utilizando los procedimientos del ejercicio anterior pida los datos de cada alumno.
d) Muestre los datos de la clase por pantalla.

Este es el que hice
Program EJERCICIO;
type
tabla = array[1..3,1..4] of string;

Procedure llenaTabla (var tipoNota:tabla);
var
a,b: integer;
begin
for a:=1 to 3 do begin
if (a=1) then begin
writeln;
writeln (' Ha realizado la practica?');
end
else
if (a=2) then begin
writeln;
writeln (' Ha realizado el Trabajo?');
end
else
if (a=3) then begin
writeln;
writeln ('Ha realizado el examen?');
end;
for b:= 1 to 4 do begin
if (b=1) then begin
write ('Primer parcial:');
readln (tipoNota[a,b]);
end
else if (b=2) then begin
write ('Segundo parcial:');
readln (tipoNota[a,b]);
end
else if (b=3) then begin
write ('Junio:');
readln (tipoNota[a,b]);
end
else if (b=4) then begin
write ('Septiembre:');
readln (tipoNota[a,b]);
end;
end;
end;
end;

Procedure presentaTabla (tablaNotas:tabla);
var
a,b:integer;
begin
for a:= 1 to 3 do begin
if (a=1) then begin
writeln;
writeln(' PRACTICAS: ');
end
else
if (a=2) then begin
writeln;
writeln(' TRABAJOS: ');
end
else
if (a=3) then begin
writeln;
writeln(' EXAMENES: ');
end;
for b:= 1 to 4 do begin
if (b=1) then
write(' primer parcial: ',tablaNotas[a,b])
else
if (b=2) then
write(' segundo parcial: ',tablaNotas[a,b])
else
if (b=3) then
write(' junio: ',tablaNotas[a,b])
else
if (b=4) then
write(' septiembre: ',tablaNotas[a,b]);
writeln;
end;
end;
end;

var
tablaNotas : tabla;

begin
writeln;
writeln (' CONTROL DE NOTAS ');
writeln;
llenaTabla(tablaNotas);
presentaTabla(tablaNotas);
readln;
end.

En el apartado a) tendría que crear una tabla de alumnos
alumnos=array[1..Nalum]of tabla
o de clases...'

Me podría ayudar alguien a resolver esto.
Gracias
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

EJERCICIO DE TABLAS

Publicado por ramon (2072 intervenciones) el 12/02/2015 22:07:55
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
{Mira las modificaciones max es el tamaño de la tabla si es muy grande te dará error}
 
 Program EJERCICIO;
  const
      max = 20;
  type
     tabla = array[1..3,1..4] of string;
  var
     element : array[1..max] of tabla;
     tablaNotas : tabla;
     cont, alu : integer;
 
 
Procedure llenaTabla (var tipoNota:tabla);
var
a,b: integer;
begin
for a:=1 to 3 do begin
if (a=1) then begin
writeln;
writeln (' Ha realizado la practica?');
end
else
if (a=2) then begin
writeln;
writeln (' Ha realizado el Trabajo?');
end
else
if (a=3) then begin
writeln;
writeln ('Ha realizado el examen?');
end;
for b:= 1 to 4 do begin
if (b=1) then begin
write ('Primer parcial:');
readln (tipoNota[a,b]);
end
else if (b=2) then begin
write ('Segundo parcial:');
readln (tipoNota[a,b]);
end
else if (b=3) then begin
write ('Junio:');
readln (tipoNota[a,b]);
end
else if (b=4) then begin
write ('Septiembre:');
readln (tipoNota[a,b]);
end;
end;
end;
end;
 
Procedure presentaTabla (tablaNotas:tabla);
var
a,b:integer;
begin
for a:= 1 to 3 do begin
if (a=1) then begin
writeln;
writeln(' PRACTICAS: ');
end
else
if (a=2) then begin
writeln;
writeln(' TRABAJOS: ');
end
else
if (a=3) then begin
writeln;
writeln(' EXAMENES: ');
end;
for b:= 1 to 4 do begin
if (b=1) then
write(' primer parcial: ',tablaNotas[a,b])
else
if (b=2) then
write(' segundo parcial: ',tablaNotas[a,b])
else
if (b=3) then
write(' junio: ',tablaNotas[a,b])
else
if (b=4) then
write(' septiembre: ',tablaNotas[a,b]);
writeln;
end;
end;
end;
 
   procedure alumnos_clase(var vv : integer);
   begin
      write('   Entre Num Alumnos De 1 A ',max,' : ');
      readln(vv);
   end;
 
  procedure rellena_ta;
  begin
      alumnos_clase(alu);
    for cont := 1 to alu do
    begin
       llenaTabla(tablaNotas);
       element[cont] := tablaNotas;
    end;
  end;
 
  procedure presenta;
  begin
     for cont := 1 to alu do
     begin
        presentaTabla(element[cont]);
     end;
  end;
 
 
 
begin
writeln;
writeln (' CONTROL DE NOTAS ');
writeln;
llenaTabla(tablaNotas);
presentaTabla(tablaNotas);
readln;
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