Mosaic matrix: Difference between revisions
Content added Content deleted
(Added Action!) |
(Added PL/M) |
||
Line 854: | Line 854: | ||
1 0 1 0 1 0 1 0 1 0 1</pre> |
1 0 1 0 1 0 1 0 1 0 1</pre> |
||
=={{header|PL/M}}== |
|||
{{works with|8080 PL/M Compiler}} ... under CP/M (or an emulator) |
|||
<syntaxhighlight lang="plm"> |
|||
100H: /* DRAW SOME MOSAIC MATRICES WITH ALTERNATING 1S and .S */ |
|||
/* CP/M SYSTEM CALL AND I/O ROUTINES */ |
|||
BDOS: PROCEDURE( FN, ARG ); DECLARE FN BYTE, ARG ADDRESS; GOTO 5; END; |
|||
PR$CHAR: PROCEDURE( C ); DECLARE C BYTE; CALL BDOS( 2, C ); END; |
|||
PR$NL: PROCEDURE; CALL PR$CHAR( 0DH ); CALL PR$CHAR( 0AH ); END; |
|||
/* TASK */ |
|||
DRAW$MOSAIC: PROCEDURE( N ); |
|||
DECLARE N BYTE; |
|||
DECLARE ( I, J, ONE ) BYTE; |
|||
DO I = 1 TO N; |
|||
ONE = I; /* EVEN NUMBERS ARE FALSE, ODD ARE TRUE IN PL/M */ |
|||
DO J = 1 TO N; |
|||
CALL PR$CHAR( ' ' ); |
|||
IF ONE THEN CALL PR$CHAR( '1' ); ELSE CALL PR$CHAR( '0' ); |
|||
ONE = NOT ONE; |
|||
END; |
|||
CALL PR$NL; |
|||
END; |
|||
END DRAW$MOSAIC ; |
|||
CALL DRAW$MOSAIC( 6 ); |
|||
CALL PR$NL; |
|||
CALL DRAW$MOSAIC( 7 ); |
|||
EOF |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
1 0 1 0 1 0 |
|||
0 1 0 1 0 1 |
|||
1 0 1 0 1 0 |
|||
0 1 0 1 0 1 |
|||
1 0 1 0 1 0 |
|||
0 1 0 1 0 1 |
|||
1 0 1 0 1 0 1 |
|||
0 1 0 1 0 1 0 |
|||
1 0 1 0 1 0 1 |
|||
0 1 0 1 0 1 0 |
|||
1 0 1 0 1 0 1 |
|||
0 1 0 1 0 1 0 |
|||
1 0 1 0 1 0 1 |
|||
</pre> |
|||
=={{header|Processing}}== |
=={{header|Processing}}== |