FizzBuzz/Basic: Difference between revisions

Add an example for TI Extended BASIC; condense the regular TI BASIC example
imported>Tth
(Add an example for TI Extended BASIC; condense the regular TI BASIC example)
 
(30 intermediate revisions by 9 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|BaCon}}==
<syntaxhighlight lang="basic">
<lang freebasic>' FizzBuzz
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")
Line 19 ⟶ 54:
PRINT IIF$(msg$ = "", STR$(i), msg$), " ";
NEXT
PRINT</langsyntaxhighlight>
 
{{out}}
<pre>prompt$ bacon fizzbuzz.bac/fizzbuzz | fold -w 72 -s
Converting 'fizzbuzz.bac'... done, 7 lines were processed in 0.003 seconds.
Compiling 'fizzbuzz.bac'... cc -c fizzbuzz.bac.c
cc -o fizzbuzz fizzbuzz.bac.o -lbacon -lm
Done, program 'fizzbuzz' ready.
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
Line 35 ⟶ 65:
Fizz 88 89 FizzBuzz 91 92 Fizz 94 Buzz Fizz 97 98 Fizz Buzz</pre>
 
=={{header|=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 48 ⟶ 78:
PRINT A
END IF
NEXT A</langsyntaxhighlight>
 
 
====Concatenation approach====
<langsyntaxhighlight lang="qbasic">FOR A = 1 TO 100
OUT$ = ""
 
Line 67 ⟶ 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 78 ⟶ 151:
OTHERWISE: PRINT ; number%
ENDCASE
NEXT number%</langsyntaxhighlight>
 
=={{header|Basic =Casio}} BASIC===
<syntaxhighlight lang="basic">For 1→A To 100 Step 1↵
MOD(A,15)→B↵
MOD(A,3)→C↵
Line 97 ⟶ 170:
Lbl 1↵
Next</langsyntaxhighlight>
 
===Commodore BASIC===
=={{header|FreeBASIC}}==
{{works with|Commodore BASIC|3.5}}
<lang freebasic>'FreeBASIC
<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
 
Line 117 ⟶ 259:
Next n
 
sleep</langsyntaxhighlight>
 
==={{header|GW-BASICFTCBASIC}}===
<syntaxhighlight lang="basic">rem uses carry command to perform modulus
<lang qbasic>10 FOR N = 1 TO 100
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>
 
=={{header|=IS-BASIC}}===
<langsyntaxhighlight ISlang="is-BASICbasic">100 PROGRAM "Fizzbuzz.bas"
110 FOR I=1 TO 100
120 IF MOD(I,15)=0 THEN
Line 140 ⟶ 333:
190 PRINT I
200 END IF
210 NEXT</langsyntaxhighlight>
 
=={{header|=Liberty BASIC}}===
<langsyntaxhighlight lang="lb">for i = 1 to 100
select case
case i mod 15 = 0
Line 154 ⟶ 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 170 ⟶ 433:
EndIf
Next
Input()</lang>
CloseConsole()</syntaxhighlight>
 
==={{header|Quite BASIC}}===
====If/else ladder approach====
<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>
 
=={{header|=REALbasic}}===
<langsyntaxhighlight lang="vb"> For i As Integer = 1 To 100
If i mod 3 = 0 And i mod 5 = 0 Then
Print("FizzBuzz")
Line 183 ⟶ 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 197 ⟶ 479:
Print(Str(i))
End Select
Next</langsyntaxhighlight>
 
=={{header|Ring}}=Run BASIC===
<syntaxhighlight lang="runbasic">for i = 1 to 100
<lang ring>
for n = 1 to 20
if n % 15 = 0 see "" + n + " = " + "FizzBuzz" + nl loop
but n % 3 = 0 see "" + n + " = " + "Fizz"+ nl
but n % 5 = 0 see "" + n + " = " + "Buzz" + nl
else see "" + n + " = " + n + nl ok
next
</lang>
Output:
<pre>
1 = 1
2 = 2
3 = Fizz
4 = 4
5 = Buzz
6 = Fizz
7 = 7
8 = 8
9 = Fizz
10 = Buzz
11 = 11
12 = Fizz
13 = 13
14 = 14
15 = FizzBuzz
16 = 16
17 = 17
18 = Fizz
19 = 19
20 = Buzz
</pre>
 
=={{header|Run BASIC}}==
<lang runbasic>for i = 1 to 100
print i;
if (i mod 15) = 0 then print " FizzBuzz";
Line 239 ⟶ 488:
if (i mod 5) = 0 then print " Buzz";
print
next i</langsyntaxhighlight>
 
=={{header|=tbas}}===
<langsyntaxhighlight lang="qbasic">FOR i = 1 TO 100
LET SHOW$ = ""
IF MOD(i,3) = 0 THEN
Line 255 ⟶ 504:
PRINT SHOW$;" ";
NEXT</langsyntaxhighlight>
 
=={{header|=TI-83 BASIC}}===
<langsyntaxhighlight lang="ti83b">PROGRAM:FIZZBUZZ
For(I,1,100
I
Line 268 ⟶ 517:
"FIZZBUZZ
Disp Ans
:End</langsyntaxhighlight>
 
===TI-99/4a TI BASIC===
=={{header|Visual Basic .NET}}==
<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+}}
<langsyntaxhighlight lang="vbnet">Sub Main()
For i = 1 To 100
Line 287 ⟶ 593:
Next
End Sub</langsyntaxhighlight>
 
== {{header|=XBasic}} ===
{{works with|Windows XBasic}}
<lang xbasic>
<syntaxhighlight lang="xbasic">
PROGRAM "fizzbuzz"
VERSION "0.0001"
Line 311 ⟶ 618:
END FUNCTION
 
END PROGRAM</syntaxhighlight>
 
</lang>
 
===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