Από τι αποτελείται ένα μπλοκ διάγραμμα; «Ανάπτυξη αλγορίθμου VBA. Μπλοκ διάγραμμα. Δομές αλγορίθμων

Είναι εξαιρετικά σημαντικό να χρησιμοποιείτε τη γλώσσα των διαγραμμάτων ροής όταν αναπτύσσετε έναν αλγόριθμο για την επίλυση ενός προβλήματος. Η λύση στο ίδιο πρόβλημα μπορεί να εφαρμοστεί χρησιμοποιώντας διάφορους αλγόριθμους που διαφέρουν μεταξύ τους τόσο ως προς τον χρόνο υπολογισμού και τον όγκο των υπολογισμών, όσο και ως προς την πολυπλοκότητά τους. Η καταγραφή αυτών των αλγορίθμων με τη χρήση διαγραμμάτων ροής σάς επιτρέπει να τους συγκρίνετε, να επιλέξετε τον καλύτερο αλγόριθμο, να απλοποιήσετε, να βρείτε και να εξαλείψετε σφάλματα.

Η άρνηση από τη γλώσσα του διαγράμματος ροής κατά την ανάπτυξη ενός αλγορίθμου και την ανάπτυξη του αλγορίθμου απευθείας σε μια γλώσσα προγραμματισμού οδηγεί σε σημαντική απώλεια χρόνου και στην επιλογή ενός μη βέλτιστου αλγορίθμου. Επομένως, είναι απαραίτητο να αναπτυχθεί αρχικά ένας αλγόριθμος για την επίλυση του προβλήματος στη γλώσσα των διαγραμμάτων ροής, μετά τον οποίο ο αλγόριθμος μεταφράζεται σε γλώσσα προγραμματισμού.

Κατά την ανάπτυξη ενός αλγορίθμου για ένα σύνθετο πρόβλημα, χρησιμοποιείται η μέθοδος της βήμα προς βήμα λεπτομερειών. Στο πρώτο βήμα, εξετάζεται η γενική δομή του αλγορίθμου χωρίς λεπτομερή επεξεργασία των επιμέρους τμημάτων του. Τα μπλοκ που απαιτούν λεπτομέρεια σκιαγραφούνται με μια διακεκομμένη γραμμή και μελετώνται και περιγράφονται λεπτομερώς στα επόμενα βήματα ανάπτυξης του αλγορίθμου.

Κατά τη διαδικασία ανάπτυξης ενός αλγορίθμου για την επίλυση ενός προβλήματος, μπορούν να διακριθούν τα ακόλουθα στάδια:

  • Στάδιο 1. Μαθηματική περιγραφή της λύσης του προβλήματος.
  • Στάδιο 2. Ορισμός δεδομένων εισόδου και εξόδου.
  • Στάδιο 3. Ανάπτυξη αλγορίθμου για την επίλυση του προβλήματος.

Βασικά αλγοριθμικά σχέδια

Στη θεωρία προγραμματισμού έχει αποδειχτεί ότι για να γράψουμε οποιονδήποτε αλγόριθμο, όσο πολύπλοκος κι αν είναι, αρκεί τρεις βασικές δομές:

  • παρακάτω (γραμμικός αλγόριθμος).
  • διακλάδωση (αλγόριθμος διακλάδωσης).
  • loop-bye (αλγόριθμος round-robin).

Γραμμικοί αλγόριθμοι

Γραμμικός αλγόριθμοςσχηματίζεται από μια ακολουθία ενεργειών που ακολουθούν η μία μετά την άλλη. Για παράδειγμα, για να προσδιορίσετε την περιοχή ενός ορθογωνίου, πρέπει πρώτα να ορίσετε το μήκος της πρώτης πλευράς, στη συνέχεια να ορίσετε το μήκος της δεύτερης πλευράς και μόνο στη συνέχεια να χρησιμοποιήσετε τον τύπο για να υπολογίσετε το εμβαδόν του.

Παράδειγμα

ΕΡΓΟ. Αναπτύξτε έναν αλγόριθμο για τον υπολογισμό της υποτείνουσας ενός ορθογωνίου τριγώνου χρησιμοποιώντας τις γνωστές τιμές των μηκών των σκελών του a και b.

Χρησιμοποιώντας αυτό το πρόβλημα ως παράδειγμα, θα εξετάσουμε και τα τρία στάδια ανάπτυξης ενός αλγορίθμου για την επίλυση του προβλήματος:

Η μαθηματική λύση στο πρόβλημα είναι ο γνωστός τύπος:

,

όπου c είναι το μήκος της υποτείνουσας, a, b είναι τα μήκη των ποδιών.

Τα δεδομένα εισόδου είναι οι τιμές των σκελών a και b. Η έξοδος είναι το μήκος της υποτείνουσας – γ.

Αλγόριθμοι Διακλάδωσης

περιέχει μια συνθήκη, ανάλογα με την οποία εκτελείται μια συγκεκριμένη ακολουθία ενεργειών.

Παράδειγμα

ΕΡΓΟ. Αναπτύξτε έναν αλγόριθμο για τον υπολογισμό του μεγαλύτερου αριθμού από δύο αριθμούς x και y.

Στάδιο 1. Μαθηματική περιγραφή της λύσης του προβλήματος.

Από το μάθημα των μαθηματικών είναι γνωστό ότι αν x > y, τότε ο μεγαλύτερος αριθμός x, αν x< y, то наибольшее число y, если x = y, то число x равно числу y.

Στάδιο 2. Προσδιορισμός δεδομένων εισόδου και εξόδου.

Τα δεδομένα εισόδου είναι οι τιμές των αριθμών x και y. Η έξοδος είναι:

  • μεγαλύτερος αριθμός
  • οποιονδήποτε από τους αριθμούς αν οι αριθμοί είναι ίσοι

Για να λύσουμε το πρόβλημα πρέπει να γνωρίζουμε τις τιμές των x και y.

Στάδιο 3. Ανάπτυξη αλγορίθμου για την επίλυση του προβλήματος.

Στο διάγραμμα του αλγορίθμου για την επίλυση του προβλήματος, οι αριθμοί των στοιχείων του αλγορίθμου υποδεικνύονται με αριθμούς, οι οποίοι αντιστοιχούν στους αριθμούς των βημάτων στη λεκτική περιγραφή του αλγορίθμου

Στον αλγόριθμο που εξετάζουμε (Εικ. 3) υπάρχουν τρεις κλάδοι επίλυσης του προβλήματος:

  • πρώτο: αυτά είναι τα στοιχεία 1, 2, 3, 4, 8.
  • δεύτερο: αυτά είναι τα στοιχεία 1, 2, 3, 5, 6, 8
  • τρίτο: αυτά είναι τα στοιχεία 1, 2, 3, 5, 7, 8.

Η επιλογή του κλάδου καθορίζεται από τις τιμές x και y στα στοιχεία 3 και 5, που είναι συνθήκες που καθορίζουν τη σειρά με την οποία εκτελούνται τα στοιχεία του αλγορίθμου. Εάν η συνθήκη (ισότητα) που είναι γραμμένη μέσα στο σύμβολο «λύση» ικανοποιείται για τις εισαγόμενες τιμές των x και y, τότε τα στοιχεία 4 και 8 εκτελούνται στη συνέχεια από το γεγονός ότι συνδέονται με μια γραμμή με την ένδειξη «ναι ” και η κατεύθυνση (ακολουθία) των υπολογισμών υποδεικνύεται με βέλος.

Εάν η συνθήκη στο στοιχείο 3 δεν πληρούται, τότε το στοιχείο 5 εκτελείται στη συνέχεια. Συνδέεται με το στοιχείο 3 με μια γραμμή με την ένδειξη "όχι". Εάν πληρούται η συνθήκη που είναι γραμμένη στο στοιχείο 5, τότε τα στοιχεία 6 και 8 εκτελούνται, διαφορετικά τα στοιχεία 7 και 8 εκτελούνται.

Κυκλικοί αλγόριθμοι

καθορίζει την επανάληψη κάποιου μέρους των ενεργειών (πράξεων) μέχρι να παραβιαστεί μια συνθήκη, η εκπλήρωση της οποίας ελέγχεται στην αρχή του κύκλου. Ένα σύνολο πράξεων που εκτελούνται επανειλημμένα ονομάζεται σώμα ενός βρόχου.

Καλούνται οι αλγόριθμοι στους οποίους μεμονωμένες ενέργειες επαναλαμβάνονται πολλές φορές κυκλικοί αλγόριθμοι,Το σύνολο των ενεργειών που σχετίζονται με την επανάληψη ονομάζεται κύκλος.

Κατά την ανάπτυξη ενός αλγόριθμου κυκλικής δομής, διακρίνονται οι ακόλουθες έννοιες:

  • παράμετρος κύκλου – μια τιμή της οποίας η τιμή αλλάζει κατά την επανάληψη του κύκλου.
  • αρχικές και τελικές τιμές των παραμέτρων του κύκλου.
  • βήμα κύκλου – η τιμή με την οποία αλλάζει η παράμετρος κύκλου με κάθε επανάληψη.

Ο κύκλος οργανώνεται σύμφωνα με ορισμένους κανόνες. Ένας κυκλικός αλγόριθμος αποτελείται από μια προετοιμασία βρόχου, ένα σώμα βρόχου και μια συνθήκη συνέχισης βρόχου.

Η προετοιμασία του κύκλου περιλαμβάνει ενέργειες που σχετίζονται με τον καθορισμό αρχικών τιμών για τις παραμέτρους του κύκλου:

  • αρχικές τιμές του κύκλου·
  • τελικές τιμές βρόχου.
  • βήμα κύκλου.

Το σώμα του βρόχου περιλαμβάνει:

  • επαναλαμβανόμενες ενέργειες για τον υπολογισμό των απαιτούμενων ποσοτήτων.
  • προετοιμασία της τιμής παραμέτρου του επόμενου βρόχου.
  • προετοιμασία άλλων τιμών που είναι απαραίτητες για επαναλαμβανόμενη εκτέλεση ενεργειών στο σώμα του βρόχου.

Η συνθήκη συνέχισης του κύκλου καθορίζει την επιτρεπτή επανάληψη των ενεργειών. Εάν η παράμετρος βρόχου είναι ίση ή μεγαλύτερη από την τελική τιμή του βρόχου, τότε η εκτέλεση του βρόχου πρέπει να τερματιστεί.

Παράδειγμα

ΕΡΓΟ. Αναπτύξτε έναν αλγόριθμο για τον υπολογισμό του αθροίσματος των φυσικών αριθμών από το 1 έως το 100.

Στάδιο 1. Μαθηματική περιγραφή της λύσης του προβλήματος.

Ας συμβολίσουμε το άθροισμα των φυσικών αριθμών με S. Τότε ο τύπος για τον υπολογισμό του αθροίσματος των φυσικών αριθμών από το 1 έως το 100 μπορεί να γραφεί ως εξής:

όπου Xi είναι ένας φυσικός αριθμός X με αριθμό i, ο οποίος ποικίλλει από 1 έως n, n=100 είναι ο αριθμός των φυσικών αριθμών.

Στάδιο 2. Προσδιορισμός δεδομένων εισόδου και εξόδου.

Τα δεδομένα εισόδου είναι φυσικοί αριθμοί: 1, 2, 3, 4, 5, …, 98, 99, 100.

Παραγωγή– την τιμή του αθροίσματος των όρων μιας ακολουθίας φυσικών αριθμών.

Παράμετρος βρόχου μια τιμή που καθορίζει τον αριθμό των επαναλήψεων του κύκλου. Στην περίπτωσή μας, το i είναι ο αριθμός ενός φυσικού αριθμού.

Προετοιμασία κύκλουαποτελείται από τον καθορισμό των αρχικών και τελικών τιμών της παραμέτρου βρόχου.

  • η αρχική τιμή της παραμέτρου βρόχου είναι 1,
  • η τελική τιμή της παραμέτρου βρόχου είναι n ,
  • Το βήμα βρόχου είναι 1.

Για σωστή άθροιση, πρέπει πρώτα να ορίσετε την αρχική τιμή του αθροίσματος στο 0.

Το σώμα του βρόχου.Στο σώμα του βρόχου, η τιμή του αθροίσματος των αριθμών θα συσσωρευτεί και η επόμενη τιμή της παραμέτρου του βρόχου θα υπολογιστεί χρησιμοποιώντας τους τύπους:

Προϋπόθεση για τη συνέχιση του βρόχου:ο κύκλος πρέπει να επαναληφθεί μέχρι να προστεθεί το τελευταίο μέλος της ακολουθίας των φυσικών αριθμών, δηλ. έως ότου η παράμετρος βρόχου είναι μικρότερη ή ίση με την τελική τιμή της παραμέτρου βρόχου.

Στάδιο 3. Ανάπτυξη αλγορίθμου για την επίλυση του προβλήματος.

Ας εισάγουμε τον ακόλουθο συμβολισμό: S είναι το άθροισμα της ακολουθίας, i είναι η τιμή του φυσικού αριθμού.

Η αρχική τιμή του κύκλου είναι i=1, η τελική τιμή του κύκλου είναι i =100, το βήμα του κύκλου είναι 1.

Λεκτική περιγραφή του αλγορίθμου Σύνταξη αλγορίθμου σε γλώσσα διαγράμματος ροής
  1. Η αρχή του αλγορίθμου.
  2. Προετοιμασία κύκλου: S:=0; i=1; n= 100;
  3. Έλεγχος της κατάστασης. Αν εγώ<=n , то перейти к шагу 4, иначе к шагу 6.
  4. Συσσώρευση του ποσού: S:=S+i;
  5. Υπολογισμός της επόμενης τιμής της παραμέτρου βρόχου: i:=i+1;
  6. Έξοδος πληροφοριών: άθροισμα φυσικών αριθμών – S.
  7. Τέλος του αλγορίθμου.

Στο διάγραμμα του αλγορίθμου για την επίλυση του προβλήματος, οι αριθμοί των στοιχείων του αλγορίθμου αναγράφονται με αριθμούς. Οι αριθμοί των στοιχείων αντιστοιχούν στους αριθμούς των βημάτων στη λεκτική περιγραφή του αλγορίθμου.

31.01.2019 Learnpascal

Έτσι, έχοντας παραλείψει τους μακροχρόνιους και κουραστικούς επαίνους του Pascal, τους οποίους τόσο λατρεύουν οι συντάκτες πολλών ιστότοπων να δημοσιεύουν στα άρθρα τους, ας προχωρήσουμε κατευθείαν στο πιο βασικό πράγμα - τον προγραμματισμό.

Στα σχολεία, κατά κανόνα, η μελέτη του Pascal ξεκινά με την επίλυση των απλούστερων προβλημάτων με την κατάρτιση διαφόρων αλγορίθμων ή διαγραμμάτων ροής, τα οποία πολλοί τόσο συχνά αγνοούν, θεωρώντας ότι είναι άχρηστη ανοησία. Αλλά μάταια. Εγώ, όπως και κάθε άλλο άτομο που γνωρίζει έστω λίγο από τον προγραμματισμό (ανεξάρτητα από το πού - στο Pascal, C, Delphi), μπορώ να σας διαβεβαιώσω - η ικανότητα σωστής και γρήγορης κατάρτισης διαγραμμάτων είναι το θεμέλιο, η βάση του προγραμματισμού.

Το διάγραμμα ροής είναι μια γραφική αναπαράσταση ενός αλγορίθμου. Αποτελείται από μπλοκ συναρτήσεων που εκτελούν διάφορους σκοπούς (είσοδος/έξοδος, έναρξη/λήξη, κλήση συνάρτησης κ.λπ.).

Υπάρχουν διάφοροι κύριοι τύποι μπλοκ που είναι εύκολο να θυμάστε:

Αποφάσισα να αφιερώσω το σημερινό μάθημα όχι μόνο στη μελέτη των διαγραμμάτων ροής, αλλά και στη μελέτη των γραμμικών αλγορίθμων. Όπως θυμάστε, ένας γραμμικός αλγόριθμος είναι ο απλούστερος τύπος αλγορίθμου. Το κύριο χαρακτηριστικό του είναι ότι δεν περιέχει κανένα χαρακτηριστικό. Αυτό ακριβώς είναι που κάνει τη συνεργασία μαζί του απλή και ευχάριστη.

Αυτή η εργασία δεν θα πρέπει να παρουσιάζει ιδιαίτερη δυσκολία, καθώς βασίζεται σε τύπους για τον υπολογισμό του εμβαδού και της περιμέτρου ενός ορθογωνίου που είναι γνωστοί σε όλους μας, επομένως δεν θα κολλήσουμε την εξαγωγή αυτών των τύπων.

Ας δημιουργήσουμε έναν αλγόριθμο για την επίλυση τέτοιων προβλημάτων:

1) Διαβάστε το πρόβλημα.
2) Γράψτε τις μεταβλητές που μας είναι γνωστές και άγνωστες στο «δομένο». (Στο πρόβλημα Νο. 1, οι γνωστές μεταβλητές περιλαμβάνουν τις πλευρές: a, b, οι άγνωστες μεταβλητές είναι η περιοχή S και η περίμετρος P)
3) Θυμηθείτε ή δημιουργήστε τους απαραίτητους τύπους. (Έχουμε: S=a*b; P=2*(a+b))
4) Κάντε ένα μπλοκ διάγραμμα.
5) Γράψτε τη λύση στη γλώσσα προγραμματισμού Pascal.

Ας γράψουμε την συνθήκη με πιο συνοπτική μορφή.

Βρείτε: S, P

Λύση στο πρόβλημα Νο. 1

