Anonymous user
FizzBuzz/Basic: Difference between revisions
Add an example for TI Extended BASIC; condense the regular TI BASIC example
(FizzBuzz en Yabasic) |
imported>Tth (Add an example for TI Extended BASIC; condense the regular TI BASIC example) |
||
(23 intermediate revisions by 5 users not shown) | |||
Line 1:
{{collection|FizzBuzz}}
==
<
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>
===ASIC===
<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")
Line 19 ⟶ 54:
PRINT IIF$(msg$ = "", STR$(i), msg$), " ";
NEXT
PRINT</
{{out}}
Line 30 ⟶ 65:
Fizz 88 89 FizzBuzz 91 92 Fizz 94 Buzz Fizz 97 98 Fizz Buzz</pre>
==
{{works with|QuickBasic|4.5}}
====If/else ladder approach====
<
IF A MOD 15 = 0 THEN
PRINT "FizzBuzz"
Line 43 ⟶ 78:
PRINT A
END IF
NEXT A</
====Concatenation approach====
<
OUT$ = ""
Line 64 ⟶ 98:
PRINT OUT$
NEXT A</
See also: [[#RapidQ|RapidQ]]
==
<
DIM n:INTEGER
Line 86 ⟶ 120:
ENDIF
NEXT n
END</
==
<
for number = 1 to 100
if number mod 15 = 0 then
Line 106 ⟶ 140:
end if
next number
end</syntaxhighlight>
==
<
CASE TRUE OF
WHEN number% MOD 15 = 0: PRINT "FizzBuzz"
Line 118 ⟶ 151:
OTHERWISE: PRINT ; number%
ENDCASE
NEXT number%</
==
<syntaxhighlight lang="basic">For 1→A To 100 Step 1↵
MOD(A,15)→B↵
MOD(A,3)→C↵
Line 137 ⟶ 170:
↵
Lbl 1↵
Next</
===Commodore BASIC===
{{works with|Commodore BASIC|3.5}}
<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 157 ⟶ 259:
Next n
sleep</
==={{header|
<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>
==
<
110 FOR I=1 TO 100
120 IF MOD(I,15)=0 THEN
Line 180 ⟶ 333:
190 PRINT I
200 END IF
210 NEXT</
==
<
select case
case i mod 15 = 0
Line 194 ⟶ 347:
print i
end select
next i</
===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|MSX Basic}}===
<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>
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>
==
<
For x = 1 To 100
If x%15 = 0
Line 210 ⟶ 433:
EndIf
Next
Input()
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>
==
<
If i mod 3 = 0 And i mod 5 = 0 Then
Print("FizzBuzz")
Line 223 ⟶ 465:
Print(Str(i))
End If
Next</
An alternative syntax:
<syntaxhighlight lang="vb">
For i As Integer = 1 To 100
Select Case True
Line 237 ⟶ 479:
Print(Str(i))
End Select
Next</
==
<syntaxhighlight lang="runbasic">for i = 1 to 100
print i;
if (i mod 15) = 0 then print " FizzBuzz";
Line 279 ⟶ 488:
if (i mod 5) = 0 then print " Buzz";
print
next i</
==
<
LET SHOW$ = ""
IF MOD(i,3) = 0 THEN
Line 295 ⟶ 504:
PRINT SHOW$;" ";
NEXT</
==
<
For(I,1,100
I
Line 308 ⟶ 517:
"FIZZBUZZ
Disp Ans
:End</
===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>
==
'''Platform:''' [[.NET]]
{{works with|Visual Basic .NET|9.0+}}
<
For i = 1 To 100
Line 344 ⟶ 593:
Next
End Sub</
==
{{works with|Windows XBasic}}
<
PROGRAM "fizzbuzz"
VERSION "0.0001"
Line 369 ⟶ 618:
END FUNCTION
END PROGRAM</syntaxhighlight>
==
<
for number = 1 to 100
if mod(number, 15) = 0 then
Line 386 ⟶ 634:
endif
next number
end</syntaxhighlight>
|