Pascal/Turbo Pascal - diseñar un algoritmo en Pascal que leerá el nombre del estudiante

   
Vista:

diseñar un algoritmo en Pascal que leerá el nombre del estudiante

Publicado por Alan Jose (3 intervenciones) el 10/06/2016 17:18:17
diseñar un algoritmo en Pascal que leerá el nombre del estudiante, las 4 criterios si el campo es vacío o mayor a lo solicitado notificar que ingrese una nota de acuerdo a lo planteado, escribirá el resultado y mostraran las notas en la escala de 5,y volverá a pedir los datos del siguiente estudiante hasta que el usuario finalice el ciclo.

Les agradecería mucho su ayuda.!
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

diseñar un algoritmo en Pascal que leerá el nombre del estudiante

Publicado por ramon (2072 intervenciones) el 10/06/2016 21:33:35
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
{Disculpa si no entendí bien pero mira esto a ver si ayuda }
 
program estudiante;
  uses
     crt;
   type
     notas = record
          nombre : string;
          notas : array[1..4] of real;
          num : integer;
       end;
 
   var
     losestudi : array[1..40] of notas;
     cont : integer;
 
  procedure entranotas(n : integer);
  begin
     if n > 40 then
     n := 40;
     clrscr;
     write('   Entre Nombre : ');
     readln(losestudi[n].nombre);
     write('   Entre Noto 1 : ');
     readln(losestudi[n].notas[1]);
     write('   Entre Noto 2 : ');
     readln(losestudi[n].notas[2]);
     write('   Entre Noto 3 : ');
     readln(losestudi[n].notas[3]);
     write('   Entre Noto 4 : ');
     readln(losestudi[n].notas[4]);
     cont := cont + 1;
     if cont > 40 then
     cont := 40;
   end;
 
 
   procedure menu;
   var
     sal : boolean;
     tec : char;
     begin
        sal := false;
        cont := 1;
        repeat
           clrscr;
           writeln('   Entrada Notas Estudiantes ');
           writeln;
           writeln('   [E] = Entradas Notas');
           writeln('   [S] = Salir');
           writeln;
           writeln('   Elija Opcion');
          repeat
             tec := upcase(readkey);
          until tec in['E','S'];
          if tec = 'S' then
          sal := true
       else
         entranotas(cont);
        until sal = true;
     end;
 
    begin
       menu;
    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

Ayuda urgente amigos!

Publicado por Alan Jose (3 intervenciones) el 10/06/2016 21:37:45
gracias amigo! Y lamento la confusion con el enunciado.

Es este:

La nota final de cada
estudiante
se calcula según los siguientes criterios:

Parte práctica vale el 25%;

Parte de problemas vale 35%

Parte de Desarrollo lógico el 20%.

Parte teórica 20%.
El algoritmo leerá el nombre
del estudiante, los 4 criterios si el campo es vacío o mayor a lo solicitado notificar que ingrese una nota de acuerdo a lo planteado, escribirá el resultado y mostraran las notas en la escala del 1 al 5, y volverá a pedir los datos del siguiente estudiante hasta que el usuario finalice el ciclo.

y me dsculpas la molestia
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

Ayuda urgente amigos!