Η δομή του προγράμματος που λύνει αυτό το πρόβλημα είναι επίσης απλή:

  • 1) Περιγραφή μεταβλητών.
  • 2) Εισαγωγή των τιμών των πλευρών του ορθογωνίου.
  • 3) Υπολογισμός του εμβαδού ενός ορθογωνίου.
  • 4) Υπολογισμός της περιμέτρου του παραλληλογράμμου.
  • 5) Εμφάνιση τιμών περιοχής και περιμέτρου.
  • 6) Το τέλος.

Και εδώ είναι η λύση:

Πρόγραμμα Ορθογώνιο; Var a, b, S, P: ακέραιος; Αρχίστε να γράφετε ("Εισαγάγετε τις πλευρές του ορθογωνίου!"); readln(a, b); S:=a*b; P:=2*(a+b); writeln("Περιοχή ορθογωνίου: ", S); write("Rectangle perimeter: ", P); Τέλος.

Εργασία #2: Η ταχύτητα του πρώτου αυτοκινήτου είναι V1 km/h, του δεύτερου είναι V2 km/h, η απόσταση μεταξύ τους είναι S km. Ποια θα είναι η απόσταση μεταξύ τους μετά από Τ ώρες εάν τα αυτοκίνητα κινούνται προς διαφορετικές κατευθύνσεις; Οι τιμές των V1, V2, T και S ορίζονται από το πληκτρολόγιο.

Πραγματοποιούμε τη λύση, πάλι, ακολουθώντας τον αλγόριθμο. Αφού διαβάσουμε το κείμενο, προχωράμε στο επόμενο σημείο. Όπως συμβαίνει με όλα τα φυσικά ή μαθηματικά προβλήματα, αυτή είναι μια σημείωση των συνθηκών του προβλήματος:

Δίνονται: V1, V2, S, T
Εύρεση: S1

Ακολουθεί το πιο σημαντικό και ταυτόχρονα το πιο ενδιαφέρον μέρος της λύσης μας - η κατάρτιση των τύπων που χρειαζόμαστε. Κατά κανόνα, στα αρχικά στάδια της εκπαίδευσης, όλοι οι απαραίτητοι τύποι είναι καλά γνωστοί σε εμάς και λαμβάνονται από άλλους τεχνικούς κλάδους (για παράδειγμα, για την εύρεση της περιοχής διαφόρων μορφών, για την εύρεση ταχύτητας, απόστασης κ.λπ. .).

Ο τύπος που χρησιμοποιήθηκε για να λύσουμε το πρόβλημά μας είναι ο εξής:

Το επόμενο σημείο του αλγορίθμου είναι ένα μπλοκ διάγραμμα:

Λύση στο πρόβλημα Νο 2.

Και επίσης η λύση που γράφτηκε στο Pascal:

Διανομή προγράμματος; Var V1, V2, S, T, S1: ακέραιος; (Εισαγωγή ) start write("Εισαγάγετε την ταχύτητα του πρώτου αυτοκινήτου: "); readln(V1); write("Εισαγάγετε την ταχύτητα του δεύτερου αυτοκινήτου: "); readln(V2); write("Εισαγάγετε την ώρα: "); readln(T); write("Εισαγάγετε την απόσταση μεταξύ των αυτοκινήτων: "); readln(S); S1:=(V1+V2)*T+S; writeln("Through ", t,"h. distance ", S1," km."); Τέλος.

Μπορεί να πιστεύετε ότι αυτά τα δύο προγράμματα είναι σωστά, αλλά δεν είναι. Άλλωστε, η πλευρά του τριγώνου μπορεί να είναι 4,5, όχι 4, και η ταχύτητα του αυτοκινήτου δεν είναι απαραίτητα στρογγυλός αριθμός! Και ο ακέραιος είναι μόνο ακέραιοι αριθμοί. Επομένως, όταν προσπαθώ να γράψω άλλους αριθμούς στο δεύτερο πρόγραμμα, εμφανίζεται ένα σφάλμα:


Σημειώστε ότι στο Pascal, όπως και σε κάθε άλλη γλώσσα προγραμματισμού, το δεκαδικό κλάσμα εισάγεται με τελεία και όχι με κόμμα!

Για να λύσετε αυτό το πρόβλημα, πρέπει να θυμάστε ποιος τύπος στο Pascal είναι υπεύθυνος για μη ακέραιους αριθμούς. Εξετάσαμε τους κύριους τύπους. Λοιπόν, αυτός είναι ένας πραγματικός τύπος - Real. Δείτε πώς φαίνεται το διορθωμένο πρόγραμμα:

Όπως μπορείτε να δείτε, αυτό το άρθρο είναι χρήσιμο για ανάγνωση τόσο για αρχάριους όσο και για πιο έμπειρους χρήστες του Pascal, καθώς η σύνταξη διαγραμμάτων ροής δεν είναι μόνο πολύ απλή και γρήγορη, αλλά και πολύ συναρπαστική.

Ένα διάγραμμα ροής είναι ένα γραφικό μοντέλο που περιγράφει διαδικασίες ή αλγόριθμους, όπου τα βήματα είναι μπλοκ διαφόρων σχημάτων και συνδέονται με γραμμές. Και αυτές οι γραμμές δείχνουν την κατεύθυνση της ακολουθίας. Ο τρόπος με τον οποίο θα πρέπει να εκτελεστεί το μπλοκ διάγραμμα ρυθμίζεται από το πρότυπο. Και χρησιμεύει έτσι ώστε ένας προγραμματιστής ή ένα άτομο που δεν έχει γνώσεις σε αυτόν τον τομέα μπορεί να δει καθαρά πώς λειτουργεί ένα πρόγραμμα ή μια διαδικασία. Τα διαγράμματα ροής δημιουργούνται συχνά από επαγγελματίες προγραμματισμού.

Γιατί ένας προγραμματιστής χρειάζεται ένα διάγραμμα ροής;

Η σημείωση του Διαγράμματος ροής είναι η ταχύτερη, πιο ευέλικτη και προσιτή μέθοδος με την οποία ένας προγραμματιστής μπορεί να εξηγήσει σε έναν μη ειδικό πώς εκτελείται οποιαδήποτε διαδικασία ή πώς λειτουργεί ένα πρόγραμμα. Ένα μπλοκ διάγραμμα αντιπροσωπεύει επίσης τεκμηρίωση για οποιοδήποτε πρόγραμμα. Εάν ένας προγραμματιστής χρειάζεται να εξηγήσει πώς λειτουργεί ένα απλό βοηθητικό πρόγραμμα ή ένας μικρός κώδικας, μπορεί να το δείξει ξεκάθαρα χρησιμοποιώντας ένα κανονικό πρόγραμμα επεξεργασίας γραφικών. Αλλά αν το πρόγραμμα είναι πολύπλοκο, ο κώδικάς του αποτελείται από πολλές ενότητες και γραμμές, ένας απλός επεξεργαστής δεν θα λειτουργήσει. Σε αυτήν την περίπτωση, οι προγραμματιστές χρησιμοποιούν επαγγελματικές λύσεις και δημιουργούν ένα διάγραμμα ροής με βάση τον πηγαίο κώδικα.

Προγράμματα και διαδικτυακές υπηρεσίες για την κατασκευή μπλοκ διαγραμμάτων

Μπορείτε να χρησιμοποιήσετε ειδικά προγράμματα που εκτελούνται στον υπολογιστή σας ή υπηρεσίες που προσφέρουν κατασκευή σε πραγματικό χρόνο οποιουδήποτε κυκλώματος χρησιμοποιώντας Pascal, Delphi, ακόμα και C++. Οι έμπειροι προγραμματιστές προτιμούν να χρησιμοποιούν μόνο προγράμματα υπολογιστών.

Οι υπηρεσίες που παρέχονται για online χαρτογράφηση διαδικασιών συχνά δεν υποστηρίζουν τις απαραίτητες απαιτήσεις και επομένως δεν μπορούν να εγγυηθούν τη σωστή λειτουργία. Για παράδειγμα:

  • Ορισμένες εντολές γλώσσας προγραμματισμού δεν υποστηρίζονται και, επομένως, το διάγραμμα ακολουθίας ενεργειών δεν έχει κατασκευαστεί σωστά.
  • Τα γραφήματα που δείχνουν την αλληλουχία των πράξεων είναι ελάχιστα σχεδιασμένα.
  • Η ηλεκτρονική υπηρεσία συχνά δεν σας επιτρέπει να αποθηκεύσετε το διάγραμμα ροής στην απαιτούμενη μορφή.
  • Και αυτά δεν είναι όλα τα μειονεκτήματα τέτοιων υπηρεσιών.
Οι ειδικές εφαρμογές υπολογιστών χειρίζονται πολύ πιο επαγγελματικά το έργο της κατασκευής διαγραμμάτων ροής. Λοιπόν, για όσους δεν θέλουν να εγκαταστήσουν προγράμματα στον υπολογιστή τους, συνιστούμε τη χρήση της διεπαφής λογισμικού για τη δημιουργία γραφημάτων και γραφημάτων Chart API από την Google.


