Algorithmen in Form von Blockdiagrammbeispielen. Wir entwickeln Handlungsalgorithmen und erstellen Flussdiagramme

2.1 Entwicklung des Algorithmus.

Algorithmus- Das

A. Beschreibung der Abfolge von Maßnahmen zur Lösung eines Problems oder zur Erreichung eines Ziels;

B. Regeln für die Durchführung grundlegender Datenverarbeitungsvorgänge;

C. Beschreibung von Berechnungen mit mathematischen Formeln.

Bevor mit der Entwicklung eines Algorithmus begonnen wird, ist es notwendig, die Aufgabe klar zu verstehen: Was muss als Ergebnis erhalten werden, welche Ausgangsdaten werden benötigt und was ist verfügbar, welche Einschränkungen bestehen für diese Daten. Als nächstes müssen Sie aufschreiben, welche Maßnahmen ergriffen werden müssen, um aus den Ausgangsdaten das gewünschte Ergebnis zu erhalten.

In der Praxis sind die häufigsten Formen der Darstellung von Algorithmen:

Verbal (Aufzeichnungen in natürlicher Sprache);

Grafik (Bilder aus grafischen Symbolen);

Pseudocodes (halbformalisierte Beschreibungen von Algorithmen in einer bedingten Algorithmensprache, einschließlich sowohl Elementen einer Programmiersprache als auch natürlichsprachlicher Phrasen, allgemein akzeptierter mathematischer Notationen usw.);

Programmierung (Texte in Programmiersprachen).

Die verbale Schreibweise von Algorithmen ist eine Beschreibung der aufeinanderfolgenden Phasen der Datenverarbeitung. Der Algorithmus wird in freier Form in natürlicher Sprache spezifiziert.

Beispiel. Schreiben Sie einen Algorithmus zum Ermitteln des größten gemeinsamen Teilers (GCD) zweier natürlicher Zahlen auf.

Der Algorithmus könnte wie folgt aussehen:

1. zwei Zahlen einstellen;

2. Wenn die Zahlen gleich sind, nehmen Sie eine davon als Antwort und stoppen Sie, andernfalls fahren Sie mit der Ausführung des Algorithmus fort;

3. Bestimmen Sie die größte der Zahlen;

4. Ersetzen Sie die größere Zahl durch die Differenz zwischen der größeren und der kleineren Zahl.

5. Wiederholen Sie den Algorithmus ab Schritt 2.

Der beschriebene Algorithmus ist auf beliebige natürliche Zahlen anwendbar und soll zu einer Lösung des Problems führen. Überzeugen Sie sich selbst, indem Sie mit diesem Algorithmus den größten gemeinsamen Teiler der Zahlen 125 und 75 ermitteln.

Die verbale Methode ist aus folgenden Gründen nicht weit verbreitet:

Solche Beschreibungen sind nicht streng formalisierbar;

Leiden Sie unter der Worthaftigkeit der Notizen;

Bei der Auslegung einzelner Regelungen bestehen Unklarheiten.

Die grafische Darstellung von Algorithmen ist im Vergleich zur verbalen Darstellung kompakter und visueller.

Bei der grafischen Darstellung wird der Algorithmus als eine Folge miteinander verbundener Funktionsblöcke dargestellt, von denen jeder der Ausführung einer oder mehrerer Aktionen entspricht.

Das grafische Darstellung wird als Algorithmusdiagramm oder Flussdiagramm bezeichnet.

Pseudocode ist ein System von Notationen und Regeln zum einheitlichen Schreiben von Algorithmen.

Es nimmt eine Zwischenstellung zwischen natürlichen und formalen Sprachen ein.

Einerseits ähnelt es der gewöhnlichen natürlichen Sprache, sodass Algorithmen wie normaler Text darin geschrieben und gelesen werden können. Andererseits verwendet Pseudocode einige formale Konstrukte und mathematische Symbolik, was die Algorithmusnotation näher an die allgemein akzeptierte mathematische Notation bringt.

Im Pseudocode werden keine strengen syntaktischen Regeln zum Schreiben von Befehlen übernommen, die formalen Sprachen innewohnen, was das Schreiben des Algorithmus in der Entwurfsphase erleichtert und die Verwendung eines breiteren Befehlssatzes ermöglicht, der für einen abstrakten Ausführenden entwickelt wurde. Pseudocode enthält jedoch normalerweise einige Konstrukte, die formalen Sprachen innewohnen, was den Übergang vom Schreiben in Pseudocode zum Schreiben eines Algorithmus in einer formalen Sprache erleichtert. Insbesondere im Pseudocode sowie in formalen Sprachen gibt es Funktionswörter, deren Bedeutung ein für alle Mal festgelegt ist. Es gibt keine einheitliche oder formale Definition von Pseudocode, daher sind verschiedene Pseudocodes möglich, die sich in der Menge der Funktionswörter und den grundlegenden (Grund-)Konstruktionen unterscheiden.

