// Programm: Rechenmaschine // addiert vierstellige Dualzahlen // R. Pausenberger, 26.7.2016 // // --------- // Anleitung // --------- // // Eingabe im Hauptprogramm ("in UPN"): // Erste Zahl (im Dualsystem, I und O) // Enter // Zweite Zahl (im Dualsystem, I und O) // Plus // // Stellenwerte bei Dualzahlen: // Achter Vierer Zweier Einer // // Breite der Welt = 5 // // Siehe auch www.physik.de.rs/schule/p7 // // ------------- Zahlen hinlegen-------- // // Legt die Ziffer Null (Buchstabe O) anweisung O linksdrehen schritt rechtsdrehen *anweisung // Legt die Ziffer Eins (Buchstabe I) anweisung I linksdrehen schritt rechtsdrehen hinlegen *anweisung // Ausgangsposition für die zweite Zahl anweisung Enter rechtsdrehen wiederhole solange NichtIstWand schritt *wiederhole linksdrehen *anweisung // ------------- Addieren -------------- // // Geht nach rechts zu den Einern anweisung Start linksdrehen wiederhole solange NichtIstWand schritt *wiederhole rechtsdrehen *anweisung // Geht eine Stelle höher, d.h. nach links anweisung Nächste rechtsdrehen schritt linksdrehen *anweisung // Macht aus zwei Einern einen Zweier // Idee: Er schaut, ob zwei da sind, // indem er einen Ziegel aufhebt // und dann weiter schaut, // ob noch einer übrig ist. // Danach legt er den aufgehobenen // gegebenenfalls wieder hin. anweisung Übertrag // Mindestens ein Ziegel? wenn IstZiegel dann aufheben // Zwei ZiegeI? Beide weg und Übertrag wenn IstZiegel dann aufheben Nächste hinlegen // Ein Ziegel? Ursprünglicher Zustand sonst hinlegen Nächste *wenn // Kein Ziegel: Lassen wie es ist, weiter sonst Nächste *wenn *anweisung // Addiert alle Stellen // (So oft wiederholen wie Breite-1) anweisung Plus Start wiederhole 4 mal Übertrag *wiederhole *anweisung // ------------- Hauptprogramm --------- // Eingaben: O O I O // Erster Summand Enter // Enter O O I I // Zweiter Summand Plus // Rechenoperation