FizzBuzz/Basic: Difference between revisions
< FizzBuzz
Content added Content deleted
(→{{header|Commodore BASIC}}: Added.) |
(Fixed syntax highlighting and duplicate headers.) |
||
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>
==
<
REM FizzBuzz
CLS
Line 46 ⟶ 45:
ENDIF
NEXT I
END</syntaxhighlight>
==
<
FOR i = 1 TO 100
msg$ = IIF$(MOD(i, 3), "", "Fizz")
Line 56 ⟶ 54:
PRINT IIF$(msg$ = "", STR$(i), msg$), " ";
NEXT
PRINT</
{{out}}
Line 67 ⟶ 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 80 ⟶ 78:
PRINT A
END IF
NEXT A</
===Concatenation approach===
<
OUT$ = ""
Line 101 ⟶ 98:
PRINT OUT$
NEXT A</
See also: [[#RapidQ|RapidQ]]
==
<
DIM n:INTEGER
Line 123 ⟶ 120:
ENDIF
NEXT n
END</
==
<
for number = 1 to 100
if number mod 15 = 0 then
Line 143 ⟶ 140:
end if
next number
end</syntaxhighlight>
==
<
CASE TRUE OF
WHEN number% MOD 15 = 0: PRINT "FizzBuzz"
Line 155 ⟶ 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 174 ⟶ 170:
↵
Lbl 1↵
Next</
==
{{works with|Commodore BASIC|3.5}}
<
10 REM FIZZBUZZ
20 FOR I=1 TO 100
Line 186 ⟶ 182:
60 PRINT I
70 NEXT I
80 END</syntaxhighlight>
See also [[#Minimal BASIC|Minimal BASIC]].
==
<
Dim As ULong n
Line 208 ⟶ 203:
Next n
sleep</
==
<
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 231 ⟶ 225:
190 PRINT I
200 END IF
210 NEXT</
==
<
select case
case i mod 15 = 0
Line 245 ⟶ 239:
print i
end select
next i</
==
{{works with|Commodore BASIC|3.5}}
{{works with|Nascom ROM BASIC|4.7}}
<
10 REM FizzBuzz
20 FOR I = 1 TO 100
Line 264 ⟶ 258:
120 PRINT I
130 NEXT I
140 END</syntaxhighlight>
==
<
For x = 1 To 100
If x%15 = 0
Line 280 ⟶ 273:
EndIf
Next
Input()</
==
<
If i mod 3 = 0 And i mod 5 = 0 Then
Print("FizzBuzz")
Line 293 ⟶ 286:
Print(Str(i))
End If
Next</
An alternative syntax:
<syntaxhighlight lang="vb">
For i As Integer = 1 To 100
Select Case True
Line 307 ⟶ 300:
Print(Str(i))
End Select
Next</
==
<
print i;
if (i mod 15) = 0 then print " FizzBuzz";
Line 349 ⟶ 309:
if (i mod 5) = 0 then print " Buzz";
print
next i</
==
<
LET SHOW$ = ""
IF MOD(i,3) = 0 THEN
Line 365 ⟶ 325:
PRINT SHOW$;" ";
NEXT</
==
<
For(I,1,100
I
Line 378 ⟶ 338:
"FIZZBUZZ
Disp Ans
:End</
==
<
20 FOR I = 1 TO 100
30 IF ((I/15)-INT(I/15))=0 THEN 120
Line 395 ⟶ 355:
130 GOTO 140
140 NEXT I
150 END</
==
<
LET I=1
10 IF (I/15)*15<>I THEN GOTO 20
Line 412 ⟶ 372:
100 LET I=I+1
IF I<=100 THEN GOTO 10
END</syntaxhighlight>
==
<
FOR number = 1 TO 100
IF MOD(number, 15) = 0 then
Line 428 ⟶ 387:
END IF
NEXT number
END</syntaxhighlight>
==
'''Platform:''' [[.NET]]
{{works with|Visual Basic .NET|9.0+}}
<
For i = 1 To 100
Line 449 ⟶ 407:
Next
End Sub</
==
{{works with|Windows XBasic}}
<
PROGRAM "fizzbuzz"
VERSION "0.0001"
Line 474 ⟶ 432:
END FUNCTION
END PROGRAM</syntaxhighlight>
==
<
for number = 1 to 100
if mod(number, 15) = 0 then
Line 491 ⟶ 448:
endif
next number
end</syntaxhighlight>
|
Revision as of 14:25, 31 August 2022
FizzBuzz/Basic is part of FizzBuzz. You may find other members of FizzBuzz at Category:FizzBuzz.
Applesoft BASIC
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
ASIC
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
BaCon
' 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
- Output:
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
BASIC
If/else ladder approach
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
Concatenation approach
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
See also: RapidQ
Basic09
PROCEDURE FizzBuzz
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
BASIC256
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
BBC BASIC
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%
Casio BASIC
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
Commodore 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
See also Minimal BASIC.
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
GW-BASIC
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
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
Liberty BASIC
for i = 1 to 100
select case
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
Minimal BASIC
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
PureBasic
OpenConsole()
For x = 1 To 100
If x%15 = 0
PrintN("FizzBuzz")
ElseIf x%3 = 0
PrintN("Fizz")
ElseIf x%5 = 0
PrintN("Buzz")
Else
PrintN(Str(x))
EndIf
Next
Input()
REALbasic
For i As Integer = 1 To 100
If i mod 3 = 0 And i mod 5 = 0 Then
Print("FizzBuzz")
ElseIf i mod 3 = 0 Then
Print("Fizz")
ElseIf i mod 5 = 0 Then
Print("Buzz")
Else
Print(Str(i))
End If
Next
An alternative syntax:
For i As Integer = 1 To 100
Select Case True
Case i mod 3 = 0 And i mod 5 = 0
Print("FizzBuzz")
Case i mod 3 = 0
Print("Fizz")
Case i mod 5 = 0
Print("Buzz")
Else
Print(Str(i))
End Select
Next
Run BASIC
for i = 1 to 100
print i;
if (i mod 15) = 0 then print " FizzBuzz";
if (i mod 3) = 0 then print " Fizz";
if (i mod 5) = 0 then print " Buzz";
print
next i
tbas
FOR i = 1 TO 100
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
TI-83 BASIC
PROGRAM:FIZZBUZZ
For(I,1,100
I
If not(fPart(I/3
"FIZZ
If not(fPart(I/5
"BUZZ
If not(fPart(I/15
"FIZZBUZZ
Disp Ans
:End
TI-99/4a TI BASIC
10 REM **FIZZBUZZ IN TI-BASIC**
20 FOR I = 1 TO 100
30 IF ((I/15)-INT(I/15))=0 THEN 120
40 IF ((I/3)-INT(I/3))=0 THEN 80
50 IF ((I/5)-INT(I/5))=0 THEN 100
60 PRINT I
70 GOTO 140
80 PRINT "FIZZ"
90 GOTO 140
100 PRINT "BUZZ"
110 GOTO 140
120 PRINT "FIZZBUZZ"
130 GOTO 140
140 NEXT I
150 END
Tiny BASIC
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
True BASIC
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
Visual Basic .NET
Platform: .NET
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
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
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