ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων

Post on 03-Dec-2014

2.804 views 0 download

description

 

Transcript of ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων

Βασικές Έννοιες Αλγορίθμων

Κεφάλαιο 2

Βασικές Έννοιες Αλγορίθμων

Τι είναι αλγόριθμος

Αλγόριθμος είναι

μια πεπερασμένη σειρά ενεργειών,

αυστηρά καθορισμένων και

εκτελέσιμων σε πεπερασμένο χρόνο, που

στοχεύουν στην επίλυση ενός προβλήματος

Βασικές Έννοιες Αλγορίθμων

Για να είναι αλγόριθμος …

Είσοδος Καμία, μία ή περισσότερες τιμές δεδομένων

για είσοδο Έξοδος

Τουλάχιστον ένα αποτέλεσμα Καθοριστικότητα

Σαφώς καθορισμένες εντολές Περατότητα

Να τελειώνει μετά από πεπερασμένο αριθμό βημάτων

Αποτελεσματικότητα Απλές και εκτελέσιμες εντολές

Βασικές Έννοιες Αλγορίθμων

Καθοριστικότητα

Κάθε βήμα να είναι διατυπωμένο με σαφήνεια

Δεν υπάρχουν αμφιβολίες για το τι πρέπει να κάνουμε. Διαίρεση: Πρέπει ο αλγόριθμος της

διαίρεσης να προβλέπει την περίπτωση διαίρεσης με το O

Σε μια συνταγή, η έκφραση «Βάλε λίγο αλάτι» δεν είναι σαφώς καθορισμένη. Τι πάει να πει «λίγο»;

Βασικές Έννοιες Αλγορίθμων

Αποτελεσματικότητα

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

Για κάθε βήμα του αλγορίθμου θα πρέπει να υπάρχει αντίστοιχη εντολή στη γλώσσα προγραμματισμού έτσι ώστε να μπορεί ο αλγόριθμος να μετατραπεί σε εκτελέσιμο πρόγραμμα. Η εντολή «Βρες το μεγαλύτερο από 100

αριθμούς» δεν υπάρχει. Πρέπει να αναλυθεί σε πολλές απλούστερες εντολές

Βασικές Έννοιες Αλγορίθμων

Σχετικά με Καθοριστικότητα & Αποτελεσματικότητα

Η παραβίαση οποιουδήποτε από τα δύο κριτήρια οδηγεί σε μη εκτελέσιμους αλγορίθμους

Παραβίαση της καθοριστικότητας σημαίνει έλλειψη σαφήνειας

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

Βασικές Έννοιες Αλγορίθμων

Κριτήρια αλγορίθμων

Είσοδος (δεδομένα)

Έξοδος (αποτελέσματα)

Καθοριστικότητα (όχι ασάφεια, όχι αμφιβολία)

Περατότητα (δεν εκτελείται επ’άπειρον)

Αποτελεσματικότητα (απλές & εφικτές εντολές)

Βασικές Έννοιες Αλγορίθμων

Περιγραφή και αναπαράσταση αλγορίθμων

Ελεύθερο κείμενο Ανεπεξέργαστος και αδόμητος τρόπος,

ενδέχεται να παραβιάζει το κριτήριο της αποτελεσματικότητας.

Διαγραμματικές τεχνικές Γραφικός τρόπος (π.χ. διάγραμμα ροής).

Φυσική γλώσσα Περιγραφή με φυσική γλώσσα κατά βήματα.

Ενδέχεται να παραβιάζει το κριτήριο της καθοριστικότητας

Κωδικοποίηση Πρόγραμμα γραμμένο σε ψευδογλώσσα ή σε

κάποια γλώσσα προγραμματισμού . Το πρόγραμμα δίνει τα ίδια αποτελέσματα με τον αλγόριθμο

Βασικές Έννοιες Αλγορίθμων

Διάγραμμα ροής

Συμβολική γλώσσα Χρησιμοποιούνται γεωμετρικά

σχήματα Τα γεωμετρικά σχήματα είναι

