Die meisten Programme werden nicht einfach drauflos geschrieben, sondern sind das Ergebnis eines langen, sowohl kreativen als auch sorgfältig dokumentierten Entwicklungsprozesses. Am Beispiel der Binärzahlen werden wir heute dieses Prinzip nachstellen.
Binärzahlen verwenden nur die Symbole 0 und 1, um Ganzzahlen zu repräsentieren. Dabei wird als Index angegeben, ob es sich um eine Binärzahl (12) oder Dezimalzahl (110) handelt.
Für die Umrechung in eine Dezimalzahl wird die letzte Stelle mit 1, die vorletzte mit 2, die vorvorletzte Stelle mit 4 malgenommen und dann addiert (kurz: n-te Stelle von hinten mit 2n-1 malnehmen)
Alternativ kannst Du auch eine Tabelle verwenden (siehe rechts).
Zuordnung bin/dez
010 = 0002
110 = 0012
210 = 0102
310 = 0112
410 = 1002
510 = 1012
610 = 1102
710 = 1112
Beispiele:
112 = 1 * 2 + 1 * 1 = 310
1102 = 0 * 1 + 1 * 2 + 1 * 4 = 610
Vergleiche Deinen Entwurf mit diesem Vorschlag. Prüfe, ob Dein Entwurf die folgenden Kriterien erfüllt:
* 4 LEDs verbaut
* 4 Widerstände an den LEDs verbaut
* Jede LED ist an einem separaten PIN angeschlossen, damit sie separat ansteuerbar ist
* Alle Stromkreise treffen sich auf dem Breadboard und werden gemeinsam zum GND-PIN geschlossen
* Alle Stromkreise sind geschlossen
Hinweis: Die Schaltung muss nicht genauso aussehen wie auf dem Bild, solange sie die genannten Kriterien erfüllt.
Bevor Du versuchst, ein Programm zu schreiben, solltest Du einen Plan für den Ablauf machen und diesen testen. Es gibt verschiedene Wege, um Dezimalzahlen in Binärzahlen umzuwandeln; zwei davon stelle ich Dir kurz vor:
Prüfe, ob die umzuwandelnde Zahl 0 ist, 1 ist, 2 ist, ... und hinterlege für jede denkbare Dezimalzahl bis 7 die passenden HIGH/LOW-Werte für die LED-Pins.
Achtung: Das ist zwar einfach, aber nicht gut zu erweitern.
Teile die Eingabe durch 2; der Divisionsrest ist die letzte Stelle der Binärzahl. Das ganzzahlige Ergebnis der Division ist die neue Zahl. Diese wird durch 2 geteilt, der Divisionsrest gibt die vorletzte Stelle der Binärzahl an (usw., bis der ganzzahlige Rest 0 ist).
Beispiel:
5 : 2 = 2 Rest 1
2 : 2 = 1 Rest 0
1 : 2 = 0 Rest 1
-> Ergebnis: 1012
SPEICHERE Zahl ALS Eingabe.
Jetzt soll getestet werden. Dabei übernehmen Mitschüler*innen die Rollen der beteiligten Komponenten (der LEDs, der Recheneinheit, der Kontrolleinheit, der Variablen).
Du liest Schritt für Schritt die Anweisungen vor - NICHT INTERPRETIEREN, sonst werden Fehler nicht gefunden.
Wenn Du eine Rechnung durchführen oder eine Bedingung überprüfen lassen möchtest, beauftragst Du die Recheneinheit, das Merken/Wiedergeben von Zahlenwerten übernimmt die Variable.
Du wirst von der Kontrolleinheit beauftragt, entweder Rechnungen durchzuführen (dann meldest Du das Ergebnis zurück) oder Bedingungen zu prüfen (dann melde WAHR oder FALSCH zurück).
Beachte: Es ist wichtig, dass Du genau das Gefragte und NUR das Gefragte lieferst.
Du bildest mit den anderen LEDs eine Ausgabereihe. Es ist wichtig, dass Du Deine PIN-Nummer kennst. Wenn an Deinem PIN der Strom eingeschaltet wird, stehst Du auf und bleibst stehen, bis der Strom an Deinem PIN wieder ausgeschaltet wird. Du startest im Zustand kein Strom
.
Eingabe
Du merkst Dir Zahlenwerte, die Dir die Kontrolleinheit übergibt. Wenn Kontrolleinheit oder Recheneinheit einen Variablenwert abfragen, gibst Du ihn an.
Beachte: Auch wenn die Variable Eingabe
heißt, kann sich der Wert im Verlauf der Ausführung des Algorithmus ändern.
Sie nutzen einen Browser mit dem tutory.de nicht einwandfrei funktioniert. Bitte aktualisieren Sie Ihren Browser.
Sie verwenden eine ältere Version Ihres Browsers. Es ist möglich, dass tutory.de mit dieser Version nicht einwandfrei funktioniert. Um tutory.de optimal nutzen zu können, aktualisieren Sie bitte Ihren Browser oder installieren Sie einen dieser kostenlosen Browser: