A large commit.
[pdp8.git] / sw / src / pascal / ZWEIER.PS
diff --git a/sw/src/pascal/ZWEIER.PS b/sw/src/pascal/ZWEIER.PS
new file mode 100644 (file)
index 0000000..df59a45
--- /dev/null
@@ -0,0 +1,24 @@
+PROGRAM ZWEIERPOTENZEN(OUTPUT);
+CONST NMAX=30;
+VAR   A,REST,N,W,S:INTEGER;
+BEGIN A:=1;
+FOR N:=1 TO NMAX DO
+    BEGIN A:=A*2;
+    W:=1; S:=10;
+    WHILE S<=A DO BEGIN W:=W+1; S:=S*10 END;
+    WRITE(" ":20-W - W DIV 3);
+    FOR W:=W DOWNTO 1 DO
+        BEGIN IF (W MOD 3 = 0) THEN WRITE(" ");
+        S:=S DIV 10; WRITE((A DIV S) MOD 10 :1)
+        END;
+    WRITE(N:5,"   0.");
+    W:=1;
+    REST:=10;
+    REPEAT IF (W MOD 3 = 0) THEN WRITE(" ");
+           W:=W+1;
+           WRITE(REST DIV A :1);
+           REST:=(REST MOD A)*10
+    UNTIL REST=0;
+    WRITELN
+    END
+END.