Die Entwicklung des Programms erfolgt in mehreren Teilschritten. Jeder neue Schritt baut auf dem vorherigen Schritt auf!
Die Variable dezimal enthält die Zahl, die dann in eine binäre Zahl umgewandelt werden soll. In der
Variablen bit_anzahl stehen die maximale Anzahl von Bits, die die binäre Zahl enthalten kann. Mit dieser Anzahl
wird eine Liste von logischen Werten erzeugt. Dort drin steht dann die binäre Zahl.
Ändert man die maximale Anzahl der zur Verfügung stehenden Bits, wird die Liste beim Programmstart genau mit dieser
Länge erzeugt.
Zu Beginn enthält die Liste nur Nullen, also den logischen Wert falsch.
Das Programm besteht aus zwei Schleifen. In der ersten Schleife wird die Liste mit zufälligen binären Werten gefüllt. Die zweite Schleife zeigt die Liste in der oberen Bildschirmzeile an.
Das Verfahren zum Digitalisieren einer Dezimalzahl ist recht einfach. Es besteht aus drei Schritten, die sich entsprechend der Bitzahl wiederholen. Dabei werden die Bits vom niedrigwertigsten zum höchstwertigsten Bit gesetzt. Dieser Programmteil wird an die Stelle der ersten Schleife im Programm gesetzt.
Die Tabelle zeigt die Prozedur für die Zahl 23. Die Tabelle muss von rechts nach links gelesen werden!
Dezimalzahl | 1 | 2 | 5 | 11 | 23 |
---|---|---|---|---|---|
gerade? | nein | ja | nein | nein | nein |
Bitnummer | 4 | 3 | 2 | 1 | 0 |
Bitinhalt | 1 | 0 | 1 | 1 | 1 |
Zum besseren Verständnis kann das Programm im Debugger schrittweise bei der Arbeit beobachtet werden. Dazu müssen die Sensordaten angezeigt werden: und das Programm schrittweise abgearbeitet werden: .
Für die Zahl 23 erhält man die binäre Zahl 10111. Lässt man das Programm weiterlaufen, erscheint die Bitfolge in der ersten Zeile des Bildschirms. Aber sie ist verkehrt herum!
Klar: Der x-Wert 0 ist ja auf dem Bildschirm in der linken Ecke! Also muss bei der Ausgabe die Bitfolge umgekehrt ausgegeben werden.
Aufgabe: Ändere die zweite Schleife, so dass die Ausgabe richtig erfolgt.
Legt man das bisherige Prorgamm in einer Funktion ab (z.B. dez_to_bin()), kann man es bequem in einer Zählscheife aufrufen und die jeweilige Zählvariable binär auf der LED-Leiste anzeigen. Ändert man die bit_anzahl; kann die gesamte Leiste mit ihren 10 LED zur Anzeige verwendet werden.
Die Entwicklung des Programms erfolgt in mehreren Teilschritten. Jeder neue Schritt baut auf dem vorherigen Schritt auf!
Die Variable dezimal enthält die Zahl, die dann in eine binäre Zahl umgewandelt werden soll. In der
Variablen bit_anzahl stehen die maximale Anzahl von Bits, die die binäre Zahl enthalten kann. Mit dieser Anzahl
wird eine Liste von logischen Werten erzeugt. Dort drin steht dann die binäre Zahl.
Ändert man die maximale Anzahl der zur Verfügung stehenden Bits, wird die Liste beim Programmstart genau mit dieser
Länge erzeugt.
Das Programm besteht aus zwei Schleifen. In der ersten Schleife wird die Liste mit zufälligen binären Werten gefüllt. Die zweite Schleife zeigt die Liste in der oberen Bildschirmzeile an.
Das Verfahren zum Digitalisieren einer Dezimalzahl ist recht einfach. Es besteht aus drei Schritten, die sich entsprechend der Bitzahl wiederholen. Dabei werden die Bits vom niedrigwertigsten zum höchstwertigsten Bit gesetzt. Dieser Programmteil wird an die Stelle der ersten Schleife im Programm gesetzt.
Die Tabelle zeigt die Prozedur für die Zahl 23. Die Tabelle muss von rechts nach links gelesen werden!
Dezimalzahl | 1 | 2 | 5 | 11 | 23 |
---|---|---|---|---|---|
gerade? | nein | ja | nein | nein | nein |
Bitnummer | 4 | 3 | 2 | 1 | 0 |
Bitinhalt | 1 | 0 | 1 | 1 | 1 |
Aufgabe: Ändere das Programm!
Für die Zahl 23 erhält man die binäre Zahl 10111. Startet man das Programm, erscheint die Bitfolge in der ersten Zeile des Bildschirms. Aber sie ist verkehrt herum!
Klar: Der x-Wert 0 ist ja auf dem Bildschirm in der linken Ecke! Also muss bei der Ausgabe die Bitfolge umgekehrt ausgegeben werden.
Aufgabe: Ändere die zweite Schleife, so dass die Ausgabe richtig erfolgt.