Γλώσσα προγραμματισμού Dragon. Οδηγίες για την εργασία με το IS Dragon

Ποια είναι η κινητήρια δύναμη στο πρόγραμμα; Τι δημιουργεί ένα χρήσιμο αποτέλεσμα; Φυσικά, ο αλγόριθμος. Ο αλγόριθμος δημιουργεί το εφέ για το οποίο γράφτηκε το πρόγραμμα. Ο αλγόριθμος δεν λειτουργεί μόνος του. Λειτουργεί σε συνδυασμό με δομές δεδομένων. Αλλά είναι οι αλγόριθμοι που αποτελούν το μεγαλύτερο μέρος του προγράμματος.


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


Με βάση αυτό, θα ήταν λογικό να συνθέσουμε αλγόριθμους σε γραφική μορφή. Δείτε τους μηχανικούς. Χρησιμοποιούν σχεδιαγράμματα παντού. Γιατί οι προγραμματιστές είναι χειρότεροι; Θα μπορούσαν επίσης να συντάξουν σχεδιαγράμματα αλγορίθμων. Ορισμένοι εδώ θα αντιταχθούν: ο οπτικός προγραμματισμός είναι υποτίθεται αναποτελεσματικός. Το UML είναι άβολο και τα διαγράμματα ροής είναι εύκολο να χαθούν. Είναι καλύτερο να προγραμματίζετε με τον παραδοσιακό τρόπο - με κείμενο. Στον δομημένο προγραμματισμό, υπάρχει τουλάχιστον μια δομή και παρέχει τάξη και ομοιομορφία. Και επιπλέον, η σχεδίαση διαγραμμάτων είναι μακρά και δύσκολη. Η πληκτρολόγηση είναι πιο γρήγορη από τη σχεδίαση.


Λοιπόν, είναι οι προγραμματιστές καταδικασμένοι να δουλεύουν μόνο με κείμενο όλη τους τη ζωή;
Ίσως δεν είναι όλα άσχημα. Υπάρχουν οπτικές γλώσσες για την αναπαράσταση αλγορίθμων που έχουν επίσης σειρά και δομή, όπως DRAGON, BPMN και LML Action Diagrams. Εδώ θα δούμε την οπτική αλγοριθμική γλώσσα DRAGON.

Πώς να προγραμματίσετε στη γλώσσα DRAGON

Το DRAGON δεν είναι μια ανεξάρτητη γλώσσα προγραμματισμού. Λειτουργεί παράλληλα με μια γλώσσα που βασίζεται σε κείμενο όπως JavaScript, Python ή C++. Μαζί με τη γλώσσα κειμένου, το DRAGON σχηματίζει μια υβριδική γλώσσα: DRAGON-JavaScript, DRAGON-Python ή DRAGON-C++.


Ο προγραμματισμός σε μια υβριδική γλώσσα προχωρά ως εξής:

  1. Ας σχεδιάσουμε ένα διάγραμμα ΔΡΑΚΟΥ.
  2. Μέσα στα εικονίδια τοποθετούμε μικρά κομμάτια κώδικα στην κατάλληλη γλώσσα προγραμματισμού.
  3. Το πρόγραμμα μεταφραστής μετατρέπει το κύκλωμα DRAKON σε αρχείο κειμένου με πηγαίο κώδικα.
  4. Αυτό το αρχείο κειμένου περιλαμβάνεται στο έργο ως συνήθως.
    Σήμερα, αρκετοί συντάκτες υποστηρίζουν τη δημιουργία κώδικα από διαγράμματα. Τα παραδείγματα σε αυτό το άρθρο έγιναν στο DRAKON Editor.

Δημιουργία κώδικα από διάγραμμα

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


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



Η δημιουργία κώδικα γίνεται ως εξής:

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

Στο Σχ. Το 1 δείχνει ένα παράδειγμα μικρού διαγράμματος στην υβριδική γλώσσα DRAGON-JavaScript και τον κώδικα που δημιουργείται σε JavaScript:


Ορθογώνιο με κείμενο console.log (γάτα, σκύλος)στο Σχ. 1 είναι το εικονίδιο "Ενέργεια". Πόσο κώδικα μπορείτε να χωρέσετε σε ένα εικονίδιο δράσης; Θα πρέπει να προσπαθήσετε να διασφαλίσετε ότι ένα εικονίδιο περιέχει μία σκέψη. Μερικές φορές είναι μία γραμμή κώδικα, μερικές φορές πολλές.
Ο παραγόμενος κώδικας παρέχεται με σχόλια που υποδεικνύουν τους αριθμούς των εικονιδίων. Ενώ βρίσκεστε στο πρόγραμμα επεξεργασίας, μπορείτε να μεταβείτε γρήγορα σε οποιοδήποτε εικονίδιο πατώντας Ctrl+I.

Εικ. 1.Διάγραμμα σε DRAGON-JavaScript και κώδικας που δημιουργείται από αυτό.

Εικονίδιο "Ερώτηση"

Για διακλάδωση, χρησιμοποιούνται τα εικονίδια «Ερώτηση» και «Επιλογή».


Το εικονίδιο «Ερώτηση» (Εικ. 2) αντιστοιχεί στο σχέδιο αν-τότε-άλλο.


Σημειώστε ότι αντί για λόγια αληθήςΚαι ψευδήςλέξεις που χρησιμοποιούνται ΝαίΚαι Οχι(μπορεί να αλλάξει σε ΝαίΚαι Οχι).


"Αλήθεια" και "ψέμα" - αυτό ακούγεται εντυπωσιακό, με επιστημονικό τρόπο. Ωστόσο, ένα άτομο είναι πιο κοντά στο «ναι» και το «όχι» που είναι γνωστά από την πρώιμη παιδική ηλικία.


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


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




Εικ. 2.Εικονίδιο "Ερώτηση"

Τύποι οπτικής λογικής

Η γλώσσα DRAGON καθιστά περιττούς τους λογικούς τελεστές ΚΑΙ, ΉΚαι ΔΕΝ, καθώς και ο τελεστής «μη ίσος». Οι ίδιες οι λογικές πράξεις είναι, φυσικά, απαραίτητες. Αλλά αντί για τελεστές κειμένου, το DRAGON εισάγει οπτικούς λογικούς τύπους.


Για να λάβετε έναν οπτικό λογικό τύπο, θα πρέπει να συνδέσετε πολλά εικονίδια «Ερώτηση» (όπως στην Εικ. 3).


Είναι ιδιαίτερα ωραίο να απαλλαγείτε από την άρνηση. Η άρνηση δεν είναι διαισθητική, φέρνει λάθη και ταλαιπωρία. Άρνηση (λογικός τελεστής ΔΕΝ) επιτυγχάνεται στη γλώσσα DRAGON με την αναδιάταξη των ετικετών ΝαίΚαι Οχι.


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




Εικ. 3.Τύποι οπτικής λογικής

Κύκλος με βέλος

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


Έτσι, εάν συνδέσετε το εικονίδιο Ερώτηση με ένα βέλος, λαμβάνετε έναν κύκλο. Αυτό είναι ένα ανάλογο των δομών ενώΚαι κάνω-ενώ. Το σχήμα 4 δείχνει διάφορους τύπους βρόχων βέλους.
Το εικονίδιο Ερώτηση σε βρόχο με βέλος ελέγχει την συνθήκη για την έξοδο από τον βρόχο. Φυσικά, αντί για ένα εικονίδιο "Ερώτηση", μπορεί να υπάρχουν πολλά. Τότε ένας οπτικός λογικός τύπος είναι υπεύθυνος για την έξοδο από τον κύκλο.




Εικ. 4.Κύκλοι βελών

Εικονίδιο επιλογής

Το εικονίδιο "Ερώτηση" περιέχει μια λογική έκφραση, δηλαδή μπορεί να έχει δύο έννοιες: ΝαίΚαι Οχι. Χαρακτηριστικό παράδειγμα είναι η σύγκριση δύο αντικειμένων. Εάν χρειάζεται να συγκρίνετε μια συγκεκριμένη έκφραση με πολλές τιμές, χρησιμοποιήστε το εικονίδιο «Επιλογή» (Εικ. 5). Αυτό ταιριάζει με το σχέδιο υπόθεση μάγισσας.


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




Εικ. 5.Εικονίδιο επιλογής και εικονίδια επιλογής

Εικονίδιο "Κύκλος ΓΙΑ"

Αντί για βρόχους ΓιαΚαι για κάθεΤο DRAGON-JavaScript χρησιμοποιεί το εικονίδιο «LOOP FOR». Το εικονίδιο «Cycle FOR» (Εικ. 6) μπορεί να είναι πολλών τύπων.


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


Εάν μετά τη λέξη-κλειδί για κάθευπάρχουν δύο μεταβλητές, το DRAKON Editor θα καταλάβει ότι απαιτείται επανάληψη στις ιδιότητες του αντικειμένου (κατακερματισμός πίνακα). Μόνο οι ιδιότητες των αντικειμένων θα συμπεριληφθούν στην απαρίθμηση.


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


Μπορείτε να βγείτε νωρίς από έναν κύκλο που ελέγχεται από το εικονίδιο "Κύκλος ΓΙΑ" χρησιμοποιώντας το εικονίδιο "Ερώτηση" ή "Επιλογή". Αυτή η έξοδος αντιστοιχεί περίπου στη λέξη-κλειδί Διακοπή.




Εικ. 6.Διαφορετικοί τύποι εικονιδίου "Cycle FOR" στο DRAGON-JavaScript

Μόνο μία καταχώρηση ανά βρόχο

Στη γλώσσα DRAGON υπάρχει περιορισμός στους βρόχους. Κάθε βρόχος μπορεί να έχει μόνο μία είσοδο. Ο σκοπός αυτού του περιορισμού είναι να διασφαλίσει την αναγνωσιμότητα. Αυτός ο περιορισμός διατηρεί το DRAGON στο πλαίσιο του δομημένου προγραμματισμού όπως περιγράφεται από τον Dijkstra.


Αρκετές έξοδοι από τον βρόχο είναι αποδεκτές, αλλά θα πρέπει να υπάρχει μόνο μία είσοδος. Στο Σχ. Το σχήμα 7 δείχνει βρόχους που έχουν δύο εξόδους. Επιτρέπεται. Στο Σχ. Το Σχήμα 8 δείχνει παραδείγματα απαγορευμένων κύκλων. Απαγορεύεται γιατί μπορούν να εισαχθούν με διαφορετικούς τρόπους.
Ωστόσο, δεν πρέπει να απομνημονεύσετε την εμφάνιση αυτών των απαγορευμένων κύκλων. Το DRAKON Editor θα εντοπίσει αυτόματα τέτοιους βρόχους και θα εκδώσει ένα σφάλμα.




Εικ. 7.Επιτρεπόμενοι βρόχοι με δύο εξόδους


Εικόνα 8.Απαγορευμένοι βρόχοι με δύο εισόδους

Διαφορές από τον δομημένο προγραμματισμό κειμένου

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


Παρά την πρόσθετη ελευθερία σε σύγκριση με το κείμενο, ο ΔΡΑΚΟΣ εξακολουθεί να μην επιτρέπει σε κάποιον να πέσει σε αναρχία. Οι κανόνες του είναι αρκετά αυστηροί για να αποτρέψουν τη διαταραχή. Το DRAGON παρέχει έναν εύλογο συμβιβασμό μεταξύ ευελιξίας και αυστηρότητας.



Εικόνα 9.Ένας αλγόριθμος που είναι δύσκολο να απεικονιστεί μόνο σε κείμενο

Πλεονεκτήματα μιας γραφικής γλώσσας

Η γλώσσα DRAGON έχει ενδιαφέρουσα μοίρα. Οι βασικές αρχές του τέθηκαν από τον ίδιο τον Dijkstra. Το DRAGON απέκτησε τη σημερινή του μορφή στα βάθη της ρωσικής διαστημικής βιομηχανίας. Αξιοσημείωτο είναι ότι οι κανόνες της γλώσσας DRAGON δεν προέκυψαν τυχαία. Δοκιμάστηκαν αρχικά σε ομάδες εστίασης και στη συνέχεια ακονίστηκαν σε πραγματικά διαστημικά έργα.
Ποια είναι λοιπόν ακριβώς τα δυνατά σημεία του ΔΡΑΚΟΥ;


Ας ξεκινήσουμε με το γεγονός ότι το DRAGON είναι μια γραφική γλώσσα. Και μια γραφική γλώσσα έχει θεμελιώδη πλεονεκτήματα έναντι του κειμένου.


Πρώτον, οι σκέψεις δεν είναι τυχαία διασκορπισμένες σε γραμμές, αλλά περιέχονται μέσα σε τετράγωνα ή εικονίδια. Μια σκέψη - ένα τετράγωνο. Οι διαφορετικές σκέψεις δεν κολλάνε μαζί σε ένα χάος.


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


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

Ειδικοί εργονομικοί κανόνες

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

  • Απαγορεύεται η διέλευση γραμμών. Καθόλου. Οι διασταυρώσεις κάνουν τον οπτικό αναλυτή μας να υποψιάζεται ότι οι γραμμές αγγίζουν και επομένως συνδέονται με κάποιο τρόπο. Αυτές οι υποψίες δημιουργούν επιπλέον ψυχική εργασία. Η περιττή εργασία πρέπει να απορριφθεί.
  • Η αρχή περιέχει το όνομα του αλγορίθμου και βρίσκεται πάντα στην επάνω αριστερή γωνία του διαγράμματος. Επομένως, δεν χρειάζεται καν να ψάξετε για την αρχή. Είναι εκεί που είναι συνήθως.
  • Το διάγραμμα έχει μόνο ένα άκρο. Ό,τι κι αν συμβεί στην πορεία (εκτός εξαιρέσεων), πάντα θα φτάνουμε στο τέλος.
  • Επιτρέπονται μόνο ευθείες γραμμές. Χωρίς καμπύλες, στροφές ή περιττές τσακίσεις.
  • Επιτρέπονται μόνο αυστηρά κάθετες και αυστηρά οριζόντιες γραμμές. Οι λοξές γραμμές απαγορεύονται. Εξήγηση για τους λάτρεις των μαθηματικών: Το διάγραμμα DRAGON είναι ένα επίπεδο ορθογώνιο γράφημα (γραφική παράσταση Μανχάταν). Η ανθρώπινη οπτική συσκευή συλλαμβάνει αμέσως αντικείμενα που συνδέονται με ευθείες ορθογώνιες γραμμές. Αλλά η παρακολούθηση που θα οδηγήσει η «Αμερικανική καμπύλη ονείρου» απαιτεί πρόσθετη συγκέντρωση από τον αναγνώστη.
  • Το σχήμα DRAGON εκτελείται από πάνω προς τα κάτω. Αυτός ο κανόνας αποφεύγει την ανάγκη να σαρώσετε μανιωδώς το διάγραμμα με τα μάτια σας σε αναζήτηση του επόμενου εικονιδίου. Το επόμενο εικονίδιο βρίσκεται πάντα στο κάτω μέρος. Η είσοδος στο εικονίδιο βρίσκεται στο επάνω μέρος και η έξοδος βρίσκεται στο κάτω μέρος. Εφόσον γνωρίζουμε πού βρίσκεται το επόμενο εικονίδιο, τότε δεν χρειάζονται βέλη. Απλές γραμμές αρκούν. Τα βέλη δίπλα σε κάθε εικονίδιο είναι οπτικός θόρυβος. Αφαιρώντας την εργασία σύνδεσης εικονιδίων από τα βέλη, μπορείτε να τους αναθέσετε μια ειδική αποστολή. Στο DRAGON, το βέλος υποδηλώνει έναν κύκλο.
  • Η διακλάδωση γίνεται μόνο προς τα δεξιά. Αυτό είναι μια τεράστια βοήθεια όσον αφορά την προβλεψιμότητα και την ομοιομορφία.
  • Τα εικονίδια που βρίσκονται στον ίδιο κατακόρυφο πρέπει να έχουν το ίδιο πλάτος. Αυτό δίνει την αίσθηση ότι τα εικονίδια ανήκουν σε ένα ενιαίο σύνολο. Όταν όλοι έχουν το ίδιο πλάτος και δεν υπάρχουν εικονίδια εκκίνησης, το μάτι γλιστράει εύκολα και ελεύθερα στο διάγραμμα.

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


Διαγράμματα στο Σχ. Τα 10 και 11 παρουσιάζουν εργονομικές τεχνικές της γλώσσας DRAGON χρησιμοποιώντας πραγματικά παραδείγματα.




Εικόνα 10.Εργονομικές τεχνικές της γλώσσας DRAGON ως παράδειγμα


Εικόνα 11.Ένα άλλο παράδειγμα διαγράμματος στη γλώσσα DRAGON
Εκτός από τις εργονομικές τεχνικές, η γλώσσα DRAGON έχει μοναδικά χαρακτηριστικά που δεν υπάρχουν πουθενά αλλού.

Όσο πιο δεξιά τόσο χειρότερα

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


Κοινή μοίρα

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


Ρύζι. 12 δείχνει ένα σουβλάκι με τον βασιλικό δρόμο, καθώς και τη χρήση της τεχνικής της «κοινής μοίρας».




Εικόνα 12.Ο Βασιλικός Δρόμος και η Κοινή Μοίρα

Σιλουέτα

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


Η σιλουέτα αποτελείται από πολλά μικρά διαγράμματα που συνδέονται σε ένα πλήρες μπλοκ. Αυτά τα μικρά διαγράμματα ονομάζονται κλαδιά σιλουέτας. Στο επάνω μέρος κάθε κλάδου υπάρχει ένα εικονίδιο «Κεφαλίδα υποκαταστήματος», στο κάτω μέρος υπάρχει ένα εικονίδιο «Διεύθυνση». Το όνομα του συγκεκριμένου κλάδου τοποθετείται στην κεφαλίδα του κλάδου και το όνομα του επόμενου κλάδου υποδεικνύεται στη διεύθυνση. Τα ονόματα των υποκαταστημάτων βρίσκονται σε μία οριζόντια γραμμή στο επάνω μέρος του διαγράμματος. Χάρη σε αυτό, μπορείτε να κατανοήσετε την ουσία του αλγορίθμου τρέχοντας μόνο μέσα από τις κεφαλίδες των κλάδων. Η σιλουέτα απαντά σε τρία βασιλικά ερωτήματα:

  1. Πώς λέγεται το πρόβλημα;
  2. Από πόσα μέρη αποτελείται;
  3. Πώς ονομάζονται αυτά τα μέρη;

Ας δούμε το παράδειγμα στο Σχ. 13. Ιδού οι απαντήσεις στις ερωτήσεις του βασιλιά:

  1. Πώς λέγεται το πρόβλημα; Ταξινόμηση συνδεδεμένης λίστας.
  2. Από πόσα μέρη αποτελείται; Από τα τέσσερα.
  3. Πώς ονομάζονται αυτά τα μέρη; Κατασκευάστε μια μήτρα συνδέσεων. Ελέγξτε για κύκλους. Περάστε από τη μήτρα σύνδεσης. Πλήρης.


Εικόνα 13.Σχέδιο ΔΡΑΚΟΥ "σιλουέτα"

Κύκλος σιλουέτας

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




Εικόνα 14.Βρόχο σιλουέτας και σημάδια

Η σύνδεση κλαδιών σιλουέτας απαγορεύεται

Οι συνδέσεις δύο κλαδιών σιλουέτας (όπως στο Σχ. 15) απαγορεύονται. Κάθε κλάδος μέσα στη σιλουέτα πρέπει να είναι ανεξάρτητος.




Εικόνα 15.Η σύνδεση κλαδιών σιλουέτας απαγορεύεται.

Μέγεθος γραφήματος

Κατά τον προγραμματισμό στη γλώσσα DRAGON, τίθεται το ερώτημα: τι μέγεθος πρέπει να έχουν τα διαγράμματα; Η απάντηση είναι: λιγότερο είναι καλύτερα. Όσο λιγότερα αντικείμενα στην οπτική σκηνή, τόσο πιο καθαρή είναι. Στον προγραμματισμό κειμένου υπάρχει μια τέτοια οδηγία: είναι καλό αν ολόκληρη η λειτουργία ταιριάζει εξ ολοκλήρου στην οθόνη. Παρόμοιες συμβουλές μπορούν να δοθούν για τα σχήματα DRAGON. Αποφύγετε τα τεράστια γραφήματα. Όταν ολόκληρος ο αλγόριθμος είναι ορατός στο σύνολό του, είναι πολύ πιο εύκολο να γίνει κατανοητό.
Για προγραμματισμό στο DRAGON είναι καλύτερα να έχετε μεγάλη οθόνη. Τουλάχιστον 1080 pixel σε ύψος. Τότε δεν θα χρειαστεί να συντομεύσετε τεχνητά τα κυκλώματα DRAGON.


ΔΡΑΚΟΣ-σχέδιο σιλουέταπρέπει να ταιριάζει στην οθόνη σε ύψος, αλλά όχι απαραίτητα σε πλάτος. Διαγράμματα σιλουέταμπορεί να είναι αρκετά ευρύ, πολύ μεγαλύτερο από 2000 pixel. Είναι εντάξει. Δεν είναι απαραίτητο να βλέπετε όλα τα κλαδιά της σιλουέτας ταυτόχρονα. Το κύριο πράγμα είναι ότι το υποκατάστημα με το οποίο εργάζεστε αυτήν τη στιγμή είναι πλήρως ορατό στην οθόνη.

Κριτική στον προγραμματισμό DRAGON

Ας δούμε τους κύριους τομείς κριτικής του προγραμματισμού DRAGON και ας προσπαθήσουμε να τους απαντήσουμε.

  • "Τα διαγράμματα DRAGON καταλαμβάνουν περισσότερο χώρο στην οθόνη από τα προγράμματα κειμένου." Αυτό είναι αλήθεια. Αλλά πρέπει να έχουμε κατά νου ότι το καθήκον του ΔΡΑΚΟΥ είναι να δείξει την πολυπλοκότητα όπως είναι. Ο αναγνώστης του προγράμματος δεν χρειάζεται να ξεπακετάρει πολύπλοκες δομές στο κεφάλι του. Πρέπει να του παρουσιάζονται ρητά.
  • "Οι απλοί αλγόριθμοι φαίνονται καλύτεροι σε μορφή κειμένου." Μπορεί. Το Hello world φαίνεται κομψό σε οποιαδήποτε γλώσσα. Αλλά στην πραγματική ζωή, δεν είναι όλα απλά. Μόλις εμφανιστεί κάποιος ανφωλιασμένο μέσα σε άλλο αν, κερδίζει ο ΔΡΑΚΟΣ.
  • "Το DRAGON δεν έχει μέσο εμφάνισης εξαιρέσεων." Υπάρχει τέτοιο πρόβλημα. Πρόσφατα προστέθηκαν εξαιρέσεις στη γλώσσα DRAGON, αλλά δεν τις υποστηρίζουν όλες οι υλοποιήσεις. Μέχρι να φτάσουν οι υλοποιήσεις, μπορείτε να γράψετε μπλοκ try/catch στην κατάλληλη γλώσσα προγραμματισμού.
  • "Τα διαγράμματα DRAGON χρειάζονται πολύ χρόνο για να σχεδιαστούν." Σε εξειδικευμένους συντάκτες είναι πολύ πιο εύκολο να σχεδιάσετε διαγράμματα DRAGON παρά, για παράδειγμα, στο Visio. Και σε μερικά από αυτά, το σχέδιο έχει γίνει σχεδόν τόσο εύκολο όσο το γράψιμο.
  • "Λείπουν εργαλεία για τη διαφορά και τη συγχώνευση." Αυτό δυστυχώς είναι αλήθεια. Όταν εργάζεστε με ένα σύστημα ελέγχου έκδοσης, πρέπει να συγκρίνετε τα αρχεία προέλευσης που δημιουργούνται.
  • "Δεν υπάρχουν μέσα για τον εντοπισμό σφαλμάτων των κυκλωμάτων DRAKON." Αυτό είναι αλήθεια. Αλλά μπορείτε να διορθώσετε τον κώδικα που δημιουργήθηκε. Έχει ετικέτες που υποδεικνύουν πού στο διάγραμμα ανήκει ένα δεδομένο κομμάτι κώδικα.

Dragon Language Review

Το Σχήμα 16 παρέχει μια επισκόπηση της γλώσσας DRAGON.




Εικόνα 16.Επισκόπηση της γλώσσας DRAGON

Εργαλεία για εργασία με τη γλώσσα του δράκου

Η πρώτη εφαρμογή της γλώσσας DRAGON ήταν το σύστημα GRAPHITE-FLOX (Εικ. 17). Το GRAPHITE-FLOX δημιουργήθηκε το 1986-1996. ειδικοί από την ομοσπονδιακή κρατική ενιαία επιχείρηση NPC AP που φέρει το όνομά της. Pilyugin υπό την ηγεσία του V.D. Parondzhanova. Αυτό το περιβάλλον προοριζόταν για το σχεδιασμό συστημάτων ελέγχου για οχήματα εκτόξευσης και διαστημόπλοια.


Το GRAPHITE-FLOX είναι μια κλειστή ανάπτυξη, επομένως σχετικά λίγα είναι γνωστά γι 'αυτό. Μπορείτε να δείτε μια λίστα με διαστημόπλοια που δημιουργήθηκαν χρησιμοποιώντας το GRAPHITE-FLOX.


Στις αρχές της δεκαετίας του '90, δημιουργήθηκε ένας άλλος επεξεργαστής DRAGON. Η ανάπτυξη πραγματοποιήθηκε στο Ινστιτούτο Εφαρμοσμένων Μαθηματικών με το όνομα M.V. Keldysh υπό την ηγεσία του L.K. Eisymont. Το πρόγραμμα επεξεργασίας Eisamont (Εικόνα 18) μπορεί να ληφθεί και να εκτελεστεί, αλλά δεν υποστηρίζεται πλέον. Το πρόγραμμα επεξεργασίας είναι γραμμένο στο MS DOS, επομένως το DOSBox ενδέχεται να απαιτείται για εκτέλεση σε σύγχρονους υπολογιστές.


Το 2008, κυκλοφόρησε ο συντάκτης του Dragon IP από τον Gennady Tyshov (Εικ. 19). Το IP Dragon υποστηρίζεται και αναπτύσσεται ενεργά. Το Dragon IS υλοποιεί τη δημιουργία κώδικα προγράμματος από διαγράμματα. Ένα από τα ενδιαφέροντα χαρακτηριστικά του Dragon IS είναι η δυνατότητα τοποθέτησης κώδικα σε μια γλώσσα προγραμματισμού και περιγραφής σε φυσική γλώσσα σε ένα εικονίδιο. Το αναμφισβήτητο πλεονέκτημα του IS Dragon είναι ο λεγόμενος «λογισμός των εικονιδίων». Ο λογισμός εικονιδίων είναι μια τεχνική επεξεργασίας που βοηθά τον χρήστη να σχεδιάσει ένα διάγραμμα και διασφαλίζει ότι το διάγραμμα δεν παραβιάζει τους κανόνες της γλώσσας DRAGON. Μεταξύ των μειονεκτημάτων του Dragon IS είναι η μη τυπική διεπαφή χρήστη και ορισμένες ενοχλήσεις κατά τη δημιουργία κώδικα. Το IP Dragon είναι ένα εμπορικό προϊόν.