Το FCeditor είναι μια βολική εφαρμογή που υποστηρίζει τις γλώσσες προγραμματισμού C++ (αρχείο .cs), Delphi, Pascal (αρχείο .pas). Εάν χρειάζεται να επεξεργαστείτε ένα αρχείο κώδικα σε αυτό το πρόγραμμα, πρέπει πρώτα να το εισαγάγετε. Όταν το FCeditor αναλύει το εισαγόμενο αρχείο .pas ή .cs, θα εμφανίσει ένα δέντρο κλάσης στα αριστερά, μια καρτέλα θα εμφανιστεί στον πίνακα και σε αυτήν θα βρίσκεται ο κώδικας του προγράμματος και τα διαγράμματα.

Σημαντική σημείωση! Μπορείτε να εξαγάγετε το κατασκευασμένο γράφημα ή διάγραμμα σε οποιαδήποτε μορφή: από jpeg και tiff σε png και bmp Το πρόγραμμα διαθέτει υποστήριξη στη ρωσική γλώσσα και απλή διεπαφή χρήστη.


Άλλο ένα απλό πρόγραμμα με μινιμαλιστικό σχεδιασμό αλλά ευρεία λειτουργικότητα. Η διεπαφή χρήστη, παρόμοια με το προηγούμενο πρόγραμμα, είναι απλή και βολική ακόμη και για μη επαγγελματίες. Στο κύριο παράθυρο θα δείτε τρία πεδία. Στο πρώτο πεδίο, ο κώδικας παρουσιάζεται σε μορφή δέντρου, στο δεύτερο - το ίδιο το κείμενο και στο τρίτο, μεγαλύτερο, θα δείτε ένα κατασκευασμένο διάγραμμα ή γράφημα. Αυτή η εφαρμογή είναι βολική στη χρήση λόγω του οπίσθιου φωτισμού. Τα στοιχεία του κώδικα, η δομή δέντρου και το διάγραμμα όχι μόνο επισημαίνονται, αλλά και συμπτύσσονται.

Το διάγραμμα που δημιουργήθηκε στο πρόγραμμα Autoflowchart μπορεί να εξαχθεί όχι μόνο σε μορφή γραφικών, αλλά και σε αρχεία xml. Αυτό το πρόγραμμα είναι επίσης ένας βολικός επεξεργαστής κώδικα. Οτιδήποτε επεξεργάζεστε σε κώδικα εμφανίζεται αμέσως στο διάγραμμα. Το Autoflowchart υποστηρίζει οποιαδήποτε γλώσσα προγραμματισμού.


Το Code Visual to Flowchart έκδοση 6.0 είναι το πιο ισχυρό πρόγραμμα υπολογιστή που χρησιμοποιείται από επαγγελματίες για τη δημιουργία γραφημάτων και γραφημάτων. Διακρίνεται από την εκτεταμένη λειτουργικότητα και την ικανότητα κατασκευής ακριβούς κυκλώματος. Παρά την εξελιγμένη λειτουργικότητα και δυνατότητες, το πρόγραμμα διαθέτει ένα βολικό περιβάλλον εργασίας χρήστη. Στο κύριο παράθυρο θα δείτε τρία πεδία. Υπάρχουν δύο καρτέλες στα αριστερά: η μία δείχνει τη δομή του έργου, η άλλη δείχνει τη δομή των κλάσεων. Στο κέντρο του κύριου παραθύρου θα δείτε τον κωδικό του προγράμματος και στα δεξιά - ένα διάγραμμα του τμήματος κώδικα.

Μπορείτε να εξαγάγετε το κατασκευασμένο διάγραμμα σε δύο μόνο μορφές: png και bmp.

Σημαντική σημείωση! Όλα αυτά τα προγράμματα είναι εξαιρετικές λύσεις που θα σας βοηθήσουν να δημιουργήσετε σαφή, συμβατά με τα πρότυπα διαγράμματα ροής. Αλλά για να χρησιμοποιήσετε καθένα από τα προγράμματα που συζητήθηκαν παραπάνω, θα πρέπει να πληρώσετε. Η δοκιμαστική έκδοση παρέχει μόνο ένα μικρό μέρος της λειτουργικότητας και επομένως είναι κατάλληλη μόνο για σκοπούς αξιολόγησης.


Συχνά, η ανάπτυξη εφαρμογών ξεκινά με τη δημιουργία ενός διαγράμματος ροής. Πριν δημιουργήσετε έναν κώδικα προγράμματος, πρέπει να το σκεφτείτε καλά και να συντάξετε ένα διάγραμμα της ακολουθίας των ενεργειών. Και αυτό είναι το σχήμα βάσει του οποίου ο προγραμματιστής γράφει στη συνέχεια κώδικα.

Για όσους έχουν συνηθίσει να χρησιμοποιούν διαδικτυακές υπηρεσίες, προτείνουμε δύο αποδεδειγμένες - Γράφημα από την Google και Draw.io


Το Draw.io είναι μια βολική υπηρεσία στην οποία μπορείτε να δημιουργήσετε και να επεξεργαστείτε διαγράμματα ροής. Η εκτεταμένη λειτουργικότητά του, η φιλική προς τον χρήστη διεπαφή και το πακέτο εργαλείων σάς επιτρέπουν να επεξεργάζεστε, να μορφοποιείτε και να τροποποιείτε μπλοκ, δημιουργώντας τα σύμφωνα με ένα τυπικό σχήμα ή μεμονωμένο. Μπορείτε επίσης να χρησιμοποιήσετε εξωτερικές εικόνες όταν δημιουργείτε ένα διάγραμμα. Το ολοκληρωμένο διάγραμμα μπορεί να αποθηκευτεί σε γραφικές, διανυσματικές μορφές ή ως έγγραφο στο χώρο αποθήκευσης cloud ή να ληφθεί στον υπολογιστή σας.

Το Draw.io θα απευθύνεται σε αρχάριους προγραμματιστές για την πλούσια λειτουργικότητα και την ευκολία χρήσης του. Και το πιο σημαντικό, μπορείτε να το χρησιμοποιήσετε εντελώς δωρεάν.

Το Chart API της Google οπτικοποιεί τέλεια κάθε κώδικα και δημιουργεί γραφήματα, γραφήματα και γραφήματα. Μια εκτεταμένη εργαλειοθήκη αντιπροσωπεύεται από βιβλιοθήκες προσθηκών, με τη βοήθεια των οποίων δημιουργούνται γραφήματα και διαγράμματα υψηλής ποιότητας. Η υπηρεσία από την Google διαθέτει στη λειτουργικότητά της μια τεράστια ποικιλία σχημάτων με τη βοήθεια των οποίων δημιουργούνται όχι μόνο προγράμματα, αλλά και ιστότοποι και έγγραφα.


Για να χρησιμοποιήσετε αυτήν την ισχυρή διαδικτυακή υπηρεσία, χρειάζεται μόνο να διαβάσετε τις λεπτομερείς οδηγίες και να έχετε ελάχιστες γνώσεις. Ο τρόπος σωστής χρήσης όλων των εργαλείων βιβλιοθήκης υπηρεσιών από την Google φαίνεται στο πακέτο εγγράφων.


Το Chart API της Google είναι ένα εξαιρετικό εργαλείο για επαγγελματίες προγραμματιστές.

Ένα διάγραμμα ροής είναι μια γραφική αναπαράσταση μιας διαδικασίας που δείχνει ξεκάθαρα τη συστηματική ακολουθία όλων των σταδίων ολοκλήρωσης μιας δεδομένης εργασίας, καθώς και όλες τις ομάδες που εμπλέκονται σε αυτή τη διαδικασία. Αυτό το σχήμα είναι ένα σύστημα γραφικών συμβόλων (μπλοκ) και γραμμών μετάβασης (βέλη) μεταξύ τους. Κάθε ένα από αυτά τα μπλοκ αντιστοιχεί σε ένα συγκεκριμένο βήμα του αλγορίθμου. Μέσα σε ένα τέτοιο σύμβολο δίνεται μια περιγραφή αυτής της ενέργειας.

Σε τι χρησιμεύουν τα διαγράμματα ροής;

Τα αναφερόμενα συστήματα έχουν σχεδιαστεί για να εκτελούν τις ακόλουθες λειτουργίες:

Αναπτύξτε μια νέα διαδικασία.

Περιγράψτε και τεκμηριώστε τον τρέχοντα αλγόριθμο.

Αναπτύξτε τροποποιήσεις σε αυτήν τη διαδικασία ή διερευνήστε συνδέσμους με την πιθανή εμφάνιση σφαλμάτων και αποτυχιών.

Προσδιορίστε πότε, πού και πώς μπορεί να αλλάξει ο τρέχων αλγόριθμος για να ελέγξετε τη σταθερότητα ολόκληρου του συστήματος.

Ανάπτυξη μιας ακολουθίας πράξεων

Οποιοδήποτε μπλοκ διάγραμμα είναι χτισμένο με βάση έναν αλγόριθμο ενεργειών που περιγράφει τη λειτουργία μιας συσκευής ή ενός προγράμματος. Επομένως, κατασκευάζεται πρώτα το ίδιο το σύστημα. Ένας «αλγόριθμος» είναι μια περιγραφή μιας ακολουθίας πράξεων για την επίλυση ενός δεδομένου προβλήματος. Στην ουσία, αυτοί είναι οι κανόνες για την εκτέλεση των απαραίτητων διαδικασιών Προτού αρχίσετε να δημιουργείτε έναν αλγόριθμο, πρέπει να ορίσετε με σαφήνεια την εργασία: τι πρέπει να ληφθεί ως αποτέλεσμα, ποιες αρχικές πληροφορίες χρειάζονται και τι είναι ήδη διαθέσιμο. υπάρχουν περιορισμοί για την απόκτησή του. Μετά από αυτό, καταρτίζεται μια λίστα ενεργειών που πρέπει να εκτελεστούν για να επιτευχθεί το απαιτούμενο αποτέλεσμα.

Τύποι αλγορίθμων

Στην πράξη, οι ακόλουθοι τύποι μπλοκ διαγραμμάτων χρησιμοποιούνται συχνότερα:

Γραφικό, δηλαδή, βασίζεται σε γεωμετρικά σύμβολα.

Λεκτική: αποτελείται από συνηθισμένες λέξεις μιας συγκεκριμένης γλώσσας.

Ψευδοκώδικες: είναι μια ημι-τυποποιημένη περιγραφή που περιλαμβάνει στοιχεία μιας γλώσσας προγραμματισμού και λογοτεχνικές φράσεις, καθώς και γενικά αποδεκτά μαθηματικά σύμβολα.

Λογισμικό: αποκλειστικά γλώσσες προγραμματισμού χρησιμοποιούνται για εγγραφή.

Διάγραμμα μπλοκ συσκευής: περιγραφή

Μια γραφική αναπαράσταση μιας ακολουθίας ενεργειών περιλαμβάνει μια εικόνα ενός αλγορίθμου που περιγράφει τις συνδέσεις μεταξύ των λειτουργικών μπλοκ ενός δεδομένου διαγράμματος που αντιστοιχούν στην εκτέλεση μιας ή περισσότερων ενεργειών. Το μπλοκ διάγραμμα του πίνακα αποτελείται από μεμονωμένα στοιχεία, τα μεγέθη και οι κανόνες κατασκευής των οποίων καθορίζονται από το κρατικό πρότυπο. Για κάθε τύπο ενέργειας (εισαγωγή δεδομένων, υπολογισμός τιμών έκφρασης, έλεγχος συνθηκών, έλεγχος επανάληψης ενεργειών, ολοκλήρωση επεξεργασίας κ.λπ.), υπάρχει ξεχωριστή που παρουσιάζεται με τη μορφή μπλοκ. Αυτά τα σύμβολα συνδέονται με γραμμές που καθορίζουν τη σειρά των ενεργειών.

Βασικά στοιχεία που χρησιμοποιούνται στη σύνταξη μπλοκ διαγραμμάτων

Η πλήρης λίστα των γραφικών συμβόλων που χρησιμοποιούνται για την περιγραφή του αλγόριθμου αποτελείται από 42 στοιχεία. Δεν θα τα δώσουμε όλα, αλλά θα εξετάσουμε μόνο τα κύρια.

Στοιχεία διαγράμματος ροής:

1. Διαδικασία σημαίνει μια υπολογιστική ενέργεια ή μια ακολουθία τέτοιων ενεργειών που αλλάζει τιμές, τοποθέτηση δεδομένων ή μορφή παρουσίασης. Για λόγους σαφήνειας του διαγράμματος, τέτοια στοιχεία μπορούν να συνδυαστούν σε ένα μπλοκ. Αυτό το σύμβολο μοιάζει με ένα ορθογώνιο, μέσα στο οποίο γράφονται τα σχόλια που συνοδεύουν την εκτέλεση μιας πράξης (ή μιας ομάδας πράξεων).

2. Λύση. Αυτό το μπλοκ χρησιμοποιείται για να υποδείξει μια μετάβαση ελέγχου που βασίζεται σε μια συγκεκριμένη συνθήκη. Κάθε τέτοιο στοιχείο προσδιορίζει την ερώτηση, τη σύγκριση ή τη συνθήκη που το καθορίζει. Με άλλα λόγια, μια απόφαση είναι μια επιλογή κατεύθυνσης για την εκτέλεση ενός προγράμματος ή ενός αλγορίθμου ανάλογα με κάποια μεταβλητή συνθήκη. Η γραφική εμφάνιση αυτού του στοιχείου είναι ρόμβος. Το αναφερόμενο σύμβολο μπορεί να χρησιμοποιηθεί ως εικόνα των ακόλουθων ενοποιημένων δομών: επιλογή, πλήρης και ημιτελής διχάλα, κύκλος "πριν" και "ενώ".

3. Τροποποίηση. Αυτό το μπλοκ σηματοδοτεί την αρχή του κύκλου. Χρησιμοποιείται για την οργάνωση μιας κυκλικής δομής. Μέσα σε ένα τέτοιο στοιχείο, καταγράφεται η παράμετρος του κύκλου ενεργειών, υποδεικνύονται οι αρχικές τιμές, η οριακή συνθήκη και επίσης το βήμα αλλαγής της παραμέτρου για επακόλουθη επανάληψη. Με άλλα λόγια, τροποποίηση είναι η εκτέλεση αλλαγής εντολών ή ομάδων τους, πράξεις που αλλάζουν το πρόγραμμα. Η γραφική παράσταση αυτού του συμβόλου είναι ένα εξάγωνο.

4. Προκαθορισμένη διαδικασία σημαίνει υπολογισμός σύμφωνα με ένα δεδομένο ή τυπικό πρόγραμμα. Χρησιμοποιείται για την ένδειξη πρόσβασης σε έναν βοηθητικό αλγόριθμο, ο οποίος υπάρχει αυτόνομα με τη μορφή ξεχωριστών ανεξάρτητων λειτουργικών μονάδων, καθώς και για πρόσβαση σε ρουτίνες βιβλιοθήκης. Γραφικά, αυτό το σύμβολο αντιπροσωπεύεται από ένα ορθογώνιο με δύο κάθετα πεδία στις άκρες. Αυτό το στοιχείο χρησιμοποιείται για να υποδείξει κλήσεις σε λειτουργίες, διαδικασίες και μονάδες προγράμματος.

5. Είσοδος-έξοδος δεδομένων σε γενική μορφή.

6. Ξεκινήστε και σταματήστε. Αυτό το στοιχείο υποδηλώνει την αρχή και το τέλος του αλγορίθμου, καθώς και την είσοδο και την έξοδο από το πρόγραμμα. Γραφικά, αυτό το σύμβολο μοιάζει με ορθογώνιο με τόξα αντί για πλευρικές γραμμές.

7. Έγγραφο σημαίνει εκτύπωση των αποτελεσμάτων της εργασίας. Γραφικά, ένα τέτοιο στοιχείο μοιάζει με ορθογώνιο, μόνο αντί για μια χαμηλότερη ευθεία γραμμή, σχεδιάζεται ένα μισό κύμα.

8. Χειροκίνητη εισαγωγή σημαίνει την εισαγωγή δεδομένων στη διαδικασία επεξεργασίας από τον χειριστή χρησιμοποιώντας συσκευή που είναι συνδεδεμένη με υπολογιστή (πληκτρολόγιο). Το γραφικό σύμβολο για τη χειροκίνητη εισαγωγή είναι ένα τετράπλευρο του οποίου οι πλευρικές γραμμές είναι παράλληλες, το κάτω μέρος είναι κάθετο σε αυτές και το πάνω μέρος είναι λοξό.

9. Οθόνη σημαίνει την είσοδο ή την έξοδο πληροφοριών όταν η συσκευή είναι απευθείας συνδεδεμένη στον επεξεργαστή. Τη στιγμή που αρχίζουν να αναπαράγονται τα δεδομένα, ο χειριστής μπορεί να κάνει αλλαγές κατά την επεξεργασία τους. Γραφικά, αυτό το στοιχείο αντιπροσωπεύει ένα σχήμα στο οποίο η κάτω και η πάνω γραμμή είναι παράλληλες, η δεξιά είναι ένα τόξο και η αριστερή αποτελείται από δύο ευθείες γραμμές με τη μορφή βέλους.

10. Οι γραμμές ροής είναι βέλη που υποδεικνύουν μια ακολουθία συνδέσεων. Κανένα δομικό μπλοκ διάγραμμα δεν μπορεί να κάνει χωρίς αυτό το στοιχείο. Υπάρχουν ορισμένοι κανόνες για τη σχεδίαση αυτών των χαρακτήρων. Ας τις απαριθμήσουμε:

