Aus Das deutschsprachige Scratch-Wiki

Version vom 25. April 2021, 17:19 Uhr von Leo2nardo (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Alles, was in einem Computer gespeichert oder am Bildschirm dargestellt ist, ist in Binärcode repräsentiert. Der Binärcode besteht aus Folgen von Nullen und Einsen, die man als Dezimalzahlen oder als Buchstaben interpretieren kann. Der Code "1010001" bedeutet 81 und auch "Q". In vielen Programmiersprachen gibt es dehalb eine Funktion, die den Zahlenwert der internen Repräsentation des Buchstaben zurückgibt. In Python heißt diese Funktion ORD. ORD(Q) = 81. In Java konvertiert man einfach das Zeichen: (int) 'Q'; ergibt 81.

Eine solche Funktion existiert in Scratch nicht. Benötigt man dies, muss man es programmieren.

In Scratch gibt es diesen Block:

<[Apfel] enthält [a] ?>

Aber leider gibt es keinen, der die Position des Buchstabens retourniert:

<Position von [a] in [Apfel]>

Deshalb:

Definiere Position von (Zeichen) in (Wort)
setze [position v] auf (Länge von (Wort))
wiederhole bis <<(position) < [1]> oder <(Zeichen(position) von (Wort)) = (Zeichen)>>
ändere [position v] um (-1)
ende

Und damit:

Definiere ORD (Zeichen)
Position von (Zeichen) in [ABCDEFGHIJKLMNOPQRSTUVWXYZ]
setze [ord v] auf ((64) + (position))

Der Weg zurück ist vergleichsweise einfach. Diese Funktion heißt meist CHR. CHR(81) = Q.

Definiere CHR (Code)
setze [chr v] auf (Zeichen ((Code) - (64)) von [ABCDEFGHIJKLMNOPQRSTUVWXYZ])
Cookies helfen uns bei der Bereitstellung von Das deutschsprachige Scratch-Wiki. Durch die Nutzung von Das deutschsprachige Scratch-Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.