σύμβολα Κάθε σύμβολο δηλώνει μια ενέργεια

ή μια λειτουργία Τα σύμβολα έχουν περιεχόμενο

όταν αυτό απαιτείται για να αποκτήσουν νόημα

Α 5

Βασικές Έννοιες Αλγορίθμων

Διάγραμμα ροήςΑρχή

Τέλος

Βασικές Έννοιες Αλγορίθμων

Έξοδος

Είσοδος

Διάγραμμα ροήςΑρχή

Διάβασε …..

Τέλος

Γράψε …….

Συνθήκη Πράξεις

Διάγραμμα ροής

Βασικές Έννοιες Αλγορίθμων

Αρχή

Διάβασε …..

Τέλος

Γράψε …

Γράψε …….

Συνθήκη Πράξεις

Διάγραμμα ροής

Βασικές Έννοιες Αλγορίθμων

Αρχή

ΔιάβασεΧ

Χ<0Χ>0

Τέλος

Χ<-0

Γράψε Χ

Γράψε Χ

Βασικές Έννοιες Αλγορίθμων

Βασικές συνιστώσες/ εντολές αλγορίθμου

Δομές ελέγχου

Δομή Ακολουθίας

Δομή Επιλογής

Δομή Επανάληψης

Βασικές Έννοιες Αλγορίθμων

Βασικές συνιστώσες/ εντολές αλγορίθμου

Δομές ελέγχου

Δομή Ακολουθίας

Δομή Επιλογής

Δομή Επανάληψης

Βασικές Έννοιες Αλγορίθμων

Δομή ακολουθίας

Ακολουθιακή δομή εντολών (σειριακή εκτέλεση εντολών)

Δεδομένη η σειρά εκτέλεσης Συνήθως απλά προβλήματα

Βασικές Έννοιες Αλγορίθμων

Πράξεις : μεταξύ ποιών αντικειμένωνΜαθηματικά: Αλγόριθμος:

Α= 3+5Β=-5Γ=Α+Β

Αλγόριθμος Παράδειγμα _1

Α3+5Β -5ΓΑ+ΒΕμφάνισε Γ

Τέλος Παράδειγμα _1

Βασικές Έννοιες Αλγορίθμων

Διάγραμμα ροής

Αλγόριθμος Παράδειγμα _1

Α3+5Β -5ΓΑ+Β

Εμφάνισε Γ

Τέλος Παράδειγμα _1

Αρχή

Τέλος

Α3+5Β -5

ΓΑ+Β

Εμφάνισε Γ

Βασικές Έννοιες Αλγορίθμων

Αλγόριθμος Παράδειγμα _1

Α3+5Β -5ΓΑ+ΒΕμφάνισε Γ

Τέλος Παράδειγμα _1

Αλγόριθμος Παράδειγμα _1

Διάβασε ΑΒ -5ΓΑ+ΒΕμφάνισε Γ

Τέλος Παράδειγμα _1

Αλγόριθμος Παράδειγμα _1

Διάβασε ΑΔιάβασε ΒΓΑ+ΒΕμφάνισε Γ

Τέλος Παράδειγμα _1

Βασικές Έννοιες Αλγορίθμων

Σταθερές

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

Είδη Σταθερών Αριθμητικές 123 , 3,14, -1,2 Αλφαριθμητικές «Ονομα», «

Επώνυμο» «2004» Λογικές Αληθής , Ψευδής

Βασικές Έννοιες Αλγορίθμων

Μεταβλητές

Γλωσσικό αντικείμενο που χρησιμοποιείται να παραστήσει ένα στοιχείο δεδομένου

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

Είδη Μεταβλητών Ακέραιες Πραγματικές Αλφαριθμητικές Λογικές

Βασικές Έννοιες Αλγορίθμων

Τελεστές Σύμβολα που χρησιμοποιούνται για να δηλώνουν πράξεις

Αριθμητικοί + , - , * , / ^ Div Mod

Συγκριτικοί <=, >=, =, <>, >, <

