Binde "Duden/Eingabe" ein.
Binde "Duden/Listen" ein.
Binde "Duden/Texte" ein.
Binde "Duden/Zeichen" ein.
Binde "Duden/Ausgabe" ein.
Binde "Duden/Zahlen" ein.
Wir nennen die öffentliche Kombination aus
der öffentlichen Zahl ziel_start mit Standardwert 0,
der öffentlichen Zahl quell_start mit Standardwert 0,
der öffentlichen Zahl bereich_länge mit Standardwert 0,
eine Umwandlung,
und erstellen sie so:
"einer Umwandlung mit Ziel <ziel_start> Quelle <quell_start> und Länge <bereich_länge>"
[überspringt 1 Zeile und fängt dann das parsen an]
Die öffentliche Funktion Parse_Umwandlungen gibt eine Umwandlung Liste zurück, macht:
Die nächste Zeile. [überspringt 1 Zeile]
Die Umwandlung Liste umwandlungen ist eine leere Umwandlung Liste.
Der Text zeile ist die nächste Zeile.
Solange zeile ungleich "" ist, mache:
Die Text Liste wörter ist zeile an ' ' gespalten.
Speichere umwandlungen verkettet mit einer Umwandlung
mit Ziel ((wörter an der Stelle 1) als Zahl)
Quelle ((wörter an der Stelle 2) als Zahl)
und Länge ((wörter an der Stelle 3) als Zahl)
in umwandlungen.
Wenn die Benutzereingabe zu Ende gewesen ist, gib umwandlungen zurück.
Speichere die nächste Zeile in zeile.
Gib umwandlungen zurück.
Und kann so benutzt werden:
"die nächsten Umwandlungen"
Die öffentliche Funktion Gewandelter_Wert mit den Parametern Wert und Umwandlungen vom Typ Zahl und Umwandlung Listen Referenz, gibt eine Zahl zurück, macht:
Für jede Umwandlung u in Umwandlungen, mache:
Wenn Wert zwischen (quell_start von u) minus 1 und (quell_start von u plus bereich_länge von u) plus 1 ist, dann:
Gib ziel_start von u plus Wert minus quell_start von u zurück.
Gib Wert zurück.
Und kann so benutzt werden:
"die Umwandlung <Umwandlungen> von <Wert>" oder
"der Umwandlung <Umwandlungen> von <Wert>"
Die öffentliche Text Liste samen_zeile ist (die nächste Zeile) an ' ' gespalten.
Die Zahlen Liste samen ist die Länge von samen_zeile minus 1 Mal 0.
Für jede Zahl i von 2 bis die Länge von samen_zeile, speichere (samen_zeile an der Stelle i) als Zahl in samen an der Stelle (i minus 1).
Die nächste Zeile. [überspringt 1 Zeile]
Die Umwandlung Liste samen_boden ist die nächsten Umwandlungen.
Die Umwandlung Liste boden_dünger ist die nächsten Umwandlungen.
Die Umwandlung Liste dünger_wasser ist die nächsten Umwandlungen.
Die Umwandlung Liste wasser_licht ist die nächsten Umwandlungen.
Die Umwandlung Liste licht_temperatur ist die nächsten Umwandlungen.
Die Umwandlung Liste temperatur_feuchtigkeit ist die nächsten Umwandlungen.
Die Umwandlung Liste feuchtigkeit_ort ist die nächsten Umwandlungen.
Die öffentliche Funktion Samen_zu_Ort mit dem Parameter samen vom Typ Zahl, gibt eine Zahl zurück, macht:
Gib die Umwandlung feuchtigkeit_ort von (
der Umwandlung temperatur_feuchtigkeit von (
der Umwandlung licht_temperatur von (
der Umwandlung wasser_licht von (
der Umwandlung dünger_wasser von (
der Umwandlung boden_dünger von (
der Umwandlung samen_boden von samen
)
)
)
)
)
)
zurück.
Und kann so benutzt werden:
"der Ort für <samen>"
Die Zahl kleinster_ort ist der maximale Wert einer Zahl.
Für jede Zahl samen in samen, mache:
Die Zahl ort ist der Ort für samen.
Wenn ort kleiner als kleinster_ort ist, dann:
Speichere ort in kleinster_ort.
Schreibe kleinster_ort auf eine Zeile.
05b.ddp:
Binde "Duden/Eingabe" ein.
Binde "Duden/Listen" ein.
Binde "Duden/Texte" ein.
Binde "Duden/Zeichen" ein.
Binde "Duden/Ausgabe" ein.
Binde "Duden/Zahlen" ein.
Binde "05a" ein.
Die Zahl kleinster_ort ist der maximale Wert einer Zahl.
Für jede Zahl i von 2 bis die Länge von samen_zeile mit Schrittgröße 2, mache:
Die Zahl start ist (samen_zeile an der Stelle i) als Zahl.
Die Zahl ende ist start plus (samen_zeile an der Stelle i) als Zahl.
Für jede Zahl samen von start bis ende, mache:
Die Zahl ort ist der Ort für samen.
Wenn ort kleiner als kleinster_ort ist, dann:
Speichere ort in kleinster_ort.
Schreibe kleinster_ort auf eine Zeile.
05a.ddp:
05b.ddp: