Four sides of square: Difference between revisions
Content added Content deleted
(Added Action!) |
(Added PL/M) |
||
Line 969: | Line 969: | ||
=={{header|Phix}}== |
=={{header|Phix}}== |
||
See [[Matrix_with_two_diagonals#GUI.2Fonline|Matrix_with_two_diagonals#Phix]] and press 'O'. |
See [[Matrix_with_two_diagonals#GUI.2Fonline|Matrix_with_two_diagonals#Phix]] and press 'O'. |
||
=={{header|PL/M}}== |
|||
{{works with|8080 PL/M Compiler}} ... under CP/M (or an emulator) |
|||
<syntaxhighlight lang="plm"> |
|||
100H: /* DRAW SOME SQUARES WITH 1S ON THE EDGES and 0S ELSEWHERE */ |
|||
/* 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$SQUARE: PROCEDURE( N ); |
|||
DECLARE N BYTE; |
|||
DECLARE ( I, J ) BYTE; |
|||
DO I = 1 TO N; |
|||
DO J = 1 TO N; |
|||
CALL PR$CHAR( ' ' ); |
|||
IF I = 1 OR I = N OR J = 1 OR J = N |
|||
THEN CALL PR$CHAR( '1' ); |
|||
ELSE CALL PR$CHAR( '0' ); |
|||
END; |
|||
CALL PR$NL; |
|||
END; |
|||
END DRAW$SQUARE ; |
|||
CALL DRAW$SQUARE( 6 ); |
|||
CALL PR$NL; |
|||
CALL DRAW$SQUARE( 7 ); |
|||
EOF |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
1 1 1 1 1 1 |
|||
1 0 0 0 0 1 |
|||
1 0 0 0 0 1 |
|||
1 0 0 0 0 1 |
|||
1 0 0 0 0 1 |
|||
1 1 1 1 1 1 |
|||
1 1 1 1 1 1 1 |
|||
1 0 0 0 0 0 1 |
|||
1 0 0 0 0 0 1 |
|||
1 0 0 0 0 0 1 |
|||
1 0 0 0 0 0 1 |
|||
1 0 0 0 0 0 1 |
|||
1 1 1 1 1 1 1 |
|||
</pre> |
|||
=={{header|Processing}}== |
=={{header|Processing}}== |