FizzBuzz/Basic: Difference between revisions

From Rosetta Code
Content added Content deleted
(Fixed syntax highlighting and duplicate headers.)
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>
 
=={{header|=ASIC}}===
<langsyntaxhighlight lang="basic">
REM FizzBuzz
CLS
Line 46 ⟶ 45:
ENDIF
NEXT I
END</syntaxhighlight>
END
</lang>
 
=={{header|=BaCon}}===
<langsyntaxhighlight lang="freebasic">' FizzBuzz
FOR i = 1 TO 100
msg$ = IIF$(MOD(i, 3), "", "Fizz")
Line 56 ⟶ 54:
PRINT IIF$(msg$ = "", STR$(i), msg$), " ";
NEXT
PRINT</langsyntaxhighlight>
 
{{out}}
Line 67 ⟶ 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 80 ⟶ 78:
PRINT A
END IF
NEXT A</langsyntaxhighlight>
 
 
 
===Concatenation approach===
<langsyntaxhighlight lang="qbasic">FOR A = 1 TO 100
OUT$ = ""
 
Line 101 ⟶ 98:
 
PRINT OUT$
NEXT A</langsyntaxhighlight>
See also: [[#RapidQ|RapidQ]]
 
=={{header|=Basic09}}===
<langsyntaxhighlight lang="Basic09">PROCEDURE FizzBuzz
DIM n:INTEGER
 
Line 123 ⟶ 120:
ENDIF
NEXT n
END</langsyntaxhighlight>
 
 
=={{header|=BASIC256}}===
<langsyntaxhighlight lang="freebasic">
for number = 1 to 100
if number mod 15 = 0 then
Line 143 ⟶ 140:
end if
next number
end</syntaxhighlight>
end
</lang>
 
 
=={{header|=BBC BASIC}}===
<langsyntaxhighlight lang="bbcbasic"> FOR number% = 1 TO 100
CASE TRUE OF
WHEN number% MOD 15 = 0: PRINT "FizzBuzz"
Line 155 ⟶ 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 174 ⟶ 170:
Lbl 1↵
Next</langsyntaxhighlight>
 
== {{header|=Commodore BASIC}} ===
{{works with|Commodore BASIC|3.5}}
<langsyntaxhighlight lang="basic">
10 REM FIZZBUZZ
20 FOR I=1 TO 100
Line 186 ⟶ 182:
60 PRINT I
70 NEXT I
80 END</syntaxhighlight>
</lang>
See also [[#Minimal BASIC|Minimal BASIC]].
 
=={{header|=FreeBASIC}}===
<langsyntaxhighlight lang="freebasic">'FreeBASIC
Dim As ULong n
 
Line 208 ⟶ 203:
Next n
 
sleep</langsyntaxhighlight>
 
=={{header|=GW-BASIC}}===
<langsyntaxhighlight 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 231 ⟶ 225:
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 245 ⟶ 239:
print i
end select
next i</langsyntaxhighlight>
 
== {{header|=Minimal BASIC}} ===
{{works with|Commodore BASIC|3.5}}
{{works with|Nascom ROM BASIC|4.7}}
<langsyntaxhighlight lang="gwbasic">
10 REM FizzBuzz
20 FOR I = 1 TO 100
Line 264 ⟶ 258:
120 PRINT I
130 NEXT I
140 END</syntaxhighlight>
</lang>
 
=={{header|=PureBasic}}===
<langsyntaxhighlight lang="purebasic">OpenConsole()
For x = 1 To 100
If x%15 = 0
Line 280 ⟶ 273:
EndIf
Next
Input()</langsyntaxhighlight>
 
=={{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 293 ⟶ 286:
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 307 ⟶ 300:
Print(Str(i))
End Select
Next</langsyntaxhighlight>
 
=={{header|Ring}}==
<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}}===
<langsyntaxhighlight lang="runbasic">for i = 1 to 100
print i;
if (i mod 15) = 0 then print " FizzBuzz";
Line 349 ⟶ 309:
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 365 ⟶ 325:
PRINT SHOW$;" ";
NEXT</langsyntaxhighlight>
 
=={{header|=TI-83 BASIC}}===
<langsyntaxhighlight lang="ti83b">PROGRAM:FIZZBUZZ
For(I,1,100
I
Line 378 ⟶ 338:
"FIZZBUZZ
Disp Ans
:End</langsyntaxhighlight>
 
=={{header|=TI-99/4a TI BASIC}}===
<langsyntaxhighlight TIlang="ti-99/4abasic">10 REM **FIZZBUZZ IN TI-BASIC**
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</langsyntaxhighlight>
 
=={{header|=Tiny BASIC}}===
<langsyntaxhighlight lang="tinybasic">
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>
</lang>
 
=={{header|=True BASIC}}===
<langsyntaxhighlight lang="qbasic">
FOR number = 1 TO 100
IF MOD(number, 15) = 0 then
Line 428 ⟶ 387:
END IF
NEXT number
END</syntaxhighlight>
END
</lang>
 
 
=={{header|=Visual Basic .NET}}===
'''Platform:''' [[.NET]]
{{works with|Visual Basic .NET|9.0+}}
<langsyntaxhighlight lang="vbnet">Sub Main()
For i = 1 To 100
Line 449 ⟶ 407:
Next
End Sub</langsyntaxhighlight>
 
== {{header|=XBasic}} ===
{{works with|Windows XBasic}}
<langsyntaxhighlight lang="xbasic">
PROGRAM "fizzbuzz"
VERSION "0.0001"
Line 474 ⟶ 432:
END FUNCTION
 
END PROGRAM</syntaxhighlight>
</lang>
 
 
=={{header|=Yabasic}}===
<langsyntaxhighlight lang="yabasic">
for number = 1 to 100
if mod(number, 15) = 0 then
Line 491 ⟶ 448:
endif
next number
end</syntaxhighlight>
end
</lang>

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

Works with: QuickBasic version 4.5

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 1A To 100 Step 1
MOD(A,15)B
MOD(A,3)C
MOD(A,5)D

B=0"FIZZBUZZ"
B=0Goto 1
C=0"BUZZ"
C=0Goto 1
D=0"FIZZ"
D=0Goto 1

A
Goto 1

Lbl 1
Next

Commodore BASIC

Works with: Commodore BASIC version 3.5
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

Works with: Commodore BASIC version 3.5
Works with: Nascom ROM BASIC version 4.7
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

Works with: Visual Basic .NET version 9.0+
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

Works with: Windows 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