Lernpfad:Das Dualsystem/4: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 38: Zeile 38:


Also <math>(65)_{10} = (1000001)_2</math>
Also <math>(65)_{10} = (1000001)_2</math>
{{Lösung:End}}
Das Programm setzt das Verfahren genau um. Erstelle dazu ein neues Projekt in {{Scratch|link}} und wähle die Figur der Scratch-Katze aus. Erstelle folgendes Grundgerüst des Programms:
<scratchblocks>
Wenn diese Figur angeklickt wird :: events hat
frage [Gib eine Dezimalzahl ein.] und warte
setze [dezimal v] auf (Antwort)
setze [binaer v] auf ( )
// füge hier weitere Blöcke ein
sage (binaer)
</scratchblocks>
Die Blöcke für die Variablen <sb>(dezimal)</sb> und <sb>(binaer)</sb> müsst Ihr dazu zunächst im Bereich {{Scratch3/Kategorie|Variablen}} erstellen.
{{Aufgabe:Start}}
Vervollständige das Programm zur Umrechnung von Dezimalzahlen in Dualzahlen mittels des Moduloverfahrens.
Du kannst versuchen, selber eine Lösung zu finden, oder die folgenden Tipps verwenden. Sobald das Programm funktioniert, kannst Du Deine Lösung mit der Musterlösung vergleichen.
{{Aufgabe:End}}
{{Tipp:Start}}
Um das Programm zu vervollständigen, reichen die folgenden Blöcke:
* <sb>wiederhole bis < ></sb>
* <sb><(dezimal) = (0)></sb>
* <sb>setze [ v] auf ( )</sb>
* <sb>setze [ v] auf ( )</sb>
* <sb>(verbinde ( ) und ( ) :: operators)</sb>
* <sb>(( ) mod ( ))</sb> (die Modulo-Operation, also teilen mit Rest)
* <sb>([abrunden v] von ( )</sb>
* <sb>(( ) / (2))</sb>
{{Tipp:End}}
{{Lösung:Start}}
<scratchblocks>
Wenn diese Figur angeklickt wird :: events hat
frage [Gib eine Dezimalzahl ein.] und warte
setze [dezimal v] auf (Antwort)
setze [binaer v] auf ( )
wiederhole bis <(dezimal) = (0)>
  setze [binear v] auf (verbinde ((dezimal) mod (2)) und (binear) :: operators)
  setze [dezimal v] auf ([abrunden v] von ((dezimal) / (2)))
end
sage (binaer)
</scratchblocks>
{{Lösung:End}}
{{Lösung:End}}




== Dualzahlen in Dezimalzahlen umrechnen ==
== Dualzahlen in Dezimalzahlen umrechnen ==

Version vom 22. August 2023, 12:28 Uhr

Du kennst vielleicht noch die visuelle Programmierumgebung Scratch. Mit Ihr lassen sich auch Programme zur Umrechnung von Dualzahlen erstellen. Dazu findest Du hier einige Hinweise, die Dir bei der Entwicklung helfen.

Du solltest schon einmal mit Scratch gearbeitet haben und die folgenden Konzepte kennen, damit Du die Programme erfolgreich umsetzen kannst:

  • Ich kenne bedingte Anweisungen (falls <> dann :: stack),
  • ich kenne Schleifen (wiederhole bis <> :: stack, wiederhole () mal :: stack),
  • ich kenne Variablen ((dezimal), setze (dezimal) auf (), ändere (dezimal) um ()).

Dezimalzahlen in Dualzahlen umrechnen

Um eine Dezimalzahl in eine Dualzahl umzurechnen, hast Du das Moduloverfahren kennengelernt. Dieses lässt sich relativ leicht in Scratch als Programm umsetzen.

Icon Heft.png
Arbeitsauftrag

Frische Dein Wissen über das Moduloverfahren auf und wende es auf die folgenden Beispiele an:

  1. [math]\displaystyle{ (65)_{10} }[/math]
  2. [math]\displaystyle{ (71)_{10} }[/math]
  3. [math]\displaystyle{ (1000)_{10} }[/math]
Lösung
  1. [math]\displaystyle{ (65)_{10} = (1000001)_2 }[/math]
  2. [math]\displaystyle{ (71)_{10} = (1000111)_2 }[/math]
  3. [math]\displaystyle{ (1000)_{10} = (1111101000)_2 }[/math]

Beispiel zur Umrechnung:

[math]\displaystyle{ \begin{align*} 65 : 2 &= 32 \,\text{R} 1 \\ 32 : 2 &= 16 \,\text{R} 0 \\ 16 : 2 &= 8 \,\text{R} 0 \\ 8 : 2 &= 4 \,\text{R} 0 \\ 4 : 2 &= 2 \,\text{R} 0 \\ 2 : 2 &= 1 \,\text{R} 0 \\ 1 : 2 &= 0 \,\text{R} 1 \\ \end{align*} }[/math]

Also [math]\displaystyle{ (65)_{10} = (1000001)_2 }[/math]


Das Programm setzt das Verfahren genau um. Erstelle dazu ein neues Projekt in Scratch und wähle die Figur der Scratch-Katze aus. Erstelle folgendes Grundgerüst des Programms:

Wenn diese Figur angeklickt wird :: events hat
frage [Gib eine Dezimalzahl ein.] und warte
setze [dezimal v] auf (Antwort)
setze [binaer v] auf ( )
 // füge hier weitere Blöcke ein
sage (binaer)

Die Blöcke für die Variablen (dezimal) und (binaer) müsst Ihr dazu zunächst im Bereich  Variablen erstellen.

Icon Heft.png
Arbeitsauftrag

Vervollständige das Programm zur Umrechnung von Dezimalzahlen in Dualzahlen mittels des Moduloverfahrens.

Du kannst versuchen, selber eine Lösung zu finden, oder die folgenden Tipps verwenden. Sobald das Programm funktioniert, kannst Du Deine Lösung mit der Musterlösung vergleichen.

Tipp

Um das Programm zu vervollständigen, reichen die folgenden Blöcke:

  • wiederhole bis < >
  • <(dezimal) = (0)>
  • setze [ v] auf ( )
  • setze [ v] auf ( )
  • (verbinde ( ) und ( ) :: operators)
  • (( ) mod ( )) (die Modulo-Operation, also teilen mit Rest)
  • ([abrunden v] von ( )
  • (( ) / (2))
Lösung
Wenn diese Figur angeklickt wird :: events hat
frage [Gib eine Dezimalzahl ein.] und warte
setze [dezimal v] auf (Antwort)
setze [binaer v] auf ( )
wiederhole bis <(dezimal) = (0)>
  setze [binear v] auf (verbinde ((dezimal) mod (2)) und (binear) :: operators)
  setze [dezimal v] auf ([abrunden v] von ((dezimal) / (2)))
end
sage (binaer)


Dualzahlen in Dezimalzahlen umrechnen