Was ist FizzBuzz?
Fizzbuzz ist ein weithin bekanntes Programmierproblem, das sowohl als Lernwerkzeug als auch als Programmierherausforderung dient. Es handelt sich um eine einfache Übung, bei der die Aufgabe darin besteht, von 1 bis zu einer bestimmten Zahl zu zählen und dabei Vielfache von 3 durch „Fizz“, Vielfache von 5 durch „Buzz“ und durch 3 und 5 teilbare Zahlen durch „FizzBuzz“ zu ersetzen. Das Hauptziel dieser Übung besteht darin, wesentliche Programmierkonzepte wie Schleifen, bedingte Anweisungen und algorithmisches Denken zu stärken. Es wird häufig als grundlegende Beurteilung in Programmierinterviews verwendet, um die Programmierkenntnisse, Problemlösungsfähigkeiten und Vertrautheit eines Kandidaten mit grundlegenden Programmierkonstrukten zu beurteilen.
FizzBuzz-Spiel
Das Fizz Buzz-Spiel ist eine spielerische und interaktive Möglichkeit, Teilbarkeitsregeln zu vermitteln, die häufig in Bildungseinrichtungen verwendet werden. Es wird oft als Lehrmittel für Kinder oder Anfänger eingesetzt, um ihnen zu helfen, die Konzepte der Multiplikation zu verstehen und sich am Lernprozess zu beteiligen. Bei dem Spiel sitzen die Teilnehmer abwechselnd im Kreis und zählen Zahlen beginnend bei 1. Wenn ein Spieler auf eine durch 3 teilbare Zahl trifft, sagt er „Fizz“, für durch 5 teilbare Zahlen sagt er „Buzz“ und für durch 5 teilbare Zahlen Sowohl 3 als auch 5 sagen „FizzBuzz“. Dieses Spiel fördert das Verständnis der Grundrechenprinzipien und macht das Mathematiklernen unterhaltsam und partizipativ.
Wofür wird Fizzbuzz verwendet?
Fizzbuzz wird hauptsächlich als Lehr- und Bewertungsinstrument im Informatikunterricht und in Programmierinterviews verwendet. Es dient als einfache, aber effektive Möglichkeit, die Fähigkeit eines Programmierers zu bewerten, logisch zu denken, bedingte Logik anzuwenden und Code zu erstellen, der einer Reihe von Regeln folgt. Im Bildungsbereich hilft Fizzbuzz den Schülern, grundlegende Programmierkonzepte zu verstehen und ihre Fähigkeiten zur Problemlösung zu verbessern. In Codierungsinterviews dient es als schneller Test der Codierungskompetenz und des algorithmischen Denkens eines Kandidaten. Abgesehen von der Ausbildung und Bewertung hat Fizzbuzz keine nennenswerten praktischen Anwendungen, bleibt aber eine wertvolle Übung zum Verfeinern von Programmierkenntnissen.
Details und Algorithmus
- Die Spieler beginnen mit der Zählung bei 1.
- Wenn die Zahl durch 3 teilbar ist, sagt man stattdessen „Fizz“.
- Wenn die Zahl durch 5 teilbar ist, heißt es stattdessen „Buzz“.
- Wenn die Zahl sowohl durch 3 als auch durch 5 teilbar ist, sagt man „Fizz Buzz“.
- Wenn keine dieser Bedingungen zutrifft, wird die Nummer selbst angegeben.
Das Spiel geht weiter und die Spieler folgen abwechselnd diesen Regeln. Es wird häufig verwendet, um Programmierkonzepte zu vermitteln und Programmierkenntnisse in Interviews zu bewerten. Hier sehen Sie den Algorithmus dieses Spiels.
Komponenten
1xPicoBricks
Schaltplan
MicroBlocks-Codes von Fizz Buzz
MicroPython-Codes von Fizz Buzz
von Zeit zu Zeit Schlaf importieren
vom Maschinenimport-Pin
vom Maschinenimport I2C
Von Picobricks importieren Sie SSD1306_I2C
von Picobricks Import WS2812
Importzeit
i2c = I2C(0, scl=Pin(5), sda=Pin(4), freq=200000)
oled = SSD1306_I2C(128, 64, i2c, addr=0x3c)
ws2812 = WS2812(6, Helligkeit = 1)
def write_fizzbuzz():
global i
oled.fill(0)
oled.text("{}".format("FizzBuzz"), 0, 25)
oled.show()
ws2812.pixels_fill((255, 0, 0))
ws2812.pixels_show()
time.sleep((0.75))
def write_fizz():
global i
oled.fill(0)
oled.text("{}".format("Fizz"), 0, 25)
oled.show()
ws2812.pixels_fill((51, 255, 51))
ws2812.pixels_show()
time.sleep((0.75))
def write_i():
global i
oled.fill(0)
oled.text("{}".format(i), 0, 25)
oled.show()
ws2812.pixels_fill((0 ,0 ,0 ))
ws2812.pixels_show()
time.sleep((0.75))
def write_buzz():
global i
oled.fill(0)
oled.text("{}".format("Buzz"), 0, 25)
oled.show()
ws2812.pixels_fill((51, 51, 255))
ws2812.pixels_show()
time.sleep((0.75))
oled.fill(0)
während True:
für i im Bereich((101)):
if (i % 15) == (0):
write_fizzbuzz()
elif (i % 3) == (0):
write_fizz()
elif (i % 5) == (0):
write_buzz()
anders:
schreibe ich()
oled.fill(0)
oled.text("{}".format("END"), 0, 25)
oled.show()
time.sleep((3))
PicoBlockly-Codes von PicoBricks
Entdecken Sie weitere unterhaltsame Projekte, die Sie mit PicoBricks erstellen können hier klicken!
Arduino C-Codes für PicoBricks
#include
#PIN 6 festlegen
#define NUMPIXEL 1
Adafruit_NeoPixel Pixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
#include
#include „ACROBOTIC_SSD1306.h“
void write_fizzbuzz() {
oled.clearDisplay();
oled.setTextXY(3, 1);
oled.putString("FizzBuzz");
pixels.setPixelColor(0,pixels.Color(255,0,0));
pixels.show();
Verzögerung (750);
}
void write_fizz() {
oled.clearDisplay();
oled.setTextXY(3, 1);
oled.putString("Fizz");
pixels.setPixelColor(0,pixels.Color(51,255,255));
pixels.show();
Verzögerung (750);
}
void write_buzz() {
oled.clearDisplay();
oled.setTextXY(3, 1);
oled.putString("Buzz");
pixels.setPixelColor(0,pixels.Color(51,51,255));
pixels.show();
Verzögerung (750);
}
void write_i(int i) {
oled.clearDisplay();
oled.setTextXY(3, 1);
oled.putString(String(i));
pixels.setPixelColor(0,pixels.Color(0,0,0));
pixels.show();
Verzögerung (750);
}
void setup() {
// DHT-Sensor und Oled-Bildschirm definieren
Serial.begin(115200);
Wire.begin();
oled.init();
oled.clearDisplay();
pixels.begin();
pixels.clear();
}
void loop() {
oled.clearDisplay();
for (int i = 1; i <= 100; i++) {
if (i % 15 == 0) {
write_fizzbuzz();
} else if (i % 3 == 0) {
write_fizz();
} else if (i % 5 == 0) {
write_buzz();
} anders {
write_i(i);
}
}
oled.clearDisplay();
oled.setTextXY(3,1);
oled.putString("DAS ENDE");
Verzögerung (3000);
}