Rosetta Code:Solve a Task: Difference between revisions
Content added Content deleted
No edit summary |
|||
Line 14: | Line 14: | ||
==Adding Code== |
==Adding Code== |
||
Language examples on each page are in alphabetical order, so you need to find where your example would fit. Once you've found that, click the "edit" link closest above the area where you want to insert your code on the task page, and add something like this to the bottom of the edit field: |
|||
PROGRAM-ID. ARMSTRONG-NUMS. |
|||
DATA DIVISION. |
|||
<pre> |
|||
WORKING-STORAGE SECTION. |
|||
01 num-length PIC 9(2) value 0. |
|||
=={{header|Ayrch}}== |
|||
01 in-sum PIC 9(9) value 0. |
|||
01 counter PIC 9(9) value 0. |
|||
<lang Ayrch>PRINT "Goodbye, World!"</lang> |
|||
01 current-number PIC 9(9) value 0. |
|||
01 temp PIC 9(9) value 0. |
|||
</pre> |
|||
01 modulo PIC 9(9) value 0. |
|||
01 answer PIC 9 . |
|||
Remember, for the sake of simplicity, we're assuming your language is Ayrch, and the task is [[Hello world]]. We're also assuming, for the moment, that Ayrch looks a lot like BASIC. |
|||
PROCEDURE DIVISION. |
|||
MAIN-PROCEDURE. |
|||
Once you've added your code, hit the preview button to make sure you crossed all your T's and closed all your tags. If the language name shows up in red (a broken link), then either the language doesn't exist on the site yet (as a category), or you misspelled/mis-capitalized the name. Check your spelling against the one in [[:Category:Programming Languages]]. |
|||
DISPLAY "the first 25 armstrong numbers " . |
|||
MOVE 25 TO counter. |
|||
That's all you really need to do! |
|||
PERFORM UNTIL counter=0 |
|||
PERFORM 000-ARMSTRONG-PARA |
|||
IF answer = 1 |
|||
SUBTRACT 1 from counter |
|||
GIVING counter |
|||
DISPLAY current-number |
|||
END-IF |
|||
ADD 1 to current-number |
|||
END-PERFORM |
|||
STOP RUN. |
|||
000-ARMSTRONG-PARA. |
|||
MOVE ZERO to in-sum. |
|||
MOVE current-number to temp. |
|||
COMPUTE num-length =1+ Function Log10(temp) |
|||
PERFORM UNTIL temp=0 |
|||
DIVIDE temp BY 10 GIVING temp |
|||
REMAINDER modulo |
|||
COMPUTE modulo=modulo**num-length |
|||
ADD modulo to in-sum GIVING in-sum |
|||
END-PERFORM. |
|||
IF current-number=in-sum |
|||
MOVE 1 TO answer |
|||
ELSE MOVE 0 TO answer |
|||
END-if. |
|||
END PROGRAM ARMSTRONG-NUMS. |
|||
=Going a little further= |
=Going a little further= |