Αυτά τα στοιχεία πρέπει να είναι παράλληλα με τις εξωτερικές περιμετρικές γραμμές ή τα όρια της σελίδας στην οποία απεικονίζεται το μπλοκ διάγραμμα.

Η κατεύθυνση της γραμμής από πάνω προς τα κάτω ή από αριστερά προς τα δεξιά θεωρείται η κύρια, δεν υποδεικνύεται με βέλη, άλλες περιπτώσεις ένδειξης κατευθύνσεων.

Η κατεύθυνση αυτού του στοιχείου αλλάζει μόνο υπό γωνία 90 μοιρών.

11. Συνδετήρας. Αυτό το στοιχείο προορίζεται να υποδεικνύει επικοινωνίες σε γραμμές ροής που έχουν διακοπεί. Αυτά τα σύμβολα χρησιμοποιούνται εάν το διάγραμμα ροής του προγράμματος αποτελείται από πολλά μέρη. Στη συνέχεια, η γραμμή ροής από το ένα μέρος θα πρέπει να τελειώνει με έναν "σύνδεσμο" και το νέο τμήμα θα πρέπει να ξεκινά με αυτό το σύμβολο. Ο ίδιος σειριακός αριθμός τοποθετείται μέσα σε ένα τέτοιο στοιχείο. Η γραφική αναπαράσταση του "συνδέσμου" είναι ένας κύκλος.

12. Σύνδεσμος διασελίδων. Ο σκοπός αυτού του στοιχείου είναι παρόμοιος με τον προηγούμενο, μόνο που χρησιμοποιείται για τη σύνδεση διαγραμμάτων ροής που βρίσκονται σε διαφορετικές σελίδες. Η εικόνα ενός τέτοιου στοιχείου αντιπροσωπεύεται από ένα πεντάγωνο με τη μορφή ενός σπιτιού.

13. Ένα σχόλιο είναι μια σύνδεση μεταξύ των διαφόρων στοιχείων ενός διαγράμματος ροής με επεξηγήσεις. Αυτό το στοιχείο σάς επιτρέπει να συμπεριλάβετε τύπους και άλλες πληροφορίες.

Δομικά διαγράμματα

Η γραφική κατασκευή του αλγορίθμου αποτελεί μέρος της τεκμηρίωσης για τη συσκευή ή το πρόγραμμα, η οποία είναι πάντα διαθέσιμη σε αφθονία. Ωστόσο, στις περισσότερες περιπτώσεις το λογισμικό δεν χρειάζεται καθόλου διάγραμμα ροής. Μόνο λίγοι χρειάζονται να φτιάξουν έναν αλγόριθμο που να καταλαμβάνει πολλά φύλλα, ενώ για τους υπόλοιπους αρκεί ένα συμβολικό διάγραμμα. Ένα απλό διάγραμμα ροής δείχνει τη δομή διακλάδωσης των προγραμμάτων σε μία μόνο πτυχή. Ωστόσο, ακόμη και μια τέτοια δομή είναι σαφώς ορατή μόνο εάν ο αλγόριθμος ταιριάζει σε ένα φύλλο. Διαφορετικά, όταν το διάγραμμα ροής βρίσκεται σε πολλές σελίδες που συνδέονται με μεταβάσεις μεταξύ των σελίδων, είναι πολύ δύσκολο να έχετε μια σωστή ιδέα για αυτό. Εάν τοποθετηθεί σε ένα φύλλο, τότε για ένα μεγάλο πρόγραμμα αυτή η εικόνα του αλγορίθμου μετατρέπεται στο γενικό του σχέδιο με μια λίστα κύριων μπλοκ και σταδίων. Φυσικά, ένα τέτοιο γράφημα δεν ακολουθεί πρότυπα χαρτογράφησης, αλλά δεν τα χρειάζεται, αφού αυτή η διαδικασία είναι εντελώς ατομική. Οι κανόνες σχετικά με τον τύπο συμβόλων, τα βέλη και τη σειρά αρίθμησης είναι απαραίτητοι μόνο για την ανάλυση λεπτομερών διαγραμμάτων ροής.

Πίνακες και κατασκευή αλγορίθμων

Ένας πίνακας είναι μια συλλογή πληροφοριών του ίδιου τύπου, η οποία αποθηκεύεται σε διαδοχικά συμπλέγματα μνήμης και έχει ένα κοινό όνομα. Τέτοια κελιά ονομάζονται "στοιχεία συστήματος". Όλα τα συμπλέγματα είναι αριθμημένα με τη σειρά. Αυτός ο αριθμός ονομάζεται «ευρετήριο στοιχείων πίνακα». Πώς να φτιάξετε ένα μπλοκ διάγραμμα για ένα τέτοιο σύστημα; Ας δούμε ένα παράδειγμα δημιουργίας αλγορίθμου για στοιχειώδη τύπο. Το απλούστερο σύστημα έχει συμβατικά τη μορφή χορδής. Ας ορίσουμε ένα όνομα για αυτόν τον πίνακα - "A". Θα υποθέσουμε ότι το σύστημά μας αποτελείται από οκτώ κελιά (από 1 έως 8). Κάθε ένα από τα αναφερθέντα συμπλέγματα περιέχει έναν τυχαίο αριθμό, ο οποίος ονομάζεται "στοιχείο πίνακα". Για να αποκτήσετε πρόσβαση σε ένα συγκεκριμένο κελί, πρέπει να καθορίσετε το όνομα στο (). Εξετάστε ένα παράδειγμα στο οποίο το μπλοκ διάγραμμα πίνακα έχει σχεδιαστεί για να γεμίζει το σύστημα με τυχαίους αριθμούς και στη συνέχεια να εμφανίζει τις πληροφορίες στην οθόνη. Τι είναι ένας τέτοιος αλγόριθμος; Αυτό είναι ένα στοιχειώδες σύστημα. Στην πραγματικότητα, δεν έχει πρακτική εφαρμογή, αλλά είναι βολικό για την εκπαιδευτική διαδικασία. Το υπό εξέταση μπλοκ διάγραμμα (ένα παράδειγμα κατασκευής περιγράφεται παρακάτω) περιέχει μόνο επτά κύρια στοιχεία που συνδέονται με γραμμές μετάβασης.

Περιγραφή της σειράς εργασιών

1. Το πρώτο στοιχείο του διαγράμματος θα είναι το σύμβολο "Έναρξη".

2. Το δεύτερο μπλοκ είναι «Διαδικασία», μέσα στο οποίο εισάγουμε «τυχαία προετοιμασία».

3. Το επόμενο στοιχείο είναι "Τροποποίηση", στο μπλοκ εισάγουμε την τιμή των κελιών του πίνακα.

4. Στη συνέχεια, σύμφωνα με την καθορισμένη συνάρτηση, γίνεται ανακατεύθυνση στο επόμενο μπλοκ της «διαδικασίας», στο οποίο καθορίζεται η πρόσβαση σε συγκεκριμένα συμπλέγματα του συστήματος, υποδεικνύοντας το όριο των τυχαίων αριθμών στην περιοχή από μηδέν έως εκατό. Μετά από αυτή τη λειτουργία, υπάρχει επιστροφή στο τρίτο μπλοκ και μέσω αυτού - περαιτέρω στο πέμπτο.

5. Σε αυτό το μπλοκ "Τροποποιήσεις", σύμφωνα με την εγγεγραμμένη συνάρτηση, πραγματοποιείται ανακατεύθυνση στο επόμενο στοιχείο.

6. Το "Output" εμφανίζει πληροφορίες σχετικά με τα νέα περιεχόμενα της συστοιχίας στην οθόνη με επακόλουθη κατεύθυνση προς το προηγούμενο μπλοκ. Επόμενο - στο τελευταίο στοιχείο.

7. «Τέλος» του αλγορίθμου.

Με βάση ένα τέτοιο μπλοκ διάγραμμα, συντάσσεται ένα πρόγραμμα που θα διασφαλίζει τη λειτουργία του παρουσιαζόμενου αλγορίθμου.

"Επεξεργαστής διαγράμματος ροής"

Εάν αναρωτιέστε πώς να δημιουργήσετε ένα διάγραμμα ροής, τότε να ξέρετε ότι υπάρχουν ειδικά προγράμματα που έχουν σχεδιαστεί για τη δημιουργία και την επεξεργασία τέτοιων συστημάτων. Η ευκολία της γραφικής απεικόνισης του αλγόριθμου είναι ότι ο χρήστης δεν συνδέεται με τη σύνταξη μιας συγκεκριμένης γλώσσας προγραμματισμού. Το κατασκευασμένο μπλοκ διάγραμμα είναι εξίσου κατάλληλο για όλες τις γλώσσες (για παράδειγμα, C, Pascal, BASIC και άλλες). Επιπλέον, ο επεξεργαστής μπορεί να χρησιμοποιηθεί για τη δημιουργία διαγραμμάτων και τον έλεγχο της λειτουργικότητας των κυκλωμάτων. Αυτό το πρόγραμμα είναι εξειδικευμένο λογισμικό. Παρέχει ένα ποικίλο σύνολο εργαλείων που είναι απαραίτητα για τη δημιουργία διαγραμμάτων ροής, γεγονός που το καθιστά πιο βολικό από τα συμβατικά. Επιπλέον, ο επεξεργαστής διαγράμματος ροής προσφέρει ένα σύνολο προτύπων που μπορούν να επιταχύνουν σημαντικά την εργασία ενός αρχάριου χρήστη. Εξάλλου, είναι γνωστό ότι κατά την κατασκευή ενός αλγορίθμου, χρησιμοποιούνται συχνά επαναλαμβανόμενες δομές, για παράδειγμα, διάφορες παραλλαγές κύκλων, εναλλακτικές (πλήρες και ημιτελείς), πολλαπλοί κλάδοι κ.λπ. Το πρόγραμμα επεξεργασίας σάς επιτρέπει να επιλέξετε στοιχεία που χρησιμοποιούνται συχνά σε διαγράμματα ροής και να τα προσθέσετε στο δημιουργημένο διάγραμμα. Αυτό σας γλιτώνει από το να τα σχεδιάζετε ξανά κάθε φορά. Επιπλέον, χρησιμοποιώντας το πρόγραμμα επεξεργασίας, μπορείτε να εισάγετε συναρτήσεις και διαδικασίες που υλοποιούνται σε οποιαδήποτε γνωστή γλώσσα προγραμματισμού. Αυτή η επιλογή είναι χρήσιμη για την ανάλυση της δομής ενός αλγορίθμου που είναι γραμμένος σε μια άγνωστη γλώσσα. Οι απαιτήσεις συστήματος του εν λόγω προγράμματος είναι αρκετά μέτριες, γεγονός που του επιτρέπει να χρησιμοποιηθεί σε οποιοδήποτε

συμπέρασμα

Συνοψίζοντας, θα πρέπει να σημειώσω ότι τα λεπτομερή σχήματα για την κατασκευή αλγορίθμων είναι ήδη ξεπερασμένα. Δεν ενδιαφέρουν κανέναν ως περιγραφή της διαδικασίας. Στην καλύτερη περίπτωση, τα διαγράμματα ροής είναι κατάλληλα για τη διδασκαλία αρχαρίων που δεν μπορούν να σκεφτούν αλγοριθμικά. Τα στοιχεία που προτάθηκαν κάποτε με το περιεχόμενό τους ήταν μια γλώσσα υψηλού επιπέδου που ένωσαν τους χειριστές της γλώσσας μηχανής σε ξεχωριστές ομάδες. Αυτή τη στιγμή, κάθε γραφικό στοιχείο αντιστοιχεί σε έναν συγκεκριμένο τελεστή. Αυτό σημαίνει ότι το ίδιο το σύμβολο έχει μετατραπεί σε μια τυχαία, και το πιο σημαντικό, άχρηστη δραστηριότητα σχεδίασης που μπορεί εύκολα να εγκαταλειφθεί. Σήμερα ακόμη και οι γραμμές μετάβασης έχουν καταστεί περιττές, αφού κάθε χειριστής είναι ήδη καθορισμένος. Στην πραγματικότητα, η γραφική κατασκευή των αλγορίθμων είναι περισσότερο εκθειασμένη παρά χρησιμοποιείται στην πράξη. Ένας προγραμματιστής με μεγάλη εμπειρία σπάνια σχεδιάζει ένα διάγραμμα ροής πριν γράψει ένα πρόγραμμα. Όταν το πρότυπο ενός οργανισμού απαιτεί έναν γραφικό αλγόριθμο, σχεδιάζεται μετά την ολοκλήρωση της εργασίας.

ΣχέδιοΑυτή είναι μια αφαίρεση μιας διαδικασίας ή συστήματος που εμφανίζει καθαρά τα πιο σημαντικά μέρη. Τα σχέδια έχουν χρησιμοποιηθεί ευρέως από την αρχαιότητα μέχρι σήμερα - σχέδια αρχαίων πυραμίδων, χάρτες εδαφών, διαγράμματα ηλεκτρικών κυκλωμάτων. Προφανώς, οι αρχαίοι ναυτικοί ήθελαν να ανταλλάξουν χάρτες και ως εκ τούτου ανέπτυξαν ένα ενιαίο σύστημα σημειώσεων και κανόνων για την εφαρμογή τους. Παρόμοιες συμφωνίες έχουν αναπτυχθεί για την απεικόνιση αλγοριθμικών διαγραμμάτων και κατοχυρώνονται στο GOST και στα διεθνή πρότυπα.

Λειτουργεί στο έδαφος της Ρωσικής Ομοσπονδίας ενοποιημένο σύστημα τεκμηρίωσης προγράμματος (USPD), μέρος του οποίου αποτελεί το κρατικό πρότυπο - GOST 19.701-90 "Διαγράμματα αλγορίθμων για προγράμματα, δεδομένα και συστήματα". Παρά το γεγονός ότι οι συμβολισμοί που περιγράφονται στο πρότυπο μπορούν να χρησιμοποιηθούν για την απεικόνιση διαγραμμάτων πόρων συστήματος, διαγραμμάτων αλληλεπίδρασης προγραμμάτων κ.λπ., αυτό το άρθρο περιγράφει μόνο την ανάπτυξη διαγραμμάτων αλγορίθμων προγραμμάτων.

Το υπό εξέταση GOST συμμορφώνεται σχεδόν πλήρως με το διεθνές πρότυπο ISO 5807:1985.

Στοιχεία διαγράμματος ροής αλγορίθμου

Ένα μπλοκ διάγραμμα είναι ένα σύνολο συμβόλων που αντιστοιχούν στα στάδια του αλγορίθμου και στις γραμμές που τα συνδέουν. Διακεκομμένη γραμμήχρησιμοποιείται για τη σύνδεση ενός συμβόλου με ένα σχόλιο. συμπαγής γραμμήαντικατοπτρίζει τις εξαρτήσεις ελέγχου μεταξύ των συμβόλων και μπορεί να παρέχεται με ένα βέλος. Το βέλος ενδέχεται να μην εμφανίζεται όταν το τόξο κατευθύνεται από αριστερά προς τα δεξιά και από πάνω προς τα κάτω. Σύμφωνα με την ενότητα 4.2.4, οι γραμμές πρέπει να πλησιάζουν το σύμβολο από αριστερά ή από πάνω και να προέρχονται από κάτω ή από δεξιά.

Υπάρχουν άλλοι τύποι γραμμών που χρησιμοποιούνται, για παράδειγμα, για την απεικόνιση μπλοκ διαγραμμάτων παράλληλων αλγορίθμων, αλλά αυτοί, καθώς και ορισμένα συγκεκριμένα σύμβολα, δεν λαμβάνονται υπόψη στο τρέχον άρθρο. Λαμβάνονται υπόψη μόνο βασικά σύμβολα, τα οποία είναι πάντα επαρκή για τους μαθητές.

Terminator για την έναρξη και το τέλος μιας λειτουργίας

Κάθε συνάρτηση αρχίζει και τελειώνει με έναν τερματιστή. Ο τύπος της επιστρεφόμενης τιμής και ορισμάτων της συνάρτησης καθορίζεται συνήθως στα σχόλια του μπλοκ τερματισμού.

Λειτουργίες εισαγωγής και εξόδου δεδομένων

Το GOST ορίζει πολλά σύμβολα εισόδου/εξόδου, για παράδειγμα έξοδο σε μαγνητικές ταινίες, οθόνες κ.λπ. Εάν η πηγή δεδομένων δεν είναι κρίσιμη, χρησιμοποιείται συνήθως το σύμβολο του παραλληλογράμμου. Οι λεπτομέρειες εισόδου/εξόδου μπορούν να καθοριστούν στα σχόλια.

Εκτέλεση πράξεων σε δεδομένα

Ένα μπλοκ λειτουργιών συνήθως περιέχει μία ή περισσότερες (το GOST δεν απαγορεύει) λειτουργίες εκχώρησης που δεν απαιτούν την κλήση εξωτερικών λειτουργιών.

Μπλοκ που απεικονίζει τη διακλάδωση του αλγορίθμου

Το μπλοκ σε σχήμα ρόμβου έχει μία είσοδο και πολλές υπογεγραμμένες εξόδους. Εάν ένα μπλοκ έχει 2 εξόδους (αντιστοιχεί σε τελεστή διακλάδωσης), το αποτέλεσμα της σύγκρισης υπογράφεται σε αυτές - "ναι/όχι". Εάν βγαίνουν περισσότερες γραμμές από το μπλοκ (τελεστής επιλογής), το όνομα της μεταβλητής γράφεται μέσα σε αυτό και οι τιμές αυτής της μεταβλητής γράφονται στα εξερχόμενα τόξα.

