Wortmanipulation

Das Wort "Computer" kommt aus dem Englischen und bedeutet soviel wie "Rechner". Ein Computer kann aber mehr als rechnen, er kann auch Texte verarbeiten. Damit ist nicht nur das Speichern von Wörtern und das Ausdrucken gemeint, sondern auch das Ändern von Texten, das alphabetische Ordnen von Begriffen, das Suchen bestimmter Wörter usw.

Scratch bietet verschiedene Befehlsblöcke zur Stringbearbeitung an.

Dazu kommen alle die Befehle der Palette Variablen und Listen, die auch für Zahlen genutzt werden können.

 

Drei Chinesen...

Alle kennen sicherlich das Kinderlied der drei Chinesen mit dem Kontrabass. Alle vorhanden Vokale im Liedtext werden durch a,e,i,o oder u ersetzt. Der Computer soll jetzt für eine singfeste Vorlage sorgen.

Dazu wird der fünfzeilige Liedtext in einer Liste abgespeichert.

In zwei ineinander geschachtelten Schleifen werden  die Wörter des Liedes analysiert. In der äußeren Schleife werden die einzelnen Elemente der Liste abgearbeitet, in der inneren Schleife das Element selber. In der inneren Schleife wird jeder Buchstabe darauf hin überprüft, ob es sich um einen Vokal handelt oder nicht. Wenn es kein Vokal ist, wird der analysierte Buchstabe unverändert übernommen; ist es ein Vokal, wird er durch den gewählten Vokal ersetzt.

 

Römische Zahlen

Als römische Zahlen werden die Zahlzeichen einer in der römischen Antike entstandenen und noch für Nummern und besondere Zwecke gebräuchlichen Zahlschrift bezeichnet. In der heute üblichen Form werden darin die lateinischen Buchstaben I (1), V (5), X (10), L (50), C (100), D (500) und M (1000) als Zahlzeichen für die Schreibung der natürlichen Zahlen verwendet. Es handelt sich um eine additive Zahlschrift, mit ergänzender Regel für die subtraktive Schreibung bestimmter Zahlen, aber ohne Stellenwertsystem und ohne Zeichen für Null.

Normalerweise geht man folgendermaßen vor: Man fügt einfach die Zahlzeichen ihrem Wert entsprechend so zusammen, dass ihre Summe die gesuchte Zahl ergibt, stets beginnend mit dem Zeichen mit dem höchsten Wert, z.B. hat LXVIII den Wert 50+10+5+1+1+1=68.
Ausnahme: Um zu vermeiden, dass mehr als drei gleiche Zeichen hintereinander standen, verwendete man die folgende Notation: Steht ein weniger wertes Zeichen vor einem höherwertigen, so hat man den Wert des niedriger wertigen Zeichens von dem des höherwertigen abzuziehen. So schreibt mal 4 nicht als IIII, sondern als IV, also als 5-1. Analog entspricht IX der 9, XL der 40, XC der 90 etc.  I darf nur vor V und X stehen, X nur vor L und C, C nur vor D und M. Zahlzeichen der Fünferbündelung (V,L,D) werden generell nicht in subtraktiver Stellung einem größeren Zeichen vorangestellt.

Die Römer konnten auch größere Zahlen darstellen. So ist es durchaus üblich, für die Zahl 4000 MMMM zu schreiebn. In dem folgenden Beispiel soll die Dreierregel aber nicht überschritten werden; d.h. das folgende Programm kann als größte römische Zahl die Ganzzahl 3999 darstellen: MMMCMXCIX.

 

Ganzzahl --> römische Zahl

Das Prinzip ist recht einfach: von der eingegebenen Zahl werden die möglichen vielfachen von 1000 abgezogen und für jede Differenz wird ein M notiert. Das wird mit der nächsthöheren möglichen Zahl solnage fortgeführt, bis nur noch 1 abziehbar ist.

römische Zahl --> Ganzzahl

Hier finden sich zwei Lösungen. Die erste Lösung erwartet die korrekte Eingabe der römischen Zahl. In der zweiten Lösung wird die eingegebene römische Zahl auf ihre korrekte Schreibweise überprüft. Dieses Programm ist eine Kombination aus den beiden ersten Variationen.

Hier nun die Variation mit Eingabekontrolle.