2.2 Blockdiagramm.

Ein Flussdiagramm ist eine grafische Darstellung eines Algorithmus, in der dieser als Folge miteinander verbundener Funktionsblöcke dargestellt wird, von denen jeder der Ausführung einer oder mehrerer Aktionen entspricht.

Im Flussdiagramm entspricht jede Art von Aktion (Eingabe von Anfangsdaten, Berechnung der Werte von Ausdrücken, Überprüfung von Bedingungen, Steuerung der Wiederholung von Aktionen, Abschluss der Verarbeitung usw.) einer geometrischen Figur, die als Blocksymbol dargestellt wird. Blocksymbole sind durch Übergangslinien verbunden, die die Reihenfolge bestimmen, in der Aktionen ausgeführt werden.

Hier sind die am häufigsten verwendeten Symbole.

Symbolname Bezeichnung und Füllbeispiel Erläuterung
Verfahren Rechenaktion oder Folge von Aktionen
Lösung Bedingungen prüfen
Änderung Beginn des Zyklus
Vordefinierter Prozess Berechnungen nach Unterprogramm, Standard-Unterprogramm
Input-Output E/A im Allgemeinen
Start stop Anfang, Ende des Algorithmus, Ein- und Ausstieg in das Unterprogramm
Dokumentieren Druckergebnisse

Der Block „Prozess“ wird verwendet, um eine Aktion oder eine Folge von Aktionen zu bezeichnen, die die Bedeutung, Form der Darstellung oder Platzierung von Daten ändert. Um die Übersichtlichkeit des Diagramms zu verbessern, können mehrere einzelne Verarbeitungsblöcke zu einem Block zusammengefasst werden. Die Darstellung einzelner Operationen ist völlig kostenlos.

Der Block „Entscheidung“ wird verwendet, um bedingte Steuerübergänge anzuzeigen. Jeder „Lösungs“-Block muss die Frage, Bedingung oder den Vergleich identifizieren, die er definiert.

Der Block „Modifikation“ dient der Organisation zyklischer Strukturen. (Das Wort Modifikation bedeutet Modifikation, Transformation). Innerhalb des Blocks wird ein Zyklusparameter geschrieben, dessen Anfangswert, Randbedingung und Schritt der Änderung des Parameterwerts für jede Wiederholung angegeben werden.

Der Block „vordefinierter Prozess“ wird verwendet, um Aufrufe von Hilfsalgorithmen anzuzeigen, die autonom in Form einiger unabhängiger Module existieren, sowie für Aufrufe von Bibliotheksroutinen.

Beispiel. Erstellen Sie ein Blockdiagramm eines Algorithmus zur Bestimmung der Höhen ha, hb, hc eines Dreiecks mit den Seiten a, b, c, if



Wo p = (a + b + c) / 2.
Lösung. Lassen Sie uns die Notation einführen dann h a = t/a, h b = t/b, h c = t/c. Das Flussdiagramm muss Start, Eingabe a, b, c, Berechnung p, t, h enthalten a, h b, h c , Ergebnisse ausgeben und stoppen.

2.3 Algorithmusstrukturen.

Algorithmen kann man sich als bestimmte Strukturen vorstellen, die aus einzelnen Grundelementen bestehen. Natürlich sollte bei dieser Herangehensweise an Algorithmen das Studium der Grundprinzipien ihres Designs mit dem Studium dieser Grundelemente beginnen

Die logische Struktur eines jeden Algorithmus kann durch eine Kombination aus drei Grundstrukturen dargestellt werden: Folgen, Verzweigen und Schleifen.

Ein charakteristisches Merkmal grundlegender Strukturen ist das Vorhandensein eines Eingangs und eines Ausgangs.

1. Es folgt die Grundstruktur. Gebildet aus einer Abfolge aufeinanderfolgender Aktionen:

2. Grundlegende Verzweigungsstruktur. Bietet abhängig vom Ergebnis der Überprüfung der Bedingung (Ja oder Nein) die Wahl einer der alternativen Betriebsweisen des Algorithmus. Jeder Pfad führt zu einem gemeinsamen Ausgang, sodass der Algorithmus unabhängig vom gewählten Pfad weiter ausgeführt wird.

Struktur Verzweigung existiert in vier Hauptvarianten:

Wenn-dann-sonst;

Die Wahl ist anders.

1) Wenn-Wenn-Bedingung, dann Aktion beenden, wenn 2) if-else if Bedingung dann Aktionen 1 sonst Aktionen 2 Ende wenn 3) Auswahlauswahl mit Bedingung 1: Aktionen 1 mit Bedingung 2: Aktionen 2. . . . . . . . . . . . unter Bedingung N: Aktionen N Ende der Wahl 4) Wahl – ansonsten Wahl unter Bedingung 1: Aktion 1 unter Bedingung 2: Aktion 2. . . . . . . . . . . . unter Bedingung N: Aktionen N, sonst Aktionen N+1 Ende der Wahl

Beispiel. Erstellen Sie ein Blockdiagramm des Algorithmus zur Berechnung der Funktion

Die Grundstruktur ist ein Kreislauf. Ermöglicht die wiederholte Ausführung einer bestimmten Reihe von Aktionen, die als Schleifenkörper bezeichnet werden.

Die Zyklusstruktur besteht in drei Hauptversionen:

Schleifentyp Für.

Weist an, den Schleifenkörper für alle Werte einer bestimmten Variablen (Schleifenparameter) in einem bestimmten Bereich auszuführen.

Schleifentyp Tschüss.

Befiehlt die Ausführung des Schleifenkörpers, solange die nach dem Wort while geschriebene Bedingung erfüllt ist.

Schleifentyp tun während.

Befiehlt die Ausführung des Schleifenkörpers, solange die nach dem Wort while geschriebene Bedingung erfüllt ist. Die Bedingung wird überprüft, nachdem der Schleifenkörper ausgeführt wurde.

Beachten Sie, dass for- und while-Schleifen auch als Schleifen mit Vorabprüfung der Bedingung bezeichnet werden und Schleifen to do – while – Schleifen mit Nachprüfung der Bedingung. Mit anderen Worten: Die Körper der for- und while-Schleifen werden möglicherweise nicht einmal ausgeführt, wenn die Endbedingung der Schleife anfänglich nicht wahr ist. Führen Sie den Schleifenkörper aus, bis er mindestens einmal ausgeführt wird, auch wenn die Bedingung zum Beenden der Schleife zunächst nicht wahr ist.

Zyklus für i von i1 bis i2 Schritt i3 Zykluskörper (Abfolge von Aktionen) Ende des Zyklus Schleife während Bedingung Schleifenkörper (Abfolge von Aktionen) Ende der Schleife Durchlaufen Sie den Schleifenkörper (Abfolge von Aktionen) bis zum Ende der Schleife

mit einer gegebenen Genauigkeit (für eine gegebene Wechselleistungsreihe wird die erforderliche Genauigkeit erreicht, wenn der nächste Term im Absolutwert kleiner wird).

Das Berechnen von Summen ist eine typische zyklische Aufgabe. Die Besonderheit unseres spezifischen Problems besteht darin, dass die Anzahl der Terme (und damit die Anzahl der Wiederholungen des Schleifenkörpers) im Voraus unbekannt ist. Daher muss die Schleife beendet werden, wenn die erforderliche Genauigkeit erreicht ist.

Beim Kompilieren eines Algorithmus müssen Sie berücksichtigen, dass sich die Vorzeichen der Terme abwechseln und die Potenz der Zahl x in den Zählern der Terme zunimmt.

Lösen Sie dieses Problem direkt, indem Sie die Teilsumme bei jedem i-ten Schritt berechnen

S:=S+(-1)**(i-1)*x**i/i ,

Am Ende erhalten wir einen sehr ineffizienten Algorithmus, der eine große Anzahl von Operationen erfordert. Es ist viel besser, die Berechnungen wie folgt zu organisieren: Wenn Sie den Zähler eines beliebigen Termes mit dem Buchstaben p bezeichnen, dann ist der Zähler des nächsten Termes gleich -р*х (das Minuszeichen sorgt für den Vorzeichenwechsel von). die Terme), und der Term selbst wird m sein

wird gleich p/i sein, wobei i die Zahl des Termes ist.

Ein Algorithmus, der eine iterative Schleife enthält, wird als iterativer Algorithmus bezeichnet. Iterative Algorithmen werden bei der Implementierung iterativer numerischer Verfahren verwendet. Bei iterativen Algorithmen muss sichergestellt werden, dass die Bedingung zum Verlassen des Zyklus erfüllt ist (Konvergenz des iterativen Prozesses). Andernfalls führt der Algorithmus eine Schleife aus, d. h. die Haupteigenschaft des Algorithmus – die Wirksamkeit – wird nicht erfüllt.

Verschachtelte Schleifen.

Es kann Fälle geben, in denen es notwendig ist, eine bestimmte Folge von Anweisungen innerhalb des Schleifenkörpers zu wiederholen, also eine innere Schleife zu organisieren. Diese Struktur wird als Schleife innerhalb einer Schleife oder als verschachtelte Schleifen bezeichnet. Die Verschachtelungstiefe von Schleifen (also die Anzahl der ineinander verschachtelten Schleifen) kann unterschiedlich sein.

Um Computerzeit zu sparen, ist es bei Verwendung einer solchen Struktur erforderlich, alle Anweisungen, die nicht vom Parameter der inneren Schleife abhängen, von der inneren Schleife in die äußere zu verschieben.

Beispiel verschachtelte Schleifen für. Berechnen Sie die Summe der Elemente der gegebenen Matrix A(5,3).

Beispiel verschachtelte Schleifen vorerst. Berechnen Sie das Produkt der Elemente der gegebenen Matrix A(10,10), die sich am Schnittpunkt gerader Zeilen und gerader Spalten befinden.

Streng genommen existiert der Begriff „Flussdiagramm“ nicht. Anstelle dieses Ausdrucks wäre es richtig, „Algorithmusdiagramm“ zu sagen, aber darüber reden wir jetzt nicht. In meinem Artikel geht es darum, ob es möglich ist, Algorithmen schnell und bequem zu zeichnen, und ob es gleichzeitig kostenlos sein sollte. Es wäre großartig, wenn es ein kostenloses Analogon des Gliffy-Online-Editors gäbe, und zum Glück gibt es das auch.

Algorithmen lassen sich sehr einfach mit Bleistift zeichnen. Zu diesem Zweck gibt es eine eigene Bibliothek von Grundelementen mit Standardblöcken und Konnektoren. Es sieht ungefähr so ​​aus:

Wenn Sie Blöcke zeichnen, rasten sie automatisch am Raster ein und lassen sich so leicht ausrichten. Nachdem Sie einen Block gezeichnet haben, kann ein anderer Block von unten oder von der Seite darauf „magnetisiert“ werden, alles wird glatt sein.

Wenn Sie auf den Block zeigen und einmal mit der Maus klicken, wird ein Modus zum Ändern der Blockgröße und zum Ziehen angezeigt. Wenn Sie ein zweites Mal klicken, kann der Block gedreht werden (an den Rändern erscheinen runde rote Punkte).

Die wichtigsten Grundfunktionen sind fast wie in Visio verfügbar: Blöcke können zu Gruppen zusammengefasst, verschoben und kopiert, in Ebenen höher oder tiefer platziert werden, magnetisierte Anschlüsse zur Mitte usw.

Es gibt auch Nachteile, zum Beispiel funktioniert der Eckverbinder nicht ganz richtig: Er verwandelt sich manchmal in ein unvorstellbares Zickzack, wenn man versucht, ihn auszuwählen und zu ziehen. Aber diese Mängel sind so unbedeutend, dass sie das Pencil-Programm nicht daran hinderten, seinen rechtmäßigen Platz in meiner Sammlung alltäglicher Entwicklertools einzunehmen.

In dieser Lektion werfen wir einen praktischen Blick auf Folgendes: wie man Algorithmen schreibt verschiedene Arten , und auch wie man einen Algorithmus anhand eines vorgefertigten Flussdiagramms „liest“..

Folgende Situationen sind möglich: In dem Moment, als wir uns der Straße näherten, leuchtete das rote oder grüne Licht. Wenn die Ampel grün ist, können Sie die Straße überqueren. Wenn die Ampel rot ist, müssen Sie warten, bis sie grün wird, und dann die Straße überqueren.

Somit sieht der Algorithmus so aus:

  1. Nähern Sie sich der Ampel.
  2. Schauen Sie sich sein Licht an.
  3. Wenn die Ampel grün ist, überqueren Sie die Straße.
  4. Wenn die Ampel rot ist, warten Sie, bis die Ampel grün wird, und überqueren Sie dann die Straße.

Das Blockdiagramm dieses Algorithmus sieht folgendermaßen aus:

Reis. 3. Blockdiagramm für Beispiel 2.

Zusammenstellung zyklischer Algorithmen

Schauen wir uns ein Beispiel für das Komponieren an zyklischer Algorithmus. Die Konvertierung von Zahlen vom Dezimalsystem ins Binärsystem haben wir bereits mehrfach besprochen. Jetzt ist es an der Zeit, diesen Algorithmus klar zu formulieren.

Erinnern wir uns daran, dass ihr Prinzip darin besteht, eine Zahl durch 2 zu dividieren und die aus der Division resultierenden Reste aufzuzeichnen.

Beispiel 3. Erstellen Sie einen Algorithmus zum Konvertieren von Zahlen vom Dezimalsystem in das Binärsystem.

Das heißt, der Algorithmus sieht folgendermaßen aus:

  1. Wenn eine Zahl 0 oder 1 ist, ist dies ihre binäre Darstellung.
  2. Ist die Zahl größer als 1, teilen wir sie durch 2.
  3. Den resultierenden Rest der Division schreiben wir in die letzte Ziffer der binären Darstellung der Zahl.
  4. Wenn der resultierende Quotient gleich 1 ist, addieren wir ihn zur ersten Ziffer der binären Darstellung der Zahl und stoppen die Berechnungen.
  5. Ist der resultierende Quotient größer als 1, dann ersetzen wir die ursprüngliche Zahl durch ihn und kehren zu Punkt 2) zurück.

Das Blockdiagramm dieses Algorithmus sieht wie folgt aus:

Reis. 4. Blockdiagramm für Beispiel 3.

Hinweis: Überlegen Sie, ob es eine Möglichkeit gibt, das obige Flussdiagramm zu vereinfachen.

„Lese“-Algorithmen

Beispiel 4. Führen Sie gemäß dem angegebenen Flussdiagramm die Aktionen des Algorithmus für die Zahl 23 aus.

Reis. 5. Blockdiagramm für Beispiel 4.

In dieser Lektion haben wir uns Beispiele für das Verfassen von Algorithmen sowie ein Beispiel für das „Lesen eines Algorithmus“ anhand eines vorgefertigten Flussdiagramms angesehen.

In der nächsten Lektion besprechen wir Spiele und Gewinnstrategien.

Wie tötet man Koshchei?

Wahrscheinlich erinnert sich jeder an ein Märchen aus seiner Kindheit, das vom Verbleib des Todes von Koshchei dem Unsterblichen erzählt: „Mein Tod ist am Ende einer Nadel, die in einem Ei steckt, das Ei ist in einer Ente, die Ente ist drin.“ ein Hase, der Hase sitzt in einer Truhe, die Truhe ist fest verschlossen und unter der größten Eiche auf der Insel Buyan, mitten im Ozean, begraben ...“

Reis. 6. Koschey der Unsterbliche und Vasilisa die Weise ().

Angenommen, anstelle von Iwan dem Zarewitsch wurde Iwan der Narr in den Kampf gegen Koshchei geworfen. Helfen wir Vasilisa der Weisen, einen Algorithmus zu entwickeln, damit sogar Iwan der Narr Koshchei töten kann.

  1. Natürlich müssen Sie zuerst die Insel Buyan finden (nehmen wir an, dass Iwan der Narr zu solchen Dingen fähig ist).
  2. Da die Truhe unter der größten Eiche vergraben ist, müssen Sie zunächst die größte Eiche der Insel finden.
  3. Dann müssen Sie die Truhe selbst ausgraben.
  4. Bevor Sie den Hasen bekommen, müssen Sie das starke Schloss aufbrechen.
  5. Jetzt können Sie den Hasen bekommen.
  6. Sie müssen eine Ente aus einem Hasen herausholen.
  7. Das Ei aus der Ente nehmen.
  8. Schlagen Sie das Ei auf und nehmen Sie die Nadel heraus.
  9. Brechen Sie die Nadel.

Dies ist ebenfalls ein linearer Algorithmus, allerdings länger als der Algorithmus zum Starten des Paint-Programms.

Sein Blockdiagramm sieht so aus:

Reis. 7. Blockdiagramm.

Am Scheideweg…

Und wieder wenden wir uns auf der Suche nach Beispielen für verschiedene Algorithmen an Märchenfiguren. Wenn wir über Algorithmen mit Verzweigung sprechen, kommt man natürlich nicht umhin, sich an den Helden zu erinnern, der an einer Kreuzung in der Nähe eines Steins stand.

Reis. 8. Bogatyr am Scheideweg ().

Auf dem Stein steht geschrieben:

„Wenn du nach rechts gehst, verlierst du dein Pferd, du wirst dich selbst retten; Wenn du nach links gehst, verlierst du dich, aber du wirst dein Pferd retten; Wenn du geradeaus gehst, verlierst du sowohl dich selbst als auch dein Pferd.“

Versuchen wir, einen Aktionsalgorithmus zu erstellen, der vom Autor der Inschrift auf dem Stein für Reisende zusammengestellt wurde?

  1. Wenn wir nach rechts gehen, verlieren wir unser Pferd. Wenn wir nicht nach rechts gehen, haben wir zwei Möglichkeiten (wir glauben, dass der Reisende nicht zurückkehren wird): geradeaus und nach links gehen.
  2. Wenn wir nach links gehen, werden wir uns selbst verlieren, aber wir werden das Pferd retten.
  3. Wenn wir geradeaus gehen, verlieren wir sowohl uns selbst als auch unser Pferd.

Das Blockdiagramm dieses Algorithmus sieht folgendermaßen aus:

Reis. 9. Blockdiagramm.

Rübe

Russische Volksmärchen haben uns nicht ohne einen zyklischen Algorithmus gelassen. Und seltsamerweise versteckte er sich in einem der einfachsten Märchen – „Die Rübe“.

Reis. 10. Rübe.

Erinnern wir uns an die Handlung des Märchens: Der Großvater zieht und zieht, kann es aber nicht herausziehen. Dann tauchen neue Charaktere auf, die der Reihe nach dem Großvater helfen – und so weiter, bis die Maus kommt.

Versuchen wir, einen Algorithmus für die Aktionen aller Charaktere im Märchen zu erstellen, damit sie trotzdem die Rübe herausziehen können.

  1. Zunächst ging der Großvater auf Repka zu und versuchte, ihn herauszuziehen.
  2. Da es nicht möglich war, Turnip herauszuziehen, war die Hilfe des nächsten Charakters erforderlich.
  3. Und das so lange, bis die Maus erscheint (oder anders gesagt, bis die Rübe herausgezogen wird).

In Form eines Blockdiagramms sieht dieser Algorithmus folgendermaßen aus:

Reis. 11. Blockdiagramm.

  1. Bosova L.L. Informatik und IKT: Lehrbuch für die 6. Klasse. - M.: BINOM. Wissenslabor, 2012
  2. Bosova L.L. Informatik: Arbeitsbuch für die 6. Klasse. - M.: BINOM. Wissenslabor, 2010.
  3. Bosova L.L., Bosova A.Yu. Informatikunterricht in den Klassen 5-6: Methodenhandbuch. - M.: BINOM. Wissenslabor, 2010.
  1. Internetportal „Teachers Mutual Help Community“ ().
  2. Internetportal „Nsportal.ru“ ().
  3. Internetportal „Festival der pädagogischen Ideen“ ().
  1. §3.3, 3.4 (Bosova L.L. Informatik und IKT: Lehrbuch für die 6. Klasse);
  2. Versuchen Sie, selbst einen linearen Algorithmus mit 5 bis 6 Ziffern zu erstellen.
  3. Erstellen Sie ein Blockdiagramm eines zyklischen Algorithmus zum Erledigen von Hausaufgaben.

Grundelemente eines Blockdiagramms. Arten von Flussdiagrammen.

Die Beschreibung eines Algorithmus mithilfe von Blockdiagrammen erfolgt durch Zeichnen einer Folge geometrischer Figuren, von denen jede die Ausführung einer bestimmten Aktion des Algorithmus impliziert. Die Reihenfolge der Aktionen wird durch Pfeile angezeigt. Das Schreiben von Algorithmen mithilfe von Flussdiagrammen wird durch GOST geregelt. Aussehen Die Hauptblöcke, die beim Schreiben von Blockdiagrammen verwendet werden, sind in der Abbildung dargestellt.

Die Darstellung des Programmalgorithmus in Form eines Blockdiagramms hat zwei Nachteile:

· Geht von einem zu geringen Detaillierungsgrad aus, der oft das Wesen komplexer Algorithmen verbirgt

· und ermöglicht Ihnen die Nutzung nicht strukturiert Methoden zur Steuerungsübertragung (goto), und im Algorithmusdiagramm sehen sie oft einfacher aus als gleichwertige strukturelle Methoden.

Zusätzlich zu Diagrammen können Sie verwenden Pseudocodes, Fließformen Und Nussi-Schneiderman-Diagramme. Alle aufgeführten Methoden basieren einerseits auf den gleichen Grundstrukturen und ermöglichen andererseits unterschiedliche Detaillierungsgrade.

Jedes Flow-Form-Symbol entspricht einer Kontrollstruktur und wird als Rechteck dargestellt. Um die Verschachtelung von Strukturen zu demonstrieren, passt das Flow-Form-Symbol in den entsprechenden Bereich des Rechtecks ​​eines beliebigen anderen Symbols. Flussformsymbole, die den Haupt- und Zusatzkontrollstrukturen entsprechen, sind in Abbildung A1 dargestellt.

<Действие>
A)
B)
V)
G)
D)

Abbildung A2 – Symbole von Nussi-Schneiderman-Diagrammen für Grundstrukturen:

a - folgend; b - Verzweigung; c – Wahl; r – Zyklus-bye; d – Zyklus-zu

Der Hauptunterschied zwischen Nussi-Schneiderman-Diagrammen und Flussformen besteht darin, dass der Bereich zur Angabe von Bedingungen und Verzweigungsmöglichkeiten in Form von Dreiecken dargestellt wird (Abbildung A2). Diese Bezeichnung sorgt für eine größere Klarheit des Algorithmus.

Ein gemeinsamer Nachteil von Flussformen und Nussi-Schneiderman-Diagrammen ist die Komplexität der Konstruktion von Symbolbildern, was die praktische Verwendung dieser Notationen zur Beschreibung großer Algorithmen erschwert.

Im Gegensatz zu Flussdiagrammen schränken Pseudocodes den Detaillierungsgrad von Operationen nicht ein, aber da sie nicht grafisch sind, zeigen sie ihre Verschachtelung schlechter an.

Es ist unmöglich, einen nichtstrukturellen Algorithmus mithilfe von Pseudocodes, Flussformen und Nussi-Schneiderman-Diagrammen zu beschreiben, da diese fehlen Symbole. Ihre Verwendung konzentriert den Designer zunächst nur auf strukturelle Methoden zur Steuerungsübertragung und erfordert daher eine gründliche Analyse des Algorithmus.

Abhängig von der Reihenfolge der Aktionen im Algorithmus werden folgende Algorithmen unterschieden:

· linear,

· verzweigt

· und zyklische Struktur.

Bei linearen Strukturalgorithmen werden Aktionen sequentiell nacheinander ausgeführt.

In verzweigten Strukturalgorithmen werden je nach Erfüllung oder Nichterfüllung einer Bedingung unterschiedliche Aktionsabfolgen ausgeführt. Jede solche Aktionsfolge wird als Zweig des Algorithmus bezeichnet.

In zyklischen Strukturalgorithmen wird abhängig von der Erfüllung oder Nichterfüllung einer Bedingung eine sich wiederholende Folge von Aktionen ausgeführt, die als Schleifenkörper bezeichnet wird. Eine verschachtelte Schleife ist eine Schleife, die sich innerhalb des Körpers einer anderen Schleife befindet. Es gibt Zyklen mit Vorbedingung und Nachbedingung:

Ein iterativer Zyklus ist ein Zyklus, dessen Anzahl der Wiederholungen nicht festgelegt ist, sondern während der Ausführung des Zyklus bestimmt wird. In diesem Fall wird eine Wiederholung der Schleife als Iteration bezeichnet.

Also: Bei aller Vielfalt an Algorithmen zur Lösung von Problemen lassen sich drei Haupttypen von Rechenprozessen unterscheiden:

· linear,

· verzweigt

· Und zyklisch,

Zu deren Umsetzung nutzen die Programme die entsprechenden grundlegenden Kontrollstrukturen:

· folgende,

· Verzweigung,

· Zyklus-bye.

Zusätzlich zu den grundlegenden verwenden prozedurale Programmiersprachen auf hoher Ebene drei weitere Konstrukte (Strukturen), die durch die grundlegenden Konstrukte leicht implementiert werden können:

· Auswahl,

· Fahrrad-zu,

· Zyklus mit einer bestimmten Anzahl von Wiederholungen.

Als Grundlage dienten die aufgeführten sechs Designs Strukturierte Programmierung. Das Wort „strukturell“ im Namen unterstreicht die Tatsache, dass bei der Programmierung nur die aufgeführten Strukturen verwendet werden. Daher das Konzept der „Programmierung ohne Go to“. Programme, die nur mit strukturellen Kontrollübertragungsoperatoren geschrieben wurden, werden als strukturiert bezeichnet. , um ihren Unterschied zu den Programmen hervorzuheben, bei deren Umsetzung sie verwendet wurden Low-Level-MethodenÜbergabe der Kontrolle.

Der entwickelte Algorithmus wird in Form von Programmcodes implementiert ( Programme) in einer der Programmiersprachen.

Um die Phasen eines Prozesses zu visualisieren, ist es praktisch, Flussdiagramme zu verwenden. Sie ermöglichen die Darstellung einer logischen Kette in Form einzelner grafischer Elemente, die in der gewünschten Reihenfolge kombiniert werden.

Eine gute Möglichkeit, schnell ein Flussdiagramm zu erstellen, ist die Verwendung von Special Online-Programme. Schauen wir uns am Beispiel dreier russischsprachiger Editoren an, wie sie funktionieren und welche Funktionen sie haben.

Wie zeichnet man ein schönes Diagramm?Canva

Wir haben in unseren Artikeln bereits mehrfach über die Canva-Website gesprochen. Dieses eignet sich ideal zum Erstellen von Infografiken, Präsentationen, Postern, Außenwerbung usw. Heute sprechen wir darüber, wie Canva Ihnen dabei helfen wird, online ein Flussdiagramm zu erstellen.

Zunächst einmal ist es erwähnenswert, dass dies von allen Diensten, die wir heute in Betracht ziehen, die einzige Ressource ist, mit der Sie nicht nur ein klares und strukturiertes Diagramm erstellen, sondern es auch schön gestalten können. Die Seite richtet sich eher an Designer als an Mathematiker oder Programmierer. Wenn Sie also beispielsweise ein farbenfrohes Diagramm für die Präsentation eines Projekts oder eines Marketingplans erstellen müssen, ist Canva definitiv der beste Assistent.

Wählen Sie zunächst aus Dutzenden verschiedener Optionen die Vorlage aus, die Ihnen gefällt.

Praktischerweise werden die meisten Layouts hier kostenlos zur Verfügung gestellt.


Hier können Sie absolut alles anpassen: von der Schriftart der Aufschriften bis hin zur Struktur des Bildes


Darüber hinaus ist es möglich, schöne Diagramme hinzuzufügen


Dieser Abschnitt verfügt auch über eine Funktion zum Einfügen des erstellten Bildes in Ihre Internetressource. Sie müssen lediglich den Codeausschnitt mit dem Diagramm kopieren und in Ihren Blog oder Ihre Website einfügen

Wenn die Arbeit am Flussdiagramm abgeschlossen ist, klicken Sie auf „Herunterladen“.


Auswahl des Dateiformats

Einer der großen Vorteile von Canva besteht darin, dass das Bild letztendlich ohne Wasserzeichen gespeichert wird.

Bequemer Aufbau logischer Ketten mitZiehen. io

Einer noch kostenloser Online-Service Ihre Aufmerksamkeit verdient Draw.io. Es gilt als eine der bekanntesten Websites zum Erstellen von Diagrammen, Diagrammen, Grafiken und Strukturen. Hier besteht, genau wie in Canva, die Möglichkeit, eine russischsprachige Schnittstelle anzubinden, was den Vorgang deutlich vereinfacht.

Bevor wir mit der Arbeit beginnen, werden wir gebeten, einen Speicherort für das fertige Ergebnis auszuwählen und uns für das Layout zu entscheiden.


Vielen Dank an Draw.io für die praktische Strukturierung der Vorlagen – sie sind alle in Kategorien unterteilt, sodass Sie schnellstmöglich die richtige Option auswählen können

Kommen wir zur Bearbeitung. Um ein Element zu ändern, klicken Sie einfach mit der Maus darauf, woraufhin rechts die Stil-, Text- und Layouteigenschaften angezeigt werden.


Im Vergleich zum vorherigen Dienst wirken die Einstellungen hier etwas primitiv, dennoch sind alle notwendigen Parameter vorhanden

Um eine Form zu ersetzen, wählen Sie im linken Bereich ein geeignetes Objekt aus und ziehen Sie es an die gewünschte Stelle. Praktisch ist, dass beim Verschieben von Elementen alle daran befestigten Pfeile automatisch ihre Position ändern.


Es ist auch möglich, ein vorgefertigtes Diagramm oder ein anderes Bild in das Dokument einzufügen, indem Sie es von Ihrem Computer importieren. Cloud-Speicher oder Online-Ressource

Um das Ergebnis zu speichern, klicken Sie auf „Datei“ – „Speichern unter“, woraufhin uns folgende Optionen angeboten werden:

  • Google Drive;
  • Eine Fahrt;
  • Dropbox;
  • GitHub;
  • Trello;
  • Computer;
  • Browser.

Die fertige Datei wird im .xml-Format heruntergeladen.

Google Diagramm – ein leistungsstarkes Tool für Entwickler

Abschließend endet unsere Empfehlungsliste mit der Google Chart API. Es handelt sich um eine Bibliothek mit Codeausschnitten, die, wenn sie eingebettet sind, auf Ihrer Website erscheinen, um schöne Diagramme, Grafiken, Strukturen, Tabellen usw. zu erstellen.


Wählen Sie die gewünschte Kategorie aus
Anhand des Beispiels sehen wir, wie das Diagramm aussehen wird, wenn wir das Wesentliche des Codes nicht ändern

Nach dem Kopieren und Einfügen in unsere Website müssen wir anstelle der im Beispiel angegebenen Daten die entsprechenden Daten eingeben. Dies ist nicht schwierig, da der Code viele nützliche Kommentare und Klarstellungen enthält.

Für erfahrene Programmierer wird die Google Chart API zu einem unverzichtbaren Assistenten, denn sie bietet eine Vielzahl zusätzlicher Tools für effektive Visualisierungen. Wenn Sie kein sehr sicherer Entwickler sind, können Sie die Standardoptionen verwenden – sie sehen auch ganz anständig aus.

Alle von uns getesteten Programme sind völlig unterschiedlich, daher ist es unmöglich, das bequemste herauszugreifen. Es hängt alles von Ihren Zielen und Wünschen ab. Wenn Sie ein schönes grafisches Produkt benötigen, kann keine Website dies besser als Canva. Wenn Sie ein minimalistisches Schema ohne besonderen Schnickschnack benötigen, hilft Ihnen Draw.io. Wenn Sie Code für Ihr Diagramm schreiben möchten, verwenden Sie die Google-Diagramm-API.

Wenn Sie ein Flussdiagramm erstellen müssen, ohne das Internet zu nutzen, können Sie dies in Word 2016 tun. Der Vorgang wird nicht so bequem und schnell sein wie bei Online-Programmen, weil Hier gibt es keine Leerzeichen oder Vorlagen. Alle Elemente und Verbindungen zwischen ihnen müssen von Grund auf neu gezeichnet werden. Seien Sie also geduldig.

gastroguru 2017