Hilfreiche Ratschläge

Pseudocode und Flussdiagramme

Pin
Send
Share
Send
Send


Pseudocode - Eine kompakte, oft informelle Sprache zur Beschreibung von Algorithmen, die die Schlüsselwörter von imperativen Programmiersprachen verwendet, aber die Details und die spezifische Syntax auslässt, die für das Verständnis des Algorithmus nicht wesentlich sind. Entwickelt, um den Algorithmus für den Menschen darzustellen und nicht für die Computerübersetzung und anschließende Ausführung des Programms.

Pseudocode

Beim Unterrichten von Pseudo-Code versuchen viele Autoren, den Pseudo-Code irgendwie zu formalisieren und ihn wie eine Art Programmiersprache aussehen zu lassen, normalerweise Pascal (fu, sucks). Ich werde einen etwas anderen Ansatz verwenden - wir werden übliche Sätze mit einem Pseudocode haben.

Was ist Pseudocode? Dies ist eine Aufzeichnung von Computerbefehlen in allgemeiner menschlicher Sprache. Dadurch erhält der Programmierer eine Zwischenform zwischen der Alltagssprache und der Programmiersprache.

Nehmen wir ein Beispiel. Als Beispiele werden in der Regel Situationen gewählt, die nichts mit Übung zu tun haben. Wir werden ein völlig anderes Beispiel betrachten, das in der Praxis ständig zu finden ist. Angenommen, wir haben in einem Strategiespiel eine Karte mit einer Größe von 64 mal 64 Zellen. Für jeden Charakter im Spiel müssen Sie sicherstellen, dass er nicht über die Karte hinausgeht. Die Koordinaten werden mit x (horizontal), y (vertikal) bezeichnet. Offensichtlich müssen die Koordinaten eines Zeichens im Bereich [1. 64]. Der vorige Satz ist ein Gedanke, der in einer Programmiersprache ausgedrückt werden muss.

Da wir noch nicht begonnen haben, C ++ zu lernen, schreiben wir diese Idee mit Pseudocode auf. Darüber hinaus müssen die Vorschläge nur mit Hilfe der Grundkonstruktionen erstellt werden, die wir in der vorherigen Lektion untersucht haben:

Diese vier Sätze begrenzen die Bewegung des Charakters. Dies ist Pseudocode. Wir konnten die gesamte Aufgabe mit Hilfe von vier Niederlassungen mit jeweils einer Niederlassung und einem Bediener umsetzen. Dieser Pseudocode kann nun einfach in eine beliebige Programmiersprache übersetzt werden. Machen wir es für C ++. Dazu müssen Sie im Pseudocode einige Wörter durch englische Entsprechungen ersetzen und die mathematischen Aktionen müssen in mathematischer Sprache geschrieben sein. Wort wenn in Englisch wird sein wenn (gelesen als wenn):

Dies ist ebenfalls ein Pseudocode, obwohl er bereits näher an den Programmiersprachen liegt. In dieser Version des Pseudocodes haben wir etwas verloren. Wessen Koordinaten werden hier überprüft? Um anzuzeigen, dass x, y die Koordinaten der Charaktere im Spiel sind, schreiben wir sie durch einen Punkt: unit.x, unit.y. Hier können Sie sehen, dass x und y zur Einheit und nicht zum Gebäude oder Baum gehören. Schauen wir uns die neue Option an:

Dies ist immer noch Pseudocode, enthält jedoch keine Redundanz - wir haben alle zusätzlichen Wörter entfernt. Diese Option kommt den Programmiersprachen sehr nahe. In C ++ sieht der endgültige Code folgendermaßen aus:

Dieser C ++ - Code funktioniert vollständig! Übrigens verwenden wir einen sehr ähnlichen Code im Arkanoid, um den Ball zu kontrollieren.

Hier habe ich drei Optionen für den Pseudocode gezeigt. Zuerst verwenden Sie die erste Option, indem Sie den Code in Form von Sätzen auf Russisch aufschreiben. Wenn Sie beschäftigt genug sind, wird der Pseudocode nach etwa drei Wochen unnötig, wenn Sie die Grundkonstruktionen der Programmiersprache erlernen, aber in der Anfangsphase ist es eine nützliche Sache.

Das einfache Beispiel, das wir oben untersucht haben, zeigt uns deutlich, was der Programmierer tut.

Was kann ein Programmierer?

Die Hauptaufgabe des Programmierers besteht darin, Gedanken in eine Sprache zu übersetzen, die der Computer versteht. Schauen wir uns noch einmal an, wie dies geschieht.

