Lista de prueba
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 marco end. * 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. }
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 [c]Código en C[/c]
- Si es lenguaje Pascal [pascal]Aquí dentro el código de Pascal[/pascal].
De esta manera el código coloreas el código.
Otro punto importante para muchos que sienten que se les ignora: 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 cambiar mis condiciones en el momento que así lo requiera.
¿estas de acuerdo? entonces adelante que ya te he quitado bastante tiempo leyendo esta basura de advertencias :)