Κλήση εξωτερικής διαδικασίας

Οι κλήσεις προς εξωτερικές διαδικασίες και λειτουργίες τοποθετούνται σε ένα ορθογώνιο με πρόσθετες κάθετες γραμμές.

Έναρξη και τέλος του κύκλου

Τα σύμβολα έναρξης και λήξης βρόχου περιέχουν ένα όνομα και μια συνθήκη. Η συνθήκη ενδέχεται να μην υπάρχει σε ένα από τα σύμβολα του ζεύγους. Η θέση της συνθήκης καθορίζει τον τύπο του τελεστή που αντιστοιχεί στα σύμβολα στη γλώσσα υψηλού επιπέδου - έναν τελεστή με μια προϋπόθεση (while) ή μια μετασυνθήκη (do ... while).

Προετοιμασία δεδομένων

Το σύμβολο "προετοιμασία δεδομένων" σε οποιαδήποτε μορφή (δεν υπάρχουν επεξηγήσεις ή παραδείγματα στο GOST) καθορίζει τις τιμές εισόδου. Συνήθως χρησιμοποιείται για τον καθορισμό κύκλων μετρητών.

Συνδετήρας

Εάν το διάγραμμα ροής δεν ταιριάζει σε ένα φύλλο, χρησιμοποιείται ένα σύμβολο σύνδεσης για να αντικατοπτρίζει τη μετάβαση της ροής ελέγχου μεταξύ των φύλλων. Το σύμβολο μπορεί να χρησιμοποιηθεί σε ένα φύλλο εάν για κάποιο λόγο δεν είναι βολικό να σχεδιάσετε μια γραμμή.

Ενα σχόλιο

Ένα σχόλιο μπορεί να συνδεθεί είτε σε ένα μπλοκ είτε σε μια ομάδα. Μια ομάδα μπλοκ επισημαίνεται στο διάγραμμα με μια διακεκομμένη γραμμή.

Παραδείγματα μπλοκ διαγραμμάτων

Ως παραδείγματα, κατασκευάζονται μπλοκ διαγράμματα πολύ απλών αλγορίθμων ταξινόμησης, με έμφαση σε διάφορες υλοποιήσεις βρόχων, επειδή Οι μαθητές κάνουν τα περισσότερα λάθη σε αυτό το μέρος.

Ταξινόμηση εισαγωγής

Πίνακας σε αλγόριθμο ταξινόμηση εισαγωγήςχωρίζεται σε ταξινομημένα και μη επεξεργασμένα μέρη. Αρχικά, το ταξινομημένο τμήμα αποτελείται από ένα στοιχείο και σταδιακά αυξάνεται.

Σε κάθε βήμα του αλγορίθμου, το πρώτο στοιχείο του ακατέργαστου τμήματος του πίνακα επιλέγεται και εισάγεται στο ταξινομημένο τμήμα έτσι ώστε να διατηρείται η απαιτούμενη σειρά στοιχείων. Η εισαγωγή μπορεί να γίνει είτε στο τέλος του πίνακα είτε στη μέση. Κατά την εισαγωγή στη μέση, πρέπει να μετακινήσετε όλα τα στοιχεία που βρίσκονται "στα δεξιά" της θέσης εισαγωγής ένα στοιχείο προς τα δεξιά. Ο αλγόριθμος χρησιμοποιεί δύο βρόχους - στον πρώτο επιλέγονται στοιχεία του ακατέργαστου τμήματος και στο δεύτερο πραγματοποιείται η εισαγωγή.


Διάγραμμα ροής αλγόριθμου ταξινόμησης εισαγωγής

Το παρακάτω μπλοκ διάγραμμα χρησιμοποιεί ένα σύμβολο διακλάδωσης για την οργάνωση του βρόχου. Στον κύριο βρόχο (Εγώ< n) Επαναλαμβάνεται μέσω των στοιχείων του ακατέργαστου τμήματος του πίνακα. Εάν υποβληθούν σε επεξεργασία όλα τα στοιχεία, ο αλγόριθμος τερματίζεται διαφορετικά, γίνεται αναζήτηση μιας θέσης για εισαγωγή εγώ εκείνοστοιχείο. Η θέση που αναζητήθηκε θα αποθηκευτεί στη μεταβλητή j ως αποτέλεσμα της εκτέλεσης ενός εσωτερικού βρόχου που μετατοπίζει στοιχεία μέχρι να βρεθεί ένα στοιχείο του οποίου η τιμή είναι μικρότερη εγώ εκείνο.

Επί μπλοκ διάγραμμαδείχνει πώς μπορεί να χρησιμοποιηθεί το σύμβολο μετάβασης - μπορεί να χρησιμοποιηθεί όχι μόνο για τη σύνδεση τμημάτων κυκλωμάτων που τοποθετούνται σε διαφορετικά φύλλα, αλλά και για τη μείωση του αριθμού των γραμμών. Σε ορισμένες περιπτώσεις, αυτό σας επιτρέπει να αποφύγετε τη διέλευση των γραμμών και καθιστά τον αλγόριθμο πιο κατανοητό.

Ταξινόμηση φυσαλίδων

Ταξινόμηση φυσαλίδων, καθώς ταξινόμηση εισαγωγής, χρησιμοποιεί δύο βρόχους. Σε έναν ένθετο βρόχο, γίνεται σύγκριση των στοιχείων κατά ζεύγη και, εάν παραβιαστεί η σειρά τους, πραγματοποιείται αναδιάταξη. Ως αποτέλεσμα της εκτέλεσης μιας επανάληψης του εσωτερικού βρόχου, το μέγιστο στοιχείο είναι εγγυημένο ότι θα μετατοπιστεί στο τέλος του πίνακα. Ο εξωτερικός βρόχος εκτελείται μέχρι να ταξινομηθεί ολόκληρος ο πίνακας.


Διάγραμμα ροής αλγόριθμου ταξινόμησης με φυσαλίδες

Το μπλοκ διάγραμμα δείχνει τη χρήση των συμβόλων του βρόχου έναρξης και λήξης. Η συνθήκη του εξωτερικού βρόχου (A) ελέγχεται στο τέλος ( με μετασυνθήκη), λειτουργεί όσο η μεταβλητή έχει ανταλλάξειέχει το νόημα αληθής.Ο εσωτερικός βρόχος χρησιμοποιεί προϋπόθεσηνα επαναλάβει μέσα από ζεύγη συγκριτικών στοιχείων. Εάν τα στοιχεία είναι σε λάθος σειρά, αναδιατάσσονται με κλήση εξωτερική διαδικασία (ανταλαγή). Για να κατανοήσουμε τον σκοπό της εξωτερικής διαδικασίας και τη σειρά των επιχειρημάτων της, είναι απαραίτητο να γράψουμε σχόλια. Εάν η συνάρτηση επιστρέψει μια τιμή, μπορεί να γραφτεί ένα σχόλιο στον χαρακτήρα τερματισμού τέλους.

Ταξινόμηση κατά επιλογή

ΣΕ ταξινόμηση επιλογήςο πίνακας χωρίζεται σε ταξινομημένα και ακατέργαστα μέρη. Αρχικά, το ταξινομημένο τμήμα είναι κενό, αλλά σταδιακά αυξάνεται. Ο αλγόριθμος αναζητά το ελάχιστο στοιχείο του μη επεξεργασμένου τμήματος και το ανταλλάσσει με το πρώτο στοιχείο του ίδιου τμήματος, μετά από το οποίο θεωρείται ότι το πρώτο στοιχείο έχει υποστεί επεξεργασία (το ταξινομημένο τμήμα αυξάνεται).


Διάγραμμα ροής ταξινόμησης επιλογής

Το μπλοκ διάγραμμα δείχνει ένα παράδειγμα χρήσης του μπλοκ «προετοιμασίας» και δείχνει επίσης ότι σε ορισμένες περιπτώσεις είναι δυνατό να περιγραφεί ο αλγόριθμος με πιο «μεγεθυντικό» τρόπο (χωρίς να υπεισέλθω σε λεπτομέρειες). Οι λεπτομέρειες εφαρμογής δεν σχετίζονται με την ταξινόμηση επιλογής. εύρεση του δείκτη του ελάχιστου στοιχείου πίνακα, ώστε να μπορούν να περιγραφούν από ένα εξωτερικό σύμβολο κλήσης διαδικασίας. Εάν δεν υπάρχει μπλοκ διάγραμμα του αλγόριθμου εξωτερικής διαδικασίας, δεν θα ήταν κακό να γράψετε ένα σχόλιο στο σύμβολο κλήσης, μια εξαίρεση μπορεί να είναι συναρτήσεις με ουσιαστικά ονόματα όπως εναλλαγή, ταξινόμηση, … .