Pascal/Turbo Pascal - Ayuda con estos ejercicios

 
Vista:

Ayuda con estos ejercicios

Publicado por Oscar (2 intervenciones) el 11/12/2012 15:15:57
1) Escribir un ALGORITMO que permita simular el modulo de inscripción de Urace, en lo referente a las restricciones con la condición de la asignatura, es decir, según la condición de la asignatura a inscribir, se le limita el número de créditos a cursar, a saber:
- Si el alumno esta en condición 1 en la asignatura, puede cursar un máximo de créditos que no supere los cursados en el lapso anterior

- Si esta en condición 2 la asignatura solo puede cursar un máximo de 10 unidades de crédito

- Si es condición 3 solo puede cursar esa asignatura.

2) Calcular la suma de edades de un grupo de personas y determinar cual es la edad menor y cual la mayor entre el grupo procesado.

3) En el estado Imaginario se llevara acabo el proceso de elecciones para gobernador, en donde participaran solo dos canditados, el votante sufragara en una maquina donde ejercerá su derecho. Elabore un algoritmo que permita determinar el número de votos por cada candidato, los votos nulos y cual es el candidato ganador, inclusive si ocurre empate.


4) Elabore un algoritmo que permita determinar el índice académico de un estudiante por lapso, usted debe de solicitar al estudiante las notas y el numero de créditos de cada asignatura cursada.
Nota: El índice académico es el cociente obtenido de dividir el total de los productos obtenidos al multiplicar la calificación obtenida en una asignatura reflejada en el boletín de calificaciones por los créditos de dicha asignatura, por el total de unidades de créditos que afectan índice.

5) Confeccione un programa que dado un número del 1 a 7 escriba el correspondiente nombre del día de la semana. Si se entra cualquier otro número el programa emitirá un mensaje de error.

6) Elabore un programa que dado tres números cualesquiera, ejecute:
a) Si los tres son iguales calcular su suma
b) Si solo dos de ellos son iguales calcular la media de los tres.
c) Si son diferentes los tres determinar cuál es el mayor y cuál el menor.

7) Elabore un programa que muestre los números del 0 al 100 con saltos de 10. Ejemplo:

0 10 20 30 40 50 60 70 80 90 100

8) Escribir un programa que calcule el factorial de un número. Por ejemplo:
- Factorial de 4 = 24 (porque 1*2*3*4=24)
- Factorial de 6 = 720 (porque 1*2*3*4*5*6=720)



9) Se desea determinar de la población estudiantil de la Unexpo Barquisimeto, las siguientes estadísticas discretas:
• Total de alumnos inscritos por especialidad
• El total general y por especialidad de alumnos de sexo femenino y sexo masculino
• Promedio general de edades, por especialidad y determinar que especialidad tiene el mayor promedio de edad y a que sexo pertenece

10) Dada una secuencia de números naturales, se desea determinar:
• Cuantos de ellos son primos
• Cuantos de ellos son pares
• Cuantos de ellos son impares
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

Ayuda con estos ejercicios

