FizzBuzz/Basic: Difference between revisions

Add an example for TI Extended BASIC; condense the regular TI BASIC example
(moving TI-83 BASIC)
imported>Tth
(Add an example for TI Extended BASIC; condense the regular TI BASIC example)
 
(42 intermediate revisions by 17 users not shown)
Line 1:
{{collection|FizzBuzz}}
 
=={{header|=Applesoft BASIC}}===
<langsyntaxhighlight lang="applesoftbasic">10 DEF FN M(N) = ((A / N) - INT (A / N)) * N
20 FOR A = 1 TO 100
30 LET O$ = ""
Line 9:
60 IF O$ = "" THEN O$ = STR$ (A)
70 PRINT O$
80 NEXT A</syntaxhighlight>
</lang>
 
===ASIC===
=={{header|BASIC}}==
<syntaxhighlight lang="basic">
REM FizzBuzz
CLS
FOR I = 1 TO 100
IMOD15 = I MOD 15
IF IMOD15 = 0 THEN
PRINT "FizzBuzz"
ELSE
IMOD5 = I MOD 5
IF IMOD5 = 0 THEN
PRINT "Buzz"
ELSE
IMOD3 = I MOD 3
IF IMOD3 = 0 THEN
PRINT "Fizz"
ELSE
PRINT I
ENDIF
ENDIF
ENDIF
REM ASIC uses only 25 screen lines.
REM After the 25th line, printing starts from the top.
REM So...
C = CSRLIN
IF C > 20 THEN
PRINT "<Press a key to continue>"
LOOP:
X$=INKEY$
IF X$="" THEN LOOP:
CLS
ENDIF
NEXT I
END</syntaxhighlight>
 
===BaCon===
<syntaxhighlight lang="freebasic">' FizzBuzz
FOR i = 1 TO 100
msg$ = IIF$(MOD(i, 3), "", "Fizz")
msg$ = msg$ & IIF$(MOD(i, 5), "", "Buzz")
PRINT IIF$(msg$ = "", STR$(i), msg$), " ";
NEXT
PRINT</syntaxhighlight>
 
{{out}}
<pre>prompt$ ./fizzbuzz | fold -w 72 -s
1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19
Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz
Fizz 37 38 Fizz Buzz 41 Fizz 43 44 FizzBuzz 46 47 Fizz 49 Buzz Fizz 52
53 Fizz Buzz 56 Fizz 58 59 FizzBuzz 61 62 Fizz 64 Buzz Fizz 67 68 Fizz
Buzz 71 Fizz 73 74 FizzBuzz 76 77 Fizz 79 Buzz Fizz 82 83 Fizz Buzz 86
Fizz 88 89 FizzBuzz 91 92 Fizz 94 Buzz Fizz 97 98 Fizz Buzz</pre>
 
===BASIC===
{{works with|QuickBasic|4.5}}
====If/else ladder approach====
<langsyntaxhighlight lang="qbasic">FOR A = 1 TO 100
IF A MOD 15 = 0 THEN
PRINT "FizzBuzz"
Line 25 ⟶ 78:
PRINT A
END IF
NEXT A</langsyntaxhighlight>
 
 
====Concatenation approach====
<langsyntaxhighlight lang="qbasic">FOR A = 1 TO 100
OUT$ = ""
 
Line 44 ⟶ 98:
 