Το DRAKON Editor είναι ένας άλλος σύγχρονος επεξεργαστής DRAGON (Εικ. 20). Το DRAKON Editor αναπτύχθηκε από μια ομάδα ενθουσιωδών με επικεφαλής τον Stepan Mitkin. Το DRAKON Editor δεν υποστηρίζει την καταμέτρηση εικονιδίων. Αυτό σημαίνει ότι τα κυκλώματα DRAGON συναρμολογούνται χειροκίνητα από πρωτόγονα, όπως στους επεξεργαστές διανυσματικών γραφικών. Αλλά η διεπαφή χρήστη στο DRAKON Editor είναι όσο το δυνατόν πιο απλή. Είναι κατασκευασμένο σύμφωνα με ένα πιο οικείο σχέδιο από το Dragon IS. Το κύριο πλεονέκτημα του περιβάλλοντος DRAKON Editor είναι η ευκολία προγραμματισμού και δημιουργίας κώδικα. Το DRAKON Editor υποστηρίζει πολλές γλώσσες προγραμματισμού, όπως C, C++, C#, Java, Processing, JavaScript, Lua, Erlang, Python, Tcl, Verilog, AutoHotkey, D and Go. Για ορισμένες γλώσσες είναι δυνατή η δημιουργία μηχανών πεπερασμένης κατάστασης. Υποστηρίζονται κανόνες για το ειδικό σύστημα nools. Ένα υποσύνολο της γλώσσας UTOPIST από τον E. Tyugu έχει υλοποιηθεί. Το DRAKON Editor είναι ανοιχτού κώδικα.


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


Το DRAKON Editor Web είναι μια εμπορική λύση cloud που βασίζεται στη γλώσσα DRAGON. Το DRAKON Editor Web έχει σχεδιαστεί για τεχνικές εργασίες, επιχειρηματικές διαδικασίες και λίστες ελέγχου. Το DRAKON Editor Web δεν είναι συνδεδεμένο με κανέναν τρόπο με το DRAKON Editor και δεν υποστηρίζει τη δημιουργία κώδικα από διαγράμματα. Μεταξύ των πλεονεκτημάτων του DRAKON Editor Web είναι ο βολικός επεξεργαστής, η συνεργασία και η υποστήριξη για κινητές συσκευές.




Εικόνα 17.Σχέδιο DRAGON στο σύστημα GRAPHITE-FLOX


Εικόνα 18. DRAGON-επιμέλεια Eisymont


Εικόνα 19.Πρόγραμμα με επεξηγήσεις στο IS Dragon


Εικόνα 20. DRAKON Editor

συμπεράσματα

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


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

Προσθέστε ετικέτες

Προγραμματιστής προγράμματος Tyshov Gennady Nikolaevich
Severodvinsk, εργάστηκε στην OJSC SPO Arktika, www.spoarktika.ru.

Το πρόγραμμα IS Dragon προορίζεται για:
- πρακτικός αλγόριθμος των δραστηριοτήτων σας,
- διατύπωση των καθηκόντων σας,
- επισημοποίηση των γνώσεών σας.

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

Το πρόγραμμα "IS Dragon" (Integrated Environment Dragon) είναι ένα περιβάλλον εργασίας με αλγόριθμους Dragon.
Με τη βοήθεια του IS Dragon, μια αλγοριθμική κουλτούρα εισάγεται σε πολλούς τύπους δραστηριοτήτων.

Κατεβάστε το πρόγραμμα "IS Dragon".

Οδηγίες χρήστη

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

    Ο χρήστης μπορεί να αντιγράψει την εικόνα του φύλλου Dragon ή του σχήματος Dragon στην προσωρινή μνήμη συστήματος. Μια εικόνα από την προσωρινή μνήμη συστήματος μπορεί να εισαχθεί σε επεξεργασμένο κείμενο ή γραφικά έγγραφα. Η εικόνα μπορεί να αντιγραφεί στο buffer από την οθόνη με στοιχεία της διαδικασίας επεξεργασίας (με τον κέρσορα γραφικών και τα σημεία εισαγωγής εικονιδίων επισημασμένα), αυτό σας επιτρέπει να συντάσσετε εγχειρίδια για τη χρήση του Dragon IS και εγχειρίδια για χρήστες των αλγορίθμων Dragon.

    Εκτός από ένα έντυπο αντίγραφο του αλγόριθμου Dragon, ο χρήστης μπορεί να λάβει ένα αρχείο κειμένου με συνοδευτικές πληροφορίες από κείμενα A-, B-, P. Αυτό δημιουργεί τη δυνατότητα δημοσίευσης πλήρως λειτουργικών αλγορίθμων Dragon.

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

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

Οδηγίες για τον προγραμματιστή

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

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

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

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

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

    Ο χρήστης μπορεί να ορίσει την ιδιότητα για το σχήμα Silhouette Μηχανήνα εκτελεί αυτόματο προγραμματισμό μηχανών πεπερασμένης κατάστασης χρησιμοποιώντας τεχνολογία ΔΙΑΚΟΠΤΗΣ. Η ευκαιρία εισήχθη μετά από εισήγηση του Σ.Δ. Εφάνοβα.

    Συνιστάται, εκτός από τα φύλλα Dragon με αλγόριθμους και κωδικούς προγραμμάτων, να δημιουργείτε και φύλλα Dragon με οδηγίες λειτουργίας λογισμικού για τους χρήστες. Οι οδηγίες μεταδίδονται στους χρήστες μαζί με το Dragon IS. Αυτή είναι η πρακτική της εργασίας στο IS Dragon από την Α.Α. Araptanov στο σύστημα 1C.

Το πρόγραμμα διαθέτει εργαλεία προσαρμογής για διάφορες γλώσσες προγραμματισμού. Το πρόγραμμα σάς επιτρέπει να συγκεντρώνετε σχήματα Dragon σε πηγαίους κώδικες προγραμμάτων σε γλώσσες που έχουν τελεστές: σχόλιο, ετικέτα, άνευ όρων άλμα (GOTO), άλμα κατά συνθήκη. για παράδειγμα, γλώσσες των οικογενειών 1C, Delphi, C Ο κώδικας του προγράμματος εικονιδίων συγκεντρώνεται σε ένα αρχείο από τον εσωτερικό Μεταφραστή Διαδρομών.

Προφύλαξη οθόνης του προγράμματος IS Dragon


Τι είναι το φύλλο δράκου;


    Το φύλλο δράκου εμφανίζεται σε λειτουργία προγραμματισμού.

    Τα σημεία εισαγωγής κειμένου (έως 4 τετράγωνα) είναι τα κείμενα A, B, S, P.

    Τα σημεία A, B προορίζονται για την εισαγωγή συνοδευτικών πληροφοριών, το σημείο P είναι για την εισαγωγή κωδικού προγράμματος, το σημείο S είναι για την προβολή του συλλεγόμενου κωδικού προγράμματος. Εάν υπάρχει κείμενο, το τετράγωνο γίνεται σκοτεινό.

    Με ξερεις; Σημειώνονται οι υποχρεωτικές θέσεις για την εισαγωγή κειμένου σε εικονίδια.

Επεξεργασία διαγράμματος δράκου

Το εικονίδιο 3 είναι επιλεγμένο για επεξεργασία.
Σημάδι ";" τα εικονίδια Διεύθυνση και Υποκατάστημα υποδεικνύουν την απουσία μεταφοράς ελέγχου. Η μεταφορά του ελέγχου υποδεικνύεται οπτικά με μια διακεκομμένη γραμμή.


Ιδιαιτερότητες

Ένα ιδιαίτερο χαρακτηριστικό του προγράμματος είναι ο υψηλός βαθμός αυτοματοποίησης της εισόδου γραφικών.

Το δεύτερο χαρακτηριστικό είναι ότι κάθε εικονίδιο έχει πολλά (έως 4) επίπεδα εισαγωγής κειμένου. Ένα από αυτά τα επίπεδα εμφανίζεται στο "σώμα" του εικονιδίου, το άλλο μπορεί να περιέχει ένα τμήμα του κώδικα προγράμματος. Τα υπόλοιπα επίπεδα (A-text, B-text, P-text, S-text) μπορούν να χρησιμοποιηθούν αυθαίρετα, για παράδειγμα, που περιέχουν λεπτομερή σχόλια, συνδέσμους και υποστηρικτικές πληροφορίες.

Για την εμφάνιση επιχειρηματικών διαδικασιών, τα εικονίδια συμπληρώνονται με τα ονόματα των συμμετεχόντων στην επιχειρηματική διαδικασία.

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

Περιγραφή μορφής DRT

Οδηγίες για την εργασία με το IS Dragon

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

Μαθήματα από τον ΔΡΑΚΟ

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

Πρόσθετος ιστότοπος του προγράμματος IS Dragon

Επιλογές κειμένου και αρχεία σχεδίων μαθήματος Dragon

Προσχέδια του Gennady Tyshov

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

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

Το πρόγραμμα Dragon IS αναπτύσσεται με βάση τις οπτικές αλγοριθμικές γλώσσες Dragon και Gnome που δημιουργήθηκαν από τον V.D. Paronjanov και κρατικό πρότυπο GOST 19.701-90 (ISO 5807–85). Οι ιδέες και οι στόχοι της γλώσσας Dragon έχουν αναπτυχθεί για πρακτική και ευρεία χρήση.

Διαδικαστικές γνώσεις, αλγόριθμος - περιγράφει τη σειρά των ενεργειών με ένα αντικείμενο, που εμφανίζεται στα διαγράμματα Dragon της φόρμας ΠρωτόγονοςΚαι Σιλουέτα.
Δηλωτική γνώση- απαντά στην ερώτηση: «Τι είναι αυτό;», που εμφανίζεται στο διάγραμμα Dragon της φόρμας Νάνος.

Η δημιουργία και η επεξεργασία των διαγραμμάτων Dragon πραγματοποιείται στο Dragon IS.

Αλγόριθμοι Dragon σε tablet
Ορισμένα θέματα σχετικά με τη χρήση αλγορίθμων Dragon που δημιουργήθηκαν στο Dragon IS συζητούνται στο φόρουμ στο θέμα «Dragon IS και Android».

Το IS Dragon λειτουργεί σε άλλα λειτουργικά συστήματα
Σε λειτουργικό σύστημα τύπου UNIX λειτουργεί με το πρόγραμμα Wine.
Στο MacOS λειτουργεί με Parallels Desktop.

Οι ενέργειες στα εικονίδια 19 και 21 εκτελούνται από τους συμμετέχοντες στην επιχειρηματική διαδικασία.
Το φύλλο δράκου εμφανίζεται σε λειτουργία προγραμματισμού.
Τα σημεία εισαγωγής κειμένου (έως 4 τετράγωνα) είναι τα κείμενα A,B,S,P: A,B για την εισαγωγή συνοδευτικών πληροφοριών, P για την εισαγωγή κωδικού προγράμματος, S για την προβολή του συλλεγόμενου κωδικού προγράμματος. Εάν υπάρχει κείμενο, το τετράγωνο είναι σκοτεινό.
Το φύλλο μπορεί να συνοδεύεται από κεφαλίδες και υποσέλιδα: επάνω μέση, κάτω αριστερά, κάτω μέση, κάτω δεξιά.
Το σύμβολο "?" επισημαίνει τις απαιτούμενες θέσεις για την εισαγωγή κειμένου σε εικονίδια, θέσεις για την εισαγωγή εικονιδίων σε ένα μπλοκ εικονιδίων για να διασφαλιστεί η λειτουργικότητα του μπλοκ.

Τελευταία επεξεργασία από PBworksΠριν από 12 χρόνια, 3 μήνες

ΚΑΛΥΤΕΡΑ ΤΗΣ ΓΛΩΣΣΑΣ ΤΟΥ ΔΡΑΚΟΥ

ΚΡΙΤΙΚΗ ΔΙΑΓΡΑΜΜΑΤΩΝ ΡΟΗΣ

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

Ενώ τα διαγράμματα ροής ήταν το πιο ευρέως χρησιμοποιούμενο εργαλείο πριν από το 1980, σήμερα «δεν θεωρούνται πλέον απαραίτητα και μειώνονται σε δημοτικότητα». Αν και υπάρχουν μεμονωμένες προσπάθειες προσαρμογής των διαγραμμάτων ροής στις σύγχρονες ανάγκες (γλώσσα SDL, κ.λπ.), γενικά, τα διαγράμματα ροής έχουν βρεθεί ξεκάθαρα στο περιθώριο της ταχέως αναπτυσσόμενης διαδικασίας οπτικοποίησης προγραμματισμού και οι τεράστιες πιθανές δυνατότητές τους δεν χρησιμοποιούνται στην πραγματικότητα. Η γλώσσα DRAGON σάς επιτρέπει να εξαλείψετε ή να αποδυναμώσετε σημαντικά τις σημειωμένες ελλείψεις των μπλοκ διαγραμμάτων.

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

ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΤΩΝ ΣΧΕΔΙΩΝ ΔΡΑΚΩΝ

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

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

ΕΙΚΟΝΕΣ ΚΑΙ ΜΑΚΡΟΕΙΚΟΝΙΑ

Τα στοιχεία γραφήματος (γραφικά γράμματα) της γλώσσας DRAGON ονομάζονται εικονίδια (Εικ. 1). Όπως τα γράμματα συνδυάζονται σε λέξεις, τα εικονίδια συνδυάζονται σε σύνθετα εικονίδια - εικονίδια μακροεντολών(Εικ. 2).

Συνδέοντας εικονίδια και μακροεικονίδια σύμφωνα με ορισμένους κανόνες, μπορείτε να δημιουργήσετε διάφορους αλγόριθμους, παραδείγματα των οποίων φαίνονται στην Εικ. 3, 4, 6, 8-11.

Μπλοκ σουβλάκι- μέρος του κυκλώματος του δράκου, με μία είσοδο από πάνω και μία έξοδο από κάτω, που βρίσκεται στην ίδια κατακόρυφο. Παραδείγματα τεμαχίων για σουβλάκια είναι τα εικονίδια I3 - I10, I12 - I16, I18, I20, I21 (Εικ. 1) και τα μακροεικονίδια 2-20 (Εικ. 2).

ΓΙΑΤΙ ΧΡΕΙΑΖΕΤΑΙ ΕΝΑ ΚΛΑΔΙ;

Όταν η πριγκίπισσα Άννα χώρισε με τον μαρκήσιο Λε Σατέλιε, προέκυψε μια διαμάχη για τη διαίρεση της περιουσίας. Ο δικαστής ζήτησε να υποδείξει ποιες αγορές έκανε η πριγκίπισσα πριν τον γάμο της και ποιες μετά.

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

Η λέξη «κλαδί» έχει δύο έννοιες. Από τη μία πλευρά, αυτό είναι ένα σημασιολογικό «κομμάτι» του αλγορίθμου. Για παράδειγμα, ο αλγόριθμος στο Σχ. Το 3β έχει δύο κλάδους («Αγορές πριν από το γάμο» και «Αγορές μετά τον γάμο»). Στο Σχ. 4 - τέσσερα κλαδιά ("Προετοιμασία για ψάρεμα", "Περιμένοντας ένα δάγκωμα", "Εργασία αλιείας", "Επιστροφή"). Από την άλλη πλευρά, ο κλάδος είναι ένας σύνθετος τελεστής της γλώσσας DRAGON, ο οποίος δεν έχει ανάλογα σε γνωστές γλώσσες. Ο χειριστής «υποκατάστημα» αποτελείται από τρία μέρη: αρχή του νήματος(εικονίδιο «όνομα υποκαταστήματος»), κλαδικά σώματα(που μπορεί να περιέχει μεγάλο αριθμό εικονιδίων) και τέλος του κλάδου(το οποίο περιέχει ένα ή περισσότερα εικονίδια «διεύθυνσης» ή ένα εικονίδιο «τέλος»).

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

ΠΩΣ ΛΕΙΤΟΥΡΓΕΙ ΕΝΑ ΚΛΑΔΙ;

Ένας κλάδος έχει μία είσοδο και μία ή περισσότερες εξόδους. Η είσοδος είναι το εικονίδιο «όνομα υποκαταστήματος», το οποίο περιέχει το αναγνωριστικό κλάδου. Ο οπτικός τελεστής «όνομα κλάδου» δεν εκτελεί καμία ενέργεια, είναι απλώς μια ετικέτα που δηλώνει το όνομα του σημασιολογικού τμήματος του προγράμματος. Η εκτέλεση του αλγορίθμου dragon ξεκινά πάντα από τον αριστερό κλάδο (Εικ. 3, 4).

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

ΠΩΣ ΘΑ ΠΡΕΠΕΙ ΝΑ ΤΟΠΟΘΕΤΗΣΟΥΝ ΤΑ ΚΛΑΔΙΑ ΣΤΟ ΣΧΕΔΙΟ;

Τα κλαδιά ταξινομούνται με δύο τρόπους: λογικά και χωροταξικά. ΛογικόςΗ σειρά εκτέλεσης των κλάδων καθορίζεται από τα σημάδια που αναγράφονται στα εικονίδια «διεύθυνση». Ωστόσο, η λογική σειρά δεν είναι το παν. Στο Σχ. Το 5 δείχνει τρεις διαφορετικές μεθόδους χωρικήτοποθεσίες υποκαταστημάτων που έχουν την ίδια λογική σειρά. Για να εξαλειφθεί η χωρική ασάφεια και να διευκολυνθεί η κατανόηση της σημασίας του διαγράμματος του δράκου, εισάγεται ο κανόνας "όσο πιο δεξιά, τόσο αργότερα". Σημαίνει: ο κλάδος που τραβιέται προς τα δεξιά λειτουργεί αργότερα από όλους τους κλάδους προς τα αριστερά.

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

Στους επιτρεπόμενους (εργονομικούς) αλγόριθμους, λαμβάνει χώρα η ακόλουθη σειρά λειτουργίας (Εικ. 3, 4, 5c, 6a):

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

ΤΙ ΕΙΝΑΙ ΤΟ ΚΑΠΕΛΟ;

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

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

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

  1. ποιο είναι το όνομα του προβλήματος;
  2. Από πόσα μέρη αποτελείται;
  3. ποιο είναι το όνομα του κάθε μέρους;

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

Εδώ είναι οι απαντήσεις για το σχ. 4.

  • Πώς λέγεται το πρόβλημα;Αλιεία.
  • Πόσα μέρη έχει το πρόβλημα;Από τα τέσσερα.
  • Ποιο είναι το όνομα του κάθε μέρους; 1. Προετοιμασία για ψάρεμα. 2. Περιμένοντας μια μπουκιά. 3. Εργασίες αλιείας. 4. Ο δρόμος της επιστροφής.

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

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

ΤΙ ΕΙΝΑΙ ΚΑΛΥΤΕΡΟ: ΠΡΩΤΟΓΕΝΕΣ Ή ΣΙΛΟΥΕΤΑ;

Ονομάζεται διάγραμμα δράκου με κλαδιά σιλουέτα, χωρίς κλαδιά - πρωτόγονος.Η σιλουέτα που φαίνεται στο Σχ. Το 6a μπορεί να απεικονιστεί ως πρωτόγονο (Εικ. 6β). Το πρωτόγονο είναι μια σειριακή σύνδεση του εικονιδίου «επικεφαλίδας» των τεμαχίων για σουβλάκια και του εικονιδίου «τέλος». Σε ένα πρωτόγονο, τα εικονίδια "επικεφαλίδα" και "τέλος" πρέπει να βρίσκονται στο ίδιο κατακόρυφο, το οποίο ονομάζεται σουβλάκι.Οι κύριες κατακόρυφες πλευρές των τεμαχίων από σουβλάκια βρίσκονται στην ίδια γραμμή. Μεταφορικά μιλώντας, το σουβλάκι διαποτίζει πρωτόγονα εικονίδια (ίσως όχι όλα) όπως ένα πραγματικό σουβλάκι διαποτίζει κομμάτια κεμπάπ.

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

Για παράδειγμα, ο αλγόριθμος στο Σχ. Το 6β φαίνεται δυσκίνητο και αδικαιολόγητα δύσκολο να γίνει κατανοητό. Αυτό οφείλεται στο γεγονός ότι περιέχει 19 εικονίδια, αλλά απεικονίζεται σε πρωτόγονη μορφή. Το έγκλημα είναι ότι το διάγραμμα στο Σχ. Το 6β δεν επιτρέπει στον αναγνώστη να αναγνωρίσει αμέσως (μέσα σε λίγα δευτερόλεπτα) την οπτική και σημασιολογική δομή του αλγορίθμου. Στην πραγματικότητα, από πόσα μέρη αποτελείται το πρόβλημα που επιλύεται; Κοιτάζοντας το Σχ. 6β, είναι αρκετά δύσκολο να απαντηθεί αυτή η ερώτηση και είναι αδύνατο να απαντηθεί γρήγορα. Η κατάσταση αλλάζει ριζικά όταν κοιτάξουμε την Εικ. 6α, όπου ο ίδιος αλγόριθμος απεικονίζεται σε σιλουέτα. Εδώ, όπως λένε, είναι αστείο: ο αλγόριθμος αποτελείται από τέσσερα μέρη: "αναζήτηση λεωφορείου", "αναμονή για επιβίβαση", "επιβίβαση σε λεωφορείο", "ταξίδι". Ωστόσο, δεν είναι μόνο αυτό: εξίσου σημαντικό είναι το γεγονός ότι η πολυπλοκότητα του οπτικού μοτίβου έχει εξαφανιστεί και το διάγραμμα έχει αποκτήσει μια νέα αισθητική (εργονομική) ποιότητα: κομψότητα, σαφήνεια και διαφάνεια.

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

ΠΩΣ ΝΑ ΠΕΡΙΓΡΑΨΕΙΣ ΜΙΑ ΣΙΛΟΥΕΤΑ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΓΛΩΣΣΑ ΚΕΙΜΕΝΟΥ;

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

ΚΛΑΔΙ< идентификатор ветки >

ΔΙΕΥΘΥΝΣΗ< идентификатор ветки >

Ο χειριστής γλώσσας κειμένου BRANCH δηλώνει το όνομα του υποκαταστήματος (γραμμένο σε οπτική γλώσσα μέσα στο εικονίδιο «όνομα υποκαταστήματος»). Ο χειριστής ADDRESS μεταφέρει άνευ όρων τον έλεγχο στον χειριστή κειμένου BRANCH, το όνομα του οποίου είναι γραμμένο στα δεξιά του χειριστή ADDRESS.

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

Για να γίνει αυτό, εισάγεται ένας κανόνας: «Η κύρια διαδρομή του πρωτόγονου πρέπει να ακολουθεί το σουβλάκι».Εναλλάσσοντας τις λέξεις «ναι» και «όχι» στα πιρούνια και τις επιλογές στους διακόπτες (καθώς και τις γιρλάντες των εικονιδίων που συνδέονται σε αυτά), θα πρέπει να διασφαλίσετε ότι η έξοδος του πιρουνιού ή του διακόπτη που οδηγεί στη μεγαλύτερη επιτυχία βρίσκεται στο βασιλικό μονοπάτι (Εικ. 8) . Και οι πλευρικές διαδρομές θα πρέπει να οργανωθούν σύμφωνα με τον ακόλουθο κανόνα: «Όσο πιο δεξιά, τόσο χειρότερο»(Εικ. 9). Εάν παραβιαστούν αυτοί οι κανόνες, το κύκλωμα του δράκου θεωρείται κακό (Εικ. 10α). Ωστόσο, μπορεί πάντα να μετατραπεί σε καλό (Εικ. 10β).

Σε περιπτώσεις που το κριτήριο «καλύτερο-χειρότερο» δεν λειτουργεί, θα πρέπει να επιλεγεί κάποιο άλλο λογικό κριτήριο, έτσι ώστε η μετατόπιση προς τα δεξιά της κύριας διαδρομής να μην είναι πάντα αυθαίρετη και χαοτική, αλλά στοχαστική και τακτική. Για παράδειγμα, κατά την επίλυση μαθηματικών προβλημάτων, οι έξοδοι διχάλων και οι επιλογές διακόπτη μπορούν να ταξινομηθούν από αριστερά προς τα δεξιά κατά σειρά αύξησης ή μείωσης της μαθηματικής τιμής (χαρακτηριστικό) που αντιστοιχεί σε αυτές τις εξόδους (Εικ. 11, 12).

ΚΥΡΙΑ ΔΙΑΔΡΟΜΗ ΤΗΣ ΣΙΛΟΥΕΤΑΣ

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

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

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

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

Για παράδειγμα, στο Σχ. 6α η γραμμή «επιβίβαση στο λεωφορείο» έχει τρεις κατακόρυφους. Η αριστερή κάθετη (κύρια διαδρομή) περιγράφει τη μεγαλύτερη επιτυχία, αφού θα κάθεστε στο λεωφορείο. Η δεξιά κάθετη σημαίνει τη μικρότερη επιτυχία, αφού κατέβηκες από το λεωφορείο και το ταξίδι αναβάλλεται. Η μεσαία κατακόρυφη (βρίσκεται πάνω από το εικονίδιο «Θέλετε να οδηγείτε όρθιος;») καταλαμβάνει μια ενδιάμεση θέση, επειδή - ανάλογα με την απάντηση - μπορεί να υπάρξει είτε μερική επιτυχία (θα οδηγήσετε, αλλά όχι καθιστοί, αλλά όρθιοι) είτε αποτυχία, αφού κατεβαίνεις από το λεωφορείο με ελαφρύ βουητό.

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

ΔΙΑΣΤΑΣΕΙΣ ΓΡΑΜΜΩΝ; - Ο ΘΕΟΣ ΣΤΟΧΟΣ!

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

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

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

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

Θεώρημα 1. Οποιοδήποτε δομικό πρόγραμμα μπορεί να απεικονιστεί στη γλώσσα DRAGON με δύο τρόπους: με τη μορφή πρωτόγονου και με τη μορφή σιλουέτας.

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

Για να διευκρινιστεί το ζήτημα, ας δούμε παραδείγματα. Στο Σχ. Το 13α δείχνει ένα απαγορευμένο κύκλωμα δράκου: ένα πρωτόγονο στο οποίο υπάρχει μια μη αφαιρούμενη (χωρίς εισαγωγή πρόσθετων μεταβλητών) τομή. Στο Σχ. Το 13b δείχνει μια σιλουέτα, η οποία, όπως μπορείτε εύκολα να δείτε, είναι ισοδύναμη με την πρωτόγονη στο Σχ. 13α και ταυτόχρονα δεν περιέχει ούτε μία τομή. Έτσι, το παράδειγμα στο Σχ. 13 επιβεβαιώνει την εγκυρότητα του Θεωρήματος 2 1.

ΟΠΤΙΚΟ ΚΑΙ ΚΕΙΜΕΝΟ ΣΥΝΤΑΞΗ ΔΡΑΚΟΥ

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

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

ΔΡΑΚΟΓΛΩΣΣΑ ΟΙΚΟΓΕΝΕΙΑ

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

ΔΡΑΚΟΣ-1- οπτική ψευδο-γλώσσα, ένα οπτικό ανάλογο ψευδοκώδικα συνηθισμένου κειμένου. Χρησιμεύει στην περιγραφή της δομής των δραστηριοτήτων, της δημιουργίας τεχνολογιών, αλγορίθμων και σχεδίων προγραμμάτων και χρησιμοποιείται στη μέθοδο της αναλυτικής λεπτομέρειας βήμα προς βήμα, καθώς και στην επισημοποίηση της επαγγελματικής γνώσης.

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

Επιπλέον, η οικογένεια περιλαμβάνει υβριδικές οπτικές γλώσσες προγραμματισμού: DRAGON-BASIC, DRAGON-PASCAL, DRAGON-S, κ.λπ. Για να αποκτήσετε μια υβριδική γλώσσα, για παράδειγμα, DRAGON-S, πρέπει να πάρετε την οπτική σύνταξη του DRAGON και να την ενώσετε σύμφωνα με ορισμένους κανόνες της σύνταξης κειμένου SI.

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

Αυτό το βιβλίο εστιάζει στην οπτική ψευδογλώσσα DRAGON-1. Όσον αφορά τις άλλες γλώσσες της οικογένειας DRAKON, δίνονται μόνο σύντομες εξηγήσεις.

ΣΥΜΠΕΡΑΣΜΑΤΑ

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

  1. Ένας πολύπλοκος αλγόριθμος πρέπει να σχεδιαστεί ως σιλουέτα, ένας απλός - ως πρωτόγονος.
  2. Απαγορεύεται η αναγραφή της λέξης "αρχή" στο εικονίδιο "επικεφαλίδα". Αντίθετα, θα πρέπει να δώσετε ένα σαφές και ακριβές όνομα για τον αλγόριθμο.
  3. Χωρίστε έναν σύνθετο αλγόριθμο σε μέρη, αντιπροσωπεύοντας κάθε τμήμα ως κλάδο. Δώστε στα μέρη κατανοητά και ξεκάθαρα ονόματα και σημειώστε τα στα εικονίδια «όνομα υποκαταστήματος».
  4. Η είσοδος σε υποκατάστημα είναι δυνατή μόνο από την αρχή του.
  5. Στο εικονίδιο «διεύθυνση» επιτρέπεται η αναγραφή του ονόματος ενός από τους κλάδους.
  6. Τα κλαδιά πρέπει να τοποθετούνται στο χώρο σύμφωνα με τον κανόνα: όσο πιο δεξιά, τόσο αργότερα. Η παρουσία ενός κύκλου διακλάδωσης τροποποιεί αυτόν τον κανόνα.
  7. Ο πρωτόγονος πρέπει να έχει σουβλάκι. Αυτό σημαίνει ότι για έναν πρωτόγονο, τα εικονίδια "επικεφαλίδα" και "τέλος" βρίσκονται πάντα στην ίδια κάθετη, η οποία ονομάζεται "σουβλάκι".
  8. Κάθε κλαδί πρέπει να έχει ένα σουβλάκι. Στο δεξί κλαδί, το σουβλάκι είναι μια κατακόρυφη που συνδέει τα εικονίδια «όνομα υποκαταστήματος» και «τέλος». Για άλλους κλάδους, το σουβλάκι είναι μια κατακόρυφη γραμμή που συνδέει τα εικονίδια «όνομα υποκαταστήματος» και «διεύθυνση» και αν υπάρχουν πολλές διευθύνσεις, με την αριστερή.
  9. Ο αλγόριθμος έχει πάντα μια κύρια διαδρομή, η οποία πρέπει να ακολουθεί το σουβλάκι.
  10. Οι πλευρικές διαδρομές πρέπει να παραγγελθούν από αριστερά προς τα δεξιά σύμφωνα με ένα από τα επιλεγμένα κριτήρια, για παράδειγμα: όσο πιο δεξιά τόσο χειρότερα.
  11. Στο εικονίδιο «τέλος» θα πρέπει να αναγράφεται η λέξη «τέλος».
  12. Οι γραμμές σύνδεσης μπορούν να πάνε είτε οριζόντια είτε κάθετα. Δεν επιτρέπονται λοξές γραμμές.
  13. Απαγορεύεται η διέλευση γραμμών.
  14. Τα διαλείμματα γραμμής απαγορεύονται.
  15. Απαγορεύεται η χρήση συνδετήρων.

Ποια είναι η κινητήρια δύναμη στο πρόγραμμα; Τι δημιουργεί ένα χρήσιμο αποτέλεσμα; Φυσικά, ο αλγόριθμος. Ο αλγόριθμος δημιουργεί το εφέ για το οποίο γράφτηκε το πρόγραμμα. Ο αλγόριθμος δεν λειτουργεί μόνος του. Λειτουργεί σε συνδυασμό με δομές δεδομένων. Αλλά είναι οι αλγόριθμοι που αποτελούν το μεγαλύτερο μέρος του προγράμματος.


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


Με βάση αυτό, θα ήταν λογικό να συνθέσουμε αλγόριθμους σε γραφική μορφή. Δείτε τους μηχανικούς. Χρησιμοποιούν σχεδιαγράμματα παντού. Γιατί οι προγραμματιστές είναι χειρότεροι; Θα μπορούσαν επίσης να συντάξουν σχεδιαγράμματα αλγορίθμων. Ορισμένοι εδώ θα αντιταχθούν: ο οπτικός προγραμματισμός είναι υποτίθεται αναποτελεσματικός. Το UML είναι άβολο και τα διαγράμματα ροής είναι εύκολο να χαθούν. Είναι καλύτερο να προγραμματίζετε με τον παραδοσιακό τρόπο - με κείμενο. Στον δομημένο προγραμματισμό, υπάρχει τουλάχιστον μια δομή και παρέχει τάξη και ομοιομορφία. Και επιπλέον, η σχεδίαση διαγραμμάτων είναι μακρά και δύσκολη. Η πληκτρολόγηση είναι πιο γρήγορη από τη σχεδίαση.


Λοιπόν, είναι οι προγραμματιστές καταδικασμένοι να δουλεύουν μόνο με κείμενο όλη τους τη ζωή;
Ίσως δεν είναι όλα άσχημα. Υπάρχουν οπτικές γλώσσες για την αναπαράσταση αλγορίθμων που έχουν επίσης σειρά και δομή, όπως DRAGON, BPMN και LML Action Diagrams. Εδώ θα δούμε την οπτική αλγοριθμική γλώσσα DRAGON.

Πώς να προγραμματίσετε στη γλώσσα DRAGON

Το DRAGON δεν είναι μια ανεξάρτητη γλώσσα προγραμματισμού. Λειτουργεί παράλληλα με μια γλώσσα που βασίζεται σε κείμενο όπως JavaScript, Python ή C++. Μαζί με τη γλώσσα κειμένου, το DRAGON σχηματίζει μια υβριδική γλώσσα: DRAGON-JavaScript, DRAGON-Python ή DRAGON-C++.


Ο προγραμματισμός σε μια υβριδική γλώσσα προχωρά ως εξής:

  1. Ας σχεδιάσουμε ένα διάγραμμα ΔΡΑΚΟΥ.
  2. Μέσα στα εικονίδια τοποθετούμε μικρά κομμάτια κώδικα στην κατάλληλη γλώσσα προγραμματισμού.
  3. Το πρόγραμμα μεταφραστής μετατρέπει το κύκλωμα DRAKON σε αρχείο κειμένου με πηγαίο κώδικα.
  4. Αυτό το αρχείο κειμένου περιλαμβάνεται στο έργο ως συνήθως.
    Σήμερα, αρκετοί συντάκτες υποστηρίζουν τη δημιουργία κώδικα από διαγράμματα. Τα παραδείγματα σε αυτό το άρθρο έγιναν στο DRAKON Editor.

Δημιουργία κώδικα από διάγραμμα

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


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



Η δημιουργία κώδικα γίνεται ως εξής:

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

Στο Σχ. Το 1 δείχνει ένα παράδειγμα μικρού διαγράμματος στην υβριδική γλώσσα DRAGON-JavaScript και τον κώδικα που δημιουργείται σε JavaScript:


Ορθογώνιο με κείμενο console.log (γάτα, σκύλος)στο Σχ. 1 είναι το εικονίδιο "Ενέργεια". Πόσο κώδικα μπορείτε να χωρέσετε σε ένα εικονίδιο δράσης; Θα πρέπει να προσπαθήσετε να διασφαλίσετε ότι ένα εικονίδιο περιέχει μία σκέψη. Μερικές φορές είναι μία γραμμή κώδικα, μερικές φορές πολλές.
Ο παραγόμενος κώδικας παρέχεται με σχόλια που υποδεικνύουν τους αριθμούς των εικονιδίων. Ενώ βρίσκεστε στο πρόγραμμα επεξεργασίας, μπορείτε να μεταβείτε γρήγορα σε οποιοδήποτε εικονίδιο πατώντας Ctrl+I.

Εικ. 1.Διάγραμμα σε DRAGON-JavaScript και κώδικας που δημιουργείται από αυτό.

Εικονίδιο "Ερώτηση"

Για διακλάδωση, χρησιμοποιούνται τα εικονίδια «Ερώτηση» και «Επιλογή».


Το εικονίδιο «Ερώτηση» (Εικ. 2) αντιστοιχεί στο σχέδιο αν-τότε-άλλο.


Σημειώστε ότι αντί για λόγια αληθήςΚαι ψευδήςλέξεις που χρησιμοποιούνται ΝαίΚαι Οχι(μπορεί να αλλάξει σε ΝαίΚαι Οχι).


"Αλήθεια" και "ψέμα" - αυτό ακούγεται εντυπωσιακό, με επιστημονικό τρόπο. Ωστόσο, ένα άτομο είναι πιο κοντά στο «ναι» και το «όχι» που είναι γνωστά από την πρώιμη παιδική ηλικία.


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


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




Εικ. 2.Εικονίδιο "Ερώτηση"

Τύποι οπτικής λογικής

Η γλώσσα DRAGON καθιστά περιττούς τους λογικούς τελεστές ΚΑΙ, ΉΚαι ΔΕΝ, καθώς και ο τελεστής «μη ίσος». Οι ίδιες οι λογικές πράξεις είναι, φυσικά, απαραίτητες. Αλλά αντί για τελεστές κειμένου, το DRAGON εισάγει οπτικούς λογικούς τύπους.


Για να λάβετε έναν οπτικό λογικό τύπο, θα πρέπει να συνδέσετε πολλά εικονίδια «Ερώτηση» (όπως στην Εικ. 3).


Είναι ιδιαίτερα ωραίο να απαλλαγείτε από την άρνηση. Η άρνηση δεν είναι διαισθητική, φέρνει λάθη και ταλαιπωρία. Άρνηση (λογικός τελεστής ΔΕΝ) επιτυγχάνεται στη γλώσσα DRAGON με την αναδιάταξη των ετικετών ΝαίΚαι Οχι.


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




Εικ. 3.Τύποι οπτικής λογικής

Κύκλος με βέλος

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


Έτσι, εάν συνδέσετε το εικονίδιο Ερώτηση με ένα βέλος, λαμβάνετε έναν κύκλο. Αυτό είναι ένα ανάλογο των δομών ενώΚαι κάνω-ενώ. Το σχήμα 4 δείχνει διάφορους τύπους βρόχων βέλους.
Το εικονίδιο Ερώτηση σε βρόχο με βέλος ελέγχει την συνθήκη για την έξοδο από τον βρόχο. Φυσικά, αντί για ένα εικονίδιο "Ερώτηση", μπορεί να υπάρχουν πολλά. Τότε ένας οπτικός λογικός τύπος είναι υπεύθυνος για την έξοδο από τον κύκλο.




Εικ. 4.Κύκλοι βελών

Εικονίδιο επιλογής

Το εικονίδιο "Ερώτηση" περιέχει μια λογική έκφραση, δηλαδή μπορεί να έχει δύο έννοιες: ΝαίΚαι Οχι. Χαρακτηριστικό παράδειγμα είναι η σύγκριση δύο αντικειμένων. Εάν χρειάζεται να συγκρίνετε μια συγκεκριμένη έκφραση με πολλές τιμές, χρησιμοποιήστε το εικονίδιο «Επιλογή» (Εικ. 5). Αυτό ταιριάζει με το σχέδιο υπόθεση μάγισσας.


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




Εικ. 5.Εικονίδιο επιλογής και εικονίδια επιλογής

Εικονίδιο "Κύκλος ΓΙΑ"

Αντί για βρόχους ΓιαΚαι για κάθεΤο DRAGON-JavaScript χρησιμοποιεί το εικονίδιο «LOOP FOR». Το εικονίδιο «Cycle FOR» (Εικ. 6) μπορεί να είναι πολλών τύπων.


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


Εάν μετά τη λέξη-κλειδί για κάθευπάρχουν δύο μεταβλητές, το DRAKON Editor θα καταλάβει ότι απαιτείται επανάληψη στις ιδιότητες του αντικειμένου (κατακερματισμός πίνακα). Μόνο οι ιδιότητες των αντικειμένων θα συμπεριληφθούν στην απαρίθμηση.


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


Μπορείτε να βγείτε νωρίς από έναν κύκλο που ελέγχεται από το εικονίδιο "Κύκλος ΓΙΑ" χρησιμοποιώντας το εικονίδιο "Ερώτηση" ή "Επιλογή". Αυτή η έξοδος αντιστοιχεί περίπου στη λέξη-κλειδί Διακοπή.




Εικ. 6.Διαφορετικοί τύποι εικονιδίου "Cycle FOR" στο DRAGON-JavaScript

Μόνο μία καταχώρηση ανά βρόχο

Στη γλώσσα DRAGON υπάρχει περιορισμός στους βρόχους. Κάθε βρόχος μπορεί να έχει μόνο μία είσοδο. Ο σκοπός αυτού του περιορισμού είναι να διασφαλίσει την αναγνωσιμότητα. Αυτός ο περιορισμός διατηρεί το DRAGON στο πλαίσιο του δομημένου προγραμματισμού όπως περιγράφεται από τον Dijkstra.


Αρκετές έξοδοι από τον βρόχο είναι αποδεκτές, αλλά θα πρέπει να υπάρχει μόνο μία είσοδος. Στο Σχ. Το σχήμα 7 δείχνει βρόχους που έχουν δύο εξόδους. Επιτρέπεται. Στο Σχ. Το Σχήμα 8 δείχνει παραδείγματα απαγορευμένων κύκλων. Απαγορεύεται γιατί μπορούν να εισαχθούν με διαφορετικούς τρόπους.
Ωστόσο, δεν πρέπει να απομνημονεύσετε την εμφάνιση αυτών των απαγορευμένων κύκλων. Το DRAKON Editor θα εντοπίσει αυτόματα τέτοιους βρόχους και θα εκδώσει ένα σφάλμα.




Εικ. 7.Επιτρεπόμενοι βρόχοι με δύο εξόδους


Εικόνα 8.Απαγορευμένοι βρόχοι με δύο εισόδους

Διαφορές από τον δομημένο προγραμματισμό κειμένου

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


Παρά την πρόσθετη ελευθερία σε σύγκριση με το κείμενο, ο ΔΡΑΚΟΣ εξακολουθεί να μην επιτρέπει σε κάποιον να πέσει σε αναρχία. Οι κανόνες του είναι αρκετά αυστηροί για να αποτρέψουν τη διαταραχή. Το DRAGON παρέχει έναν εύλογο συμβιβασμό μεταξύ ευελιξίας και αυστηρότητας.



Εικόνα 9.Ένας αλγόριθμος που είναι δύσκολο να απεικονιστεί μόνο σε κείμενο

Πλεονεκτήματα μιας γραφικής γλώσσας

Η γλώσσα DRAGON έχει ενδιαφέρουσα μοίρα. Οι βασικές αρχές του τέθηκαν από τον ίδιο τον Dijkstra. Το DRAGON απέκτησε τη σημερινή του μορφή στα βάθη της ρωσικής διαστημικής βιομηχανίας. Αξιοσημείωτο είναι ότι οι κανόνες της γλώσσας DRAGON δεν προέκυψαν τυχαία. Δοκιμάστηκαν αρχικά σε ομάδες εστίασης και στη συνέχεια ακονίστηκαν σε πραγματικά διαστημικά έργα.
Ποια είναι λοιπόν ακριβώς τα δυνατά σημεία του ΔΡΑΚΟΥ;


Ας ξεκινήσουμε με το γεγονός ότι το DRAGON είναι μια γραφική γλώσσα. Και μια γραφική γλώσσα έχει θεμελιώδη πλεονεκτήματα έναντι του κειμένου.


Πρώτον, οι σκέψεις δεν είναι τυχαία διασκορπισμένες σε γραμμές, αλλά περιέχονται μέσα σε τετράγωνα ή εικονίδια. Μια σκέψη - ένα τετράγωνο. Οι διαφορετικές σκέψεις δεν κολλάνε μαζί σε ένα χάος.


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


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

Ειδικοί εργονομικοί κανόνες

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

  • Απαγορεύεται η διέλευση γραμμών. Καθόλου. Οι διασταυρώσεις κάνουν τον οπτικό αναλυτή μας να υποψιάζεται ότι οι γραμμές αγγίζουν και επομένως συνδέονται με κάποιο τρόπο. Αυτές οι υποψίες δημιουργούν επιπλέον ψυχική εργασία. Η περιττή εργασία πρέπει να απορριφθεί.
  • Η αρχή περιέχει το όνομα του αλγορίθμου και βρίσκεται πάντα στην επάνω αριστερή γωνία του διαγράμματος. Επομένως, δεν χρειάζεται καν να ψάξετε για την αρχή. Είναι εκεί που είναι συνήθως.
  • Το διάγραμμα έχει μόνο ένα άκρο. Ό,τι κι αν συμβεί στην πορεία (εκτός εξαιρέσεων), πάντα θα φτάνουμε στο τέλος.
  • Επιτρέπονται μόνο ευθείες γραμμές. Χωρίς καμπύλες, στροφές ή περιττές τσακίσεις.
  • Επιτρέπονται μόνο αυστηρά κάθετες και αυστηρά οριζόντιες γραμμές. Οι λοξές γραμμές απαγορεύονται. Εξήγηση για τους λάτρεις των μαθηματικών: Το διάγραμμα DRAGON είναι ένα επίπεδο ορθογώνιο γράφημα (γραφική παράσταση Μανχάταν). Η ανθρώπινη οπτική συσκευή συλλαμβάνει αμέσως αντικείμενα που συνδέονται με ευθείες ορθογώνιες γραμμές. Αλλά η παρακολούθηση που θα οδηγήσει η «Αμερικανική καμπύλη ονείρου» απαιτεί πρόσθετη συγκέντρωση από τον αναγνώστη.
  • Το σχήμα DRAGON εκτελείται από πάνω προς τα κάτω. Αυτός ο κανόνας αποφεύγει την ανάγκη να σαρώσετε μανιωδώς το διάγραμμα με τα μάτια σας σε αναζήτηση του επόμενου εικονιδίου. Το επόμενο εικονίδιο βρίσκεται πάντα στο κάτω μέρος. Η είσοδος στο εικονίδιο βρίσκεται στο επάνω μέρος και η έξοδος βρίσκεται στο κάτω μέρος. Εφόσον γνωρίζουμε πού βρίσκεται το επόμενο εικονίδιο, τότε δεν χρειάζονται βέλη. Απλές γραμμές αρκούν. Τα βέλη δίπλα σε κάθε εικονίδιο είναι οπτικός θόρυβος. Αφαιρώντας την εργασία σύνδεσης εικονιδίων από τα βέλη, μπορείτε να τους αναθέσετε μια ειδική αποστολή. Στο DRAGON, το βέλος υποδηλώνει έναν κύκλο.
  • Η διακλάδωση γίνεται μόνο προς τα δεξιά. Αυτό είναι μια τεράστια βοήθεια όσον αφορά την προβλεψιμότητα και την ομοιομορφία.
  • Τα εικονίδια που βρίσκονται στον ίδιο κατακόρυφο πρέπει να έχουν το ίδιο πλάτος. Αυτό δίνει την αίσθηση ότι τα εικονίδια ανήκουν σε ένα ενιαίο σύνολο. Όταν όλοι έχουν το ίδιο πλάτος και δεν υπάρχουν εικονίδια εκκίνησης, το μάτι γλιστράει εύκολα και ελεύθερα στο διάγραμμα.

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


Διαγράμματα στο Σχ. Τα 10 και 11 παρουσιάζουν εργονομικές τεχνικές της γλώσσας DRAGON χρησιμοποιώντας πραγματικά παραδείγματα.




Εικόνα 10.Εργονομικές τεχνικές της γλώσσας DRAGON ως παράδειγμα


Εικόνα 11.Ένα άλλο παράδειγμα διαγράμματος στη γλώσσα DRAGON
Εκτός από τις εργονομικές τεχνικές, η γλώσσα DRAGON έχει μοναδικά χαρακτηριστικά που δεν υπάρχουν πουθενά αλλού.

Όσο πιο δεξιά τόσο χειρότερα

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


Κοινή μοίρα

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


Ρύζι. 12 δείχνει ένα σουβλάκι με τον βασιλικό δρόμο, καθώς και τη χρήση της τεχνικής της «κοινής μοίρας».




Εικόνα 12.Ο Βασιλικός Δρόμος και η Κοινή Μοίρα

Σιλουέτα

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


Η σιλουέτα αποτελείται από πολλά μικρά διαγράμματα που συνδέονται σε ένα πλήρες μπλοκ. Αυτά τα μικρά διαγράμματα ονομάζονται κλαδιά σιλουέτας. Στο επάνω μέρος κάθε κλάδου υπάρχει ένα εικονίδιο «Κεφαλίδα υποκαταστήματος», στο κάτω μέρος υπάρχει ένα εικονίδιο «Διεύθυνση». Το όνομα του συγκεκριμένου κλάδου τοποθετείται στην κεφαλίδα του κλάδου και το όνομα του επόμενου κλάδου υποδεικνύεται στη διεύθυνση. Τα ονόματα των υποκαταστημάτων βρίσκονται σε μία οριζόντια γραμμή στο επάνω μέρος του διαγράμματος. Χάρη σε αυτό, μπορείτε να κατανοήσετε την ουσία του αλγορίθμου τρέχοντας μόνο μέσα από τις κεφαλίδες των κλάδων. Η σιλουέτα απαντά σε τρία βασιλικά ερωτήματα:

  1. Πώς λέγεται το πρόβλημα;
  2. Από πόσα μέρη αποτελείται;
  3. Πώς ονομάζονται αυτά τα μέρη;

Ας δούμε το παράδειγμα στο Σχ. 13. Ιδού οι απαντήσεις στις ερωτήσεις του βασιλιά:

  1. Πώς λέγεται το πρόβλημα; Ταξινόμηση συνδεδεμένης λίστας.
  2. Από πόσα μέρη αποτελείται; Από τα τέσσερα.
  3. Πώς ονομάζονται αυτά τα μέρη; Κατασκευάστε μια μήτρα συνδέσεων. Ελέγξτε για κύκλους. Περάστε από τη μήτρα σύνδεσης. Πλήρης.


Εικόνα 13.Σχέδιο ΔΡΑΚΟΥ "σιλουέτα"

Κύκλος σιλουέτας

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




Εικόνα 14.Βρόχο σιλουέτας και σημάδια

Η σύνδεση κλαδιών σιλουέτας απαγορεύεται

Οι συνδέσεις δύο κλαδιών σιλουέτας (όπως στο Σχ. 15) απαγορεύονται. Κάθε κλάδος μέσα στη σιλουέτα πρέπει να είναι ανεξάρτητος.




Εικόνα 15.Η σύνδεση κλαδιών σιλουέτας απαγορεύεται.

Μέγεθος γραφήματος

Κατά τον προγραμματισμό στη γλώσσα DRAGON, τίθεται το ερώτημα: τι μέγεθος πρέπει να έχουν τα διαγράμματα; Η απάντηση είναι: λιγότερο είναι καλύτερα. Όσο λιγότερα αντικείμενα στην οπτική σκηνή, τόσο πιο καθαρή είναι. Στον προγραμματισμό κειμένου υπάρχει μια τέτοια οδηγία: είναι καλό αν ολόκληρη η λειτουργία ταιριάζει εξ ολοκλήρου στην οθόνη. Παρόμοιες συμβουλές μπορούν να δοθούν για τα σχήματα DRAGON. Αποφύγετε τα τεράστια γραφήματα. Όταν ολόκληρος ο αλγόριθμος είναι ορατός στο σύνολό του, είναι πολύ πιο εύκολο να γίνει κατανοητό.
Για προγραμματισμό στο DRAGON είναι καλύτερα να έχετε μεγάλη οθόνη. Τουλάχιστον 1080 pixel σε ύψος. Τότε δεν θα χρειαστεί να συντομεύσετε τεχνητά τα κυκλώματα DRAGON.


ΔΡΑΚΟΣ-σχέδιο σιλουέταπρέπει να ταιριάζει στην οθόνη σε ύψος, αλλά όχι απαραίτητα σε πλάτος. Διαγράμματα σιλουέταμπορεί να είναι αρκετά ευρύ, πολύ μεγαλύτερο από 2000 pixel. Είναι εντάξει. Δεν είναι απαραίτητο να βλέπετε όλα τα κλαδιά της σιλουέτας ταυτόχρονα. Το κύριο πράγμα είναι ότι το υποκατάστημα με το οποίο εργάζεστε αυτήν τη στιγμή είναι πλήρως ορατό στην οθόνη.

Κριτική στον προγραμματισμό DRAGON

Ας δούμε τους κύριους τομείς κριτικής του προγραμματισμού DRAGON και ας προσπαθήσουμε να τους απαντήσουμε.

  • "Τα διαγράμματα DRAGON καταλαμβάνουν περισσότερο χώρο στην οθόνη από τα προγράμματα κειμένου." Αυτό είναι αλήθεια. Αλλά πρέπει να έχουμε κατά νου ότι το καθήκον του ΔΡΑΚΟΥ είναι να δείξει την πολυπλοκότητα όπως είναι. Ο αναγνώστης του προγράμματος δεν χρειάζεται να ξεπακετάρει πολύπλοκες δομές στο κεφάλι του. Πρέπει να του παρουσιάζονται ρητά.
  • "Οι απλοί αλγόριθμοι φαίνονται καλύτεροι σε μορφή κειμένου." Μπορεί. Το Hello world φαίνεται κομψό σε οποιαδήποτε γλώσσα. Αλλά στην πραγματική ζωή, δεν είναι όλα απλά. Μόλις εμφανιστεί κάποιος ανφωλιασμένο μέσα σε άλλο αν, κερδίζει ο ΔΡΑΚΟΣ.
  • "Το DRAGON δεν έχει μέσο εμφάνισης εξαιρέσεων." Υπάρχει τέτοιο πρόβλημα. Πρόσφατα προστέθηκαν εξαιρέσεις στη γλώσσα DRAGON, αλλά δεν τις υποστηρίζουν όλες οι υλοποιήσεις. Μέχρι να φτάσουν οι υλοποιήσεις, μπορείτε να γράψετε μπλοκ try/catch στην κατάλληλη γλώσσα προγραμματισμού.
  • "Τα διαγράμματα DRAGON χρειάζονται πολύ χρόνο για να σχεδιαστούν." Σε εξειδικευμένους συντάκτες είναι πολύ πιο εύκολο να σχεδιάσετε διαγράμματα DRAGON παρά, για παράδειγμα, στο Visio. Και σε μερικά από αυτά, το σχέδιο έχει γίνει σχεδόν τόσο εύκολο όσο το γράψιμο.
  • "Λείπουν εργαλεία για τη διαφορά και τη συγχώνευση." Αυτό δυστυχώς είναι αλήθεια. Όταν εργάζεστε με ένα σύστημα ελέγχου έκδοσης, πρέπει να συγκρίνετε τα αρχεία προέλευσης που δημιουργούνται.
  • "Δεν υπάρχουν μέσα για τον εντοπισμό σφαλμάτων των κυκλωμάτων DRAKON." Αυτό είναι αλήθεια. Αλλά μπορείτε να διορθώσετε τον κώδικα που δημιουργήθηκε. Έχει ετικέτες που υποδεικνύουν πού στο διάγραμμα ανήκει ένα δεδομένο κομμάτι κώδικα.

Dragon Language Review

