Loops/With multiple ranges: Difference between revisions
Content added Content deleted
No edit summary |
(Applesoft BASIC) |
||
Line 523: | Line 523: | ||
prod= -793618560 |
prod= -793618560 |
||
</pre> |
</pre> |
||
=={{header|Applesoft BASIC}}== |
|||
All of the numeric variables are Floating Point but get displayed as integers. The variable ONE is named UNO because ON is a keyword. |
|||
<lang gwbasic>100 ::::::::: REMALL VARIABLES ARE DECLARED AS INTEGERS. |
|||
110 PROD= 1 : REMSTART WITH A PRODUCT OF UNITY. |
|||
120 SUM= 0:: REM " " " SUM " ZERO. |
|||
130 X= +5 |
|||
140 Y= -5 |
|||
150 Z= -2 |
|||
160 UNO= 1 |
|||
170 THREE= 3 |
|||
180 SEVEN= 7 |
|||
190 REM(BELOW) ^ IS EXPONENTIATION: 4^3=64 |
|||
200 DO(0) = -THREE : T0(0) = 3^3 : BY(0) = THREE |
|||
210 DO(1) = -SEVEN : T0(1) = +SEVEN : BY(1) = X |
|||
220 DO(2) = 555 : T0(2) = 550 - Y |
|||
230 DO(3) = 22 : T0(3) = -28 : BY(3) = -THREE |
|||
240 DO(4) = 1927 : T0(4) = 1939 |
|||
250 DO(5) = X : T0(5) = Y : BY(5) = Z |
|||
260 DO(6) = 11^X : T0(6) = 11^X + UNO |
|||
270 FOR I = 0 TO 6 : FINISH= T0(I) : BY = BY(I) |
|||
280 START = DO(I) : IF NOT BY THEN BY = 1 |
|||
290 FOR J = START TO FINISH STEP BY |
|||
300 REM ABS(N) = ABSOLUTE VALUE |
|||
310 SUM= SUM + ABS(J) : REMADD ABSOLUTE VALUE OF J. |
|||
320 IF ABS(PROD)<2^27 AND J<>0 THEN PROD=PROD*J:REMPROD IS SMALL ENOUGH AND J NOT 0, THEN MULTIPLY IT. |
|||
330 NEXT J, I |
|||
340 REMSUM AND PROD ARE USED FOR VERIFICATION OF J INCREMENTATION. |
|||
350 PRINT " SUM= ";:N=SUM :GOSUB400:REMDISPLAY STRINGS TO TERM. |
|||
360 PRINT "PROD= ";:N=PROD:GOSUB400:REM " " " " |
|||
370 END |
|||
400 N$ = STR$ ( ABS ( INT (N))):O$ = "":D = -1: FOR I = LEN (N$) TO 1 STEP - 1:C$ = MID$ (N$,I,1) : O$ = MID$ (",",1 + (D < 2)) + O$ : D = (D + 1) * (D < 2) : O$ = C$ + O$: NEXT I: PRINT MID$ ("-",1 + (N > = 0))O$: RETURN</lang> |
|||
=={{header|ARM Assembly}}== |
=={{header|ARM Assembly}}== |
||
{{works with|as|Raspberry Pi}} |
{{works with|as|Raspberry Pi}} |