● Cantidad total de centros para cada universidad.
Publicado por Gianluca Cardone (3 intervenciones) el 14/12/2022 22:36:43
Buenas! estoy haciendo las practicas de la facultad, estamos utilizando Pascal, me parece el lugar correcto para publicar mi duda. Les dejo el inciso del ejercicio para ponerlos en contexto:
Realizar un programa que lea información de centros de investigación de Universidades Nacionales. De cada
centro se lee su nombre abreviado (ej. LIDI, LIFIA, LINTI), la universidad a la que pertenece, la cantidad de
investigadores y la cantidad de becarios que poseen. La información se lee de forma consecutiva por universidad y
la lectura finaliza al leer un centro con 0 investigadores, que no debe procesarse. Informar:
● Cantidad total de centros para cada universidad.
● Universidad con mayor cantidad de investigadores en sus centros.
● Los dos centros con menor cantidad de becarios.
El programa esta casi completo, lo unico que me faltaria es como haria para calcular y luego informar la cantidad de centros para cada universidad? (teniendo en cuenta que solo lo tendria que hacer con estructuras de control y con registros), es decir, todavia no empecé a dar listas y vectores.
Realizar un programa que lea información de centros de investigación de Universidades Nacionales. De cada
centro se lee su nombre abreviado (ej. LIDI, LIFIA, LINTI), la universidad a la que pertenece, la cantidad de
investigadores y la cantidad de becarios que poseen. La información se lee de forma consecutiva por universidad y
la lectura finaliza al leer un centro con 0 investigadores, que no debe procesarse. Informar:
● Cantidad total de centros para cada universidad.
● Universidad con mayor cantidad de investigadores en sus centros.
● Los dos centros con menor cantidad de becarios.
El programa esta casi completo, lo unico que me faltaria es como haria para calcular y luego informar la cantidad de centros para cada universidad? (teniendo en cuenta que solo lo tendria que hacer con estructuras de control y con registros), es decir, todavia no empecé a dar listas y vectores.
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
program eje7prac3;
type
centros = record
nombre: string;
universidad: string ;
cant_investigadores: integer ;
cant_becarios: integer;
end;
procedure LeerDatos(var centro1: centros) ;
begin
write ('Ingrese el nombre del centro: ') ;
readln (centro1.nombre) ;
write ('Ingrese la universidad que corresponde al centro ',centro1.nombre, ': ');
readln (centro1.universidad) ;
write ('Ingrese la cantidad de investigadores: ');
readln (centro1.cant_investigadores) ;
write ('Ingrese la cantidad de becarios: ');
readln (centro1.cant_becarios) ;
writeln ;
end;
/// ● Universidad con mayor cantidad de investigadores en sus centros.
procedure UniversidadMAX_investigadores (var centro2: centros;var max: integer; var universidad_MAX_investigadores: string ) ;
begin
if centro2.cant_investigadores > max then
begin
max:= centro2.cant_investigadores;
universidad_MAX_investigadores:= centro2.universidad;
end;
end;
//● Los dos centros con menor cantidad de becarios. }
procedure MenorBecarios (var centro3: centros; var min1,min2: integer; var centroMin1, centroMin2: string) ;
begin
if centro3.cant_becarios < min1 then
begin
min2:= min1 ;
min1:= centro3.cant_becarios;
centroMin2:= centroMin1 ;
centroMin1:= centro3.nombre;
end
else
if centro3.cant_becarios < min2 then
begin
min2:= centro3.cant_becarios ;
centroMin2:= centro3.nombre ;
end;
end;
var
centro: centros;
max: integer;
uni_max_investigadores: string ;
min1,min2: integer ;
centroMin1, centroMin2: string ;
begin
min1:= 9999;
min2:= 9999;
max:= -1 ;
LeerDatos (centro) ;
if (centro.cant_investigadores <> 0) then
begin
UniversidadMAX_investigadores (centro,max,uni_max_investigadores) ;
MenorBecarios (centro,min1,min2,centroMin1,centroMin2) ;
end;
while (centro.cant_investigadores <> 0) do
begin
LeerDatos (centro) ;
if (centro.cant_investigadores <> 0) then
begin
UniversidadMAX_investigadores (centro,max,uni_max_investigadores) ;
MenorBecarios (centro,min1,min2,centroMin1,centroMin2) ;
end;
end;
writeln ;
writeln ('La universidad con mayor cantidad de investigadores es: ',uni_max_investigadores) ;
writeln ; // salto de linea
writeln ('Los dos cetro con menor cantidad de becarios son: ',centroMin1, ' y ' ,centroMin2) ;
end.
Valora esta pregunta


0