Λογικοί και ή όχι

Βασικές Έννοιες Αλγορίθμων

Εκφράσεις Διαμορφώνονται από

Σταθερές, μεταβλητές Τελεστές Συναρτήσεις Παρενθέσεις () ΌΧΙ αγκύλες

Δίνω τιμές σε μεταβλητές Εκτελούνται πράξεις

Πχ ΑΒ (οι Α και Β ίδιου τύπου δεδομένων)Α3 Α3+5Α Β ή Γ Α Β>3

Βασικές Έννοιες Αλγορίθμων

Φτιάξε έναν απλό αλγόριθμο που να εμφανίζει τη φράση «Απλός Αλγόριθμος»

Αλγόριθμος Παράδειγμα _2Εμφάνισε ‘’Απλός Αλγόριθμος’’

Τέλος Παράδειγμα _2

Βασικές Έννοιες Αλγορίθμων

Φτιάξε έναν απλό αλγόριθμο που να διαβάζει δύο αριθμούς α και β και να εμφανίζει το άθροισμά τους

Αλγόριθμος Παράδειγμα _3Διαβασε αΔιαβασε βγ α+β Εμφάνισε γ

Τέλος Παράδειγμα _2

Βασικές Έννοιες Αλγορίθμων

Φτιάξε έναν απλό αλγόριθμο που να διαβάζει δύο αριθμούς α και β και να εμφανίζει το άθροισμά τους

Αλγόριθμος Παράδειγμα _3Διαβασε αΔιαβασε βγ α+β Εμφάνισε γ

Τέλος Παράδειγμα _3

Βασικές Έννοιες Αλγορίθμων

Τι εμφανίζει ο Αλγόριθμος που ακολουθεί

Αλγόριθμος Παράδειγμα _4α 2β 1γ α+β Εμφάνισε γ

Τέλος Παράδειγμα _4

Βασικές Έννοιες Αλγορίθμων

Τι εμφανίζεται όταν εκτελεστούν οι παρακάτω εντολές

Αλγόριθμος Παράδειγμα _5α 2Εμφάνισε αβ 1Εμφάνισε βγ α+β Εμφάνισε γ

Τέλος Παράδειγμα _5

Βασικές Έννοιες Αλγορίθμων

Τι εμφανίζεται όταν εκτελεστούν οι παρακάτω εντολές

α 2Εμφάνισε α, γβ 1Εμφάνισε β,γγ α+β Εμφάνισε γ

Βασικές Έννοιες Αλγορίθμων

Ιεραρχία πράξεων

^ *, /, div, mod +, - Οι πράξεις ίδιας προτεραιότητας

εκτελούνται από αριστερά προς δεξιά

Βασικές Έννοιες Αλγορίθμων

DIV & MOD & Χρήσιμα ….για Ασκήσεις

Αdiv B : To πηλίκο της ακεραίας διαίρεσης του Α δια Β

Αmod B: To υπόλοιπο της ακεραίας διαίρεσης του Α δια Β

ΑmodΒ = 0

Tο Α είναι πολλαπλάσιο του Β

Αmod2 = 1

To A είναι περιττός

Amod2 = 0

To A είναι άρτιος

Βασικές Έννοιες Αλγορίθμων

(από το 2006)

Να γράψετε τους αριθμούς της Στήλης Α και δίπλα το γράμμα της Στήλης Β που αντιστοιχεί σωστά. Στη Στήλη Β υπάρχει ένα επιπλέον στοιχείο. Στήλη Α Στήλη Β1. “ΑΛΗΘΗΣ” α. λογικός τελεστής 2. ΚΑΙ β. μεταβλητή 3. α > 12 γ. αλφαριθμητική σταθερά 4. αριθμός_παιδιών δ. λογική σταθερά 5. ≤ ε. συγκριτικός τελεστής

στ. συνθήκη

1γ, 2 α, 3 στ, 4 β, 5 ε

Βασικές Έννοιες Αλγορίθμων

Λογικές εκφράσεις

