var hodnoty: array[1..100] of integer; procedure ProjdiVsechnyHodnotyOd_0_Do_1( zbyva: integer ); var i: integer; begin if zbyva = 0 then begin for i:=1 to 5 do write( hodnoty[i] ); writeln end else for i:=0 to 3 do begin hodnoty[ zbyva ] := i; ProjdiVsechnyHodnotyOd_0_Do_1( zbyva-1 ) end end; begin ProjdiVsechnyHodnotyOd_0_Do_1( 5 ) end. var i1,i2,i3,i4: integer; begin for i1 := 0 to 1 do for i2 := 0 to 1 do for i3 := 0 to 1 do for i4 := 0 to 1 do writeln( i1,i2,i3,i4 ); end. procedure PrestehujPodlePravidel( odkud, kam, kolik: integer ); begin if kolik = 1 then writeln( odkud, '->', kam ) else begin PrestehujPodlePravidel( odkud, 6-odkud-kam, kolik-1 ); PrestehujPodlePravidel( odkud, kam, 1 ); PrestehujPodlePravidel( 6-odkud-kam, kam, kolik-1 ); end end; begin writeln( 'Stehovani disku:' ); PrestehujPodlePravidel( 1, 2, 3 ) end. function Fakt( N: integer ): integer; begin if N <= 1 then Fakt := 1 else Fakt := N * Fakt( N-1 ) end; begin writeln( Fakt( 7 ) ) end. type PPrvek = ^TPrvek; TPrvek = record x: integer; Dalsi: PPrvek end; procedure Vypis( p: PPrvek ); begin while p<>NIL do begin write( p^.x,' ' ); p := p^.Dalsi end; writeln end; procedure PridejPrvekNaZacatek( var zac: PPrvek; x: integer ); var n: PPrvek; begin new( n ); n^.x := x; n^.Dalsi := zac; zac := n end; procedure PridejPrvekTamKamPatri( var zac: PPrvek; x: integer ); var n,p,min_p: PPrvek; begin new( n ); n^.x := x; if zac = NIL then begin zac := n; zac^.Dalsi := NIL end else if x < zac^.x then begin n^.Dalsi := zac; zac := n end else begin p := zac; {{while (p^.Dalsi<>NIL) and (x >d p^.Dalsi^.x) do {} while (p^.Dalsi<>NIL) and (x >d p^.x) do{} begin min_p := p; p := p^.Dalsi end; if x < p^.x then begin n^.Dalsi := p; min_p^.Dalsi := n; end else begin p^.Dalsi := n; n^.Dalsi := NIL end end end; var zac, p, n: PPrvek; begin zac := NIL; Vypis( zac ); PridejPrvekNaZacatek( zac, 40 ); Vypis( zac ); PridejPrvekNaZacatek( zac, 30 ); Vypis( zac ); PridejPrvekNaZacatek( zac, 20 ); Vypis( zac ); PridejPrvekNaZacatek( zac, 10 ); Vypis( zac ); PridejPrvekTamKamPatri( zac, 1 ); Vypis( zac ); PridejPrvekTamKamPatri( zac, 1000 ); Vypis( zac ); PridejPrvekTamKamPatri( zac, 27 ); Vypis( zac ); PridejPrvekTamKamPatri( zac, 0 ); Vypis( zac ); PridejPrvekTamKamPatri( zac, 11001 ); Vypis( zac ); PridejPrvekTamKamPatri( zac, -1 ); Vypis( zac ); end. var zac, p, n, konec: PPrvek; begin new( zac ); zac^.x := 10; new( zac^.Dalsi ); zac^.Dalsi^.x := 20; zac^.Dalsi^.Dalsi := NIL; var p: ^string; begin { new( p ); {} p^ := 'Ahoj babicko, rozhodl jsem se Ti napsat program. Bude to kratky progarm, ale musi mit alespon 8*4=32 bajtu'; end. var i,j: longint; begin for i:=1 to 100*1000*1000 do; writeln( 'hotovo' ); readln end. var p: ^string; begin { new( p ); {} p^ := 'Ahoj babicko, rozhodl jsem se Ti napsat program. Bude to kratky progarm, ale musi mit alespon 8*4=32 bajtu'; end. var p: ^byte; begin writeln; writeln( MemAvail ); new( p ); writeln( MemAvail ); end. type PPrvek = ^TPrvek; TPrvek = record x: integer; Dalsi: PPrvek end; var zac, p, n, konec: PPrvek; begin new( zac ); zac^.x := 10; new( zac^.Dalsi ); zac^.Dalsi^.x := 20; zac^.Dalsi^.Dalsi := NIL; new( n ); n^.x := 5; n^.Dalsi := zac; zac := n; writeln; { vytisknout seznam: } p := zac; while p<>NIL do begin write( p^.x,' ' ); p := p^.Dalsi end; writeln; writeln( MemAvail ); { smazat prvni prvek: } p := zac; zac := zac^.Dalsi; dispose( p ); { vytisknout seznam: } p := zac; while p<>NIL do begin write( p^.x,' ' ); p := p^.Dalsi end; writeln; writeln( MemAvail ); { pridat na konec: } new( n ); n^.x := 9999; n^.Dalsi := NIL; p := zac; while p^.Dalsi<>NIL do p := p^.Dalsi; (******************* p := zac; while p<>NIL do begin minule_p := p; p := p^.Dalsi; end ********************) p^.Dalsi := n; konec := N; { vytisknout seznam: } p := zac; while p<>NIL do begin write( p^.x,' ' ); p := p^.Dalsi end; writeln; writeln( MemAvail ); { pridat na konec: } new( n ); n^.x := 19999; n^.Dalsi := NIL; konec^.Dalsi := n; konec := n; { vytisknout seznam: } p := zac; while p<>NIL do begin write( p^.x,' ' ); p := p^.Dalsi end; writeln; writeln( MemAvail ); end.