Old lady swallowed a fly: Difference between revisions
Content added Content deleted
(Replaced "import zlib" with "import zip/zlib"; changed the call to uncompress.) |
Not a robot (talk | contribs) (Add PL/M) |
||
Line 2,888: | Line 2,888: | ||
(oldLady (car *Dict))</lang> |
(oldLady (car *Dict))</lang> |
||
=={{header|PL/M}}== |
|||
<lang plm>100H: |
|||
/* CP/M CALL */ |
|||
BDOS: PROCEDURE(FUNC, ARGS); |
|||
DECLARE FUNC BYTE, ARGS ADDRESS; |
|||
GO TO 5; |
|||
END BDOS; |
|||
/* PRINT STRING */ |
|||
PRINT: PROCEDURE(STRING); |
|||
DECLARE STRING ADDRESS; |
|||
CALL BDOS(9, STRING); |
|||
END PRINT; |
|||
DECLARE COMMA$CRLF DATA (',',13,10,'$'); |
|||
DECLARE CRLF DATA (13,10,'$'); |
|||
DECLARE ANIMALS (8) ADDRESS; |
|||
ANIMALS(0) = .'FLY$'; |
|||
ANIMALS(1) = .'SPIDER$'; |
|||
ANIMALS(2) = .'BIRD$'; |
|||
ANIMALS(3) = .'CAT$'; |
|||
ANIMALS(4) = .'DOG$'; |
|||
ANIMALS(5) = .'GOAT$'; |
|||
ANIMALS(6) = .'COW$'; |
|||
ANIMALS(7) = .'HORSE$'; |
|||
DECLARE VERSES (8) ADDRESS; |
|||
VERSES(0) = .('I DON''T KNOW WHY SHE SWALLOWED THAT FLY', |
|||
' - PERHAPS SHE''LL DIE.',10,13,'$'); |
|||
VERSES(1) = .'THAT WIGGLED AND JIGGLED AND TICKLED INSIDE HER$'; |
|||
VERSES(2) = .'HOW ABSURD TO SWALLOW A BIRD$'; |
|||
VERSES(3) = .'IMAGINED THAT - SHE SWALLOWED A CAT$'; |
|||
VERSES(4) = .'WHAT A HOG TO SWALLOW A DOG$'; |
|||
VERSES(5) = .'SHE JUST OPENED HER THROAT AND SWALLOWED THAT GOAT$'; |
|||
VERSES(6) = .'I DON''T KNOW HOW SHE SWALLOWED THAT COW$'; |
|||
VERSES(7) = .'SHE''S DEAD, OF COURSE.$'; |
|||
DECLARE (I, J) BYTE; |
|||
DO I = 0 TO LAST(VERSES); |
|||
CALL PRINT(.'THERE WAS AN OLD LADY WHO SWALLOWED A $'); |
|||
CALL PRINT(ANIMALS(I)); |
|||
CALL PRINT(.COMMA$CRLF); |
|||
CALL PRINT(VERSES(I)); |
|||
CALL PRINT(.CRLF); |
|||
J = I; |
|||
DO WHILE J > 0 AND I < LAST(ANIMALS); |
|||
CALL PRINT(.'SHE SWALLOWED THE $'); |
|||
CALL PRINT(ANIMALS(J)); |
|||
CALL PRINT(.' TO CATCH THE $'); |
|||
CALL PRINT(ANIMALS(J-1)); |
|||
CALL PRINT(.COMMA$CRLF); |
|||
IF J <= 2 THEN DO; |
|||
CALL PRINT(VERSES(J-1)); |
|||
CALL PRINT(.CRLF); |
|||
END; |
|||
J = J - 1; |
|||
END; |
|||
END; |
|||
CALL BDOS(0,0); |
|||
EOF</lang> |
|||
=={{header|PowerShell}}== |
=={{header|PowerShell}}== |