PRINT OUT$
NEXT A</langsyntaxhighlight>
See also: [[#RapidQ|RapidQ]]
 
===Basic09===
=={{header|BBC BASIC}}==
<syntaxhighlight lang="Basic09">PROCEDURE FizzBuzz
<lang bbcbasic> FOR number% = 1 TO 100
DIM n:INTEGER
 
FOR n=1 to 100
IF MOD(n,15)=0 THEN
PRINT "FizzBuzz"
ELSE
IF MOD(n,3)=0 THEN
PRINT "Fizz"
ELSE
IF MOD(0,5)=0 THEN
PRINT "Buzz"
ELSE
PRINT n
ENDIF
ENDIF
ENDIF
NEXT n
END</syntaxhighlight>
 
 
===BASIC256===
<syntaxhighlight lang="freebasic">
for number = 1 to 100
if number mod 15 = 0 then
print "FizzBuzz"
else
if number mod 3 = 0 then
print "Fizz"
else
if number mod 5 = 0 then
print "Buzz"
else
print number
end if
end if
end if
next number
end</syntaxhighlight>
 
 
===BBC BASIC===
<syntaxhighlight lang="bbcbasic"> FOR number% = 1 TO 100
CASE TRUE OF
WHEN number% MOD 15 = 0: PRINT "FizzBuzz"
Line 55 ⟶ 151:
OTHERWISE: PRINT ; number%
ENDCASE
NEXT number%</langsyntaxhighlight>
 
=={{header|=Casio BASIC}}===
<syntaxhighlight lang="basic">For 1→A To 100 Step 1↵
MOD(A,15)→B↵
MOD(A,3)→C↵
Line 74 ⟶ 170:
Lbl 1↵
Next</langsyntaxhighlight>
 
=={{header|GW-=Commodore BASIC}}===
{{works with|Commodore BASIC|3.5}}
<lang qbasic>10 FOR N = 1 TO 100
<syntaxhighlight lang="basic">
10 REM FIZZBUZZ
20 FOR I=1 TO 100
30 IF INT(I/15)*15=I THEN PRINT "FIZZBUZZ":GOTO 70
40 IF INT(I/3)*3=I THEN PRINT "FIZZ":GOTO 70
50 IF INT(I/5)*5=I THEN PRINT "BUZZ":GOTO 70
60 PRINT I
70 NEXT I
80 END</syntaxhighlight>
See also [[#Minimal BASIC|Minimal BASIC]].
 
===Chipmunk Basic===
{{works with|Chipmunk Basic|3.6.4}}
{{works with|QBasic}}
{{works with|GW-BASIC}}
{{works with|Just BASIC}}
{{works with|MSX Basic}}
====If/else ladder approach====
<syntaxhighlight lang="qbasic">10 cls
20 for n = 1 to 100
30 if n mod 15 = 0 then print "FizzBuzz" else if n mod 3 = 0 then print "Fizz" else if n mod 5 = 0 then print "Buzz" else print n
40 next n
50 end</syntaxhighlight>
 
====Concatenation approach====
<syntaxhighlight lang="qbasic">10 cls
20 for n = 1 to 100
30 op$ = ""
40 if n mod 3 = 0 then op$ = "Fizz"
50 if n mod 5 = 0 then op$ = op$+"Buzz"
60 if op$ = "" then print n else print op$
70 next n
80 end</syntaxhighlight>
 
===Craft Basic===
{{works with|Craft Basic}}
<syntaxhighlight lang="basic">for i = 1 to 100
 
if i % 15 = 0 then
 
print "FizzBuzz"
 
else
 
if i % 3 = 0 then
 
print "Fizz"
 
else
 
if i % 5 = 0 then
 
print "Buzz"
 
else
 
print i
 
endif
 
endif
 
endif
 
next i</syntaxhighlight>
{{out| Output}}<pre>1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz 41 Fizz 43 44 FizzBuzz 46 47 Fizz 49 Buzz Fizz 52 53 Fizz Buzz 56 Fizz 58 59 FizzBuzz 61 62 Fizz 64 Buzz Fizz 67 68 Fizz Buzz 71 Fizz 73 74 FizzBuzz 76 77 Fizz 79 Buzz Fizz 82 83 Fizz Buzz 86 Fizz 88 89 FizzBuzz 91 92 Fizz 94 Buzz Fizz 97 98 Fizz Buzz </pre>
 
===FreeBASIC===
<syntaxhighlight lang="freebasic">'FreeBASIC
Dim As ULong n
 
For n = 1 To 100
 
If n Mod 15 = 0 Then
Print "FizzBuzz"
ElseIf n Mod 3 = 0 Then
Print "Fizz"
ElseIf n Mod 5 = 0 Then
Print "Buzz"
Else
Print n
End If
 
Next n
 
sleep</syntaxhighlight>
 
==={{header|FTCBASIC}}===
<syntaxhighlight lang="basic">rem uses carry command to perform modulus
rem uses flag variable for elseif structure
 
define i = 0, f = 0, r = 0
 
do
 
let i = i + 1
let f = 1
 
let r = i / 15
carry r
 
if r = 0 then
 
let f = 0
print "FizzBuzz"
 
endif
 
let r = i / 3
carry r
 
if r = 0 and f = 1 then
 
let f = 0
print "Fizz"
 
endif
 
let r = i / 5
carry r
 
if r = 0 and f = 1 then
 
let f = 0
print "Buzz"
 
endif
 
if f = 1 then
 
print i
 
endif
 
loop i < 100
 
pause
end</syntaxhighlight>
 
===GW-BASIC===
<syntaxhighlight 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</syntaxhighlight>
 
</lang>
===IS-BASIC===
<syntaxhighlight lang="is-basic">100 PROGRAM "Fizzbuzz.bas"
110 FOR I=1 TO 100
120 IF MOD(I,15)=0 THEN
130 PRINT "FizzBuzz"
140 ELSE IF MOD(I,3)=0 THEN
150 PRINT "Fizz"
160 ELSE IF MOD(I,5)=0 THEN
170 PRINT "Buzz"
180 ELSE
190 PRINT I
200 END IF
210 NEXT</syntaxhighlight>
 
=={{header|=Liberty BASIC}}===
<langsyntaxhighlight lang="lb">for i = 1 to 100
select case
case i mod 15 = 0
Line 97 ⟶ 347:
print i
end select
next i</langsyntaxhighlight>
 
===Minimal BASIC===
{{works with|Commodore BASIC|3.5}}
{{works with|MSX BASIC|all}}
{{works with|Nascom ROM BASIC|4.7}}
<syntaxhighlight lang="gwbasic">
10 REM FizzBuzz
20 FOR I = 1 TO 100
30 IF INT(I/15)*15 <> I THEN 60
40 PRINT "FizzBuzz"
50 GOTO 130
60 IF INT(I/3)*3 <> I THEN 90
70 PRINT "Fizz"
80 GOTO 130
90 IF INT(I/5)*5 <> I THEN 120
100 PRINT "Buzz"
110 GOTO 130
120 PRINT I
130 NEXT I
140 END</syntaxhighlight>
 
==={{header|PureBasicMSX Basic}}===
<syntaxhighlight lang="qbasic">10 CLS
<lang purebasic>OpenConsole()
20 FOR N = 1 TO 100
30 IF N MOD 15 = 0 THEN PRINT "FizzBuzz" ELSE IF N MOD 3 = 0 THEN PRINT "Fizz" ELSE IF N MOD 5 = 0 THEN PRINT "Buzz" ELSE PRINT N
40 NEXT N
50 END</syntaxhighlight>
See also [[#Minimal BASIC|Minimal BASIC]], [[#Chipmunk_Basic|Chipmunk Basic]].
 
==={{header|Palo Alto Tiny BASIC}}===
<syntaxhighlight lang="basic">
10 REM FIZZBUZZ
20 FOR I=1 TO 100
30 IF (I/15)*15=I PRINT "FIZZBUZZ";GOTO 70
40 IF (I/3)*3=I PRINT "FIZZ";GOTO 70
50 IF (I/5)*5=I PRINT "BUZZ";GOTO 70
60 PRINT I
70 NEXT I
80 STOP
</syntaxhighlight>
{{out}}
<pre>
1
2
FIZZ
4
BUZZ
FIZZ
7
8
FIZZ
BUZZ
11
FIZZ
13
14
FIZZBUZZ
</pre>
...
<pre>
91
92
FIZZ
94
BUZZ
FIZZ
97
98
FIZZ
BUZZ
</pre>
 
===PureBasic===
<syntaxhighlight lang="purebasic">OpenConsole()
For x = 1 To 100
If x%15 = 0
Line 113 ⟶ 433:
EndIf
Next
Input()</lang>
CloseConsole()</syntaxhighlight>
 
==={{header|REALbasicQuite BASIC}}===
====If/else ladder approach====
<lang vb> For i As Integer = 1 To 100
<syntaxhighlight lang="qbasic">10 CLS
20 FOR n = 1 TO 100
30 IF n % 15 = 0 THEN PRINT "FizzBuzz" ELSE IF n % 3 = 0 THEN PRINT "Fizz" ELSE IF n % 5 = 0 THEN PRINT "Buzz" ELSE PRINT n
40 NEXT n
50 END</syntaxhighlight>
 
====Concatenation approach====
<syntaxhighlight lang="qbasic">10 CLS
20 FOR n = 1 TO 100
30 LET o$ = ""
40 IF n % 3 = 0 THEN LET o$ = "Fizz"
50 IF n % 5 = 0 THEN LET o$ = o$+"Buzz"
60 IF o$ = "" THEN PRINT n ELSE PRINT o$
70 NEXT n
80 END</syntaxhighlight>
 
===REALbasic===
<syntaxhighlight lang="vb"> For i As Integer = 1 To 100
If i mod 3 = 0 And i mod 5 = 0 Then
Print("FizzBuzz")
Line 126 ⟶ 465:
Print(Str(i))
End If
Next</langsyntaxhighlight>
An alternative syntax:
<syntaxhighlight lang="vb">
<lang vb>
For i As Integer = 1 To 100
Select Case True
Line 140 ⟶ 479:
Print(Str(i))
End Select
Next</langsyntaxhighlight>
 
=={{header|=Run BASIC}}===
<langsyntaxhighlight lang="runbasic">for i = 1 to 100
print i;
if (i mod 15) = 0 then print " FuzzBuzzFizzBuzz";
if (i mod 3) = 0 then print " FuzzFizz";
if (i mod 5) = 0 then print " Buzz";
print
next i</langsyntaxhighlight>
 
===tbas===
=={{header|TI-83 BASIC}}==
<syntaxhighlight lang="qbasic">FOR i = 1 TO 100
<lang ti83b>PROGRAM:FIZZBUZZ
LET SHOW$ = ""
IF MOD(i,3) = 0 THEN
LET SHOW$ = SHOW$ + "Fizz"
END IF
IF MOD(i,5) = 0 THEN
LET SHOW$ = SHOW$ + "Buzz"
END IF
IF SHOW$ = "" THEN
LET SHOW$ = STR$(i)
END IF
PRINT SHOW$;" ";
NEXT</syntaxhighlight>
 
===TI-83 BASIC===
<syntaxhighlight lang="ti83b">PROGRAM:FIZZBUZZ
For(I,1,100
I
Line 162 ⟶ 517:
"FIZZBUZZ
Disp Ans
:End</langsyntaxhighlight>
 
===TI-99/4a TI BASIC===
<syntaxhighlight lang="ti-99/4abasic">10 DIM S$(3)
20 S$(1)="Fizz"
30 S$(2)="Buzz"
40 S$(3)="FizzBuzz"
50 FOR I = 1 TO 100
60 X=ABS((I/3=INT(I/3))+(I/5=INT(I/5))*2)
70 IF X=0 THEN 100
80 PRINT S$(X)
90 GOTO 110
100 PRINT I
110 NEXT I
120 END
</syntaxhighlight>
 
===TI-99/4a TI Extended BASIC===
<syntaxhighlight lang="ti-99/4axb">10 FOR I = 1 TO 100
20 IF I/3=INT(I/3) THEN PRINT "Fizz";
30 IF I/5=INT(I/5) THEN PRINT "Buzz";
40 IF I/3<>INT(I/3) AND I/5<>INT(I/5) THEN PRINT I;
50 PRINT
60 NEXT I
</syntaxhighlight>
 
===Tiny BASIC===
<syntaxhighlight lang="tinybasic">
LET I=1
10 IF (I/15)*15<>I THEN GOTO 20
PRINT "FizzBuzz"
GOTO 100
20 IF (I/3)*3<>I THEN GOTO 30
PRINT "Fizz"
GOTO 100
30 IF (I/5)*5<>I THEN GOTO 40
PRINT "Buzz"
GOTO 100
40 PRINT I
100 LET I=I+1
IF I<=100 THEN GOTO 10
END</syntaxhighlight>
 
===True BASIC===
<syntaxhighlight lang="qbasic">
FOR number = 1 TO 100
IF MOD(number, 15) = 0 then
PRINT "FizzBuzz"
ELSEIF MOD(number, 3) = 0 then
PRINT "Fizz"
ELSEIF MOD(number, 5) = 0 then
PRINT "Buzz"
ELSE
PRINT number
END IF
NEXT number
END</syntaxhighlight>
 
 
===Visual Basic .NET===
'''Platform:''' [[.NET]]
{{works with|Visual Basic .NET|9.0+}}
<syntaxhighlight lang="vbnet">Sub Main()
For i = 1 To 100
If i Mod 15 = 0 Then
Console.WriteLine("FizzBuzz")
ElseIf i Mod 5 = 0 Then
Console.WriteLine("Buzz")
ElseIf i Mod 3 = 0 Then
Console.WriteLine("Fizz")
Else
Console.WriteLine(i)
End If
Next
End Sub</syntaxhighlight>
 
===XBasic===
{{works with|Windows XBasic}}
<syntaxhighlight lang="xbasic">
PROGRAM "fizzbuzz"
VERSION "0.0001"
 
DECLARE FUNCTION Entry()
 
FUNCTION Entry()
FOR i% = 1 TO 100
SELECT CASE TRUE
CASE i% MOD 15 = 0:
PRINT "FizzBuzz"
CASE i% MOD 3 = 0:
PRINT "Fizz"
CASE i% MOD 5 = 0:
PRINT "Buzz"
CASE ELSE:
PRINT i%
END SELECT
NEXT i%
END FUNCTION
 
END PROGRAM</syntaxhighlight>
 
 
===Yabasic===
<syntaxhighlight lang="yabasic">
for number = 1 to 100
if mod(number, 15) = 0 then
print "FizzBuzz"
elsif mod(number, 3) = 0 then
print "Fizz"
elsif mod(number, 5) = 0 then
print "Buzz"
else
print number
endif
next number
end</syntaxhighlight>
Anonymous user