Pascal/Turbo Pascal - pseudocodigo y turbo pascal

   
Vista:

pseudocodigo y turbo pascal

Publicado por michelle ahilydmartinez@hotmail.com (1 intervención) el 13/11/2015 00:02:34
hola chic@s por favor ayuden me con esto que de verdad me esta complicando mucho la vida, no entiendo este ejercicio

En un salon de clases hay 30 alumnos a los cuales el profesor les realizo 8 evaluaciones con el mismo peso. Determine e imprima los nombres de los alumnos y su nota definitiva.
Ademas se pide: cantidad de aprobados, reprobados
porcentaje aprobados, reprobados
maxima nota (promedio), minima nota


Muchisimas gracias, espero que puedan ayudarme
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

pseudocodigo y turbo pascal

Publicado por dario (40 intervenciones) el 17/11/2015 09:11:55
Hola Michelle, espero esto te sirva. Es el pseudocodigo, tu tendras que pasarlo a Pascal.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Pseudocodigo
#nombre de los alumnos y notas
para i = 1 hasta 30
    imprimir(nombre,nota)
fin-para
 
#Cantidad de aprobados y reprobados
aprobados = 0
reprobados = 0
para i = 1 hasta 30
    si nota(i) > 11 entonces
        aprobados = aprobados + 1
    sino
        reprobados = reprobados + 1
    fin-si
fin-para
 
#Porcentaje de aprobados y reprobados
pa = (aprobados * 100) / 30 #porcentaje de aprobados
pr = (reprobados * 100) / 30 #porcentaje de reprobados
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

pseudocodigo y turbo pascal

Publicado por ramon (2072 intervenciones) el 17/11/2015 17:37:36
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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
{Mira esto}
 
program losalumnos;
  uses
     crt;
  const
     max = 30;
     evalu = 8;
 
  type
     string40 = string[40];
 
   alumno = record
            nombre : string40;
            notas  : array[1..evalu] of real;
            notatotal : real;
          end;
 
    var
      alumnos : array[1..max] of alumno;
      cont : integer;
      aproprocentaje, reproprocentaje : real;
      notamax, notamin, notaprom : real;
 
   procedure asignanotas;
   var
     h : real;
     a, i : integer;
   begin
    for a := 1 to max do
    begin
      alumnos[a].nombre := chr(a + 48) + ' el alumno';
      for i := 1 to evalu do
      begin
         h := random(9) + 1;
         alumnos[a].notas[i] := h;
      end;
      alumnos[a].notatotal := 0.0;
      for i := 1 to evalu do
      alumnos[a].notatotal := alumnos[a].notatotal + alumnos[a].notas[i];
    end;
   end;
 
   procedure maxnota_minnota_promedio;
   var
     i, k : integer;
     temp : real;
     datos : array[1..max] of real;
     begin
        notamax := 0.0;
        notamin := 1000.99;
        notaprom := 0;
        for k := 1 to max do
        datos[k] := alumnos[k].notatotal;
        for k := 1 to max do
         for i := max downto k + 1 do
         begin
            if datos[k] > datos[i] then
            begin
               temp := datos[k];
               datos[k] := datos[i];
               datos[i] := temp;
            end;
         end;
          notamax := datos[max];
          notamin := datos[1];
          notaprom := datos[round(max / 2)];
     end;
 
   procedure presenta_notas;
   var
     t, u : integer;
     begin
       clrscr;
       writeln('      Nombre                   Evaluaciones ',
                                       '                      Total');
       writeln;
       for t := 1 to max do
       begin
        write('   ',alumnos[t].nombre,'  ');
        for u := 1 to evalu do
        begin
           write('  ',alumnos[t].notas[u]:0:2);
        end;
        write('  ',alumnos[t].notatotal:0:2);
        writeln;
       end;
      end;
 
   function aprobados(nota : real) : integer;
   var
     s : integer;
     j : integer;
   begin
       j := 0;
       aprobados := 0;
       for s := 1 to max do
       begin
       if alumnos[s].notatotal >= nota then
       j := j + 1;
       end;
       aproprocentaje := j / evalu;
       aprobados := j;
   end;
 
   function reprobados(nota : real) : integer;
   var
     s : integer;
     j : integer;
   begin
      j := 0;
       reprobados := 0;
       for s := 1 to max do
       begin
       if alumnos[s].notatotal >= nota then
       j := j + 1;
       end;
       reproprocentaje := j / evalu;
       reprobados := j;
   end;
 
 
 
   begin
       randomize;
       asignanotas;
       presenta_notas;
       writeln;
       writeln('      Aprobados   = ',aprobados(40));
       writeln;
       writeln('      Reaprobados = ',reprobados(30));
       writeln;
       writeln('     Aprobados %  = ',aproprocentaje:0:2);
       writeln;
       writeln('   Reaprobados %  = ',reproprocentaje:0:2);
       maxnota_minnota_promedio;
       writeln;
       writeln('   Nota Max       = ',notamax:0:2);
       writeln;
       writeln('   Nota Minima    = ',notamin:0:2);
       writeln;
       writeln('   Nota Media     = ',notaprom:0:2);
       writeln;
       writeln('    Pulse Una Tecla');
       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