first appearedfeaturesmain paradigmspopular uses computing basic for a=1 to 100 if a mod 15 = 0 then...
TRANSCRIPT
First appeared FeaturesMain paradigmsPopular uses
COMPUTING
BasicFOR A=1 TO 100
IF A MOD 15 = 0 THENPRINT “FizzBuzz”
ELSE IF A MOD 3 = 0 THENPRINT “Fizz”
ELSE IF A MOD 5 = 0 THENPRINT “Buzz”
ELSEPRINT A
END IFNEXT A
1964Simple,Many
Implementations
Computer Science, Education,
Scripting, Games
Imperative, Object Oriented
(some variations)
First appeared FeaturesMain paradigmsPopular uses
COMPUTING
C#include <stdio.h>int main (int argc, char** argv){ int i;
for (i = 1; i <= 100; i++) { if (!(i % 15)) printf("FizzBuzz\n"); else if (!(i % 3)) printf("Fizz\n"); else if (!(i % 5)) printf("Buzz\n"); else printf("%d\n", i); } return 0;}
1972High Performance,
Low Level, Pervasive
Operating Systems, Compilers,
Interpreters, Embedded
Processors, Games
Imperative, Static Typing
http://www.cprogramming.com/tutorial.html
First appeared FeaturesMain paradigmsPopular uses
COMPUTING
Scheme(define (fizzify i)
(cond((= (modulo i 15) 0) "FizzBuzz")((= (modulo i 3) 0) "Fizz")((= (modulo i 5) 0) "Buzz")(#t i)
))(define (fizzbuzz i)
(if (<= i 100)(begin(display (fizzify i)) (display "\n")(fizzbuzz (+ i 1)))
))(fizzbuzz 1)
1975Homoiconic,Minimalistic,
Cross Platform
Computer ScienceEducation, Scripting,
Academic Research
Functional,Tail Call Recursion,
Dynamic Typing
http://www.schemers.org
First appeared FeaturesMain paradigmsPopular uses
COMPUTING
Python
for i in range(1, 101):if i % 15 == 0:
print "FizzBuzz"elif i % 3 == 0:
print "Fizz"elif i % 5 == 0:
print "Buzz"else:print( i )
1991Cross Platform,
Duck Typing,Indentation
Syntax,Interpreter
Computer ScienceEducation, Scripting,
Internet, Games
Imperative,Object Oriented,Dynamic Typing
http://www.python.org
First appeared FeaturesMain paradigmsPopular uses
COMPUTING
Javapublic class FizzBuzz{
public static void main (String[] args){
for (int i = 1; i <= 100; i++){if (i % 15 == 0) {System.out.println("FizzBuzz");} else if (i % 3 == 0) {System.out.println("Fizz");} else if (i % 5 == 0) {System.out.println("Buzz");} else {System.out.println(i);}}
}}
1995Interoperability,
Standardised,Cross Platform
Applications, Mobile Devices,
Compilers,Interpreters,
Games
Imperative,Object Oriented,
Static Typing,Generics
http://www.java.com
First appeared FeaturesMain paradigmsPopular uses
COMPUTING
Ruby
1.upto(100) do |n|print "Fizz" if a = (n % 3).zero?print "Buzz" if b = (n %
5).zero?print n unless (a || b)print "\n"
end
1995Cross Platform,
Duck TypingInternet, Scripting Imperative,
Object Oriented,Dynamic Typing,
Functional
http://www.ruby-lang.org
First appeared FeaturesMain paradigmsPopular uses
COMPUTING
C#using System;namespace FizzBuzz{
class Program{
static void Main(string[] args){for (int i = 1; i <= 100; i++){string output = "";if (i % 3 == 0) output += "Fizz";if (i % 5 == 0) output += "Buzz";if (String.IsNullOrEmpty(output))output = i.ToString();Console.WriteLine(output);}}
}}
2001Standardised,
Common LanguageRuntime
Applications, Internet,
Business, Games
Imperative,Object Oriented,
Static Typing
First appeared FeaturesMain paradigmsPopular uses
COMPUTING
Scratch
2007Rich Media,
Online Collaboration,
Animation,Cross Platform
Computer ScienceEducation
Fixed Function,Imperative,
Visual Programming
http://scratch.mit.edu/
First appeared FeaturesMain paradigmsPopular uses
COMPUTING
PHP<?phpfor(a = 1; a <= 100; a++) {
if(a % 15 == 0)echo “FizzBuzz”;
elsif(a % 3 == 0)echo “Fizz”;
elsif(a % 5 == 0)echo “Buzz”;
}?>
1995Cross Platform,
InterpreterComputer Science, Education, Internet,
Scripting
Imperative, Object Oriented, Dynamic Typing
http://www.php.net
First appeared FeaturesMain paradigmsPopular uses
COMPUTING
Java Scriptfor (a=1; a<=100; a++)
if(a%15 ===0){console.log("FizzBuzz");
} else if ( a % 3 === 0 ) {console.log("Fizz");
} else if (a % 5 === 0 ) {console.log("Buzz");
} else {console.log(a);
}}
1995Weakly Typed,Cross Platform
Web Pages,PDF,
Widgets
Scripting, Object Oriented,
Imperative,Functional
First appeared FeaturesMain paradigmsPopular uses
COMPUTING
Visual Basic.net
For a = 1 To 100If a Mod 15 = 0 Then
Console.WriteLine("FizzBuzz")ElseIf a Mod 5 = 0 Then
Console.WriteLine("Buzz")ElseIf a Mod 3 = 0 Then
Console.WriteLine("Fizz")Else
Console.WriteLine(a)End If
Next
2001Intuative forms
designer.Simple syntax.
Flexible.
General purpose.Office applications
and tools.Gaming.
Structured,Imperative,
Object Oriented,Declarative
First appeared FeaturesMain paradigmsPopular uses
COMPUTING
Pascalprogram fizzbuzz(output);var
a: integer;begin
for a := 1 to 100 doif a mod 15 = 0 then
writeln('FizzBuzz')else if a mod 3 = 0 then
writeln('Fizz')else if a mod 5 = 0 then
writeln('Buzz')else
writeln(a)end.
1968Easy to learn.
Encourages good style.
Education Imperative,Structured
First appeared FeaturesMain paradigmsPopular uses
COMPUTING
COBOLIDENTIFICATION DIVISION.PROGRAM-ID. fizzbuzz.DATA DIVISION.WORKING-STORAGE SECTION01 CNT PIC 9(03) VALUE 1.01 REM PIC 9(03) VALUE 0.01 QUOTIENT PIC 9(03) VALUE 0.PROCEDURE DIVISION.*PERFORM UNTIL CNT > 100
DIVIDE 15 INTO CNT GIVING QUOTIENT REMAINDER REMIF REM = 0
THENDISPLAY "FizzBuzz " WITH NO ADVANCING
ELSEDIVIDE 3 INTO CNT GIVING QUOTIENT REMAINDER REMIF REM = 0
THENDISPLAY "Fizz " WITH NO ADVANCING
ELSEDIVIDE 5 INTO CNT GIVING QUOTIENT
REMAINDER REMIF REM = 0
THENDISPLAY "Buzz "
WITH NO ADVANCINGELSE
DISPLAY CNT " " WITH NO ADVANCING
END-IFEND-IF
END-IFADD 1 TO CNT
END-PERFORMDISPLAY "“STOP RUN.
1959Verbose so more
like a natural language
Business ProcessesBatch Programming
Procedural,Object Oriented
First appeared FeaturesMain paradigmsPopular uses
COMPUTING
Perlforeach (1 .. 100) {
if (0 == $_ % 15) {print "FizzBuzz\n";
} elsif (0 == $_ % 3) {print "Fizz\n";
} elsif (0 == $_ % 5) {print "Buzz\n";
} else {print "$_\n";
};};
1987Reusable Modules
Dynamic Conversion
Text ProcessingScriptingGraphics
Networking
Functional, Imperative,
Object Oriented, Procedural
First appeared FeaturesMain paradigmsPopular uses
COMPUTING
BBC Basic
FOR a% = 1 TO 100CASE TRUE OF
WHEN a% MOD 15 = 0: PRINT "FizzBuzz"WHEN a% MOD 3 = 0: PRINT "Fizz"WHEN a% MOD 5 = 0: PRINT "Buzz"OTHERWISE: PRINT ; a%
ENDCASENEXT a%
1981Weakly typed
Widely supportedEducationGaming
Procedural