Publicado por ramon (2072 intervenciones) el 12/06/2016 20:57:42
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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
{Mira si esto te ayuda es para 60 alumnos}
 
 program notasalumnos;
 uses
   crt;
   const
   asig = 4;
   practica = 25;
   problemas = 35;
   Desarrollo = 20;
   teorica = 20;
 
   type
     alumno = record
         nombre : string[80];
         asignt : array[1..asig] of string[10];
         nota : array[1..asig,1..asig] of real;
         notafinal : array[1..asig] of real;
       end;
 
   var
     alu : array[1..60] of alumno;
     cri, n, cont : integer;
     tec : char;
 
  procedure entradadatosalumno(nn : integer);
  begin
     n := 1;
     with alu[nn] do
     begin
     write('   Entre Nombre : ');
     readln(nombre);
     cri := 1;
  repeat
     writeln('   Elija Criterio = [1]=Practica \ [2]=Problemas ',
                             '\ [3]=Desarrollo \ [4]=Teorica');
     repeat
        tec := readkey;
     until tec in['1','2','3','4'];
     case tec of
  '1' : asignt[cri] := 'practica';
  '2' : asignt[cri] := 'problemas';
  '3' : asignt[cri] := 'Desarrollo';
  '4' : asignt[cri] := 'teorica';
    end;
     writeln;
     n := 1;
     repeat
     write('   Entre Nota N. ',n,' : ');
     readln(nota[cri][n]);
     n := n + 1;
     until n > asig;
     if asignt[cri] = 'practica' then
     begin
        notafinal[1] := ((nota[nn][1] + nota[nn][2] +
                         nota[nn][3] + nota[nn][4]) * practica) / 100;
     end;
     if asignt[cri] = 'problemas' then
     begin
       notafinal[2] := ((nota[nn][1] + nota[nn][2] +
                         nota[nn][3] + nota[nn][4]) * problemas) / 100;
     end;
     if asignt[cri] = 'Desarrollo' then
     begin
       notafinal[3] := ((nota[nn][1] + nota[nn][2] +
                         nota[nn][3] + nota[nn][4]) * Desarrollo) / 100;
     end;
      if asignt[cri] = 'teorica' then
     begin
       notafinal[4] := ((nota[nn][1] + nota[nn][2] +
                         nota[nn][3] + nota[nn][4]) * teorica) / 100;
     end;
    cri := cri + 1;
   until cri > asig;
   clrscr;
   writeln('   Alumno : ',nombre);
     writeln;
   for cri := 1 to asig do
   begin
     writeln('   Asignatura : ',asignt[cri]);
     writeln;
     writeln('   Notas : ',nota[cri][1]:0:2,'  ',nota[cri][2]:0:2,'  ',
     nota[cri][3]:0:2,'  ',nota[cri][4]:0:2);
     writeln;
     writeln('   Nota Final : ',notafinal[cri]:0:2);
     writeln;
   end;
     writeln;
     writeln('   Pulse una Tecla');
     readkey;
     end;
  end;
 
  procedure muestra_resultados(r : integer);
  var
    c, res : integer;
  begin
     if r > 1 then
     begin
     for res := 1 to r do
     begin
     with alu[res] do
     begin
       clrscr;
         writeln('   Alumno : ',nombre);
         writeln;
     for c := 1 to asig do
     begin
        writeln('   Asignatura : ',asignt[c]);
        writeln;
        writeln('   Notas : ',nota[c][1]:0:2,'  ',nota[c][2]:0:2,'  ',
                              nota[c][3]:0:2,'  ',nota[c][4]:0:2);
        writeln;
        writeln('   Nota Final : ',notafinal[c]:0:2);
        writeln;
     end;
   end;
         writeln;
         writeln('   Pulse una Tecla');
         readkey;
         clrscr;
     end;
     end
   else
      begin
          writeln;
          textcolor(4);
          writeln('   Primero Entre Los Datos Pulse Una Tecla');
          textcolor(7);
          readkey;
      end;
  end;
 
  procedure menu;
     var
     sal : boolean;
     tec : char;
     begin
        sal := false;
        cont := 1;
        repeat
           clrscr;
           writeln('   Entrada Notas Estudiantes ');
           writeln;
           writeln('   [E] = Entradas Notas');
           writeln('   [M] = Mostrar Resultados');
           writeln('   [S] = Salir');
           writeln;
           writeln('   Elija Opcion');
          repeat
             tec := upcase(readkey);
          until tec in['E','M','S'];
          clrscr;
          if tec = 'S' then
          sal := true;
         if tec = 'E' then
         begin
         entradadatosalumno(cont);
         cont := cont + 1;
         if cont > 60 then
         cont := 60;
         end;
         if tec = 'M' then
         muestra_resultados(cont - 1);
        until sal = true;
  end;
 
 
  begin
      clrscr;
      menu;
  end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda urgente amigos!

Publicado por Alan Jose (3 intervenciones) el 12/06/2016 21:14:03
Muchas gracias ramon, que digo gracias... Inmensas gracias amigo me salvaste ! un abrazo crack
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