Pascal/Turbo Pascal - Simulacion Usando colas

 
Vista:

Simulacion Usando colas

Publicado por yoselin (3 intervenciones) el 29/09/2016 03:14:58
. Simulación de Control escolar
Necesito Desarrollar un programa utilizando el TAD cola (implementado con memoria dinámica) , para resolver el siguiente problema. ( Usando leguaje Pascal)

Simula el tiempo en que son atendidos los alumnos en el departamento de Control Escolar de una Escuela Técnica, al realizar el proceso de reinscripción.

Se cuenta únicamente con una empleada para atender a los alumnos, y se realiza con base en “el primero en llegar, es el primero en ser atendido”. Se identifica a cada alumno con un número secuencial, siempre iniciando en uno.

De acuerdo con estudios previos de tiempos y movimientos, la empleada suele tardarse en atender a un alumno entre 2 y 5 minutos. Con base en los resultados de otros estudios, se ha encontrado que los alumnos se inscriben a entre 3 y 8 materias.

El programa debe registrar la hora en la que el alumno llegó a la fila y la hora en que fue atendido.

Por cada alumno atendido, el programa debe indicar el tiempo en segundos que estuvo formado (desde que se incorporó a la fila hasta el momento en que fue atendido) y la cantidad de materias a la que se inscribió.

Al finalizar la simulación, el programa debe especificar el tiempo promedio de espera, y el promedio de materias a las que se inscriben los alumnos.
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

Simulacion Usando colas

Publicado por ramon (2158 intervenciones) el 30/09/2016 19:27:50
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
{Espero esto te ayude a seguir }
 
 program lascolas;
  uses
     crt;
   type
     puntealumno = ^contescolar;
     contescolar = record
             horalleg : real;
             horaaten : real;
             alumno : integer;
             sig : puntealumno;
          end;
    clases = record
          inic, fin : puntealumno;
        end;
 
 
   var
      clas : clases;
      llega, atend : real;
      num : integer;
      tec : char;
 
   procedure iniciamoscola(var cc : clases);
   begin
      cc.inic := nil;
      cc.fin := nil;
   end;
 
     procedure entrardatoscola(llega, atiend : real;alum : integer;
                               var cc : clases);
     var
       k : puntealumno;
       begin
          new(k);
          k^.horalleg := llega;
          k^.horaaten := atiend;
          k^.alumno := alum;
          k^.sig := nil;
          if cc.fin <> nil then
          cc.fin^.sig := k
       else
         cc.inic := k;
         cc.fin := k;
      end;
 
   procedure sacadecola(var cc : clases);
   var
     k : puntealumno;
     begin
        if cc.inic <> nil then
        begin
            writeln(cc.inic^.horalleg:0:2,'  ',cc.inic^.horaaten:0:2,'   ',
                     cc.inic^.alumno);
            k := cc.inic;
            cc.inic := cc.inic^.sig;
            dispose(k);
      end;
    end;
 
    function escolavacia(cc : clases) : boolean;
    begin
       if cc.inic = nil then
       escolavacia := true
    else
       escolavacia := false;
     end;
 
   begin
       iniciamoscola(clas);
       clrscr;
      repeat
        write('  Entre Hora Entrada  : ');
        readln(llega);
        write('  Entre Hora Atendido : ');
        readln(atend);
        write('  Entre Numero        : ');
        readln(num);
        entrardatoscola(llega,atend,num,clas);
        writeln;
        writeln('  Entra Mas Datos [S/N]');
        repeat
            tec := upcase(readkey);
        until tec in['S','N'];
        clrscr;
      until tec = 'N';
      while not escolavacia(clas) do
      sacadecola(clas);
      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