Zuerst wollten wir eine Strategie entwickeln, dann fangen wir an, über die einzelnen Teile des zukünftigen Programms nachzudenken. Wir möchten, dass das Spiel auf einem begrenzten Feld von 64 * 64 Zellen stattfindet. Hieraus folgt folgende Regel: Jeder Charakter im Spiel muss sich in diesem Feld befinden. Jedes Zeichen hat Koordinaten, die seinen Standort auf der Karte angeben. Um sicherzustellen, dass sich der Charakter innerhalb des Feldes befindet, müssen Sie prüfen, ob der Charakter eine der vier Seiten des Feldes überquert hat. Jetzt können wir Pseudocode schreiben (oder Code sofort, wenn wir einige Programmiersprachen gut genug kennen):

Als Ergebnis aus einem Satz: "Jeder Charakter im Spiel sollte sich innerhalb des Feldes 64 * 64 befinden" - es haben sich vier Zweige herausgestellt, von denen jeder aus einem Operator bestehen wird.

Das Schwierigste und Wichtigste in der Anfangsphase des Programmierunterrichts ist, zu lernen, wie man Gedanken aus der menschlichen Sprache in Programmiersprachen übersetzt (die Hauptwerkzeuge, über die wir in der letzten Lektion gesprochen haben).

Flussdiagramme

Ein Flussdiagramm ist eine grafische Darstellung eines Programms.

Flussdiagramme werden aus einzelnen Blöcken erstellt. Darüber hinaus sind in den Blockdiagrammen verschiedene Mittel der Programmiersprachen in verschiedenen Blöcken dargestellt. Beispielsweise wird für die Bedingung, auf deren Grundlage der Zweig aufgebaut wird, eine Raute dargestellt. Der Operator, in dem die Informationen verarbeitet werden, wird durch ein Rechteck dargestellt. Lassen Sie uns die verschiedenen Blöcke genauer besprechen.

Jedes Programm hat einen Anfang und ein Ende. In den Flussdiagrammen werden Anfang und Ende der Programme durch Rechtecke mit abgerundeten Ecken angezeigt. In diese Rechtecke sind die Wörter "Start", "Ende" geschrieben.

In Ablaufdiagrammen werden zwei Arten von Operatoren unterschieden: Datenverarbeitungsoperatoren und Eingabe- / Ausgabeoperatoren.

Die Datenverarbeitungseinheit wird durch ein Rechteck dargestellt. Im Datenverarbeitungsoperator finden verschiedene Berechnungen statt (Addition, Subtraktion, Division, Multiplikation von Zahlen). Schauen wir uns ein einfaches Programm mit drei Operatoren an:

Wie Sie sehen, sind die Blöcke durch Linien mit Pfeilen verbunden. Pfeile geben die Reihenfolge der Blöcke an.

Die zweite Art von Operatoren in den Blockdiagrammen sind Dateneingabe- / Ausgabeblöcke. Sie werden als Vierecke mit abgeschrägten Seiten bezeichnet. In solchen Blöcken werden Daten eingegeben / ausgegeben: Drucken von Daten auf dem Bildschirm, Abrufen der Koordinaten des Mauszeigers und Empfangen von Tastaturtasten, die der Benutzer gedrückt hat:

In den beiden vorhergehenden Bildern sehen wir die sequentielle Ausführung von Anweisungen. Nun wollen wir sehen, wie die Zweige in den Flussdiagrammen angezeigt werden. Um Verzweigungen in Blockdiagrammen zu erstellen, wird ein Bedingungsblock verwendet, der durch eine Raute gekennzeichnet ist:

Wenn die in der Raute aufgezeichnete Bedingung erfüllt ist, wird der Code entlang der Ja-Linie ausgeführt, und wenn sie nicht erfüllt ist, wird die Nein-Verzweigung ausgeführt.

In der letzten Lektion haben wir Beispiele von Zweigen gesehen, in denen es mehr als zwei Zweige gab. Um solche Verzweigungen mithilfe von Bedingungsblöcken zu implementieren, müssen Sie die Einbettung dieser Blöcke ineinander verwenden.

Es ist auch möglich, Zweige mit einem Zweig zu bauen. In Flussdiagrammen sieht es so aus:

Beachten Sie, dass es nicht erforderlich ist, Linien links und rechts vom Bedingungsblock zu zeichnen. Dies ist auch von unten möglich. In diesem Fall sollten nur zwei Zweige den Zweigblock verlassen: einer, der die Bedingung erfüllt, der andere, der die Bedingung nicht erfüllt.

Im selben Bild habe ich ein paar neue Dinge gezeigt: Ellipsen und Kreise.

Ein Auslassungszeichen zeigt an, dass an dieser Stelle mehrere Operatoren fehlen.