Α Β Α ή Β Α ΚΑΙ Β Όχι Α Όχι Β

Αληθής Αληθής

Αληθής Ψευδής

Ψευδής Αληθής

Ψευδής Ψευδής

A ή Β Αληθές αν Ένα από τα δύο είναι ΑληθέςΑ και Β Αληθές όταν ΚΑΙ τα δύο είναι ΑληθήΌχι Α Είναι το λογικό αντίστροφο του Α

Βασικές Έννοιες Αλγορίθμων

Λογικές εκφράσεις

Α Β Α ή Β Α ΚΑΙ Β Όχι Α Όχι Β

Αληθής Αληθής T T F F

Αληθής Ψευδής T F F T

Ψευδής Αληθής T F. T F

Ψευδής Ψευδής F F T T

Βασικές Έννοιες Αλγορίθμων

Έστω Χ ψευδής και Υ Αληθής . Προσδιορίστε τις τιμές των εκφράσεων:

Χ και Όχι Υ Όχι Χ και Υ Χ ή Υ Όχι (Χ και Υ) Όχι (Χ και Όχι Υ)

Βασικές Έννοιες Αλγορίθμων

Έστω Χ ψευδής και Υ Αληθής . Προσδιορίστε τις τιμές των εκφράσεων:

Χ και Όχι Υ Ψ Όχι Χ και Υ Α Χ ή Υ Α Όχι (Χ και Υ) Α Όχι (Χ και Όχι Υ) Α

Βασικές Έννοιες Αλγορίθμων

Έστω Χ ψευδής και Υ Αληθής και το Ζ έχει τιμή αλλά δεν την γνωρίζω. Προσδιορίστε τις τιμές των εκφράσεων:

Χ και Υ και Ζ Χ ή Υ ή Ζ Όχι Ζ Όχι Ζ ή Ζ Όχι Χ ή (Υ και Ζ)

Βασικές Έννοιες Αλγορίθμων

Έστω Χ ψευδής και Υ Αληθής και το Ζ έχει τιμή αλλά δεν την γνωρίζω. Προσδιορίστε τις τιμές των εκφράσεων:

Χ και Υ και Ζ Ψ Χ ή Υ ή Ζ Α Όχι Ζ απρ Όχι Ζ ή Ζ Α Όχι Χ ή (Υ και Ζ) Α

Βασικές Έννοιες Αλγορίθμων

Αντιστοιχήστε τη στήλη Α που περιέχει τιμές μεταβλητών με τη στήλη Β που περιέχει τύπους μεταβλητών :

Στήλη Α Στήλη Β

1 15 Α Ακέραιος

2 ‘15’ Β Αλφαριθμητική

3 ‘15+15’ C Πραγματικός

4 -15 D Λογική

1 Α, 2 Β, 3 Β, 4Α

Βασικές Έννοιες Αλγορίθμων

Στήλη Α Στήλη Β

1 A*B/A^2 Α Πραγματικός

2 T_Ρ(Α_Τ(Α-Β) ) Β Ακέραιος

3 ΒDivΑ C Λογική μεταβλητή

4 ( T_Ρ(Α_Τ(Α-Β) )) > (A*B)/A^2

D Αλφαριθμητική

Αντιστοιχήστε τη στήλη Α που περιέχει εκφράσεις με τη στήλη Β που περιέχει τύπους μεταβλητών :

1 Α, 2 Α, 3 Β, 4C

Βασικές Έννοιες Αλγορίθμων

Βασικές συνιστώσες/ εντολές αλγορίθμου

Δομές ελέγχου

Δομή Ακολουθίας

Δομή Επιλογής

Δομή Επανάληψης

Βασικές Έννοιες Αλγορίθμων

Η εντολή αν Απλή α

1. Αν <συνθήκη> τότε 2. <ομάδα

_εντολών_1 >3. Τέλος_αν

Βασικές Έννοιες Αλγορίθμων

Η εντολή αν Απλή β

1. Αν <συνθήκη> τότε 2. <ομάδα

_εντολών_1 >3. αλλιώς 4.

<ομάδα _εντολών_2>5. Τέλος_αν

Βασικές Έννοιες Αλγορίθμων

Η εντολή αν Εμφωλευμένη

Αν <συνθήκη1> τότε <ομάδα _εντολών_1 >

αλλιώς Αν <συνθήκη2> τότε

<ομάδα _εντολών_3αλλιώς

<ομάδα _εντολών_4>

Τέλος_αν

Τέλος_αν

Βασικές Έννοιες Αλγορίθμων

Η εντολή αν Εμφωλευμένη

Αν <συνθήκη1> τότε <ομάδα _εντολών_1 >

αλλιώς Αν <συνθήκη2> τότε

<ομάδα _εντολών_3αλλιώς

<ομάδα _εντολών_4>

Τέλος_αν

<ομάδα _εντολών_2>Τέλος_αν

Βασικές Έννοιες Αλγορίθμων

Η εντολή αν Πολλαπλή

Αν <συνθήκη1> τότε <ομάδα _εντολών_1 >

αλλιώς _αν <συνθήκη2> τότε <ομάδα _εντολών_2

….αλλιώς _αν <συνθήκην> τότε

<ομάδα _εντολών_ναλλιώς <ομάδα _εντολών_ν+1>

Τέλος_αν

Βασικές Έννοιες Αλγορίθμων

Η εντολή αν

1. Αλγόριθμος απλη_επιλογη2. διαβασε α,β

3. Αν α>β τότε 4. μεγιστο ← α5. αλλιώς 6. μεγιστο ← β7. Τέλος_αν 8. Εκτυπωσε μεγιστο 9. Τέλος απλη_επιλογη

Βασικές Έννοιες Αλγορίθμων

Οι αλγόριθμοι έχουν το ίδιο αποτέλεσμα;

1. Αλγόριθμος επιλογη2. διαβασε α,β

3. Αν α>β τότε 4. μεγιστο ← α5. αλλιώς_αν α<β

τοτε 6. μεγιστο ← β7. Τέλος_αν 8. Εκτυπωσε μεγιστο 9. Τέλος επιλογη

1. Αλγόριθμος απλη_επιλογη2. διαβασε α,β

3. Αν α>β τότε 4. μεγιστο ← α5. αλλιώς 6. μεγιστο ← β7. Τέλος_αν 8. Εκτυπωσε μεγιστο 9. Τέλος απλη_επιλογη

Βασικές Έννοιες Αλγορίθμων

Βασικές Έννοιες Αλγορίθμων

Βασικές Έννοιες Αλγορίθμων

Διαβάστε τρεις αριθμούς και υπολογίστε και εκτυπώστε

Α)το μέσο όρο Β) το μέγιστοΚαι Γ) εκτυπώστε μήνυμα αν δυο από

αυτούς είναι ίσοι

Βασικές Έννοιες Αλγορίθμων

Αλγόριθμος μεσος_ορος_επιλογηδιαβασε α,β,γμεγιστο ← αΑν α>β τότε

μεγιστο ← αΑν γ>α τότε μεγιστο ←γτελος_αναλλιώς_αν β>=α τοτε μεγιστο ← βΑν γ>β τοτε μεγιστο ←γτελος_αν

Τέλος_αν Εκτυπωσε 'Μεγιστο:', μεγιστο Μεσος_όρος←(α+β+γ)/3Εκτύπωσε ' μεσος όρος: ', Μεσος_όροςΑν α=β ή α= γ ή β=γ τοτε

εκτυπωσε 'οι δυο είναι ίσοι' Τέλος_αν

Τέλος μεσος_ορος_επιλογη

Βασικές Έννοιες Αλγορίθμων

Βασικές Έννοιες Αλγορίθμων

Πηγές http://www.aepp.gr/gr/ http://ideas-by-alkinoos.blogspot.com/2

009/02/blog-post.html http://users.kor.sch.gr/ptsiotakis/old/

aepp/aepp.htm http://www.algorithmoi.com/