ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΑ: 2 ,7 ΚΕΦ. 2-ΒΑΣ. ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΑΕΠΠ
ΑΛΓΟΡΙΘΜΟΙ Αλγόριθμος : Πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο για την επίλυση ενός προβλήματος Κριτήρια Είσοδος : 0 ή περισσότερες τιμές δεδομένων ως είσοδοι. 0 στην περίπτωση που Ο αλγόριθμος δημιουργεί και επεξεργάζεται πρωτογενείς τιμές με την βοήθεια Συναρτήσεων παραγωγής τυχαίων αριθμών ή άλλων απλών εντολών. Εξοδος: Μία ή περισσότερες τιμές προς τον χρήστη ή άλλο αλγόριθμο. Περατότητα : Τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης των εντολών. Καθοριστικότητα : Καμμιά αμφιβολία για τον τρόπο εκτέλεσης κάθε Εντολής. (καλύπτουμε όλες τις περιπτώσεις, πχ. Δεν επιτρέπουμε τη διαίρεση με το μηδέν) Αποτελεσματικότητα : Κάθε μεμονωμένη εντολή πρέπει να είναι απλή, ώστε να μπορεί να εκτελεσθεί. Υπολογιστική διαδικασία (computational procedure) : Δεν ολοκληρώνεται μετά από πεπερασμένο αριθμό βημάτων, δεν είναι αλγόριθμος ΚΕΦ. 2-ΒΑΣ. ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΑΕΠΠ
ΠΕΡΙΓΡΑΦΗ / ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΩΝ Ελεύθερο Κείμενο : Αδόμητος κι ανεπεξέργαστος τρόπος , μπορεί να παραβιάσει την αποτελεσματικότητα Διαγραμματικές τεχνικές – διάγραμμα ροής (flow chart) (όχι η καλύτερη λύση) Φυσική γλώσσα κατά βήματα : Μπορεί να παραβιασθεί η καθοριστικότητα Κωδικοποίηση : Πρόγραμμα γραμμένο σε κάποια γλώσσα προγ/μου ή ψευδογλώσσα, που όταν θα εκτελεσθεί θα δώσει τα ίδια αποτελέσματα με τον αλγόριθμο. ΚΕΦ. 2-ΒΑΣ. ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΑΕΠΠ
ΚΩΔΙΚΟΠΟΙΗΣΗ ΑΛΓΟΡΙΘΜΟΥ Ψευδογλώσσα ΓΛΩΣΣΑ (Πρόγραμμα) Δηλωτική εντολή Δηλωτική εντολή Αλγόριθμος Ονομα Εκτελεστέες εντολές Είσοδος δεδομένων Επεξεργασία Εξοδος αποτελεσμάτων Σχόλια (!......) Τέλος Ονομα ΠΡΟΓΡΑΜΜΑ ΟΝΟΜΑ Δηλωτικές εντολές Σταθερές Μεταβλητές ΑΡΧΗ Εκτελεστέες Εντολές Σχόλια (!...) ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Δηλωτική εντολή Δηλωτική εντολή ΚΕΦ. 2-ΒΑΣ. ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΑΕΠΠ
Αλγόριθμος σε ψευδογλώσσα Δομή ακολουθίας (χαρακτηριστικά) Αλγόριθμος ΦΠΑ Διάβασε α_ποσό φπα_ποσόα_ποσό * 23/100 ! Ή φπα_ποσόα_ποσό * 0, 23 τ_ποσόα_ποσό+φπα_ποσό Εμφάνισε “Το τελικό ποσό είναι :”, τ_ποσό Τέλος ΦΠΑ ΜΕΤΑΒΛΗΤΕΣ ΣΤΑΘΕΡΕΣ ΕΙΣΟΔΟΣ ΕΞΟΔΟΣ ΕΠΕΞΕΡΓΑΣΙΑ ΚΕΦ. 2-ΒΑΣ. ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΑΕΠΠ
ΕΚΦΡΑΣΕΙΣ (1) ΠΑΡΑΔΕΙΓΜΑΤΑ ΑΡΙΘΜΗΤΙΚΕΣ (το αποτέλεσμα υπολογισμού της έκφρασης είναι μια αριθμητική τιμή) πχ: α*β – c, x+3*y. Αποτελούνται από: Τελεστές (κατά σειρά προτεραιότητας) Παρενθέσεις ^ (ύψωση σε δύναμη) *, /, div (πηλίκο ακεραίων), mod (υπόλοιπο διαίρεσης ακεραίων) +, - Τελεσταίους : μεταβλητές, σταθερές , συναρτήσεις ΠΑΡΑΔΕΙΓΜΑΤΑ C 20 Y 13 -2 ^ 2 = X 50 + C / 2 * Y = Χ 50 + C / (2*Y) = ------------------------------------------------------------------------- Q 15 div 2 ^ 2 = Q 15 div 2 mod 2 = Q 10/4 * 10 mod 30 + 5 = ΚΕΦ. 2-ΒΑΣ. ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΑΕΠΠ
ΕΚΦΡΑΣΕΙΣ (2) ΛΟΓΙΚΕΣ (το αποτέλεσμα υπολογισμού της έκφρασης είναι η τιμή Αληθής ή Ψευδής) ΑΠΛΕΣ ΛΟΓΙΚΕΣ Πχ : poso1≠100, Α > Β+7, Χ-Υ=3 Τελεστές : Συγκριτικοί (< , > , ≥, ≤, ≠, =) (προαιρετικά) αριθμητικοί τελεστές Σημείωση : Η σύγκριση χαρακτήρων βασίζεται στην αριθμητική σειρά, πχ : “a” < “b” (αληθής) , «καλός» < «κακός» (ψευδής) ΣΥΝΘΕΤΕΣ ΛΟΓΙΚΕΣ (οι τελεσταίοι είναι απλές λογικές προτάσεις) Πχ : Α>3 ΚΑΙ Α<8 , Α=5 Η Α-Β>7 Τελεστές : Λογικοί (ΟΧΙ, ΚΑΙ, Η) Συγκριτικοί (< , > , ≥, ≤, ≠, =) (προαιρετικά) αριθμητικοί τελεστές Σε μια λογική έκφραση, οι αριθμητικές πράξεις (αν υπάρχουν) εκτελούνται πρώτες. Επίσης οι πράξεις σύγκρισης εκτελούνται πριν τις λογικές. ΚΕΦ. 2-ΒΑΣ. ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΑΕΠΠ