FizzBuzz/Basic: Difference between revisions

From Rosetta Code
Content added Content deleted
(moving BBC BASIC, Casio BASIC)
(moving GW-BASIC)
Line 1: Line 1:
{{collection|FizzBuzz}}
{{collection|FizzBuzz}}

=={{header|Applesoft BASIC}}==
<lang applesoftbasic>10 DEF FN M(N) = ((A / N) - INT (A / N)) * N
20 FOR A = 1 TO 100
30 LET O$ = ""
40 IF FN M(3) = 0 THEN O$ = "FIZZ"
50 IF FN M(5) = 0 THEN O$ = O$ + "BUZZ"
60 IF O$ = "" THEN O$ = STR$ (A)
70 PRINT O$
80 NEXT A
</lang>


=={{header|BASIC}}==
=={{header|BASIC}}==
Line 15: Line 26:
END IF
END IF
NEXT A</lang>
NEXT A</lang>

===Concatenation approach===
===Concatenation approach===
<lang qbasic>FOR A = 1 TO 100
<lang qbasic>FOR A = 1 TO 100
Line 34: Line 46:
NEXT A</lang>
NEXT A</lang>
See also: [[#RapidQ|RapidQ]]
See also: [[#RapidQ|RapidQ]]

==={{header|Applesoft BASIC}}===
<lang applesoftbasic>10 DEF FN M(N) = ((A / N) - INT (A / N)) * N
20 FOR A = 1 TO 100
30 LET O$ = ""
40 IF FN M(3) = 0 THEN O$ = "FIZZ"
50 IF FN M(5) = 0 THEN O$ = O$ + "BUZZ"
60 IF O$ = "" THEN O$ = STR$ (A)
70 PRINT O$
80 NEXT A
</lang>


=={{header|BBC BASIC}}==
=={{header|BBC BASIC}}==
Line 74: Line 75:
Lbl 1↵
Lbl 1↵
Next</lang>
Next</lang>

=={{header|GW-BASIC}}==
<lang qbasic>10 FOR N = 1 TO 100
20 OP$ = ""
30 IF N MOD 3 = 0 THEN OP$ = "Fizz"
40 IF N MOD 5 = 0 THEN OP$ = OP$ + "Buzz"
50 IF OP$ = "" THEN PRINT N ELSE PRINT OP$
60 NEXT N
</lang>

Revision as of 11:48, 22 September 2015

FizzBuzz/Basic is part of FizzBuzz. You may find other members of FizzBuzz at Category:FizzBuzz.

Applesoft BASIC

<lang applesoftbasic>10 DEF FN M(N) = ((A / N) - INT (A / N)) * N 20 FOR A = 1 TO 100 30 LET O$ = "" 40 IF FN M(3) = 0 THEN O$ = "FIZZ" 50 IF FN M(5) = 0 THEN O$ = O$ + "BUZZ" 60 IF O$ = "" THEN O$ = STR$ (A) 70 PRINT O$ 80 NEXT A </lang>

BASIC

Works with: QuickBasic version 4.5

If/else ladder approach

<lang qbasic>FOR A = 1 TO 100

  IF A MOD 15 = 0 THEN
     PRINT "FizzBuzz"
  ELSE IF A MOD 3 = 0 THEN
     PRINT "Fizz"
  ELSE IF A MOD 5 = 0 THEN
     PRINT "Buzz"
  ELSE
     PRINT A
  END IF

NEXT A</lang>

Concatenation approach

<lang qbasic>FOR A = 1 TO 100

  OUT$ = ""
  IF A MOD 3 = 0 THEN 
     OUT$ = "Fizz"
  END IF
  IF A MOD 5 = 0 THEN
     OUT$ = OUT$ + "Buzz"
  END IF
  
  IF OUT$ = "" THEN
     OUT$ = STR$(A)
  END IF
  PRINT OUT$

NEXT A</lang> See also: RapidQ

BBC BASIC

<lang bbcbasic> FOR number% = 1 TO 100

       CASE TRUE OF
         WHEN number% MOD 15 = 0: PRINT "FizzBuzz"
         WHEN number% MOD 3 = 0:  PRINT "Fizz"
         WHEN number% MOD 5 = 0:  PRINT "Buzz"
         OTHERWISE: PRINT ; number%
       ENDCASE
     NEXT number%</lang>

Casio BASIC

<lang>For 1→A To 100 Step 1↵ MOD(A,15)→B↵ MOD(A,3)→C↵ MOD(A,5)→D↵ ↵ B=0⇒"FIZZBUZZ"↵ B=0⇒Goto 1↵ C=0⇒"BUZZ"↵ C=0⇒Goto 1↵ D=0⇒"FIZZ"↵ D=0⇒Goto 1↵ ↵ A◢ Goto 1 ↵ Lbl 1↵ Next</lang>

GW-BASIC

<lang qbasic>10 FOR N = 1 TO 100 20 OP$ = "" 30 IF N MOD 3 = 0 THEN OP$ = "Fizz" 40 IF N MOD 5 = 0 THEN OP$ = OP$ + "Buzz" 50 IF OP$ = "" THEN PRINT N ELSE PRINT OP$ 60 NEXT N </lang>