Aus Das deutschsprachige Scratch-Wiki
So erstellen Sie Befehle zum Finden der minimalen und maximalen Zahl aus einer Reihe von Zahlen.
Vorbereitung
Zunächst muss man drei Variablen und eine Liste erstellen:
(index)(kleinste)(größste)(nummern::list)
Verwendet man dann den folgenden benutzerdefinierten Block, um jede Nummer in ein eigenes Element in der Liste zu trennen:
Definiere Teile (Zahlen) auf
lösche alles aus [zahlen v]
setze [string v] auf []
setze [index v] auf [1]
wiederhole (Länge von (Zahlen)) mal
falls <(Zeichen (index) von (Zahlen)) = ()> , dann
füge (string) zu [zahlen v] hinzu
setze [string v] auf () // Stellen Sie sicher, dass nichts in dieser Eingabe steht
sonst
setze [string v] auf (verbinde (string) und (Zeichen (index) von (Zahlen))
end // Stellen sie sicher, dass auf der rechten Seite des Boolean ein Leerzeichen steht
ändere [index v] um (1)
end
füge (string) zu [zahlen v] hinzu // Dieser Block fügt alles, was übrig ist, der Liste hinzu
Größste Nummer finden
Dieser Befehl muss folgendermaßen aufgerufen werden: 1 2 3. Die Eingabe von 1 2 3 findet die maximale Zahl aus 1, 2 und 3. Es ist möglich, beliebig viele Zahlen in die String einzugeben.
Den Block erstellen
The first step for creating the command is to make a block called Find Biggest Number, then add a number input called Number string, and finally check the "Run without screen refresh" box. Make this code under the define block:
Zuerst erstellt man einen bentuzerdefinierten Block, der "Finde die größste Nummer in" heißst, als nächstes fügt man eine Zahleneingabe ein. Zu letzt erstellt man diesen Code unter den Block:
Definiere Finde die größste Nummer in (Zahlen)
Teile (Zahlen) auf :: custom
setze [index v] auf [1]
setze [größste v] auf [-Infinity]
wiederhole (Länge von [zahlen v]) mal
falls <(Element (index) von [zahlen v]) > (größste)> , dann
setze [größste v] auf (Element (index) von [zahlen v])
end
ändere [index v] um (1)
end
Den Block benutzen
Jetzt erstellt man folgendes Skript, wenn alles funktioniert, sollte es 3 sagen.
Finde die größste Nummer in [1 2 3] :: custom sage (größste)
Kleinste Nummer finden
Definiere Finde die kleinste Nummer in (Zahlen)
Teile (Zahlen) auf :: custom
setze [index v] auf [1]
setze [kleinste v] auf [Infinity]
wiederhole (Länge von [zahlen v]) mal
falls <(Element (index) von [zahlen v]) < (kleinste)> , dann
setze [kleinste v] auf (Element (index) von [zahlen v])
end
ändere [index v] um (1)
end
Den Block benutzen
Jetzt erstellt man folgendes Skript, wenn alles funktioniert, sollte es 1 sagen.
Finde die kleinste Nummer in [1 2 3] :: custom sage (kleinste)
Demo
Verwendungszwecke für diese Blöcke
Sie werden aus verschiedenen Gründen verwendet, wie zum Beispiel:
- Maximal- oder Minimalzahl einer Zahlenfolge ermitteln.
- Ratespiele, bei denen man die höchste oder niedrigste Zahl erraten muss.
- Erweiterte Berechnungen durchführen.
[wiki=de:Wie man eine minimale und maximale Zahl findet]Wie man eine minimale und maximale Zahl findet[/wiki]