Rosetta Code:Solve a Task: Difference between revisions

no edit summary
No edit summary
Line 14:
==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=