Pascal/Turbo Pascal - programa que determine el numero de alumnos que han ingresado en 7 carreras

 
Vista:
sin imagen de perfil
Val: 2
Ha disminuido su posición en 4 puestos en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

programa que determine el numero de alumnos que han ingresado en 7 carreras

Publicado por kaito (2 intervenciones) el 12/01/2020 22:03:22
Buena nesecito ayuda con un programa que determine el numero de alumnos que han ingresado en 7 carreras universitarias, ing, mecanica, sistemas, etc. durante los ultimos n años, que ademas genere nros. aleatorios de estudiante, y que sea capaz de responder a.

1.-¿Cual ha sido el porcentaje de ingreso de alumnos por carrera?
2.-¿En que año se dio el mayor ingreso de alumnos?
3.-¿En que carrera se tuvo el menor ingreso de alumnos?

y que sea con subrutinas.

les agradeseria que me ayudaran con este pequeño problemita, gracias.
P.D: si no termino esto repruebo.
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
sin imagen de perfil

programa que determine el numero de alumnos que han ingresado en 7 carreras

Publicado por anonymous (4 intervenciones) el 13/01/2020 03:06:38
No explicas bien que se pretende con el aleatorio, si es para generar alumnos al azar y poblar tablas ficticias con ese random. De cualquier forma aca te dejo un programa que responde a las tres preguntas, para lo cual creé dos tablas ficticias de tipo Type record, cualquier duda pregunta.


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
uses crt;
 
Type
   Alumno = record
   Inscritos:integer;
   Carrera:string;
end;
 
Type
   Historico = record
   Ano:integer;
   Inscritos:integer;
end;
 
  const
     MaximoAlum = 5;
     TablaAlumnos : array[1..MaximoAlum] of Alumno = (
     (Inscritos : 50; Carrera: 'Sistemas'),
     (Inscritos : 20; Carrera: 'Electrica'),
     (Inscritos : 30; Carrera: 'Mecanica'),
     (Inscritos : 40; Carrera: 'Electronica'),
     (Inscritos : 55; Carrera: 'Industrial'));
 
  const
     MaximoHistorico = 5;
     TablaHistorico : array[1..MaximoHistorico] of Historico = (
     (Ano : 2015; Inscritos : 500),
     (Ano : 2016; Inscritos : 550),
     (Ano : 2017; Inscritos : 600),
     (Ano : 2018; Inscritos : 450),
     (Ano : 2019; Inscritos : 650));
 
var
  opcion:integer;
  i:integer;
  Mayor:integer;
  Menor:integer;
  Total:longint;
  Porcentaje:Real;
  Nombre_Carrera:string;
  MayorAno:integer;
 
begin
  clrscr;
  writeln('Seleccione su opcion');
  writeln('1: Cual ha sido el porcentaje de ingreso de alumnos por carrera');
  writeln('2: En que año se dio el mayor ingreso de alumnos');
  writeln('3: En que carrera se tuvo el menor ingreso de alumnos');
  write('-> ');
  readln(opcion);
  clrscr;
 
  if (opcion=1) then
    begin
        clrscr;
        Total:=0;
        for i := 1 to MaximoAlum do
            Begin
                 Total:= Total + TablaAlumnos[i].Inscritos;
            end;
 
        for i := 1 to MaximoAlum do
            Begin
                 Porcentaje:= TablaAlumnos[i].Inscritos / Total;
                 Writeln(TablaAlumnos[i].Carrera, ' Porcentaje: ', Porcentaje:1:2);
            end;
      end;
 
  if (opcion=2) then
      begin
      clrscr;
        Mayor:= TablaHistorico[1].Inscritos;
        for i := 1 to MaximoHistorico do
            Begin
                 If (TablaHistorico[i].Inscritos) > Mayor then
                    begin
                         Mayor:= TablaHistorico[i].Inscritos;
                         MayorAno:= TablaHistorico[i].Ano;
                    end
                 else;
            end;
        Writeln('El Ano que tuvo el mayor ingreso de alumnos es:  ', MayorAno, ' con ', Mayor, ' inscritos');
    end;
 
  if (opcion=3) then
 
    begin
      clrscr;
        Menor:= TablaAlumnos[1].Inscritos;
        for i := 1 to MaximoAlum do
            Begin
                 If (TablaAlumnos[i].Inscritos) < Menor then
                    begin
                         Menor:= TablaAlumnos[i].Inscritos;
                         Nombre_Carrera:= TablaAlumnos[i].Carrera;
                    end
                 else;
            end;
        Writeln('La carrera que tuvo el menor ingreso de alumnos es:  ', Nombre_Carrera, ' con ', Menor, ' alumnos');
    end;
 
  readkey;
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
sin imagen de perfil