Publicado por ramon (2158 intervenciones) el 12/12/2012 18:31:07
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
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
{A ver me faltan  datos para entenderte puesto que no estoy en esa y el echo limita pero a ver
 si vamos bien.}
 
 program muchosenuno;
  uses
     crt;
   type
      tipopersonas = record
             pers : string[30];
             edad : integer;
           end;
 
       candidato = record
                 nombre : array[1..2] of string[6];
                 votos : integer;
                 maquina : array[1..2] of integer;
                 nulos : integer;
                end;
 
     asignatura = record
               notas : real;
            creditos : integer;
           end;
 
 
   const
     condicion : array[1..3] of integer = (
     20, 10, 1);
 
     nombcad : array[1..2] of string[6] = (
     'Paloma','Pichon');
 
     dia : array[1..7] of string[12] = (
     'Lunes','Martes','Miercoles','Jueves',
     'Viernes','Savado','Domingo');
 
   var
     tecla : char;
     personas : array[1..10] of tipopersonas;
     cont : integer;
     votacion : array[1..100] of candidato;
     asign : array[1..20] of asignatura;
 
  procedure entradaUrace;
  var
    cond : integer;
    anter : integer;
  begin
     clrscr;
     write('  Condicion Alumno : ');
     readln(cond);
     case cond of
  1 : begin
        write('  N§ Creditos Cursados Anteriormente : ');
        readln(anter);
        condicion[1] := anter;
        writeln('  Sus Creditos Seran : ',condicion[1]);
      end;
  2 : begin
        writeln('  Sus Creditos Seran : ',condicion[2]);
      end;
  3 : begin
        writeln('  Sus Creditos Seran : ',condicion[3]);
      end;
    end;
      writeln;
      writeln('   Pulse [Enter]');
      readln;
  end;
 
  procedure edadespersonas;
  var
    suma, g, i : integer;
    auxi : tipopersonas;
  begin
      for i := 1 to 10 do
      begin
      clrscr;
      writeln('*** Entrada Datos Personas N§ ',i,' ***');
      writeln;
      write('  Nombre : ');
      readln(personas[i].pers);
      write('  Edad   : ');
      readln(personas[i].edad);
      end;
      for g := 1 to 10 do
        for i := 10 downto g + 1 do
        begin
            if personas[g].edad > personas[i].edad then
            begin
               auxi := personas[g];
               personas[g] := personas[i];
               personas[i] := auxi;
            end;
         end;
         suma := 0;
         for g := 1 to 10 do
         begin
         suma := suma + personas[g].edad;
         end;
         writeln;
         writeln('  La Suma De Las Edades Es : ',suma);
         writeln;
         writeln('  La Persona De Mas Edad Es : ',personas[10].pers,'  ',
                                                    personas[10].edad);
         writeln;
         writeln('  La Persona De Menos Edad Es : ',personas[1].pers,'  ',
                                                    personas[1].edad);
         writeln;
         writeln('   Pulse [Enter]');
         readln;
      end;
 
   procedure vataciones;
   var
     nulo, total, ik, ds : integer;
     ganador, ga1, ga2 : integer;
   begin
       ds := 0;
       clrscr;
     repeat
       gotoxy(7,1);write(' **** Elecciones Para Gobernador ****  ');
       gotoxy(8,3);write('<<<<< Candidatos A Gobernador >>>>>');
       gotoxy(3,5);write('     Palomo          Pichon        Voto Nulo ');
       gotoxy(3,6);write('    ÚÄÄÄÄÄÄÄÄ¿      ÚÄÄÄÄÄÄÄÄ¿     ÚÄÄÄÄÄÄÄÄ¿');
       gotoxy(3,7);write('    ³ ÚÄÄÄÄ¿ ³      ³ ÚÄÄÄÄ¿ ³     ³ ÚÄÄÄÄ¿ ³');
       gotoxy(3,8);write('    ³ ³    ³ ³      ³ ³    ³ ³     ³ ³    ³ ³');
       gotoxy(3,9);write('    ³ ÀÄÄÄÄÙ ³      ³ ÀÄÄÄÄÙ ³     ³ ÀÄÄÄÄÙ ³');
      gotoxy(3,10);write('    ÀÄÄÄÄÄÄÄÄÙ      ÀÄÄÄÄÄÄÄÄÙ     ÀÄÄÄÄÄÄÄÄÙ');
      gotoxy(3,11);write('    Pulse [1]       Pulse [2]      Pulse [3] ');
       gotoxy(7,13);write('<< Elega Opcion De Candidato [Esc]=Final >> ');
      repeat
       tecla := readkey;
      until tecla in['1','2','3',#27];
      if tecla = '1' then
      begin
         for ik := 1 to 4 do
         begin
            gotoxy(9 + ik,8);write('±');
         end;
         delay(200);
         votacion[ds].nombre[1] := copy(nombcad[1],1,6);
         votacion[ds].votos := votacion[ds].votos + 1;
         votacion[ds].maquina[1] := votacion[ds].maquina[1] + 1;
         ds := ds + 1;
      end;
     if tecla = '2' then
     begin
         for ik := 1 to 4 do
         begin
            gotoxy(25 + ik,8);write('±');
         end;
         delay(200);
         votacion[ds].nombre[2] :=  copy(nombcad[2],1,6);
         votacion[ds].votos := votacion[ds].votos + 1;
         votacion[ds].maquina[2] := votacion[ds].maquina[2] + 1;
         ds := ds + 1;
     end;
       if tecla = '3' then
       begin
         for ik := 1 to 4 do
         begin
            gotoxy(40 + ik,8);write('±');
         end;
         delay(200);
         votacion[ds].nulos := votacion[ds].nulos + 1;
         ds := ds + 1;
     end;
     until tecla = #27;
     clrscr;
     writeln(' (((((( Informacion Elecciones  ))))))');
     writeln;
     total := 0;
     nulo := 0;
     ga1 := 0;
     ga2 := 0;
     for ik := 1 to ds - 1 do
     begin
        total := total + votacion[ik].votos;
        nulo := nulo + votacion[ik].nulos;
        ga1 := ga1 + votacion[ik].maquina[1];
        ga2 := ga2 + votacion[ik].maquina[2];
     end;
     writeln('  Votos Totales     : ',total);
     writeln('  Votos Nulos       : ',nulo);
     if ga1 > ga2 then
     begin
  writeln('  Candidato Ganador : ',votacion[1].nombre[1],'  Votos : ',ga1);
  ganador := ga1;
  end
   else
      begin
  writeln('  Candidato Ganador : ',votacion[1].nombre[2],'  Votos : ',ga2);
  ganador := ga2;
  end;
  writeln('  Ganador Por El    : ',((total * ganador) / 100):0:2,'%');
  writeln;
     writeln('   Pulse [Enter]');
     readln;
   end;
 
   procedure entrada_asignatura;
   var
     i, as : integer;
     nt : real;
     cre : integer;
   begin
      as := 1;
      repeat
      clrscr;
      writeln('****** Indice Academico Asignatura N§ : ',as,' ******');
      writeln;
      write('  nota : ');
      readln(nt);
      asign[as].notas := nt;
      write('  creditos : ');
      readln(cre);
      asign[as].creditos := cre;
      writeln;
      writeln(' Entra Mas Datos [S/N]');
      repeat
      tecla := upcase(readkey);
      until tecla in['S','N'];
      if tecla = 'S' then
      as := as + 1;
      until tecla = 'N';
      clrscr;
      nt := 0;
      cre := 0;
      for i := 1 to as do
      begin
      nt := nt + asign[i].notas;
      cre := cre + asign[i].creditos;
      end;
      writeln('   ***** El Indice Academico Es De *****');
      writeln;
      writeln('  >>>> Las Asignaturas An Sido : ',as,' <<<<<');
      writeln;
      writeln('   El Indice Es : ',((nt * cre) / cre):0:2);
      writeln;
      writeln('  <<<<< Pulse [Enter] >>>>>');
      readln;
   end;
 
  procedure diasemana;
  var
    nc : integer;
  begin
      clrscr;
      write('  Entre Un Numero Del 1 Al 7 : ');
      readln(nc);
      writeln;
      if (nc < 1) and (nc > 7) then
      writeln('  Error Entro Un Numero Incorrecto')
    else
      writeln('  El Dia De La Semana Es : ',dia[nc]);
      writeln;
      writeln('   Pulse [Enter]');
      readln;
  end;
 
 
   procedure menu;
   var
    tt : char;
   begin
      repeat
      clrscr;
      writeln(' ******* Menu General *******');
      writeln;
      writeln('  1 = Modulo De Inscripcion');
      writeln('  2 = Calcular La Suma De Edades');
      writeln('  3 = Proceso De Elecciones');
      writeln('  4 = Indice Academico');
      writeln('  5 = Dia De La Semana');
      writeln('  6 = Salir');
      writeln;
      writeln(' ****** Elija Opcion ******');
      repeat
         tt := readkey;
      until tt in['1','2','3','4','5','6'];
    case tt of
  '1' : entradaUrace;
  '2' : edadespersonas;
  '3' : vataciones;
  '4' : entrada_asignatura;
  '5' : diasemana;
    end;
      until tt = '6';
   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
0
Comentar