Linien. Überblick

Stroke ist eine Liste (oder Sequenz) von Symbolen in einer bestimmten Reihenfolge. Die gesamte Sequenz von Symbolen wird als Einzelobjekt betrachtet.

Das Symbol ist alles, was Sie auf einer Tastatur in einem Clavicle-Druck (boo, numer, reverse line oder anderes Symbol) setzen können.
Linien können Lücken haben:"Hi, Friede!"
Die leere Zeile ist eine Zeile mit 0 Symbolen.
Pascal gibt als Zeile alles, was in den Astros geschrieben ist.' ')
In Pascal bezieht sich die Zeile auf den Typ string

Der neue Wert in der Zeile kann vom Eingabeoperator hinzugefügt werden
gelesen(s);
Es ist auch möglich, der Größe einfach einen Stringwert zuzuordnen, beispielsweise
s:= 'Piton';
Die Länge der Leitung kann mit der eingebauten Funktion bestimmt werden. length
n := length(s)


Vergleich der Linien

Die Leitungen können mit den Zahlen verglichen werden. Sie können herausfinden, welche der Linien größer ist, was weniger ist.

Vergleichslinien werden Symbolcodes verglichen. Es gibt Dutzende, wenn nicht Hunderte von Symbolcodes. Es ist einfacher, dieses Konzept zu verstehen, indem man eines der einfachsten Dinge betrachtet, ASCII. Hier.)
Es ist zu verstehen, dass in modernen Codierungen, Russen und englischen Buchstaben in alphabetischer Reihenfolge sind, die Zahlen auch von weniger zu mehr gehen.
In Tabelle ASCII-Codes hat z.B. der englische Buchstabencode "A'-65, die Buchstaben 'a'-97, die Abbildung '0' den Code 48. Die russischen Buchstaben befinden sich im erweiterten Teil der Tabelle ASCII-Codes (Nummer 128 bis 255). Die Großbuchstaben sind früher (d.h. weniger Code) als die Zeichenfolgen.
In den meisten der verwendeten Codiertabellen werden die gleichen Zeilen verwendet, die starren Buchstaben sind später als das Kapital, die Zahlen sind früher als die Buchstaben, und die russischen Buchstaben sind später auf Englisch.

Wie "Kooperator" âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa âTMa

Leider gibt es in Pascal keine Funktion, einige Zeilen zu lesen, die durch einen Spalt von einer Zeile geteilt sind. Dazu müssen Sie Ihre Funktion schreiben:
var s, w: string;
i, j, ind: ganze Zahl;
a: Array of string;

Anfang
Lese(n);
Länge(a), Länge(n);
: = 1;
Ind := 0;
während ich verbale Länge(n) tun
Anfang
während (i Tierlänge(n) und (' + s[i] = ') 1;
j : = i + 1;
:= '' + s[i]
während (j Editor Länge(n) und ('+s[j] Évent ') beginnen
w += s[j]
: 1;
Ende;
a[ind]: = w;
Ind += 1;
i :=j;
Ende;
Schreib(a[0], a[1]);
Ende.

Als Ergebnis erhalten wir eine Menge Linien.

Die Linien können gefaltet werden, das Schild ist "+". Dieser Vorgang wird als Kettenglied bezeichnet oder Inhalt
Zum Beispiel
:= 'Hi',
s1 := 'mir';
Schreib(n + s1);
Es gibt einen Satz auf dem Bildschirm:Hallo, Welt."Komm keinen Rock.

Verweis auf Zeilenindizes
Jedes Zeilensymbol hat seine Nummer.Index), mit der Indexierung in der Pascal Programmiersprache beginnend mit der Einheit. Ich meine, das erste Symbol hat Index 1, zweite bis 2 usw.
Liniensymbole können für Indexe in quadratischen Klammern verwendet werdens[i]
Beispiel
Linie SHe)LLo
IndexS[1]S[2]S[3]S[4]S[5]

P.S. Viele Linien in PascalABC. NET hält die Zeilen von Null. Wir werden diese Strings noch nicht verwenden, die mit Null-Indizes arbeiten. Für sie gibt es gleichwertige Ersatz für externe Funktionen, die darauf hindeuten, dass Zeilen auf 1 indexiert werden.

Da das Symbol auf dem Index verwendet werden kann, kann ein variabler Zyklus verwendet werden, um alle Symbole zu konvertieren, die die möglichen Indexwerte annehmen. Zum Beispiel würde ein Programm, das alle Zeilensymbolcodes auf dem Bildschirm platziert, so aussehen.
für i:= 1 bis Länge(n)
Schreib(s[i], ord(s[i])
Programmerklärungen:
(1) Funktion length(s) findet die Länge der Linie. Der erste Symbolindex ist 1 und die letzte Länge(n). Geänderter Zyklus I Es nimmt aufeinanderfolgende Werte von 1 bis Länge(n).
(2) In jeder Zeile wird das Symbol zuerst entfernt und dann der Code, der die eingebaute Funktion zurückgibt ord()

Die gleiche Probenahme kann kürzer sein:
für c in s do
Schreibln(c, ord(c));
In diesem Fragment wählt die Überschrift des Zyklus alle Symbole s aus und setzt sie wiederum in die Variable c.

Pascal ' s Spezialität im Umgang mit den Linien ist, dass die Linien sind variable Objekte. Mit anderen Worten können wir die einzelnen Symbole der Linie ändern.
Zum Beispiel wird der nächste Bediener funktionieren.
s[5] := 'a';
Aus den Symbolen kann auch eine neue Linie mit den erforderlichen Modifikationen gezeichnet werden.
So wird beispielsweise ein Programm, das alle Symbole 'a' mit den Symbolen 'b' ersetzt, wie folgt aussehen:
gelesen(s);
für i:= 1 bis Länge(n) beginnen
wenn s[i] = 'a'then s[i] := „b";
Ende;
Schreibwaren,
In diesem Beispiel werden im Zyklus alle Symbole der Zeile s umgesetzt. Im Körper des Zyklus überprüfen wir die Variablen s[i]: Wenn das Symbol mit dem Symbol a übereinstimmt, ersetzen wir sie mit 'b'.