Mosaic matrix: Difference between revisions

Added PL/M
(Added Action!)
(Added PL/M)
Line 854:
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}}==
3,021

edits