Lista de prueba

¿Has encontrado un error? ¿Tienes la solución? Deja tu correción ;-)

Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress las eliminó al verlas como etiquetas HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios. Y lo mas importante: Todos los ejemplos fueron realizados por estudiante con únicamente conocimiento básico del lenguaje, no de programación.

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
Program TestList;
 
Uses classes;
 
const a1 : pchar = '0';      a2 : pchar = '1';
      a3 : pchar = '2';
      a4 : pchar = '3';
      a5 : pchar = '4';
      a6 : pchar = '5';      a7 : pchar = '6';
      a8 : pchar = '7';
      a9 : pchar = '8';
      a10 : pchar = '9';
 Var List : TList;
    StartMem,Runner : longint;
 
Function ACompare (P1,P2 : Pointer) : Integer;
 Type PByte = ^Byte;
 
begin
  Result:=PByte(p1)^-PByte(P2)^;
end; 
Procedure DumpMem;
 
begin
  Writeln ('    usedbytes : ',getfpcheapstatus.currheapused,' (=',getfpcheapstatus.currheapused-StartMem,' Bytes lost).')end;
 
Procedure DumpList;
 
Var I : longint; 
begin
  Write ('Count/Capacity : ',List.Count,'/',List.Capacity);dumpmem;
  If List.Count>0 then
    begin    For i:=0 to List.Count-1 do
      if assigned(List.items[I]) then write (Pchar(List.items[i])) else write ('*');
    Writeln;
    end;
end; 
 
begin
  StartMem:=getfpcheapstatus.currheapused;
  Writeln ('Creating List');  List:=TList.Create;
  DumpList;
  Writeln ('Increasing capacity to 10');
  List.Capacity:=10;
  DumpList;  Writeln ('Setting capacity to zero');
  List.capacity:=0;
  DumpList;
  Writeln ('Adding 10 elements in random sequence.');
  List.add (a2);  List.add (a1);
  List.add (a3);
  List.add (a8);
  List.add (a5);
  List.add (a9);  List.add (a4);
  List.Add (a8);
  List.Add (a7);
  List.Add (a6);
  Dumplist;  Writeln ('Removing Third element.');
  List.Delete(2);
  DumpList;
  Writeln ('Inserting "0" at third place');
  List.Insert (2,a1);  DumpList;
  Writeln ('Setting elmts 3 to 6 to Nil.');
  For Runner:=2 to 5 do List.Items[Runner]:=Nil;
  Dumplist;
  Writeln ('Packing list');  List.Pack;
  DumpList;
  Writeln ('Setting capacity to count');
  List.Capacity:=List.Count;
  DumpList;  Writeln ('Expanding list');
  List.Expand;
  DumpList;
  Writeln ('Index of ',a1,' : ',List.IndexOf(a1));
  Writeln ('Removing "',A1,'" from list.');  List.Remove (a1);
  DumpList;
  Writeln ('Sorting List.');
  List.Sort (@ACompare);
  DumpList;  Writeln ('Freeing list.');
  List.Free;
  DumpMem;
end.  $Log: list.pp,v $
end.  Revision 1.6  2005/03/20 12:46:55  marcoend.   * sb removed legacymem. Fixed with getfpcheapstatus. Now 1.9.9 only
end.
end.  Revision 1.5  2005/03/16 13:30:17  marco
end.   * fixed with legacymem (I hope)
end.end.  Revision 1.4  2005/02/14 17:13:18  peter
end.    * truncate log
end.
}

Punto importante: Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:

  • Si es lenguaje C <code lang="c">Código en C</code>
  • Si es lenguaje Pascal <code lang="pascal">Aquí dentro el código de Pascal</code>.

De esta manera el código coloreas el código.

Deja un comentario

Suscribirse a los comentarios.