X-Git-Url: http://gitweb.hachti.de/?a=blobdiff_plain;f=sw%2Fsrc%2Fpascal%2FPERMUT.V1;fp=sw%2Fsrc%2Fpascal%2FPERMUT.V1;h=f49738a8cd8b8a68e75e75f4e46e15bbf450d3a8;hb=81e70d488b71bf995c459ca3a02c025993460ffa;hp=0000000000000000000000000000000000000000;hpb=07ec0278333ed187ac242dedcff13c56cf1b0b91;p=pdp8.git diff --git a/sw/src/pascal/PERMUT.V1 b/sw/src/pascal/PERMUT.V1 new file mode 100644 index 0000000..f49738a --- /dev/null +++ b/sw/src/pascal/PERMUT.V1 @@ -0,0 +1,53 @@ +PROGRAM PERMUTATIONEN(INPUT,OUTPUT); + + VAR I,N: INTEGER; + C: ARRAY[1..10] OF INTEGER; + + + FUNCTION FAK(N: INTEGER): INTEGER; + BEGIN + IF N=1 THEN FAK := 1 + ELSE FAK := N*FAK(N-1) + END (* FAK *); + + + + PROCEDURE WRITEPERMUTATION; + VAR I: INTEGER; + BEGIN + WRITE(" ":10); + FOR I := 1 TO N DO WRITE( C[I] :3); + WRITELN + END (* WRITEPERMUTATION *); + + + + PROCEDURE NEXTPERMUTATION; + VAR I,J,H: INTEGER; + BEGIN + I := N-1; + WHILE C[I]>C[I+1] DO I := I-1; + J := N; + WHILE C[J]