Το Σχήμα 16 παρέχει μια επισκόπηση της γλώσσας DRAGON.




Εικόνα 16.Επισκόπηση της γλώσσας DRAGON

Εργαλεία για εργασία με τη γλώσσα του δράκου

Η πρώτη εφαρμογή της γλώσσας DRAGON ήταν το σύστημα GRAPHITE-FLOX (Εικ. 17). Το GRAPHITE-FLOX δημιουργήθηκε το 1986-1996. ειδικοί από την ομοσπονδιακή κρατική ενιαία επιχείρηση NPC AP που φέρει το όνομά της. Pilyugin υπό την ηγεσία του V.D. Parondzhanova. Αυτό το περιβάλλον προοριζόταν για το σχεδιασμό συστημάτων ελέγχου για οχήματα εκτόξευσης και διαστημόπλοια.


Το GRAPHITE-FLOX είναι μια κλειστή ανάπτυξη, επομένως σχετικά λίγα είναι γνωστά γι 'αυτό. Μπορείτε να δείτε μια λίστα με διαστημόπλοια που δημιουργήθηκαν χρησιμοποιώντας το GRAPHITE-FLOX.


Στις αρχές της δεκαετίας του '90, δημιουργήθηκε ένας άλλος επεξεργαστής DRAGON. Η ανάπτυξη πραγματοποιήθηκε στο Ινστιτούτο Εφαρμοσμένων Μαθηματικών με το όνομα M.V. Keldysh υπό την ηγεσία του L.K. Eisymont. Το πρόγραμμα επεξεργασίας Eisamont (Εικόνα 18) μπορεί να ληφθεί και να εκτελεστεί, αλλά δεν υποστηρίζεται πλέον. Το πρόγραμμα επεξεργασίας είναι γραμμένο στο MS DOS, επομένως το DOSBox ενδέχεται να απαιτείται για εκτέλεση σε σύγχρονους υπολογιστές.


Το 2008, κυκλοφόρησε ο συντάκτης του Dragon IP από τον Gennady Tyshov (Εικ. 19). Το IP Dragon υποστηρίζεται και αναπτύσσεται ενεργά. Το Dragon IS υλοποιεί τη δημιουργία κώδικα προγράμματος από διαγράμματα. Ένα από τα ενδιαφέροντα χαρακτηριστικά του Dragon IS είναι η δυνατότητα τοποθέτησης κώδικα σε μια γλώσσα προγραμματισμού και περιγραφής σε φυσική γλώσσα σε ένα εικονίδιο. Το αναμφισβήτητο πλεονέκτημα του IS Dragon είναι ο λεγόμενος «λογισμός των εικονιδίων». Ο λογισμός εικονιδίων είναι μια τεχνική επεξεργασίας που βοηθά τον χρήστη να σχεδιάσει ένα διάγραμμα και διασφαλίζει ότι το διάγραμμα δεν παραβιάζει τους κανόνες της γλώσσας DRAGON. Μεταξύ των μειονεκτημάτων του Dragon IS είναι η μη τυπική διεπαφή χρήστη και ορισμένες ενοχλήσεις κατά τη δημιουργία κώδικα. Το IP Dragon είναι ένα εμπορικό προϊόν.


Το DRAKON Editor είναι ένας άλλος σύγχρονος επεξεργαστής DRAGON (Εικ. 20). Το DRAKON Editor αναπτύχθηκε από μια ομάδα ενθουσιωδών με επικεφαλής τον Stepan Mitkin. Το DRAKON Editor δεν υποστηρίζει την καταμέτρηση εικονιδίων. Αυτό σημαίνει ότι τα κυκλώματα DRAGON συναρμολογούνται χειροκίνητα από πρωτόγονα, όπως στους επεξεργαστές διανυσματικών γραφικών. Αλλά η διεπαφή χρήστη στο DRAKON Editor είναι όσο το δυνατόν πιο απλή. Είναι κατασκευασμένο σύμφωνα με ένα πιο οικείο σχέδιο από το Dragon IS. Το κύριο πλεονέκτημα του περιβάλλοντος DRAKON Editor είναι η ευκολία προγραμματισμού και δημιουργίας κώδικα. Το DRAKON Editor υποστηρίζει πολλές γλώσσες προγραμματισμού, όπως C, C++, C#, Java, Processing, JavaScript, Lua, Erlang, Python, Tcl, Verilog, AutoHotkey, D and Go. Για ορισμένες γλώσσες είναι δυνατή η δημιουργία μηχανών πεπερασμένης κατάστασης. Υποστηρίζονται κανόνες για το ειδικό σύστημα nools. Ένα υποσύνολο της γλώσσας UTOPIST από τον E. Tyugu έχει υλοποιηθεί. Το DRAKON Editor είναι ανοιχτού κώδικα.


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


Το DRAKON Editor Web είναι μια εμπορική λύση cloud που βασίζεται στη γλώσσα DRAGON. Το DRAKON Editor Web έχει σχεδιαστεί για τεχνικές εργασίες, επιχειρηματικές διαδικασίες και λίστες ελέγχου. Το DRAKON Editor Web δεν είναι συνδεδεμένο με κανέναν τρόπο με το DRAKON Editor και δεν υποστηρίζει τη δημιουργία κώδικα από διαγράμματα. Μεταξύ των πλεονεκτημάτων του DRAKON Editor Web είναι ο βολικός επεξεργαστής, η συνεργασία και η υποστήριξη για κινητές συσκευές.




Εικόνα 17.Σχέδιο DRAGON στο σύστημα GRAPHITE-FLOX


Εικόνα 18. DRAGON-επιμέλεια Eisymont


Εικόνα 19.Πρόγραμμα με επεξηγήσεις στο IS Dragon


Εικόνα 20. DRAKON Editor

συμπεράσματα

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


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

Προσθέστε ετικέτες

Τελευταία επεξεργασία από PBworksΠριν από 12 χρόνια, 2 μήνες

ΦΙΛΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

HYBRID PROGRAMMING LANGUAGE DRAGON-S

Ας υποθέσουμε ότι πρέπει να δημιουργήσετε ένα οπτικό σύστημα προγραμματισμού στην υβριδική γλώσσα DRAGON-SI. Το πρόβλημα μπορεί να λυθεί, για παράδειγμα, χρησιμοποιώντας τρία προγράμματα: έναν επεξεργαστή dragon, έναν μετατροπέα dragon και έναν μεταγλωττιστή γλώσσας SI. Χρησιμοποιώντας το πρόγραμμα επεξεργασίας dragon, ο χρήστης σχεδιάζει ένα πρόγραμμα στη γλώσσα DRAGON-SI στην οθόνη του υπολογιστή (Εικ. 90, δεξιά στήλη). Στη συνέχεια, ο μετατροπέας δράκος μετατρέπει την εσωτερική αναπαράσταση των γραφικών κωδίκων σε κείμενο πηγής SI (Εικόνα 90, μεσαία στήλη), μετά από το οποίο ένας τυπικός μεταγλωττιστής SI μετατρέπει το κείμενο προέλευσης σε κώδικα αντικειμένου.

Έτσι, για να δημιουργηθεί η γλώσσα DRAGON-SI, είναι απαραίτητο, σύμφωνα με ορισμένους κανόνες, να συνδυαστεί η οπτική σύνταξη του DRAGON με την κειμενική σύνταξη της γλώσσας SI, αφαιρώντας από την τελευταία όλα τα στοιχεία των οποίων οι λειτουργίες υλοποιούνται από την οπτική χειριστές του DRAGON. Το ζεύγος γλωσσών SI και DRAGON-SI είναι ισοδύναμο με την έννοια ότι μπορεί να κατασκευαστεί ένας μετατροπέας που εκτελεί τόσο άμεση όσο και αντίστροφη μετατροπή. Ένας τέτοιος μετατροπέας μπορεί να μετατρέψει το κείμενο προέλευσης ενός προγράμματος στη γλώσσα DRAKON-SI (Εικ. 90, δεξιά στήλη) σε ένα ισοδύναμο πρόγραμμα SI (Εικ. 90, μεσαία στήλη) και αντίστροφα.

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

ΥΒΡΙΔΙΚΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΔΡΑΚΟΣ-ΜΟΝΟΥΛΑ

Ας δούμε το κορυφαίο παράδειγμα στο Σχ. 91. Η μεσαία στήλη δείχνει ένα πρόγραμμα στη γλώσσα MODULA-2 και η δεξιά στήλη δείχνει ένα ισοδύναμο πρόγραμμα στη γλώσσα DRAGON-MODULA. Η αριστερή στήλη περιέχει μια λίστα λέξεων-κλειδιών που χρησιμοποιούνται στο δομοστοιχείο-πρόγραμμα και είναι «ζωτικές» για τη γλώσσα MODULA, αλλά οι οποίες είναι εντελώς περιττές στο πρόγραμμα dragon.

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

ΠΑΡΑΔΕΙΓΜΑ ΕΡΓΟΝΟΜΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ

ΠΡΟΓΡΑΜΜΑΤΑ

Στο Σχ. 91 (κάτω, στη μεσαία στήλη) γράφεται ένα πρόγραμμα σε PASCAL. Κατ' αναλογία με τα προηγούμενα παραδείγματα, μπορεί εύκολα να μετατραπεί σε πρόγραμμα στη γλώσσα DRAGON-PASCAL. Για να το κάνετε αυτό, σχεδιάστε έναν οπτικό τελεστή "fork" και τοποθετήστε την καταχώρηση στο εικονίδιο "ερώτηση".

K = 1 Ή K = 2

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

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

Η δομική διαφορά μεταξύ των προγραμμάτων είναι εντυπωσιακή. Το πρόγραμμα Pascal περιέχει δύο δομές: αν-τότε-άλλοΚαι περίπτωση που. Η εργονομική βελτιστοποίηση συνίσταται στο γεγονός ότι το πρόγραμμα dragon χρησιμοποιεί μόνο έναν οπτικό τελεστή (έναν διακόπτη με τρεις επιλογές), ο οποίος ωστόσο «μόνος» εκτελεί τις ίδιες λειτουργίες με δύο τελεστές κειμένου της γλώσσας Pascal. Ως αποτέλεσμα, η σύνθετη συνθήκη K = 1 Ή K = 2 και άλλες υπερβολές του προγράμματος Pascal εξαλείφονται και το κύκλωμα του δράκου απλοποιείται αισθητά και γίνεται συνοπτικό, διαφανές και κομψό.

ΠΡΟΓΡΑΜΜΑΤΑ ΔΙΑΛΟΓΟΥ

Ας συνεχίσουμε την παρουσίαση μιας από τις πιθανές προσεγγίσεις για την κατασκευή της γλώσσας προγραμματισμού DRAKON-2. Να σας υπενθυμίσουμε για άλλη μια φορά: ο αναγνώστης δεν θα βρει εδώ περιγραφή της γλώσσας. Ο στόχος μας είναι πολύ πιο μετριοπαθής: να δείξουμε ότι η επισημοποίηση της σύνταξης κειμένου για τη γλώσσα DRAGON είναι αρκετά εφικτή και να παρέχουμε αρκετά παραδείγματα που επιβεβαιώνουν αυτήν την ιδέα.

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

Η εργονομική τεχνική της «ζωνοποίησης κειμένου» είναι χρήσιμη για χρήση όχι μόνο σε σχόλια, αλλά και σε άλλες περιπτώσεις, για παράδειγμα, σε δηλώσεις εισόδου/εξόδου.

Χειριστής "Μήνυμα"

Ο χειριστής "Μήνυμα" χρησιμοποιείται για την εμφάνιση πληροφοριών στην οθόνη του υπολογιστή. Περιέχει ένα εικονίδιο "έξοδος", στον επάνω όροφο του οποίου τοποθετείται η λέξη-κλειδί "Μήνυμα" και στον κάτω όροφο - οι πληροφορίες που θα εμφανίζονται. Κατά την περιγραφή του τελευταίου, χρησιμοποιείται ζωνοποίηση κειμένου: στη γκρίζα ζώνη γράφονται τα ονόματα των μεταβλητών ή των εκφράσεων (οι τιμές των οποίων πρέπει να εμφανίζονται στην οθόνη), στη λευκή ζώνη - σταθερές πληροφορίες (που εμφανίζονται στο οθόνη χωρίς αλλαγές). Μια νέα γραμμή υποδεικνύεται με μαύρο κύκλο. Για παράδειγμα, στο Σχ. 92, χρησιμοποιώντας τον τελεστή «Μήνυμα», εμφανίζεται στην οθόνη η φράση «Το άθροισμα των αριθμών είναι ίσο» και η τιμή της έκφρασης m + n.

Χειριστής «Αίτημα».

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

Ας υποθέσουμε ότι πρέπει να εισαγάγετε τις τιμές m = 23 και n = 45 (Εικ. 92). Αυτό γίνεται, για παράδειγμα, ως εξής: μετακινήστε τον κέρσορα στην περιοχή m, πληκτρολογήστε τον αριθμό 23 στο πληκτρολόγιο και πατήστε το πλήκτρο "carriage return". Σε αυτήν την περίπτωση, η ζώνη m στην οθόνη σβήνει και ο αριθμός 23 ανάβει στη θέση της. Η τιμή n εισάγεται με τον ίδιο τρόπο. Έτσι, ο χειριστής "Request" ζητά τις τιμές των μεταβλητών από τον χρήστη, τις γράφει στη μνήμη και ταυτόχρονα τις εμφανίζει στην οθόνη μαζί με μόνιμες πληροφορίες (εάν οι τελευταίες υποδεικνύονται στον κάτω όροφο του χειριστή "Request" στο η λευκή ζώνη).

Περιγραφή δεδομένων

Το εικονίδιο "ράφι" χρησιμοποιείται για την περιγραφή των δεδομένων. Η λέξη-κλειδί "Δεδομένα" αναγράφεται στον επάνω όροφο και μια περιγραφή των δεδομένων στον κάτω όροφο. Για παράδειγμα, στο Σχ. 92 στο εικονίδιο "ράφι" υποδεικνύεται ότι οι μεταβλητές m και n είναι τύπου "ακέραιος".

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

