Pascal/Turbo Pascal - listas

 
Vista:
sin imagen de perfil

listas

Publicado por lion (6 intervenciones) el 15/03/2014 17:31:02
Hola!
Podrian pasarme un ejercicio de listas? no se muy bien del todo como funcionan e implementan



Un saludo y gracias!
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

listas

Publicado por ramon (2158 intervenciones) el 17/03/2014 01:25:18
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
{Esto te ayudara algo}
 
program libreria;
  uses
     crt;
  type
     ptlibro = ^libro;
     libro = record
            numero    : longint;
            titulo    : string[80];
            autor     : string[100];
            editorial : string[80];
            edicion   : string[12];
            codigo    : string[20];
            estado    : boolean;
            sig : ptlibro;
         end;
 
  const
     codigo_temas : array[1..8] of string[20] = (
     'matematica','lengua y literatura','ciencias sociales',
     'idiomas extranjeros','informatica','arte y cultura',
     'pedagogia y didactica','otros');
 
  var
    actul, priml, ultiml : ptlibro;
    plibros : libro;
 
 
 
  procedure entrada_puntero;
  begin
     if priml = nil then
     begin
        new(actul);
        actul^ := plibros;
        priml := actul;
        actul^.sig := nil;
      end
    else
       begin
         ultiml := actul;
         new(actul);
         actul^ := plibros;
         ultiml^.sig := actul;
         actul^.sig := nil;
       end;
     end;
 
  procedure entrada_libros;
  var
    codi : integer;
  begin
     clrscr;
     writeln('   ***** Entrada Libros *****');
     writeln;
     write('   Numero            : ');
     readln(plibros.numero);
     write('   Titulo            : ');
     readln(plibros.titulo);
     write('   Autor             : ');
     readln(plibros.autor);
     write('   Editorial         : ');
     readln(plibros.editorial);
     write('   Edicion           : ');
     readln(plibros.edicion);
     write('   Codigo Num. 1 a 8 : ');
     readln(codi);
     if (codi < 1) or (codi > 8) then
     begin
       repeat
        writeln('Codigo No Correcto Es De 1..8');
        writeln;
        write('   Codigo Num. 1 a 8 : ');
        readln(codi);
      until codi in[1..8];
     end;
     plibros.codigo := codigo_temas[codi];
     plibros.estado := true;
     entrada_puntero;
  end;
 
  procedure presentadatos;
  var
    temp : ptlibro;
   begin
      temp := priml;
      while temp <> nil do
      begin
        with temp do
        begin
           writeln('  Numero               : ',numero);
           writeln('  Titulo               : ',titulo);
           writeln('  Autor                : ',autor);
           writeln('  Editorial            : ',editorial);
           writeln('  Ediccion             : ',edicion);
           writeln('  Serie                : ',codigo);
           writeln('  Estado               : ',estado);
        end;
          readkey;
          clrscr;
      end;
   end;
 
 
  begin
     priml := nil;
     entrada_libros;
     presentadatos;
     if priml <> nil then
     dispose(actul);
  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
sin imagen de perfil

listas

Publicado por lion (6 intervenciones) el 17/03/2014 19:57:14
¡Estupendo muchas gracias por el aporte Ramon!


Saludos.
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