87 Shares 6200 views

Turbo Pascal. Während … do – Schleife mit einer Bedingung

Turbo Pascal, ist aber nicht die bevorzugte Anwendung der Welt für die Programmierung, aber die Schöpfer, die ihre ersten Schritte in der Erstellung der Software beginnen, ihre Bekanntschaft mit diesem Medium. Es gibt eine Vorstellung von den Auswirkungen, Operatoren, Funktionen und Verfahren, sowie viele andere Dinge. Zum Beispiel in der Studie Programmierer Gesicht Zyklen in Turbo Pascal: Während für und Repeat.

Das Konzept des Zyklus und seine Varianten

Ein Zyklus ist eine sich wiederholende Aktion. In dieser Umgebung verwenden:

  • mit Parameter (… bis … do);
  • unter der Voraussetzung (While … Do);
  • Nachbedingung (Repeat … bis).

Der erste Typ verwendet wird, wenn bekannt ist, wie viele Schritte in der Lösung des Problems. Allerdings gibt es eine Reihe von Aufgaben, in denen es keine Informationen darüber, wie viele Male wiederholt werden oder die Handlung. In diesem Fall wird Pascal Während Zyklus unverzichtbar, wie im Prinzip und wiederholen.

Die Struktur des Zyklus

Was ist das Wesen der Arbeit in der Pascal Während Für und Zyklen wiederholen? In solchen Konstruktionen zuzuteilen einen Kopf und einen Körper. Die erste Komponente der angegebenen Variablen, wird „Arbeit“ von den Bedingungen auf dem Gültigkeitszeitraum angegeben werden, an dem der Körper ausgeführt wird. Im zweiten Teil der vorgeschriebenen Ausdrücke im Fall der Bedingung verwendet werden, dh. E. True Des anstelle von False Des.

Wenn Iteration in der letzten Zeile des Codes durchgeführt wird, dann gibt es an den Header, wo die Bedingung geprüft wird. Wenn die Wahrheit Operationen werden wiederholt, und im Falle einer Verletzung des Programms „Exit“ aus dem Zyklus und führt weitere Operationen.

Folgt aussieht While-Schleife. Pascal ABC und solche Programme erfordern das Schreiben solcher Code:

  • Während Bedingung tun;
  • beginnen;
  • Der Schleifenkörper;
  • End.

Im Falle, dass die Schleife 1 Operator (1 Aktion) durchgeführt werden, dann die „Klammern» begin … end verzichtet werden kann.

Flussdiagramm Zyklus

Der Turbo Pascal Während der folgenden Merkmale:

  • innerhalb der Struktur kann schwierig sein, Bedingungen zu verwenden;
  • nach dem Wort nicht ein Komma sein sollte (es einen Fehler in Turbo Pascal und Pascal ABC angesehen wird);
  • Variable, eine Konstante oder ein Ausdruck, dient, wenn eine Antwort falsch ausgeben Subroutinen notwendigerweise logische Typ sein, dh. e. Boolean.

Es ist, als Blockdiagramm der Vielzahl Zyklus folgt. Es zeigt die Reihenfolge der Umsetzungsmaßnahmen.

Der Algorithmus des Zyklus

.. Im einfachsten Programmierumgebungen, m und h in Pascal ABC, While-Schleife auf folgendem Prinzip arbeitet:

  • .. Bei Iteration, dh Wiederholung wird so lange statt so oft nehmen, wie die Bedingung wahr ist (True);
  • sobald die Bedingung nicht erfüllt ist und gibt falsche Antwort (oder sonst „False“), den Betreiber aus der Schleife;
  • sobald es passiert ist „ging“ das Programm im Design nach dem Zyklus erscheinen.

Dies ist ein signifikanter Unterschied von Während Repeat, t. E. Ein Pre-Zyklus von den Nachbedingungen.

Es ist wichtig, in der Schleife endlichen Änderung in einer bestimmten Variablen Kopf Während aufzunehmen. In jedem Fall sollte jemals eine Situation kommen, die auf False gibt. Sonst wird es eine Schleife, und dann zusätzliche Maßnahmen ergreifen müssen, um vom Compiler zu beenden. Solche Fehler sind unhöflich und unentschuldbar angesehen.

Wie das Programm beenden beim Radfahren?

Oft tritt die Situation, wenn der Bediener Während Pascal Schleife im Programmcode geschrieben gibt. Was bedeutet das? Iteration ist eine unendliche Anzahl von Malen wiederholt, weil die Bedingung immer wahr ist. Zum Beispiel dieses Codefragment:

  • Während 2> 1 tun;
  • Write (1).

In diesem Fall wird die Ausführung der Aufgabe zu unterbrechen, nur STRG + F2 drücken.

Es gibt zwei Möglichkeiten, um das Verhalten eines solchen Programms zu steuern. Wenn beispielsweise ein Schreibcode weiterhin, dass die Steuerung an den Anfang der cyclischen Struktur verläuft (hier die Schleifenausgangsbedingung überwacht wird, dh. E Ausführung der aktuellen Iteration wird unterbrochen). Dann wird die Steuerung in einer While-Schleife in dem vorhergehenden Test überführt.

Pause Bediener kann die Ausführung des gesamten Zyklus zu unterbrechen und die Steuerung an die nächste Iteration. Hier ist die Ausgabe der Konstruktion nicht mehr kontrolliert werden. Das Bild zeigt Beispiele für die Verwendung dieser Operatoren.

Bewältigung der Herausforderungen

Betrachten Während in Betriebszyklus. Pascal schlägt vor, das Problem variiert zu lösen. Nehmen wir ein einfaches betrachten den Vorgang zu verstehen. Gelöst Aufgaben in Pascal ABC-Programm. Aber wird präsentiert und das Bild der klassischen Turbo Pascal-Umgebung zum Vergleich.

Aufgabe 1: Da die Funktion Y = 5-X ^ 2/2. Erstellen einer Wertetabelle in Inkrementen sh = 0,5 über das Intervall [-5, 5].

Der Algorithmus ist:

  • eine Variable X auf einen Anfangswert gleich 5 (das heißt zu Beginn des Spalts ..);
  • Berechnen eines Y-Wert, während die Variable x um das Ende des Intervalls nicht erreicht;
  • zeigen die Werte der Funktion und der Abszisse (X);
  • X Erhöhung um einen vorbestimmten Schritt.

Hier ist der Code in Pascal ABC-Programm.

Wie funktioniert der Code in Turbo Pascal-Programm. Das Bild unten zeigt dies.

Aufgabe 2: eine Matrix A bestehend aus den gesamten positiven und negativen Zahlen angegeben. Es enthält 10 Elemente. Die Notwendigkeit, eine Matrix zu bilden, in denen die positiven Elemente des Arrays A einen gerade Index angezeigt sind. Zeigen Sie die Summe der Quadrate der Zahl der neuen Matrix.

Der Algorithmus ist:

  • Sie müssen eine Routine schreiben, die einen geraden Index „Arbeit“ nur mit den Elementen des Arrays A aufweist, wird. In der Schleife wird entsprechender Variablenwert in der Parität des Index um zwei erhöht werden.
  • Wenn die Anzahl ein gerade Index aus der Matrix entspricht A die Bedingung x> 0 ist, der Zähler-Array von 1. Der aktuelle Wert der Zählvariable wird der Index der Kopienzahl in dem Array B. inkrementierte
  • Zunächst wird die Variable summa zum Auffinden der Summe der Quadrate der positiven ganzen Zahlen verantwortlich ist, dann auf 0 gesetzt ist, wird die Operation durchgeführt: zum vorherigen Summe wird den neuen Wert eines Quadrats gegeben.
  • Haben Sie keine Angst, wenn nicht alle positiven Zahlen von einem Array zu einem anderen bewegt. Sie müssen vorsichtig sein. Viele unerfahrene Programmierer den Code in Panik neu zu schreiben. Es ist notwendig, sorgfältig den Zustand zu prüfen: positive Zahlen, die auf einmal „local“ sind, das heißt, mit den Indizes, die ein Vielfaches von 2 …

Manuelle Verfolgung ist notwendig, damit die Berechnung der Loyalität zu gewährleisten. Manchmal kann mit dieser Methode Fehler identifizieren, die nicht das Auge unter normaler Inspektion des geschriebenen Code fangen.

Wenn wir manuelle Berechnungen durchzuführen, ist es möglich, sicherzustellen, dass das Programm ordnungsgemäß funktioniert. Dies wiederum, sagte, dass der Code-Generierung Algorithmus korrekt ist, führt die Folge von Aktionen zu einem logischen Ende.