Η καθημερινότητα κάθε ανθρώπου είναιεπίλυση ενός τεράστιου αριθμού εργασιών ποικίλης πολυπλοκότητας στην εργασία ή κατά τη μελέτη. Μερικές εργασίες είναι τόσο απλές που όταν τις ολοκληρώνουμε, κάνουμε συγκεκριμένες ενέργειες αυτόματα, χωρίς καν να σκεφτόμαστε. Η λύση σε οποιοδήποτε πρόβλημα, ακόμα και στο πιο απλό, συνήθως πραγματοποιείται διαδοχικά σε πολλά βήματα. Αυτό το είδος της ακολουθίας στην επίλυση προβλημάτων ονομάζεται αλγόριθμος. Σήμερα θα δούμε τι είναι οι γραμμικοί αλγόριθμοι, πώς απεικονίζεται η δομή τους, πώς λύνονται και προγραμματίζονται.
Αλγοριθμική γλώσσα
Αυτή η ιδέα είναι μια ακριβής συνταγή για τον ερμηνευτή να εκτελέσει μια συγκεκριμένη σειρά ενεργειών, η οποία στοχεύει στην επίλυση του προβλήματος.
Αυτή η γλώσσα είναι ένα μέσο για την περιγραφή αλγορίθμων που είναι συνήθως προσανατολισμένοι στον χρήστη.
Αν μιλάμε σε γλώσσα υπολογιστή, έτσιυποδεικνύεται η ακριβής συνταγή που ορίζει την υπολογιστική διαδικασία. Αυτό, με τη σειρά του, οδηγεί από τα αρχικά δεδομένα, τα οποία ποικίλλουν, στο αρχικό αποτέλεσμα.
Η ανάπτυξη αλγορίθμων είναι μια αρκετά περίπλοκη και χρονοβόρα διαδικασία. Είναι μια τεχνική για τη μεταγλώττιση (ανάπτυξη) μιας ακολουθίας ενεργειών που προορίζονται για την επίλυση προβλημάτων χρησιμοποιώντας έναν υπολογιστή.
Ιδιότητες αλγορίθμου
Μεταξύ των ακινήτων είναι:
- πεπεραστικότητα - συνίσταται στην ολοκλήρωση της εργασίας ολόκληρου του αλγορίθμου σε έναν καθορισμένο πεπερασμένο αριθμό σταδίων (βήματα).
- βεβαιότητα (ασάφεια) - αντιπροσωπεύει τη μοναδικότητα της ερμηνείας των κανόνων για την εκτέλεση των ενεργειών, καθώς και τη σειρά εφαρμογής τους.
- αποδοτικότητα - απόκτηση του απαιτούμενου αποτελέσματος σε οποιονδήποτε πεπερασμένο αριθμό βημάτων.
- κατανοητότητα - οι οδηγίες πρέπει να είναι σαφείς στον εκτελεστή.
- μαζικότητα - οι αλγόριθμοι θα πρέπει να είναι σε θέση να λύνουν μια ολόκληρη κατηγορία συγκεκριμένων προβλημάτων με μια γενική δήλωση προβλήματος.
Γραμμικοί αλγόριθμοι. Πληροφορική 9η τάξη
Έχουμε ήδη εξετάσει τους ορισμούς και τις ιδιότητες αυτής της έννοιας. Τώρα ας μιλήσουμε για τους τύπους του:
- γραμμικός;
- διακλάδωση?
- με βρόχο.
Μας ενδιαφέρουν οι γραμμικοί αλγόριθμοι. Τι είναι? Περιέχουν εντολές που πρέπει να εκτελούνται η μία μετά την άλλη με σαφή σειρά.
Η γραμμική δομή του αλγορίθμου μπορεί να γραφτεί σε λεκτική και γραφική μορφή.
Ας δώσουμε ένα τέτοιο παράδειγμα, γραμμένο σε προφορική μορφή. Έτσι, το καθήκον: ετοιμαστείτε για το σχολείο. Λύση:
- Αρχή.
- Σήκω πάνω.
- Κάντε τις ασκήσεις σας.
- Πλύσου.
- Ντύσου.
- Παίρνω πρωινό.
- Συλλέξτε ένα χαρτοφύλακα.
- Το τέλος.
Η γραφική μορφή της παραπάνω διαδικασίας θα αντιπροσωπεύει τα εξής:
Γραμμικός αλγόριθμος ως μπλοκ διάγραμμα
Το μπλοκ διάγραμμα είναι ενδεικτικόμια εικόνα ενός αλγορίθμου στον οποίο κάθε μεμονωμένο στάδιο απεικονίζεται χρησιμοποιώντας μπλοκ που αντιπροσωπεύονται με τη μορφή διαφόρων γεωμετρικών σχημάτων. Επιπλέον, η σύνδεση μεταξύ των σταδίων (με άλλα λόγια, η ακολουθία της σταδιακής εκτέλεσης) υποδεικνύεται με βέλη που συνδέουν τα σχήματα (μπλοκ). Κάθε μπλοκ συνοδεύεται από μια επιγραφή. Για τυπικές ενέργειες στον γραμμικό αλγόριθμο, χρησιμοποιούνται τα ακόλουθα γεωμετρικά σχήματα:
- Μπλοκ έναρξης-τελικού αλγόριθμου. Στο μπλοκ υπάρχει η επιγραφή "start" ή "end".
- Μπλοκ εισαγωγής-εξόδου δεδομένων.Αυτό το μπλοκ απεικονίζεται ως παραλληλόγραμμο. Σε αυτό τοποθετούνται οι ακόλουθες επιγραφές: "εισαγωγή", "έξοδος", "εκτύπωση". Συνοδεύονται επίσης από μια λίστα μεταβλητών εισόδου ή, αντίστοιχα, εξόδου.
- Αριθμητικό μπλοκ ή μπλοκ απόφασης. Αντιστοιχεί σε ορθογώνιο. Το μπλοκ πρέπει να έχει μια επιγραφή: "λειτουργία", "ομάδα λειτουργιών".
Εδώ, με τη βοήθεια τέτοιων μπλοκ διαγραμμάτων, απεικονίζεται η λύση γραμμικών αλγορίθμων. Στη συνέχεια, ας μιλήσουμε για τις ιδιαιτερότητες της εκχώρησης τιμών.
Γραμμικοί υπολογιστικοί αλγόριθμοι
Βασική στοιχειώδης δράση στον υπολογισμόΟ αλγόριθμος είναι η αντιστοίχιση μιας μεταβλητής σε μια συγκεκριμένη τιμή. Στην περίπτωση που η τιμή μιας σταθεράς καθορίζεται από τον τύπο του συμβολισμού της, η μεταβλητή θα λάβει μια συγκεκριμένη τιμή αποκλειστικά ως αποτέλεσμα της εκχώρησης. Αυτό μπορεί να γίνει με δύο τρόπους: χρησιμοποιώντας την εντολή εκχώρησης. χρησιμοποιώντας την εντολή εισαγωγής.
Παράδειγμα επίλυσης γραμμικού αλγορίθμου
Ακολουθεί ένα παράδειγμα περιγραφής των κανόνων για τη διαίρεση συνηθισμένων κλασμάτων χρησιμοποιώντας έναν γραμμικό αλγόριθμο, ο οποίος στα σχολικά εγχειρίδια έχει το ακόλουθο περιεχόμενο:
- ο αριθμητής του κλάσματος 1 πρέπει να πολλαπλασιαστεί με τον παρονομαστή του κλάσματος 2.
- ο παρονομαστής του κλάσματος 1 πρέπει να πολλαπλασιαστεί με τον αριθμητή του κλάσματος 2.
- απαιτείται να γραφεί ένα κλάσμα στο οποίο ο αριθμητής είναι το αποτέλεσμα της συμπλήρωσης 1 σημείου και ο παρονομαστής το αποτέλεσμα της συμπλήρωσης 2 σημείων. Η αλγεβρική μορφή αυτού του κανόνα είναι η εξής:
a / b: c / d = (a * d) / (b * d) = m / n.
Λοιπόν, ας κατασκευάσουμε έναν αλγόριθμο για τη διαίρεση των κλασμάτων για έναν υπολογιστή.Για να μην μπερδευτούμε, θα χρησιμοποιήσουμε τους ίδιους χαρακτηρισμούς για τις μεταβλητές όπως στον τύπο που αναφέρθηκε παραπάνω. a, b, c, d - αρχικά δεδομένα με τη μορφή ακέραιων μεταβλητών. Οι ακέραιες τιμές είναι επίσης το αποτέλεσμα. Η λύση στην αλγοριθμική γλώσσα θα είναι η εξής:
αλγ Διαίρεση κλασμάτων
νωρίς
άθικτος α, β, γ, δ, μ, ν
είσοδος α, β, γ, δ
m: = a * d
n: = β * γ
έξοδος m, n
ενάντιος
Γραφική μορφή λύσης
Το διάγραμμα του γραμμικού αλγορίθμου που περιγράφεται παραπάνω μοιάζει με αυτό:
Η εντολή ανάθεσης έχει την ακόλουθη μορφή:
Μεταβλητή: = έκφραση.
Το σύμβολο ": =" διαβάζεται ως εκχώρηση.
Μια ανάθεση είναι μια εντολή που χρειάζεται ένας υπολογιστής για να κάνει τα εξής:
- αξιολόγηση μιας έκφρασης.
- εκχωρώντας τη ληφθείσα τιμή στη μεταβλητή.
Ο παραπάνω αλγόριθμος περιέχει δύο εντολές ως ανάθεση. Στο μπλοκ διάγραμμα, η εντολή ανάθεσης πρέπει να γραφτεί σε ένα ορθογώνιο που ονομάζεται υπολογιστικό μπλοκ.
Όταν περιγράφονται γραμμικοί αλγόριθμοι, δεν υπάρχει κανένα ιδιαίτεροτην ανάγκη αυστηρής τήρησης αυστηρών κανόνων κατά τη σύνταξη εκφράσεων. Μπορείτε να τα γράψετε χρησιμοποιώντας τη συνηθισμένη μαθηματική φόρμα. Εξάλλου, αυτή δεν είναι η αυστηρή σύνταξη μιας γλώσσας προγραμματισμού.
Στο συγκεκριμένο παράδειγμα του αλγορίθμου, υπάρχει επίσης μια εντολή εισαγωγής:
Εισαγωγή α, β, γ, δ.
Γράφεται μια εντολή εισόδου σε ένα μπλοκ διάγραμμαπαραλληλόγραμμο, δηλαδή στο μπλοκ I/O. Κατά την εκτέλεση αυτής της εντολής, ο επεξεργαστής διακόπτει την εργασία μέχρι ο χρήστης να προβεί σε συγκεκριμένες ενέργειες. Δηλαδή: ο χρήστης πρέπει να πληκτρολογήσει τις μεταβλητές εισόδου (τις τιμές τους) στη συσκευή εισόδου (πληκτρολόγιο) και να πατήσει Enter, που είναι το κλειδί εισόδου. Είναι σημαντικό οι τιμές να εισάγονται με την ίδια σειρά με τις αντίστοιχες μεταβλητές στη λίστα καταχώρισης.
Γραμμικός αλγόριθμος. Ο προγραμματισμός του
Όπως αναφέρθηκε στην αρχή αυτού του άρθρου, τα γραμμικά προγράμματα μπορούν να περιλαμβάνουν τους ακόλουθους τελεστές:
- ΑΝΑΘΕΣΗ ΕΡΓΑΣΙΑΣ;
- εισαγωγή;
- εξόδου.
Δηλαδή, χρησιμοποιώντας τους παρατιθέμενους τελεστές, προγραμματίζονται γραμμικοί αλγόριθμοι.
Έτσι, ο τελεστής ανάθεσης στη γλώσσα προγραμματισμού γράφεται ως εξής:
ΕΣΤΩ A = B, όπου το A είναι μια μεταβλητή, το B είναι μια έκφραση. Για παράδειγμα, A = Y + 20.
Ο τελεστής εισόδου μοιάζει με αυτό:
INPUT, για παράδειγμα: INPUT C
Ο τελεστής για την έξοδο δεδομένων, τιμών, γράφεται με την ακόλουθη μορφή:
ΤΥΠΩΝΩ. Για παράδειγμα, PRINT C.
Ας πάρουμε ένα απλό παράδειγμα. Πρέπει να γράψουμε ένα πρόγραμμα που θα βρίσκει το άθροισμα των αριθμών Α και Β που εισάγονται από το πληκτρολόγιο.
Στη γλώσσα προγραμματισμού, θα λάβουμε ένα πρόγραμμα, το κείμενο του οποίου φαίνεται παρακάτω.
Τελεστές εισόδου, εξόδου στη γλώσσα προγραμματισμού Pascal
Ο Pascal δεν διακρίνει ειδικούς τελεστές,που δηλώνει πράξεις εισόδου ή εξόδου που χρησιμοποιούν γραμμικούς αλγόριθμους. Στα προγράμματα, η ανταλλαγή πληροφοριών πραγματοποιείται χρησιμοποιώντας ενσωματωμένες διαδικασίες. Δεδομένου ότι δεν υπάρχει ανάγκη για μια προκαταρκτική περιγραφή της τυπικής διαδικασίας, είναι διαθέσιμη σε κάθε πρόγραμμα που περιέχει κλήση σε αυτήν. Επίσης, το όνομα της αναφερόμενης διαδικασίας δεν εμφανίζεται ως καμία δεσμευμένη λέξη.
Η εισαγωγή δεδομένων χρησιμοποιεί τέτοιους τελεστές για να αναφέρεται σε μια τυπική ρουτίνα εισαγωγής δεδομένων που είναι ήδη ενσωματωμένη στο πρόγραμμα.
Διαβάστε (A, B, C), όπου τα A, B, C είναι μεταβλητές που πρέπει να εισαχθούν στη μνήμη RAM για απομνημόνευση.
Readlnn (x1, y, x2) - μετά την ολοκλήρωση της εισαγωγής, ο δρομέας μετακινείται στην αρχή μιας νέας γραμμής.
Readlnn; - υποδεικνύει την προσδοκία να πατήσετε "Enter". Συνήθως, αυτή η δήλωση εισάγεται στο κείμενο πριν από το τελευταίο "Τέλος" για αποθήκευση των αποτελεσμάτων της εκτέλεσης του προγράμματος στην οθόνη περιεχομένου.
Η έξοδος δεδομένων στην οθόνη της οθόνης πραγματοποιείται χρησιμοποιώντας τους ακόλουθους τελεστές:
Γράψτε (А, В, С) - έχοντας καθορίσει τις τιμές А, В, С σε μία γραμμή, ο δρομέας δεν φεύγει από την τρέχουσα γραμμή.
Writeln (z, y, z2) - αφού τελειώσει η εμφάνιση των τιμών, ο δρομέας σε αυτή τη θέση θα μετακινηθεί σε μια νέα γραμμή.
Writeln; - υποδηλώνει την παράλειψη μιας γραμμής και τη μετάβαση στην αρχή μιας νέας.
Με τη βοήθεια τόσο απλών τελεστών πραγματοποιείται η εισαγωγή και η έξοδος δεδομένων στη γλώσσα Pascal.