ΑΝΑΓΝΩΡΙΣΤΙΚΑ

Εδώ είναι οι κανόνες για την εγγραφή αναγνωριστικών.

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

Παραδείγματα σωστών αναγνωριστικών

Fast.train.car.number

Τρένο.αυτοκίνητο.αριθμός.επιβάτης.τρένο

Τρένο.εισιτήριο.τιμή.προς Μαγκαντάν

Τιμή αεροπλάνου εισιτήριο για Μαγκαντάν

Παραδείγματα λανθασμένων αναγνωριστικών

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

Ας υποθέσουμε ότι θέλετε να δημιουργήσετε ένα αναγνωριστικό για την ακόλουθη έννοια: «Διάνυσμα ακτίνας του κέντρου της Γης στο κέντρο του διαδρόμου στο σύστημα συντεταγμένων προσγείωσης». Η λεκτική περιγραφή της έννοιας περιέχει 92 χαρακτήρες. Η πρόκληση είναι να μειωθεί μια περιγραφή 92 χαρακτήρων σε μια περιγραφή 32 χαρακτήρων, διατηρώντας παράλληλα την έννοια όσο το δυνατόν πιο σαφή.

Θα πραγματοποιήσουμε τη μείωση σύμφωνα με το ακόλουθο σχέδιο:

  • Το «Διάνυσμα ακτίνας του κέντρου της Γης» θα αντικατασταθεί με το «Ακτίνα της Γης».
  • Αντί για «Στο κέντρο του διαδρόμου» θα γράψουμε «στο διάδρομο».
  • "Στο σύστημα συντεταγμένων προσγείωσης" θα το αντικαταστήσουμε με το UCS, καθώς μια τέτοια συντομογραφία χρησιμοποιείται συνήθως στην ομάδα των προγραμματιστών αυτού του συστήματος.

Ως αποτέλεσμα, παίρνουμε ένα αναγνωριστικό 26 χαρακτήρων

το οποίο διατηρεί σχεδόν όλες τις υποστηρικτικές λέξεις της αρχικής ιδέας και παρέχει αρκετά υψηλή κατανόηση.

Κανόνες γραφής αριθμητικών παραστάσεων

στις δηλώσεις ανάθεσης

Πρέπει να διακριθούν δύο περιπτώσεις. Εάν η έκφραση είναι απλή, συνιστάται η χρήση αναγνωριστικών 32 χαρακτήρων και «κάθετης» σημειογραφίας των μαθηματικών τύπων, όπως φαίνεται στο Σχ. 94 και 95.

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

Μια πιθανή προσέγγιση για να λυθεί αυτός ο γόρδιος δεσμός είναι ένα σχέδιο τριών σημείων.

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

ΕΠΕΞΕΡΓΑΣΙΑ ΠΙΝΑΚΩΝ

Στο Σχ. Τα 94 και 95 δίνουν παραδείγματα προγραμμάτων που περιέχουν πράξεις με πίνακες.

Η περιγραφή των δεδομένων βρίσκεται στον κάτω όροφο του εικονιδίου "ράφι".

σημαίνει ότι καθορίζεται ένας μονοδιάστατος πίνακας με το όνομα "Rabbit Weight", που περιέχει 100 στοιχεία, καθένα από τα οποία είναι πραγματικός αριθμός.

Το κύριο στοιχείο και των δύο προγραμμάτων είναι ο βρόχος FOR. Ας δούμε τους κανόνες για το σχεδιασμό ενός κύκλου. Στο εικονίδιο «έναρξη κύκλου ΓΙΑ», στην επάνω γραμμή γράψτε τη λέξη «Κύκλος» και μετά από ένα κενό ένα ψευδώνυμο ενός χαρακτήρα που υποδηλώνει τη μεταβλητή κύκλου (γράμμα k στην Εικ. 94, 95). Η κάτω γραμμή δείχνει το εύρος της αλλαγής του, για παράδειγμα,

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

Το εργονομικό «κέρδος» των επίσημων σχολίων περιλαμβάνει δύο πλεονεκτήματα. Πρώτον, σας επιτρέπει να εξαλείψετε την παραδοσιακή «λήθη» των προγραμματιστών και να εξηγήσετε στον αναγνώστη με ανθρώπινο τρόπο την έννοια ενός αφηρημένου αναγνωριστικού: λένε, το k είναι ο αριθμός του κλουβιού κουνελιού. Δεύτερον, και σημαντικό, η εξήγηση τοποθετείται στο πεδίο σχεδίασης ακριβώς εκεί που χρειάζεται (στο εικονίδιο «αρχή του κύκλου ΓΙΑ»), σύμφωνα με την αρχή «ένα ακριβό αυγό για την ημέρα του Χριστού». Αυτό σημαίνει ότι ο αναγνώστης λαμβάνει μια απάντηση αμέσως - σε εκείνο το δευτερόλεπτο που είδε για πρώτη φορά το ψευδώνυμο k και γεννήθηκε στο μυαλό του η ερώτηση: τι είναι το k;

Στο εικονίδιο «τέλος κύκλου ΓΙΑ» γίνεται μια καταχώριση

Η έννοια των χειριστών που οργανώνουν την επεξεργασία των συστοιχιών είναι ξεκάθαρη από το Σχ. 94 και 95 και είναι αυτονόητα.

ΠΕΡΙΛΗΨΗ ΔΡΑΚΩΝ ΔΙΑΓΡΑΜΜΑΤΑ

Σε αυτή την ενότητα θα εξετάσουμε τη μετατροπή ενός οπτικού προγράμματος στη γλώσσα DRAGON-2 σε ένα πρόγραμμα κειμένου στο BASIC. Αυτός ο μετασχηματισμός είναι χρήσιμος με δύο τρόπους: θα σας δώσει μια βαθύτερη κατανόηση της οπτικοποίησης και θα σας μυήσει στη σημαντική έννοια του διαγράμματος του αφηρημένου δράκου.

Για παράδειγμα, ας πάρουμε ένα σχολικό πρόγραμμα που ονομάζεται "Guessing Game" και ας το γράψουμε στη γλώσσα DRAGON-2 (Εικ. 96). Στη συνέχεια αφαιρούμε εντελώς το κείμενο από αυτό και παίρνουμε ένα τυφλό σχέδιο, το οποίο ονομάζεται «αφηρημένο διάγραμμα δράκου» (Εικ. 97). Αυτό το διάγραμμα είναι ένα αμετάβλητο πρόγραμμα που μπορεί να μετατραπεί σε πρόγραμμα σε οποιαδήποτε γλώσσα προγραμματισμού σε δύο βήματα.

Ας επιλέξουμε τη γλώσσα BASIC ως στόχο και ας ασχοληθούμε. Στο πρώτο βήμα, θα γεμίσουμε τα κενά εικονίδια του αφηρημένου διαγράμματος με κείμενο στη γλώσσα BASIC. Το αποτέλεσμα θα είναι ένα ισοδύναμο πρόγραμμα στη γλώσσα DRAGON-BASIC (Εικ. 98). Στο δεύτερο βήμα, προχωράμε σε ένα κανονικό πρόγραμμα BASIC (επιλέξαμε σκόπιμα μια παλιομοδίτικη έκδοση του BASIC για να δείξουμε, για λόγους ποικιλίας, τη χρήση δηλώσεων goto κατά την περιγραφή του ισοδύναμου προγράμματος δράκου) - βλ. . 99.

ΦΙΛΟΣΟΦΙΑ ΤΗΣ ΓΛΩΣΣΑΣ ΤΟΥ ΔΡΑΚΟΥ

Οποιαδήποτε επιτακτική γλώσσα (SI, PASCAL, ADA, MODULA, BASIC, κ.λπ.) μπορεί να χωριστεί σε τρία μέρη, τρεις σχετικά ανεξάρτητες γλώσσες: διαδρομή, εντολή και δηλωτική.

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

Ας το εξηγήσουμε αυτό με ένα παράδειγμα. Το αφηρημένο διάγραμμα δράκου που φαίνεται στο Σχ. 97, υπάρχει κάποια «φράση» της γλώσσας διαδρομής. Για να έχει νόημα, το κείμενο θα πρέπει να τοποθετηθεί μέσα στα εικονίδια. Αυτό το κείμενο είναι γραμμένο σε γλώσσα εντολών. Ωστόσο, μερικές φορές είναι σκόπιμο να μετακινήσετε δεδομένα και περιγραφές κλάσεων έξω από το διάγραμμα δράκων και να τις τοποθετήσετε κάπου αλλού, για παράδειγμα, με τη μορφή ξεχωριστής εγγραφής ή πίνακα.

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

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

Η γλώσσα διαδρομής είναι ένα οπτικό πρότυπο της οικογένειας των δράκων, που υποστηρίζεται από το πρόγραμμα επεξεργασίας οπτικών δράκων (βλ. Κεφάλαιο 14), το οποίο είναι μικρό σε μέγεθος και είναι εύκολο να θυμάστε. Είναι η συνεχής τηλεκάρτα του ΔΡΑΚΟΥ, η τυποποιημένη οπτική του εικόνα (Εικ. 97).

ΤΑΞΙΝΟΜΗΣΗ ΓΝΩΣΕΩΝ

Κάθε πρόγραμμα είναι μια ορισμένη ποσότητα γνώσης που μπορεί να χωριστεί σε επιτακτική και δηλωτική. Οι σκέψεις που περιγράφονται παραπάνω μας επιτρέπουν να διευκρινίσουμε αυτή τη διατριβή. Μια νέα ματιά στο πρόβλημα παρουσιάζεται στο Σχ. 100 και καταλήγει σε αυτό:

  •  Για να αναλυθούν οι γνώσεις που περιέχονται στο κείμενο πηγής ενός προγράμματος υπολογιστή γραμμένου σε επιτακτική γλώσσα, είναι σκόπιμο να χρησιμοποιηθούν δύο ταξινομήσεις: βασική και εναλλακτική./li>
  • Βασική ταξινόμησηείναι ότι όλη η γνώση που περιέχεται στο πρόγραμμα πηγής χωρίζεται σε προστακτική και δηλωτική.
  • Με τη σειρά της, η επιτακτική γνώση χωρίζεται σε διοικητική και διοικητική γνώση.
  • Ως κριτήριο για μια εναλλακτική ταξινόμηση, προτείνεται ένα ερώτημα: ποια μέσα είναι καλύτερα να χρησιμοποιηθούν για την αναπαράσταση της γνώσης - γραφικά ή κείμενο;
  • Η απάντηση είναι αυτή. Είναι καλύτερο να χρησιμοποιείτε γραφικά (γλώσσα δρομολόγησης) για να αναπαραστήσετε τη γνώση ελέγχου για τη γνώση εντολών και τη δηλωτική γνώση.
  • Έτσι, σε μια εναλλακτική ταξινόμηση, η γνώση χωρίζεται σε οπτική (έλεγχος) και κειμενική (εντολική και δηλωτική).

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

ΣΥΜΠΕΡΑΣΜΑΤΑ

  1. Αν έχουμε μια επίσημη οπτική σύνταξη στη διάθεσή μας, τότε για να φτιάξουμε μια οπτική γλώσσα προγραμματισμού αρκεί να φτιάξουμε μια επίσημη σύνταξη κειμένου. Είμαστε πεπεισμένοι ότι αυτό το πρόβλημα είναι πλήρως επιλύσιμο και με πολλούς τρόπους. Ως αποτέλεσμα, σχηματίζεται μια οικογένεια γλωσσών προγραμματισμού, πρωτότυπες (DRAGON-2) και υβριδικές (DRAGON-SI, DRAGON-MODULA, DRAGON-PASCAL, DRAGON-BASIC, κ.λπ.).
  2. Μπορεί να υποστηριχθεί ότι η καταληπτότητα των οπτικών γλωσσών είναι σημαντικά υψηλότερη από την καταληπτότητα των αντίστοιχων κειμενικών τους. Επομένως, σε όλες τις περιπτώσεις που η κατανοητότητα θεωρείται ως το κύριο κριτήριο για την ποιότητα των προγραμμάτων (και υπάρχουν πολλές τέτοιες περιπτώσεις), οι οπτικές γλώσσες είναι εκτός ανταγωνισμού. Εδώ υπάρχει μια προειδοποίηση: ο ίδιος ο όρος "οπτικό" δεν εγγυάται τίποτα. Η επιχειρηματική επιτυχία επιτυγχάνεται μέσω της προσεκτικής και σχολαστικής εφαρμογής των μεθόδων της επιστήμης του ανθρώπινου παράγοντα (εργονομία). Για να είμαστε πιο ακριβείς, μιλάμε για τη σύνθεση της πληροφορικής και των μεθόδων εργονομίας, τη διαμόρφωση μιας νέας διεπιστημονικής κατεύθυνσης - infoergonomics, και την αναδιάρθρωση ολόκληρου του κτιρίου του σύγχρονου προγραμματισμού σε εργονομική βάση.
  3. Η δημιουργία οποιασδήποτε γλώσσας προγραμματισμού επόμενης γενιάς θα πρέπει να ξεκινά με ανάλυση των εργονομικών απαιτήσεων και να τελειώνει με την αξιολόγηση των εργονομικών χαρακτηριστικών της γλώσσας που προκύπτουν. Ένα από τα κύρια εμπόδια στην εφαρμογή αυτού του σχεδίου είναι η αδράνεια σκέψης πολλών ειδικών και η υποτίμηση της σημασίας των εργονομικών μεθόδων. Για να αλλάξουμε τα υπάρχοντα στερεότυπα σκέψης, είναι απαραίτητο να γίνουν σοβαρές αλλαγές στο πρόγραμμα σπουδών και στις μεθόδους διδασκαλίας της επιστήμης των υπολογιστών στο σχολείο και το πανεπιστήμιο.