A large commit.
[pdp8.git] / sw / src / pascal / KNOBEL.PS
diff --git a/sw/src/pascal/KNOBEL.PS b/sw/src/pascal/KNOBEL.PS
new file mode 100644 (file)
index 0000000..fec72c1
--- /dev/null
@@ -0,0 +1,30 @@
+PROGRAM KNOBELEI(OUTPUT);
+
+   CONST MAX=80;
+
+   VAR   A, B, I, J, Z: INTEGER;
+         ZEILE, NEU: ARRAY[1..MAX] OF INTEGER;
+
+BEGIN
+   ZEILE[1] := 1;  ZEILE[2] := 0;
+   WRITELN("1");
+
+   REPEAT  (******* ZEILE *******)
+      A := ZEILE[1];   I := 1;   J := 1;
+      REPEAT  (******* GRUPPE *******)
+         Z := 0;
+         REPEAT  (******* ZIFFER *******)
+            Z := Z + 1;
+            I := I + 1;   B := ZEILE[I]
+         UNTIL A<>B;
+         NEU[J] := Z;   NEU[J+1] := A;   J := J + 2;
+         A := B
+      UNTIL B=0;
+      ZEILE[J] := 0;
+      FOR I := 1 TO J-1 DO BEGIN
+                           ZEILE[I] := NEU[I];
+                           WRITE( ZEILE[I] :1 )
+                           END;
+      WRITELN
+   UNTIL J>MAX
+END.