Der Kreis besagt, dass es sich um eine Fortsetzung des Codes handelt, der an anderer Stelle gestartet wurde, oder dass der Code an anderer Stelle fortgesetzt wird. Kreise sind besonders nützlich, wenn Sie Blockdiagramme auf Papier zeichnen. Mit Hilfe von Kreisen können Sie den Code umbrechen, wenn sich das Programm nicht auf einer Seite befindet.

Wenn Sie den Code in mehrere Zweige aufteilen müssen, werden die Kreise nummeriert.

Der folgende Block wird verwendet, um Zyklen in Blockdiagrammen anzuzeigen:

Innerhalb des Fünfecks wird die Bedingung für die Fortsetzung des Zyklus geschrieben. Wenn die Bedingung erfüllt ist, wird auch der Schleifencode ausgeführt. Beachten Sie, dass der Schleifencode immer an den Anfang der Schleife zurückkehrt. Wenn die Bedingung nicht erfüllt ist, wird die nächste Anweisung nach der Schleife ausgeführt.

Und nun wollen wir sehen, wie das Blockdiagramm des Programms aussehen wird, dessen Pseudocode wir oben untersucht haben:

Ich habe das Programm ein wenig verbessert. Hier werden nicht nur die Koordinaten einer Einheit überprüft, sondern auch die Koordinaten aller Einheiten des Spiels. Die Einheiten selbst werden im Einheiten-Array gespeichert. Es gibt zwanzig Einheiten im Spiel. Um die Koordinaten aller Einheiten zu überprüfen, verwenden Sie die Variable current (current - current, read as) carrent) Zwei Dinge sind im Bild nicht dargestellt: Wie der variable Strom erhöht wird und dass x und y für die aktuelle Einheit geprüft werden.

Der Anstieg des Stroms sollte nach allen Verzweigungen erfolgen, bevor der Prozessor zum Beginn des Zyklus zurückkehrt. Ich habe diesen Moment verpasst, als ich ein Bild gezeichnet habe (und jetzt zögere ich, es zu korrigieren).

Fazit

Hier im Allgemeinen und alle nach Pseudo-Code und Flussdiagrammen. Ich habe einige Punkte verpasst, ich hoffe, ich werde später hinzufügen.

Das Wichtigste, was Sie gelernt haben sollten: Sowohl Pseudocode als auch Flussdiagramme sind Hilfswerkzeuge zum Erstellen von Programmen. Es liegt an Ihnen, sie zu benutzen oder nicht zu benutzen - wir sind nicht in der Schule. Das Erstellen von Pseudocodes und Flussdiagrammen kann Ihnen dabei helfen, die ersten Programme zu verstehen. Aber du musst es selbst machen, in meinem Unterricht verwende ich weder den einen noch den anderen.

Andere Pseudocode-Optionen

Der Hauptzweck der Verwendung von Pseudocode besteht darin, einer Person ein Verständnis des Algorithmus zu vermitteln, damit die Beschreibung in einer Programmiersprache besser wahrnehmbar ist als der Quellcode. Pseudocode wird häufig in Lehrbüchern und wissenschaftlichen und technischen Veröffentlichungen sowie in der Anfangsphase der Entwicklung von Computerprogrammen verwendet. Flussdiagramme und Drachenmuster können als grafische Alternative zum Pseudocode angesehen werden.

Im Gegensatz zu Programmiersprachen sind für die Pseudocodesyntax keine Standards festgelegt, und der Autor jeder Veröffentlichung kann seinen ursprünglichen Pseudocode verwenden. In der Praxis leihen sich Autoren die benötigten Konstrukte in der Regel aus einer oder mehreren bekannten und gebräuchlichen Programmiersprachen aus. Heutzutage sind die Syntaxelemente von Sprachen wie Pascal, C, Java in der Regel entlehnt, Algol wurde häufig in älteren Publikationen verwendet.

Technische Elemente, wie die Beschreibung von Variablen, systemabhängiger Code, Speicherzuweisung und Freigabeoperationen, sind vom Pseudocode ausgeschlossen, es sei denn, sie sind wesentliche Elemente des betrachteten Algorithmus. Mathematische Ausdrücke sind im Pseudocode häufig in der Form enthalten, dass sie normalerweise in Mathematik und nicht in Programmiersprachen geschrieben sind, und einige Fragmente des Pseudocodes können Phrasen einer natürlichen Sprache (Russisch, Englisch usw.) sein.

Andere Pseudocode-Optionen

In einigen Fällen ist ein Pseudocode ein Befehlssystem einer abstrakten Maschine, beispielsweise ein P-Code, ein Pseudocode einer fiktiven MIX-Maschine usw. und im Emulatorprogramm dieser hypothetischen Maschine gestartet.

Sehen Sie sich das Video an: Programmablaufplan, Flussdiagramm, Activity Diagram, Maximum bestimmen (Dezember 2022).

Pin
Send
Share
Send
Send