Einige String-Techniken in Scratch

In diesem Artikel werden weiterhin die Arten von Übungen zusammengefasst, die sich auf die Verarbeitung von Zeichenfolgen in der Young Informatics-Prüfung beziehen. Sie können die grundlegenden Übungen im Artikel String-Verarbeitung – Teil 1 nachlesen

Beiträge 4: Umgang mit Zeichenfolgen – Umkehren der Zeichenfolge

Charaktere fordern den Spieler auf, einen Wurm einzugeben. Das Zeichen gibt dann bekannt, dass sich die Zeichenfolge in der entgegengesetzten Reihenfolge zu dem vom Benutzer eingegebenen Wurm befindet.

Wenn der Benutzer beispielsweise die Zeichenfolge “abc123” eingibt, meldet sich das Zeichen als “321cba”.

Lösungsvorschläge:

  • Erstellen Sie eine umgekehrte Variable Zeichenfolgenvariable
  • Durchsuchen Sie jedes Element in der Zeichenfolge, aber es wird von unten durchsucht (oder es ist das letzte Element).
  • Wenn Sie zu einem Element navigieren, verketten Sie das Element mit der Zeichenfolge

Lösung:

Projekt verknüpfen: https://scratch.mit.edu/projects/408546643/

Lektion 5: Mischen Sie 2 Saiten

Der Charakter fordert den Spieler auf, zwei beliebige Würmer einzugeben. Das Programm mischt die beiden Zeichenfolgen zusammen und dann sprechen die Zeichen die Ergebnisse.

Das Mischen erfolgt nach folgenden Grundsätzen:

  • Von links nach rechts ein Zeichen der ersten Zeichenfolge, dann eine zweite Zeichenfolge.
  • Wenn die Folge von Elementen leer ist, werden nur die Zeichen des anderen Elements geschrieben.

Lösung:

Projekt verknüpfen: https://scratch.mit.edu/projects/408552633/

Lektion 6: Trennen von Buchstaben und Zahlen in Zeichenfolgen

Die Charaktere fordern den Spieler auf, eine beliebige Zeichenfolge einzugeben, die sowohl Buchstaben als auch Zahlen enthält. Das Programm sammelt alle Wörter links (in der richtigen Reihenfolge) und die Zahlen rechts (in der richtigen Reihenfolge). Der Charakter spricht dann das Ergebnis.

Beispielsweise:

  • Die vom Spieler eingegebene Zeichenfolge lautet 184a4hgs1
  • Die zu benachrichtigende Zeichenfolge lautet ahgs1841

Lösungsvorschläge:

Für diese Übung müssen wir zuerst die Zeichen in der Zeichenfolge, die der Spieler eingegeben hat, in zwei Arten von Buchstaben und Zahlen trennen. Die getrennten Zeichen werden als Zeichenfolge A gespeichert, die getrennten Zeichen bilden die Zeichenfolge B (in der richtigen Reihenfolge). Schließlich müssen wir nur noch String A und String B verketten, wir haben den Ergebnisstring.

Sie können die Übung zum Trennen von Wörtern von der Zeichenfolge (auch als Löschen aller numerischen Zeichen, Sonderzeichen in einer beliebigen Zeichenfolge bezeichnet) im Artikel Format der Zeichenfolgenbehandlung – Teil 1 überprüfen

Lösung:

Projekt verknüpfen: https://scratch.mit.edu/projects/408773404/

Beiträge 7: Verketten Sie Zeichenfolgen an der angegebenen Position

Der Charakter fordert den Spieler auf, zwei Zeichenfolgen einzugeben, und speichert diese wiederum in den Variablen A und B. Als nächstes fragt der Charakter weiterhin nach einer Zahl n, die kleiner als die Länge der Zeichenfolge A ist. Wenn der Spieler eine größere Sequenz eingibt, Bridge erneut eingeben, bis true. Das Programm fügt dann die Zeichenfolge B an der Position n, die der Spieler eingegeben hat, in die Zeichenfolge A ein. Schließlich spricht das Zeichen die Ergebniszeichenfolge aus.

Beispielsweise:

  • Spieler geben A = abc, B = 124 ein
  • Spieler geben n = 2 ein
  • Die resultierende Zeichenfolge lautet: a124bc

Lösungsvorschläge:

  • Erstellen Sie nach Bedarf die Variablen A, B und n
  • Lassen Sie den Charakter fragen und speichern Sie die Antworten des Spielers auf die Variablen nach Bedarf
  • Insbesondere bei der Variablen n müssen wir NV fragen und dann die Antwort überprüfen, um festzustellen, ob sie die Bedingung erfüllt (n <Länge von A) oder nicht. Wenn nicht, wiederholen Sie den Fragebogen, bis die Bedingungen erfüllt sind
  • Durchsuchen Sie jedes Element der Zeichenfolge A vom ersten Element bis zum Element n-1 und speichern Sie es als neue Zeichenfolge, die vorübergehend als A1-Zeichenfolge bezeichnet wird
  • Durchsuchen Sie jedes Element der Zeichenfolge A vom n-ten Element bis zum Ende und speichern Sie es in einer neuen Zeichenfolge mit dem Namen A2.
  • Wir verbinden A1, B und A2, sie werden Threads benötigt

Die Antwort

Projekt verknüpfen: https://scratch.mit.edu/projects/408776435/

Lektion 8: Wörter in Zeichenfolgen trennen

Die Charaktere fordern den Spieler auf, einen vollständigen Namen einzugeben, einschließlich Nachname, zweiter Vorname und Vorname. Das Programm hilft bei der Trennung von Vor- und Nachname, Zweit- und Vorname. Das Zeichen benachrichtigt dann das Ergebnis auf dem Bildschirm.

Beispielsweise:

  • Der Name des eingegebenen Spielers ist Le Hoang ==> Das Ergebnis, das der Charakter sagt, ist: Sie sind Le, der Name ist Hoang
  • Der Name des Spielers, der eingetreten ist, ist Nguyen Van An ==> Das Ergebnis, das der Charakter sagt, ist: Sie sind Nguyen, diem ist Van und der Name ist An
  • Der Name des Spielers, der eingetreten ist, ist Le Thi Ngoc Anh ==> Das Ergebnis, das der Charakter aussprechen wird, ist: Sie sind Le, der zweite Vorname ist Thi Ngoc, der Name ist Anh

Lösungsvorschläge:

  • Wir werden Zeichen als Leerzeichen verwenden, um Wörter in einer Zeichenfolge zu trennen.
  • Müssen Sie jedes Element in der Zeichenfolge bis zum schlechten Weg durchsuchen. Somit gehören alle Zeichen, die Sie gerade überprüft haben, zu einem Wort. Wiederholen Sie diesen Vorgang so lange, bis wir alle Wörter in der Zeichenfolge trennen können
  • Die Anzahl der Wörter in der Zeichenfolge ist jedoch unbekannt. Namen können 2, 3, 4, 5 Wörter haben. Wir werden also list (anstelle von variable) verwenden, um getrennte Wörter zu speichern, da wir nicht wissen, wie viele Variablen wir setzen müssen.
  • Schließlich ist das erste Element in der Liste der Nachname. Das letzte Element in der Liste ist der Name. Das verbleibende Element in der Mitte (falls vorhanden) ist ein zweiter Vorname

Lösung:

Projekt verknüpfen: https://scratch.mit.edu/projects/408782374/

Leave a Reply

Your email address will not be published. Required fields are marked *