Lista de prueba
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. } |
¿Has encontrado algún error? ¿Tienes la solución? Dejame 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 personas con únicamente conocimiento básico del lenguaje, no de programación.
Otro 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.
Otro punto importante para muchos que crees que te he ignorado: Todos los comentarios los reviso y en su debido momento los apruebo, pero ojo con el con lo siguiente:Me reservo el derecho de alterar, publicar o no los comentarios así como también cambiar mis condiciones en el momento que yo lo requiera.
¿Si estas de acuerdo? Adelante! que ya te he quitado bastante tiempo leyendo esta basura :)