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]