Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Ενότητα 4: Τελεστές - Αλγόριθμος Διδάσκουσα: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών ΤΕ
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Δυτικής Μακεδονίας και στην Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
Σκοποί ενότητας Να κατανοήσει ο φοιτητής τους τελεστές και τη χρήση τους, καθώς και την έννοια των αλγορίθμων. 4
Περιεχόμενα Τελεστές. Αριθμητικοί Συγκριτικοί- Λογικοί Τελεστές. Σχεσιακές και Λογικές Συναρτήσεις. Αλγόριθμος. Ψευδοκώδικας. Λογικό Διάγραμμα. 5
Πρόγραμμα Τα στοιχεία τα οποία είναι απαραίτητα για τη συγγραφή του κώδικα ενός προγράμματος σε κάθε γλώσσα προγραμματισμού είναι οι μεταβλητές, οι τελεστές και οι εντολές. 6
Μεταβλητές Οι μεταβλητές αντιστοιχούν σε θέσεις στη μνήμη του υπολογιστή για προσωρινή αποθήκευση δεδομένων και αποτελεσμάτων. Βασικοί τύποι μεταβλητών είναι μεταβλητές χαρακτήρων, αριθμητικές μεταβλητές (ακέραιες και κινητής υποδιαστολής) και λογικές. 7
Τελεστές Οι τελεστές είναι σύμβολα που παριστάνουν πράξεις ή συναρτήσεις με τις οποίες ο υπολογιστής συσχετίζει τις μεταβλητές ( κάνει πράξεις, τις συγκρίνει κ.λ.π.). 8
Οι βασικοί τελεστές είναι: Εικόνα 1: Κατηγορίες τελεστών. Πηγή: Διδάσκουσα (2015). 9
Σχεσιακές συναρτήσεις_1 Αντί των σχεσιακών (συγκριτικών) τελεστών μπορούν να χρησιμοποιηθούν σχεσιακές συναρτήσεις. lt < μικρότερος (less than) gt > μεγαλύτερος (greater than) le ge <= μικρότερος ή ίσος (less than or equal) >= μεγαλύτερος ή ίσος(greater than or equal) eq == ίσος (equal) ne ~= άνισος (not equal) 10
Σχεσιακές συναρτήσεις_2 Παρατηρούμε ότι σε αντίθεση με την εκχώρηση τιμής, όπου χρησιμοποιείται το =, για την ισότητα, στις λογικές προτάσεις χρησιμοποιείται το = = o οποίος είναι τελεστής σύγκρισης. Η σύγκριση μεταξύ δύο αριθμών μας δίνει τη λογική μονάδα, αν αυτή είναι αληθής η σύγκριση και το λογικό μηδέν, αν είναι ψευδής. 11
Ισοδύναμες παραστάσεις a==b 1>=8 a~=b (a+b)<c/d (a-b)>c*d eq(a,b) ge(1,8) ne(a,b) lt(a+b,c/d) gt(a-b,c*d) 12
Παράδειγμα_1 >> x=1;y=0; >> x>y ans = 1 >> x==2 ans = 0 >>x~=10 ans = 1 13
Παράδειγμα_2 >> 100>=100 ans = 1 >>80<=50 ans = 0 >> 100~=50 ans = 1 14
Λογικές Συναρτήσεις Αντί των λογικών τελεστών μπορούν να χρησιμοποιηθούν λογικές συναρτήσεις. and & λογικό και (logical and) or λογικό ή (logical or) not ~ λογικό όχι (logical not) 15
Ισοδύναμες εντολές p & q είναι ισοδύναμη με την and(p,q). p q είναι ισοδύναμη με την or(p,q). Η ~ p είναι ισοδύναμη με την not(p). 16
Λογικές Προτάσεις Έχουμε τις είναι λογικές προτάσεις p και q. Η p & q μας δίνει την τιμή 1, μόνο αν οι p και q είναι αληθείς (και οι δύο). Η p q μας δίνει την τιμή 1, αν τουλάχιστοv μία από τις p και q είναι αληθής. Η ~ p μας δίνει την τιμή 1, μόνο αν η p είναι ψευδής και την τιμή 0 αν η p είναι αληθής. 17
Παράδειγμα_3 Έχουμε μία αληθή και μία ψευδή πρόταση. >> p=1==1 p = 1 >> q=2<1 q = 0 18
Αποτελέσματα Εικόνα 2: Αποτελέσματα ασκήσεων. Πηγή: Διδάσκουσα (2015). 19
Εντολές Εντολές είναι οι οδηγίες προς τον υπολογιστή να κάνει κάποια ενέργεια. Εντολές είναι και οι συναρτήσεις που είναι ένα σύνολο εντολών. 20
Αλγόριθμος_1 Αλγόριθμος καλείται η διαδοχική σειρά ορισμένου πλήθους λογικών βημάτων τα οποία απαιτούνται για την επίλυση ενός προβλήματος. Είναι μια μέθοδος για την επίλυση ενός προβλήματος. Κάθε ενέργεια ή βήμα του αλγόριθμου λέγεται εντολή. Κάθε εντολή πρέπει να είναι κατανοητή από εκείνον που θα εκτελέσει τον αλγόριθμο. 21
Αλγόριθμος_2 Ο αλγόριθμος για κάθε πρόβλημα θα πρέπει να είναι κατανοητός και από άλλους και από εμάς όταν μετά από καιρό θέλουμε να θυμηθούμε ή να τροποποιήσουμε τον αλγόριθμό μας. Απαραίτητο είναι να γίνει τυποποίηση του τρόπου με τον οποίο κάθε φορά θα αναπαρίστανται οι αλγόριθμοι που σχεδιάζουμε. 22
Αναπαράσταση αλγορίθμων Σκοπός ενός αλγορίθμου είναι να εκφράσει την διαδικασία επίλυσης ενός προβλήματος με τρόπο κατανοητό και κατάλληλο για κωδικοποίηση σε μια γλώσσα προγραμματισμού. Οι κυριότεροι τρόποι αναπαράστασης ενός αλγορίθμου είναι ο ψευδοκώδικας και το λογικό διάγραμμα (flow chart). 23
Ψευδοκώδικας Ψευδοκώδικας είναι εργαλείο που χρησιμοποιείται από προγραμματιστές, κυρίως στα αρχικά στάδια της σχεδίασης και κατασκευής ενός προγράμματος. Με τον ψευδοκώδικα, τα βήματα μιας λύσης ή η μορφή ενός αλγορίθμου περιγράφονται με σύντομες και περιεκτικές προτάσεις που όμως υπακούουν σε μια τυποποίηση που πλησιάζει την τυποποίηση μιας γλώσσας προγραμματισμού. 24
Παράδειγμα ψευδοκώδικα_1 Δίδονται όνομα, επώνυμο μαθητή, δικαιολογημένες και αδικαιολόγητες απουσίες. Ο μαθητής προάγεται όταν το σύνολο των δικαιολογημένων και αδικαιολόγητων απουσιών είναι μικρότερο από 100. Να γραφεί ο ψευδοκώδικας. 25
Παράδειγμα ψευδοκώδικα_2 Αρχή. Διάβασε τα δεδομένα: Όνομα μαθητή, επώνυμο, Αρ. Δικ. Απουσιών και Αρ. Αδικ. Απουσιών. Αθροισμα Απ=Διακ+Αδικ. Αν (Αθροισμα Απ)<=100. Τότε εμφάνισε «Προάγεται». Διαφορετικά εμφάνισε «Δεν Προάγεται». 26
Λογικό Διάγραμμα_1 Λογικό Διάγραμμα είναι ο τρόπος αναπαράστασης του αλγορίθμου που χρησιμοποιεί απλά σχήματα που υποστηρίζονται με απλές λέξεις για την αναπαράσταση συγκεκριμένων λειτουργιών. Τα σχήματα είναι ενωμένα με γραμμές και με βέλη κατεύθυνσης. Μέσα σε κάθε σχήμα περιγράφεται η διαδικασία που εκτελείται. 27
Λογικό Διάγραμμα_2 Το λογικό διάγραμμα είναι ανεξάρτητο από τη γλώσσα προγραμματισμού, γιαυτό δεν χρησιμοποιούμε εντολές από κάποια γλώσσα προγραμματισμού. Στο λογικό διάγραμμα περιγράφουμε τη διαδικασία επίλυσης ενός προβλήματος με απλά λόγια. Το λογικό διάγραμμα βοηθάει στη λύση του προβλήματος. 28
Σύμβολα Λογικού διαγράμματος_1 Αρχή/ ή τέλος Προγράμματος 29
Σύμβολα Λογικού διαγράμματος_2 Σύμβολο Επεξεργασίας 30
Σύμβολα Λογικού διαγράμματος_3 Είσοδος ή Έξοδος πληροφοριών 31
Σύμβολα Λογικού διαγράμματος_4 Έλεγχος 32
Ασκήσεις Να σχεδιαστεί το λογικό διάγραμμα λύσης μιας δευτεροβάθμιας εξίσωσης. Να σχεδιαστεί το λογικό διάγραμμα το οποίο ζητάει τρεις αριθμούς και να εμφανίζει τον μεγαλύτερο. Να σχεδιαστεί το λογικό διάγραμμα υπολογισμού φόρου εισοδήματος, όταν για εισόδημα έως 10000 δεν πληρώνει φόρο, από 10000 έως 25000 πληρώνει 15% και πάνω από 25000 20%. 33
Τέλος Ενότητας
Σημείωμα Αναφοράς Copyright ΤΕΙ Δυτικής Μακεδονίας, Τσαγκαλίδου Ροδή. «Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο». Έκδοση: 1.0. Κοζάνη 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: URL. 35
Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο. που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο. που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο. Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 36
Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς. το Σημείωμα Αδειοδότησης. τη δήλωση Διατήρησης Σημειωμάτων. το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει). μαζί με τους συνοδευόμενους υπερσυνδέσμους. 37