programa que determine el numero de alumnos que han ingresado en 7 carreras

Publicado por anonymous (4 intervenciones) el 13/01/2020 16:33:50
Acá tiene el mismo programa hecho con subrutinas:

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
124
uses crt;
 
Type
   Alumno = record
   Inscritos:integer;
   Carrera:string;
end;
 
Type
   Historico = record
   Ano:integer;
   Inscritos:integer;
end;
 
  const
     MaximoAlum = 5;
     TablaAlumnos : array[1..MaximoAlum] of Alumno = (
     (Inscritos : 50; Carrera: 'Sistemas'),
     (Inscritos : 20; Carrera: 'Electrica'),
     (Inscritos : 30; Carrera: 'Mecanica'),
     (Inscritos : 40; Carrera: 'Electronica'),
     (Inscritos : 45; Carrera: 'Civil'),
     (Inscritos : 25; Carrera: 'Ambiental'),
     (Inscritos : 55; Carrera: 'Industrial'));
 
  const
     MaximoHistorico = 5;
     TablaHistorico : array[1..MaximoHistorico] of Historico = (
     (Ano : 2015; Inscritos : 500),
     (Ano : 2016; Inscritos : 550),
     (Ano : 2017; Inscritos : 600),
     (Ano : 2018; Inscritos : 450),
     (Ano : 2019; Inscritos : 650));
 
 
var
  opcion:integer;
 
procedure  p_Opcion1();
var
  i:integer;
  Total:longint;
  Porcentaje:Real;
begin
  clrscr;
        Total:=0;
        for i := 1 to MaximoAlum do
            Begin
                 Total:= Total + TablaAlumnos[i].Inscritos;
            end;
 
        for i := 1 to MaximoAlum do
            Begin
                 Porcentaje:= TablaAlumnos[i].Inscritos / Total;
                 Writeln(TablaAlumnos[i].Carrera, ' Porcentaje: ', Porcentaje:1:2);
            end;
end;
 
procedure  p_Opcion2();
var
  i:integer;
  Mayor:integer;
  MayorAno:integer;
begin
        clrscr;
        Mayor:= TablaHistorico[1].Inscritos;
        for i := 1 to MaximoHistorico do
            Begin
                 If (TablaHistorico[i].Inscritos) > Mayor then
                    begin
                         Mayor:= TablaHistorico[i].Inscritos;
                         MayorAno:= TablaHistorico[i].Ano;
                    end
                 else;
            end;
        Writeln('El Ano que tuvo el mayor ingreso de alumnos es:  ', MayorAno, ' con ', Mayor, ' inscritos');
end;
 
procedure p_Opcion3();
var
  Menor:integer;
  i:integer;
  Nombre_Carrera:string;
begin
        clrscr;
        Menor:= TablaAlumnos[1].Inscritos;
        for i := 1 to MaximoAlum do
            Begin
                 If (TablaAlumnos[i].Inscritos) < Menor then
                    begin
                         Menor:= TablaAlumnos[i].Inscritos;
                         Nombre_Carrera:= TablaAlumnos[i].Carrera;
                    end
                 else;
            end;
        Writeln('La carrera que tuvo el menor ingreso de alumnos es:  ', Nombre_Carrera, ' con ', Menor, ' alumnos');
end;
 
begin
  clrscr;
  writeln('Seleccione su opcion');
  writeln('1: Cual ha sido el porcentaje de ingreso de alumnos por carrera');
  writeln('2: En que año se dio el mayor ingreso de alumnos');
  writeln('3: En que carrera se tuvo el menor ingreso de alumnos');
  write('-> ');
  readln(opcion);
  clrscr;
 
  if (opcion=1) then
      begin
           p_Opcion1;
      end;
 
  if (opcion=2) then
      begin
           p_Opcion2;
      end;
 
  if (opcion=3) then
      begin
           p_Opcion3;
      end;
  readkey;
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