Abschnitte der Website
Die Wahl des Herausgebers:
- Unbenutzte Skins nach Spitznamen für Minecraft
- Warum Spiele unter Windows nicht starten Warum Spiele nicht funktionieren
- Laden Sie Minecraft für Android herunter: alle Versionen
- Laden Sie Mods für Minecraft 1 herunter
- Kerlhaut mit 10 englischen Buchstaben
- ModPack Zeus002 Download-Mods hier ist das World Of Tanks-Mod-Pack
- Warum funktioniert Minecraft bei mir nicht?
- Die besten Minecraft-Server mit Mods
- Die besten Mods für Minecraft Mods für Version 1 anzeigen
- Beste Mods für Minecraft Mechanical-Mods für Minecraft 1
Werbung
Verzweigungsstruktur. Bedingter Operator |
Es kommt vor, dass Programme eine Verzweigung organisieren müssen. In diesem Fall erfolgt die Lösung eines Problems auf der Grundlage der Erfüllung oder Nichterfüllung einer Bedingung. In der Pascal-Sprache kann die Auswahl einer Aktion abhängig von einer Bedingung mithilfe der Konstruktion implementiert werden wenn... dann... sonst... wenn, dann...2. Wie lautet die vollständige Form des bedingten Sprungoperators in Pascal?Vollständige Form des bedingten Sprungoperators Wenn : Wenn Zustand Dann Operator1 anders Operator2;Die Aktion des Operators ist wie folgt: Zunächst wird der Wert des Ausdrucks berechnet Zustand . Wenn es wahr ist (gleich TRUE), wird die Anweisung ausgeführt, die auf das Wort folgt Dann (Operator1). Wenn der Wert falsch (FALSE) ist, wird die Anweisung ausgeführt, die auf das Wort folgt anders(Operator2 ). Betreiber Operator1 Und Operator2 kann zusammengesetzt sein, also mehrere Codezeilen enthalten. Solche Operatoren werden in Operatorklammern gesetzt beginnen...ende. Dieser Bedarf entsteht, wenn nach reservierten Wörtern gesucht wird Dann oder anders Sie müssen mehrere Operatoren angeben. In diesem Fall kann die allgemeine Form des bedingten Sprungoperators beispielsweise die folgende Form haben: Wenn Zustand Dann beginnen // mehrere Betreiber ... Ende anders beginnen // mehrere Betreiber ... Ende ;3. Was ist die Kurzform des bedingten Sprungoperators?Die Kurzform des bedingten Sprungoperators enthält keinen Block anders und hat die Form: Wenn Zustand Dann Operator;In diesem Fall funktioniert der Operator wie folgt. Zunächst wird der Wert des logischen (booleschen) Ausdrucks berechnet Zustand . Wenn das Ergebnis eines logischen Ausdrucks Zustand wahr (gleich WAHR), dann wird der Operator ausgeführt, der auf das Wort folgt Dann. Wenn das Ergebnis FALSE ist, wird die Anweisung ausgeführt, die der Anweisung folgt Wenn(in der Erklärung wenn, dann es wird nichts gemacht). Wenn bei Erfüllung einer Bedingung mehrere Operatoren ausgeführt werden müssen, kann die allgemeine Form des bedingten Sprungoperators wie folgt aussehen: Wenn Zustand Dann beginnen // zwei oder mehr Betreiber ... Ende ;4. Beispiele für die Verwendung des bedingten Sprungoperators, der eine vollständige Darstellungsform hat.Beispiel 1. Fragment eines Programms zum Ermitteln des Maximalwerts zwischen zwei reellen Zahlen. var a,b:real; // a, b – Variablen, für die das Maximum gesucht wird max:real; // maximal ... beginnen ... // a, b - sind angegeben Wenn a>b Dann max:=a anders max:=b; ... Ende ;Beispiel 2. Ein Programmcodefragment, das dieses Problem löst: ... var x,f:real; beginnen ... // x - angegeben Wenn -55. Beispiele für die Verwendung des bedingten Sprungoperators, der eine verkürzte Darstellungsform hat.Beispiel 1. Codeausschnitt, der den Mindestwert zwischen zwei reellen Zahlen ermittelt X Und j . ... var min:real; ... beginnen ... // x, y - gegeben min:= x; Wenn MindestBeispiel 2. Berechnen Sie den Wert einer Funktion gemäß einer Bedingung. Angenommen, Sie müssen den Wert einer Funktion ermitteln: var x, f:real; beginnen ... // x - angegeben Wenn X<-6 Dann f:=3 *x*x-x; Wenn (-6 <=x) Und(X<=5 ) Dann f:=sqrt(7 -x); Wenn x>5 Dann f:=8 *x-3 ; ... Ende ;Diese Lektion befasst sich mit dem Bedingungsoperator in Pascal ( Wenn). Erklärt, wie mehrere Bedingungen in einem Konstrukt verwendet werden ( UND Und ODER). Berücksichtigt werden Beispiele für die Zusammenarbeit mit einem Bediener Wir erinnern Sie daran, dass diese Website nicht den Anspruch erhebt, eine vollständige Darstellung der Informationen zu diesem Thema bereitzustellen. Der Zweck des Portals besteht darin, die Möglichkeit zu bieten, Material anhand vorgefertigter gelöster Beispiele zum Thema „Pascal-Programmiersprache“ zu erlernen und praktische Aufgaben zur Vertiefung des Materials zu stellen. Die auf der Website vorgestellten Pascal-Aufgaben sind mit zunehmender Komplexität der Reihe nach angeordnet. Die Website kann von Lehrern und Dozenten als zusätzliche visuelle Hilfe genutzt werden. Vor der Betrachtung dieses Themas wurden hauptsächlich lineare Algorithmen in Pascal verwendet, die typisch für sehr einfache Probleme sind, bei denen Aktionen (Operatoren) sequentiell nacheinander ausgeführt werden. Komplexere Algorithmen beinhalten die Verwendung eines Verzweigungskonstrukts. Blockdiagramm des bedingten Operators: Die bedingte Anweisung in Pascal hat die folgende Syntax:
Der bedingte Operator in Pascal – if – dient dazu, den Fortschritt einer Aufgabe so zu organisieren, dass sich die Reihenfolge der Ausführung von Operatoren abhängig von einer logischen Bedingung ändert. Eine logische Bedingung kann einen von zwei Werten annehmen: entweder wahr oder falsch bzw. sie kann entweder wahr oder falsch sein. Zusammengesetzter OperatorWenn unter einer wahren Bedingung die Ausführung mehrerer Anweisungen erforderlich ist, dann Nach den Regeln der Pascal-Sprache müssen sie in einen Block eingeschlossen werden, beginnend mit dem Funktionswort begin und endend mit dem Funktionswort end . Ein solcher Block wird üblicherweise aufgerufen Bedienerhalterungen, und diese Konstruktion - zusammengesetzter Operator:
Die Übersetzung des Bedingungsoperators aus dem Englischen erleichtert das Verständnis seiner Verwendung:
Beispiel: Finden Sie die größte von zwei Zahlen
Verstehen Sie die Arbeit im Detail Sie können den Bedingungsoperator in Pascal verwenden, indem Sie sich das Video-Tutorial ansehen:
Beispiel: Berechnen Sie den Wert der Variablen y mithilfe eines von zwei Zweigen Lösung anzeigen: var x,y:real; begin writeln("enter x"); lesen(x); wenn x>0 dann y:=ln(x) sonst y:=exp(x); writeln ("y=", y:6:2) (die resultierende Zahl nimmt 6 Stellen ein und hat 2 Dezimalstellen) end.
Wenn Sie also eine solche Notation in Pascal verwenden, können Sie praktisch auf Hundertstel, Tausendstel usw. runden. Aufgabe 0. Berechnen Sie den Wert der Variablen y mithilfe eines von zwei Zweigen: Aufgabe 1. Zwei Zahlen werden in den Computer eingegeben. Wenn der erste größer als der zweite ist, berechnen Sie deren Summe, andernfalls das Produkt. Danach sollte der Computer das Ergebnis und den Text PROBLEM SOLVED ausdrucken Aufgabe 2. Dem Drachen wachsen jedes Jahr drei Köpfe, aber wenn er 100 Jahre alt wird, nur noch zwei. Wie viele Köpfe und Augen hat ein Drache? N Jahre? Logische Operationen in Pascal (im logischen Ausdruck)Wenn Sie in Pascal eine doppelte Bedingung verwenden müssen, benötigen Sie logische Operationen.
Wichtig: Jede einfache Bedingung muss in Klammern eingeschlossen werden. Beispiel: Schauen wir uns Beispiele für logische Operationen in logischen Ausdrücken in Pascal an
var n:integer; begin n:=6; wenn (n>5) und (n<10) then writeln("истина"); if (n>7) oder (n<10) then writeln("истина"); if (n>7)xor(n<10) then writeln("истина"); if not(n>7) then writeln("true"); Ende. Beispiel: Das Unternehmen rekrutiert Mitarbeiter im Alter von 25 bis einschließlich 40 Jahren. Geben Sie das Alter der Person ein und ermitteln Sie, ob sie für dieses Unternehmen geeignet ist (Antwort „geeignet“ oder „nicht geeignet“ anzeigen). Ein Operator ist ein unteilbares Element eines Programms, das die Ausführung bestimmter algorithmischer Aktionen ermöglicht. Der Unterschied zwischen einem Operator und anderen Elementen besteht darin, dass er immer eine Aktion impliziert. In Pascal bestehen Operatoren aus Funktionswörtern. In einem Programm verwendete Operatoren werden voneinander und von anderen Programmelementen durch das Symbol (;) getrennt. Alle Pascal-Operatoren lässt sich grob einteilen zwei Gruppen:
Einfache Operatoren sind Operatoren, die keine anderen Operatoren enthalten. Diese beinhalten:
Strukturierte Aussagen sind Operatoren, die andere Operatoren enthalten. Diese beinhalten:
Einfache OperatorenVerfahrensbetreiberVerfahrensbetreiber dient zum Aufruf einer Prozedur. Format: [Prozedurname] (Liste der Aufrufparameter); Eine Prozeduranweisung besteht aus einem Prozedurbezeichner, direkt gefolgt von einer Liste von Aufrufparametern in Klammern. Pascal hat Prozeduren ohne Parameter. In diesem Fall liegt beim Aufruf keine Parameterliste vor. Die Ausführung einer Prozeduranweisung führt zur Aktivierung der in ihrem Hauptteil beschriebenen Aktionen. In Pascal gibt es zwei Arten von Prozeduren:
Um Standardprozeduren aufzurufen, müssen Sie eine Verbindung im USES-Abschnitt des Modulnamens (Bibliotheksnamens) herstellen, in dem diese Prozedur beschrieben wird. Eine Reihe von Prozeduren, die sich im Modul SYSTEM befinden, werden immer automatisch mit dem Programm verbunden und ihre Verbindung im Abschnitt USES ist nicht erforderlich. Standard-Pascal-Prozeduren sind READ, WRITE, REWRITE, CLOSE, RESET. READ ([file_variable], [input_list]) READ(x,y) Benutzerprozeduren (nicht standardmäßig) müssen vor ihrer Verwendung im Programm erstellt werden und befinden sich entweder im Beschreibungsabschnitt des Programms selbst oder in separaten Programmeinheiten des Moduls. Wenn sich die Prozedur in einem Modul befindet, muss der Name dieses Moduls im USES-Antrag erwähnt werden. Unbedingter GOTO-OperatorFormat: GOTO [Label]; GOTO ist ein reserviertes Wort in Pascal. [label] ist ein beliebiger Bezeichner, der es Ihnen ermöglicht, eine bestimmte Programmanweisung zu markieren und später darauf zu verweisen. In Pascal ist es möglich, vorzeichenlose Ganzzahlen als Beschriftungen zu verwenden. Die Beschriftung wird vor dem markierten Operator (:) platziert und von diesem getrennt. Eine Aussage kann mit mehreren Labels gekennzeichnet werden. Sie sind auch voneinander getrennt (:). Bevor ein Label im Anweisungsabschnitt verwendet werden kann, muss es im LABEL-Abschnitt (Beschreibungsabschnitt) beschrieben werden. Die GOTO-Aktion überträgt die Kontrolle an die entsprechende markierte Anweisung. Bei der Verwendung von Tags müssen Sie die folgenden Regeln beachten:
Widerspricht den Prinzipien der strukturierten Programmiertechnologie. Moderne Programmiersprachen enthalten keinen solchen Operator und es besteht keine Notwendigkeit, ihn zu verwenden. Darüber hinaus nutzen moderne Computer das sogenannte Förderverfahren. Wenn in einem Programm ein bedingungsloser Sprungoperator auftritt, unterbricht ein solcher Operator die gesamte Pipeline und zwingt sie dazu, neu erstellt zu werden, was den Rechenprozess erheblich verlangsamt. Strukturierte AussagenIF-BedingungsanweisungenDer bedingte Operator wird im Programm verwendet, um die algorithmische Struktur – Verzweigung – zu implementieren. In dieser Struktur kann der Rechenvorgang in eine der möglichen Richtungen fortgesetzt werden. Die Richtungswahl erfolgt in der Regel durch die Prüfung einer Bedingung. Es gibt zwei Arten von Verzweigungsstrukturen: Gabel- und Bypass-Strukturen. In der Pascal-Sprache ist der bedingte IF-Operator ein Mittel zum Organisieren eines verzweigten Berechnungsprozesses. Format: IF [boolean_expression] Then [operator_1]; Sonst [operator_2]; IF, Then, Else sind Funktionswörter. [Operator_1], [Operator_2] – gewöhnliche Operationen der Pascal-Sprache. Der Else-Teil ist optional (fehlt möglicherweise). Die IF-Anweisung funktioniert folgendermaßen: Sie prüft zunächst das Ergebnis eines booleschen Ausdrucks. Wenn das Ergebnis WAHR ist, wird [Anweisung_1] nach dem Funktionswort „Dann“ ausgeführt und [Anweisung_2] wird übersprungen. Wenn das Ergebnis FALSE ist, wird [Anweisung_1] übersprungen und [Anweisung_2] ausgeführt. Wenn der Else-Teil fehlt, liegt die IF-Anweisung nicht in vollständiger Form vor: IF [boolescher Ausdruck] Then [Operator]; Wenn das Ergebnis in diesem Fall True (TRUE) ist, wird die [Anweisung] ausgeführt; wenn False (FALSE), wird die Kontrolle an die Anweisung übertragen, die auf die IF-Anweisung folgt. Es gibt 2 Zahlen A und B. Finden Sie die maximale Zahl. Zusammengesetzter OperatorEine zusammengesetzte Anweisung ist eine Folge beliebiger Operationen in einem Programm, eingeschlossen in sogenannte Operatorklammern (Begin-End). Format: Begin [Operatoren]; Ende; Zusammengesetzte Anweisungen ermöglichen die Darstellung einer Gruppe von Anweisungen als eine einzelne Anweisung. CASE-AuswahlanweisungEntwickelt für die Implementierung mehrerer Zweige. Da der IF-Operator nur zwei Richtungen des Berechnungsprozesses implementieren kann, ist es nicht immer praktisch, ihn zum Implementieren mehrerer Zweige zu verwenden. Die Mehrfachverzweigung wird durch die CASE-Anweisung implementiert. Format: CASE [select_key] OF [selection_constant_1]:[operator_1]; [selection_constant_2]:[operator_2]; [selection_constant_N]:[operator_N]; ELSE [Operator]; CASE, OF, ELSE, END – Funktionswörter. [select_key] ist ein Parameter eines der Ordinaltypen. [selection_constants] – Konstanten vom gleichen Typ wie der Auswahlschlüssel, die die Auswahl implementieren. [operator_1(N)] ist ein gewöhnlicher Operator. ELSE fehlt möglicherweise. Der Auswahloperator funktioniert wie folgt: Bevor der Operator arbeitet, wird der Wert des Auswahlschlüsselparameters bestimmt. Dieser Parameter kann entweder als Variable im Programm oder auf andere Weise ausgedrückt werden. Anschließend wird der Auswahlschlüsselparameter sequentiell mit der Auswahlkonstante verglichen. Wenn der Wert des Auswahlschlüssels mit einer der Auswahlkonstanten übereinstimmt, wird der auf diese Konstante folgende Operator ausgeführt und alle anderen Operatoren werden ignoriert. Wenn der Auswahlschlüssel mit keiner der Konstanten übereinstimmt, wird die auf Else folgende Anweisung ausgeführt. Oft ist Else optional und wenn der Auswahlschlüssel mit keiner der Auswahlkonstanten übereinstimmt und kein Else vorhanden ist, wird die Steuerung an die Anweisung übertragen, die auf die CASE-Anweisung folgt. Die CASE-Anweisung verfügt nicht über die explizite bedingte Prüfung, die für die IF-Anweisung typisch ist. Gleichzeitig wird die Vergleichsoperation implizit durchgeführt. CASE führt zu Dissonanzen in einem Pascal-Programm, da diese Anweisung mit dem Dienstwort End endet, das kein gepaartes Begin hat. Erstellen Sie einen Algorithmus und ein Programm für ein Problem, das den Betrieb einer Ampel simuliert. Wenn Sie das Symbol des Anfangsbuchstabens der Ampelfarben eingeben, sollte das Programm eine Meldung über die entsprechende Farbe und Aktionen anzeigen. Das Programm funktioniert wie folgt: Über die Leseprozedur wird das Buchstabensymbol der Ampelfarbe über die Tastatur eingegeben. Wenn der Buchstabe „z“, der der grünen Farbe entspricht, eingegeben wird, findet der in der Auswahlliste eingegebene Wert in der CASE-Anweisung die Auswahlkonstante „z“ und die Meldung „Grüne Farbe, Bewegung ist erlaubt“ wird angezeigt. Wenn Sie das Symbol der Buchstaben „k“ und „zh“ eingeben, werden ähnliche Meldungen angezeigt. Wenn Sie ein anderes Zeichen eingeben, wird die Meldung „Ampel funktioniert nicht“ angezeigt, da in diesem Fall der Else-Teil der CASE-Anweisung funktioniert. SchleifenanweisungenEine zyklische algorithmische Struktur ist eine Struktur, in der einige Aktionen mehrmals ausgeführt werden. In der Programmierung gibt es zwei Arten von Schleifenstrukturen: die Schleife mit einem Parameter und die iterative Schleife. In einem Zyklus mit einem Parameter gibt es immer sogenannte Zyklusparameter: X, X n, X k, ∆X. Manchmal wird eine Schleife mit einem Parameter als reguläre Schleife bezeichnet. Ein charakteristisches Merkmal ist, dass die Anzahl der Schleifen und Wiederholungen bestimmt werden kann, bevor die Schleife ausgeführt wird. In einer iterativen Schleife ist es unmöglich, die Anzahl der Schleifen vor der Ausführung zu bestimmen. Es wird solange ausgeführt, wie die Schleifenfortsetzungsbedingung erfüllt ist. Die Pascal-Sprache verfügt über drei Operatoren, die zyklische Rechenstrukturen implementieren:
Die letzten beiden konzentrieren sich auf die Implementierung einer iterativen Schleife, können aber auch zur Implementierung einer Schleife mit einem Parameter verwendet werden. FOR-OperatorFormat: FOR [loop_parameter] := [n_z_p_ts] To [k_z_p_ts] Do [operator]; FOR, To, Do sind Funktionswörter. [cycle_parameter] – Zyklusparameter. [n_z_p_ts] – der Anfangswert des Zyklusparameters. [k_z_p_ts] – Endwert des Zyklusparameters. [Operator] – beliebiger Operator. Der Schleifenparameter muss eine Ordinalvariable sein. Die Start- und Endwerte des Schleifenparameters müssen vom gleichen Typ sein wie der Schleifenparameter. Betrachten wir die Arbeit des Operators anhand seines Algorithmus: Im ersten Schritt nimmt der Wert des Zyklusparameters [n_z_p_ts] an, dann wird überprüft, ob der Zyklusparameter kleiner oder gleich [k_z_p_ts] ist. Diese Bedingung ist die Bedingung für die Fortsetzung der Schleife. Bei Ausführung setzt die Schleife ihre Operation fort und die [Anweisung] wird ausgeführt, woraufhin der Schleifenparameter um eins erhöht (verringert) wird. Anschließend wird mit dem neuen Wert des Schleifenparameters die Bedingung für die Fortsetzung der Schleife überprüft. Ist diese erfüllt, werden die Aktionen wiederholt. Wenn die Bedingung nicht erfüllt ist, wird die Schleife nicht mehr ausgeführt. Der For-Operator unterscheidet sich erheblich von ähnlichen Operatoren in anderen Programmiersprachen. Die Unterschiede sind wie folgt:
Beispiel für die Verwendung des FOR-Operators: Erstellen Sie eine Tabelle zum Umrechnen von Rubel in Dollar. WHILE-Anweisung (Schleifenanweisung mit Vorbedingung)Format: WHILE [Bedingung] Do [Operator]; WHILE, Do – Funktionswörter. [Bedingung] – Ausdruck des logischen Typs. [Operator] – gewöhnlicher Operator. ; Die While-Anweisung funktioniert wie folgt: Zunächst wird das Ergebnis der logischen Bedingung überprüft. Wenn das Ergebnis wahr ist, wird die Anweisung ausgeführt und kehrt anschließend zur Überprüfung der Bedingung mit dem neuen Wert der Parameter im logischen Ausdruck der Bedingung zurück. Wenn das Ergebnis falsch ist, wird die Schleife beendet. Wenn Sie mit While arbeiten, müssen Sie auf seine Eigenschaften achten:
REPEAT-Anweisung (Schleifenanweisung mit Nachbedingung)Format: REPEAT [cycle_body]; BIS [Bedingung]; Die REPEAT-Anweisung funktioniert wie folgt: Zunächst werden die Anweisungen im Schleifenkörper ausgeführt, anschließend wird das Ergebnis auf die logische Bedingung überprüft. Wenn das Ergebnis falsch ist, wird mit der Ausführung der Anweisungen des nächsten Schleifenkörpers fortgefahren. Wenn das Ergebnis wahr ist, wird der Operator beendet. Der Wiederholungsoperator verfügt über die folgenden Funktionen:
Berechnen Sie y=sin(x), wobei xn=10, xk=100, Schritt 10 ist. Mit dem Sprungoperator können Sie vom aktuellen Ausführungsort des Programms zu einem anderen Ort springen, der in der Reihenfolge nicht der nächste ist. Diese Anweisung stört den normalen Ablauf der Programmausführung. Der Übergang erfolgt über sogenannte Tags. Es lässt sich theoretisch zeigen, dass die betrachteten Operatoren völlig ausreichen, um Programme beliebiger Komplexität zu schreiben. In dieser Hinsicht erscheint das Vorhandensein von Sprungoperatoren in der Sprache unnötig. Darüber hinaus basiert die moderne Technologie der strukturierten Programmierung auf dem Prinzip der „Programmierung ohne GOTOs“: Es wird angenommen, dass der Missbrauch von Sprungoperatoren das Programm schwer verständlich, verwirrend und schwer zu debuggen macht. In manchen Fällen kann die Verwendung von Sprungoperatoren jedoch ein Programm vereinfachen. Der Übergangsoperator hat die Form: Hier ist goto ein reserviertes Wort (go [to label]); - Etikett.
Bedingte SprungoperatorenDer Bedingungsoperator ist so konzipiert, dass er abhängig vom Ergebnis einer booleschen Bedingung eine Aktion ausführt oder nicht ausführt. Dieser Operator wird verwendet, um die Ausführung eines Programms zu verzweigen.
Der Bedingungsoperator kann auch in vereinfachter Form geschrieben werden:
Hier sind Beispiele für die Verwendung von Bedingungsoperatoren:
Um die Verzweigung in mehrere Richtungen (mehr als zwei) zu organisieren, können Sie mehrere ineinander verschachtelte bedingte Anweisungen verwenden. Die Verschachtelung bedingter Operatoren folgt denselben Regeln wie die Verschachtelung zusammengesetzter Operatoren. Im Gegensatz zu anderen Programmiersprachen ist in Object Pascal die Priorität relationaler Operationen niedriger als die logischer Operationen; daher werden die einzelnen Komponenten eines komplexen logischen Ausdrucks in Klammern eingeschlossen. Beispielsweise wäre die folgende Aussage aus der vorherigen Aussage falsch: Strukturierte Anweisungen sind solche Anweisungen, die andere Anweisungen enthalten und die Reihenfolge steuern, in der sie ausgeführt werden. Diese beinhalten:
Zusammengesetzter OperatorOft ist es erforderlich, dass in Bezug auf eine Aktion mehrere Aussagen im Programm als eine Aussage wahrgenommen werden. Ein solcher Operator kann erhalten werden, wenn die erforderliche Operatorfolge mit Operatorklammern kombiniert wird. Die Dienstwörter Begin und End werden Operatorklammern genannt. Operatorformat: Betreiber Nr. 1; Betreiber Nr. 2; Betreiber Nr. 3; Betreiber Nr. n-1; Betreiber Nr. n; Ende; Das Wort Begin fungiert als öffnende Klammer, das Wort End als schließende Klammer. Eine zusammengesetzte Anweisung wird als einzelne Anweisung behandelt. Es kann an einer beliebigen Stelle im Programm eingefügt werden, an der nur eine Anweisung zulässig ist. Anweisungen, die in einer zusammengesetzten Anweisung enthalten sind, werden wie jede andere Anweisung durch ein Semikolon getrennt, dieses Trennzeichen muss jedoch nicht vor dem Ende stehen. Nach dem Ende ist ein Semikolon als Trennzeichen zwischen der zusammengesetzten Anweisung und der nächsten Anweisung erforderlich. In den folgenden Abschnitten werden Bedeutung und Zweck des zusammengesetzten Operators anhand zahlreicher Beispiele veranschaulicht. Bedingte IF-AnweisungDer If-Operator implementiert die algorithmische Konstruktion „Entscheidung“ und ermöglicht es Ihnen, die Reihenfolge der Ausführung von Operatoren abhängig von der Wahrheit oder Falschheit einer Bedingung zu ändern. Das Operatorformat kann in zwei Formen geschrieben werden: vollständiger und unvollständiger Form. Die vollständige Form der Aussage lautet: Wenn<условие>Dann<оператор 1>Anders<оператор 2> Das Format der Erklärung in unvollständiger Form ist: Wenn<условие>Dann<оператор 1> If (if), Then (then), Else (sonst) sind reservierte Wörter. Die Blockdiagramme der if-Anweisung sind unten aufgeführt: Der bedingte Operator funktioniert wie folgt. Zuerst wird der bedingte Ausdruck ausgewertet< условие >. Wenn das Ergebnis „True“ ist, führen Sie es aus< оператор 1 >(nach dem Wort Dann) und< оператор 2 >übersprungen. Wenn das Ergebnis falsch ist, dann< оператор 1 >wird übersprungen und ausgeführt< оператор 2 >(nach dem Wort Else). Else wird niemals ein Semikolon vorangestellt, da es nicht das Ende der If-Anweisung ist. Sonst Teil<оператор 2>Die If-Bedingungsanweisung kann weggelassen werden. Wenn< условие >der If-Anweisung als True ausgewertet wird, dann<оператор 1>, andernfalls wird diese Anweisung übersprungen. In diesem Fall ist das Format der bedingten Anweisung unvollständig: Vergleichen wir zwei Designs: Wenn<условие>Dann<оператор 1>; Wenn<условие>Dann<оператор 1>; <оператор 2>; In der ersten Zeile<оператор 1>je nach Ausführung entweder ausgeführt oder nicht ausgeführt<условия>. In der zweiten Zeile<оператор 2>ist immer erfüllt, denn danach<оператора 1>es gibt ein Trennzeichen „;“ und alles, was ein Trennfeld wert ist, wird als ein anderer Operator betrachtet. Daher kann es je nach Format der If-Anweisung nur eine Anweisung nach den reservierten Wörtern Then und Else geben. Beispiel: Wenn a > 0, dann b:=1; Wenn a > 0, dann b:=1; a:=b; (Operator a:=b; immer ausgeführt) Wenn Sie nach Then und Else nicht nur einen, sondern mehrere Operatoren ausführen müssen, sollten Sie Operatorklammern setzen, d. h. Verwenden Sie einen zusammengesetzten Operator. In diesem Fall sieht die If-Anweisung folgendermaßen aus: Wenn<условие>Dann Betreiber 11; Operator 1n; Betreiber 21; Operator 2n; Beispiel. Wenn a>0, dann beginne b:=1; a:=b; Ende; AUFGABE 1. Berechnen Sie den Wert einer durch Ungleichungen gegebenen Funktion y=x+1 bei x<0; y=2∙x при x>0.Programm a5; var x,y:real; begin write(‘Geben Sie den x-Wert ein: ’); readln(x); if x writeln('Der Wert von y ist: ', y:6:2) end. Ergebnisse des Programms: Geben Sie Werte x:0,5 ein Der Wert von y ist: 1,00 AUFGABE 2. Schreiben Sie ein Programm zur Lösung einer quadratischen Gleichung. Wenn die Diskriminante kleiner als Null ist, wird eine entsprechende Meldung angezeigt. Programm a6; var a,b,c:real; (Gleichungskoeffizienten) x1,x2:real; (Wurzeln der Gleichung) d:real; (diskriminant) begin Writeln(‘Lösen einer quadratischen Gleichung’:50); Write(‘Geben Sie die Werte der Koeffizienten a,b,c ein:’); Readln(a,b,c); (Eingabekoeffizienten) d:=b*b-4*a*c; wenn(d<0) then Writeln(‘Уравнение не имеет корней.’) else begin {операторные скобки} x1:=(-b+sqrt(d))/(2*a); x2:=(-b-sqrt(d))/(2*a); WriteLn(‘Корни уравнения: ’, x1:8:2,x2:8:2); end; end. Ergebnisse des Programms: Eine quadratische Gleichung lösen Geben Sie die Werte der Koeffizienten a,b,c:3 1 6 ein Die Gleichung hat keine Wurzeln. Die If-Anweisung kann nicht nur eine zusammengesetzte Anweisung, sondern auch jede strukturierte Anweisung verwenden. Der von uns betrachtete bedingte Operator kann auch als solcher Operator verwendet werden. In diesem Fall sprechen wir von verschachtelten If-Anweisungen. Beispiel.
Beim Arbeiten mit verschachtelten Anweisungen Wenn Folgende Regeln sollten beachtet werden:
AUFGABE 3. Lassen Sie uns das Programm zur Lösung einer quadratischen Gleichung verbessern (Aufgabe 2). Wenn der Koeffizient a=0 ist, degeneriert die Gleichung. Das Programm hat diesen Umstand nicht berücksichtigt, was zu einem schwerwiegenden Fehler bei der Programmausführung führt (Division durch Null). Um eine Division durch Null auszuschließen, überprüfen wir den Wert des Koeffizienten a, nachdem er mit dem Operator Readln(a,b,c) eingegeben wurde. Da die Variable a im Programm als Variable vom Typ Real deklariert ist, wird ihr numerischer Wert in der Maschine mit einigen Fehlern nicht genau dargestellt. Daher ein Eintrag wie Um die Werte einer reellen Variablen korrekt mit Null zu vergleichen, gibt es mehrere Möglichkeiten: AUFGABE 4. Ein fortschrittlicher quadratischer Gleichungslöser. Programm a7;Var a,b,c:real; (Gleichungskoeffizienten) x1,x2:real; (Wurzeln der Gleichung) d:real; (diskriminant) begin Writeln(‘Lösen einer quadratischen Gleichung’:50); Write(‘Geben Sie die Werte der Koeffizienten a,b,c ein: ’); Readln(a,b,c); (Koeffizienten eingeben) wenn Runde(a)<>0 dann begin d:=b*b-4*a*c; wenn d<0 then Writeln(‘Уравнение не имеет корней.’) else begin{операторные скобки} x1:=(-b+sqrt(d))/(2*a); x2:=(-b-sqrt(d))/(2*a); WriteLN(‘Корни уравнения: ’, x1:8:2,x2:8:2); end; end else Writeln(‘Деление на нуль.’); end. Ergebnisse des Programms: Lösen einer quadratischen Gleichung Geben Sie die Werte der Koeffizienten ein a,b,c:0 1 6 Division durch Null. Fall einer bedingten Auswahlanweisung Der Auswahloperator ist eine Verallgemeinerung des If-Operators und wird in Fällen verwendet, in denen es erforderlich ist, abhängig vom Wert des Auswahlschlüssels nur eine Anweisung aus einer Menge von Operatoren auszuführen. Der Auswahlschlüssel ist ein Ausdruck, der zwischen den reservierten Wörtern Case und of steht. Der Ausdruck kann vom Typ Ganzzahl, Logik oder Zeichen sein. Der Ausdruck darf nicht vom Typ Real, String sein. Operatorformat: Fall von "<ключ выбора>" Konstante1: Operator 1; Konstante2: Operator 2; Konstante3: Operator 3; ... KonstanteN-1: Operator N-1; KonstanteN: Operator Nn; Else-Operator Ende; Hier sind Case (in case), of (from), Else (sonst) und End (end) reservierte Wörter. Ein Auswahlschlüssel ist ein Ausdruck eines beliebigen Typs außer Real und String . Constant1 ist eine Konstante vom gleichen Typ wie der Ausdruck. Operator1 ist ein beliebiger Operator. Der Select-Operator funktioniert wie folgt. Zuerst wird der Ausdruck ausgewertet<ключ выбора>, und dann wird in der Folge der Operatoren einer gefunden, dem eine Konstante vorangeht, die dem berechneten Wert entspricht<ключ выбора>. Der gefundene Operator wird ausgeführt, woraufhin der Auswahloperator seine Arbeit abschließt (die Kontrolle wird an Ende übergeben). Wenn in der Liste der Konstanten keine Konstante gefunden wird, die mit dem berechneten Wert der Auswahltaste übereinstimmt, wird die Steuerung an den Operator übergeben, der dem Wort Else folgt. Sonst Teil<оператора>weggelassen werden kann, geschieht dann nichts, wenn die erforderliche Konstante nicht in der Konstantenliste enthalten ist, und der Auswahloperator beendet einfach seine Arbeit. AUFGABE 5. Schreiben Sie ein einfaches Taschenrechnerprogramm. Programm a8; var x,y:real; z:real; (Ergebnis) op:char; (Taste auswählen) begin Write(‘Operanden x,y eingeben: ’); Readln(x,y); Write(‘Operation eingeben(+,-,*,/):’); Readln(op); case op of '+':z:=x+y; ‘-‘:z:=x-y; ‘*‘:z:=x*y; ‘/‘:if y0 then z:=x/y Elsewriteln(‘Division by Zero’); Else writeln(‘Aktion nicht vorgesehen!’); Ende; (op) (auf diese Weise können Sie markieren, „wessen“ Ende ist) writeln(‘The result is =’,z:8:2); Ende. Ergebnisse des Programms: Operanden x,y:4 eingeben 2 Geben Sie die Operation ein (+,-,*,/):* Das Ergebnis ist = 8,00 In einem Programm ist die Auswahltaste eine Variable vom Typ Zeichen. Abhängig vom eingegebenen Wert der Symbole (+, -, *, /) wird eine der arithmetischen Operationen ausgeführt: Addition, Subtraktion, Multiplikation oder Division. Wenn als Teiler Null eingegeben wird, ist keine Division möglich und es erscheint die Meldung „Durch Null dividieren“. Bei Eingabe eines anderen Zeichens wird als Ergebnis die Meldung „Aktion nicht erlaubt!“ ausgegeben. Wenn gültige Operationen eingegeben werden, wird das Ergebnis zurückgegeben. AUFGABE 6. Schreiben Sie ein Programm, das den Benutzer zur Eingabe der Nummer des Wochentags auffordert und dann den Namen des Wochentags oder eine Fehlermeldung anzeigt, wenn die eingegebenen Daten falsch sind. Programm a9; Var n: Ganzzahl; (Nummer des Wochentags) Begin write(‘Geben Sie die Nummer des Wochentags ein:’); readln(n); Fall n von 1: writeln(‘Monday’); 2: writeln('Tuesday'); 3: writeln('Mittwoch'); 4: writeln('Donnerstag'); 5: writeln('Freitag'); 6: writeln('Samstag'); 7: writeln('Sonntag'); else write(‘Du liegst falsch!’) end; (n)Ende. Ergebnisse des Programms: Geben Sie die Nummer des Wochentags ein: 1 Montag Keine Konstante sollte einer anderen gleich sein. Soll derselbe Operator für mehrere Konstanten ausgeführt werden, können diese beispielsweise durch Kommas getrennt aufgelistet werden Fall n von 1,3,5,7,9: writeln(‘Das sind ungerade Zahlen’); 2,4,6,8,10: writeln(‘Das sind gerade Zahlen’); Ende; |
Beliebt:
Neu
- Warum Spiele unter Windows nicht starten Warum Spiele nicht funktionieren
- Laden Sie Minecraft für Android herunter: alle Versionen
- Laden Sie Mods für Minecraft 1 herunter
- Kerlhaut mit 10 englischen Buchstaben
- ModPack Zeus002 Download-Mods hier ist das World Of Tanks-Mod-Pack
- Warum funktioniert Minecraft bei mir nicht?
- Die besten Minecraft-Server mit Mods
- Die besten Mods für Minecraft Mods für Version 1 anzeigen
- Beste Mods für Minecraft Mechanical-Mods für Minecraft 1
- Internetgeschwindigkeit prüfen: Methoden im Überblick So erfahren Sie die tatsächliche Internetgeschwindigkeit von Ihrem Provider