ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα 6: Λογισμικό Υπολογιστών Γλώσσες Προγραμματισμού Πασχαλίδης Δημοσθένης Τμήμα Διαχείρισης Εκκλησιαστικών Κειμηλίων
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Δυτικής Μακεδονίας και στην Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
Σκοποί ενότητας Απόκτηση γενικών γνώσεων για τις γλώσσες και όχι εκμάθηση κάποιας συγκεκριμένης. Εκτίμηση κοινών σημείων αλλά και διαφορών μεταξύ των γλωσσών προγραμματισμού και των σχετικών τους μεθοδολογιών. 4
Περιεχόμενα ενότητας Ορισμός γλώσσας προγραμματισμού. Επίπεδα γλωσσών προγραμματισμού. Κατασκευή ενός Προγράμματος. Συγγραφή Μεταγλώττιση - Σύνδεση Εκτέλεση. Κατηγορίες γλωσσών υψηλού επιπέδου. Μεταβλητές Σταθερές Παραστάσεις Τελεστές. Είδη εντολών. Εντολές επιλογής Εντολές επανάληψης. 5
Εξέλιξη Οι γλώσσες προγραμματισμού είναι σύνολα από προκαθορισμένες λέξεις οι οποίες συνδυάζονται σε προγράμματα σύμφωνα με προκαθορισμένους κανόνες (σύνταξη). Εικόνα 1: Εξέλιξη. Πηγή: BROOKSHEAR (2008). 6
Γλώσσες Μηχανής (1/2) Η μόνη γλώσσα που καταλαβαίνει ένας υπολογιστής είναι η γλώσσα μηχανής. Το εσωτερικό κύκλωμα του υπολογιστή αποτελείται από διακόπτες, τρανζίστορ, και άλλες ηλεκτρονικές συσκευές οι οποίες μπορούν να είναι σε μία από δύο καταστάσεις: να είναι κλειστές (off). ή ανοιχτές(on). Η κατάσταση off αναπαρίσταται από το 0, ενώ η κατάσταση on αναπαρίσταται από το 1. 7
Γλώσσες Μηχανής (2/2) Εικόνα 2: Γλώσσες Μηχανής. Πηγή: www.csie.ntu.edu.tw, (Ανακτήθηκε 18 Ιουνίου, 2015). 8
Συμβολικές Γλώσσες (1/2) Μια συμβολική γλώσσα χρησιμοποιεί σύμβολα για την αναπαράσταση των διαφόρων εντολών μηχανής. Οι συμβολικές γλώσσες ονομάζονται επίσης και γλώσσες assembly. 9
Συμβολικές Γλώσσες (2/2) Εικόνα 3: Συμβολικές Γλώσσες. Πηγή:www.csie.ntu.edu.tw (Ανακτήθηκε 18 Ιουνίου, 2015). 10
Γλώσσες Υψηλού Επιπέδου (1/2) Οι γλώσσες υψηλού επιπέδου μπορούν να εκτελεστούν σε όλους τους υπολογιστές και απαλλάσσουν τον προγραμματιστή από προβλήματα που αφορούν ένα συγκεκριμένο είδος υλικού. Γλώσσες υψηλού επιπέδου είναι οι: BASIC, Pascal, Ada, C, C++, και Java (PHP ΚΑΙ JAVAscript). 11
Γλώσσες Υψηλού Επιπέδου (2/2) Εικόνα 4: Γλώσσες Υψηλού Επιπέδου. Πηγή: Διδάσκων (2015). 12
Φυσικές Γλώσσες Το ιδανικό θα ήταν να μπορούσαμε να χρησιμοποιούμε τη φυσική μας γλώσσα (π.χ. Ελληνικά, Αγγλικά, ή ακόμα και Κινέζικα) και ο υπολογιστής να καταλαβαίνει και να εκτελεί τις εντολές μας άμεσα. Σήμερα γίνεται σημαντική δουλειά στα εργαστήρια επάνω στο θέμα των φυσικών γλωσσών. Προς το παρόν, η χρήση των φυσικών γλωσσών στη βιομηχανία είναι πολύ περιορισμένη. 13
Κατασκευή ενός Προγράμματος (1/2) Δουλειά του προγραμματιστή είναι να γράψει ένα πρόγραμμα και μετά να το μετατρέψει σε εκτελέσιμο (γλώσσας μηχανής) αρχείο. Αυτή η διαδικασία έχει τρία βήματα:. Συγγραφή και διόρθωση του προγράμματος. Μεταγλώττιση του προγράμματος. Σύνδεση του προγράμματος με τις απαραίτητες υπομονάδες βιβλιοθηκών. 14
Κατασκευή ενός Προγράμματος (2/2) Εικόνα 5: Κατασκευή ενός Προγράμματος. Πηγή: BROOKSHEAR (2009). 15
Εκτέλεση Προγράμματος Εικόνα 6: Εκτέλεση Προγράμματος. Πηγή: BROOKSHEAR (2009). 16
Κατηγορίες Γλωσσών Εικόνα 7: Κατηγορίες Γλωσσών. Πηγή: BROOKSHEAR (2009). 17
Διαδικασιακές (προστακτικές) Γλώσσες Σε μια διαδικασιακή γλώσσα ένας αλγόριθμος μεταφράζεται σε κώδικα. Ο κώδικας χειρίζεται δεδομένα και ελέγχει την εκτέλεση εντολών. Διαδικασιακές γλώσσες είναι: FORTRAN. COBOL. Pascal. C. Ada. 18
Αντικειμενοστραφείς Γλώσσες (1/4) Σε μια αντικειμενοστραφή γλώσσα, τα αντικείμενα και οι λειτουργίες που εφαρμόζονται σε αυτά είναι συνδεδεμένα μεταξύ τους. C++. Java. 19
Αντικειμενοστραφείς Γλώσσες (2/4) Στη σχεδίαση της γλώσσας C++ χρησιμοποιήθηκαν τρεις αρχές: η ενθυλάκωση. η κληρονομικότητα. ο πολυμορφισμός. 20
Αντικειμενοστραφείς Γλώσσες (3/4) Ενθυλάκωση (encapsulation) ονομάζεται η ιδέα της απόκρυψης των δεδομένων και κάποιων λειτουργιών που μπορούν να εκτελεστούν σε αυτά τα δεδομένα, μέσα στο αντικείμενο. Στη C++ ένα αντικείμενο μπορεί να κληρονομήσει από κάποιο άλλο αντικείμενο. Αυτή η έννοια ονομάζεται κληρονομικότητα (inheritance). Στη C++, πολυμορφισμός (polymorphism) ονομάζεται η δυνατότητα ορισμού πολλών λειτουργιών με το ίδιο όνομα, οι οποίες κάνουν διαφορετικά πράγματα σε σχετιζόμενες κλάσεις. 21
Αντικειμενοστραφείς Γλώσσες (4/4) Η γλώσσα Java αναπτύχθηκε από την εταιρεία Sun Microsystems και βασίζεται στη C και τη C++. Η πολλαπλή κληρονομικότητα, έχει καταργηθεί. Ένα πρόγραμμα της Java μπορεί να είναι είτε εφαρμογή (application) είτε μικροεφαρμογή (applet). Άλλο ένα ενδιαφέρον χαρακτηριστικό της Java είναι η πολυνημάτωση (multithreading). Νήμα (thread) ονομάζεται μια σειρά ενεργειών οι οποίες εκτελούνται η μία μετά την άλλη. 22
Δηλωτικές και Ειδικές Γλώσσες Μια δηλωτική γλώσσα χρησιμοποιεί τις αρχές του λογικού συλλογισμού. Δηλωτική γλώσσα είναι η Prolog. Μια ειδική γλώσσα δεν μπορεί να τοποθετηθεί σε κάποια από τις υπόλοιπες τέσσερις ομάδες. Ειδικές γλώσσες είναι π.χ. οι HTML, PERL και SQL. 23
HTML (1/2) Η HTML (Hypertext Markup Language, δηλαδή Γλώσσα Σήμανσης Υπερκειμένου) είναι μια ψευδογλώσσα που περιέχει σύμβολα τα οποία χρησιμεύουν ως οδηγίες μορφοποίησης και σύνδεσης με άλλα αρχεία. Η HTML επιτρέπει τη χρήση χαρακτήρων ASCII τόσο για το κυρίως κείμενο όσο και για τις οδηγίες μορφοποίησης. Με αυτόν τον τρόπο κάθε υπολογιστής μπορεί να λάβει ολόκληρο το έγγραφο σε μορφή ASCII. 24
HTML (2/2) Ένα πρόγραμμα HTML αποτελείται από δύο μέρη: την κεφαλίδα. το σώμα. Υπάρχουν επίσης ετικέτες οι οποίες περιέχουν πληροφορίες σχετικά με τη δομή του κειμένου. 25
Ετικέτες (1/2) Πίνακας 1: Ετικέτες. Πηγή: Διδάσκων (2015). 26
Ετικέτες (2/2) Πίνακας 2: Ετικέτες. Πηγή: Διδάσκων (2015). 27
Πρόγραμμα HTML 28
Μια διαδικασιακή γλώσσα: C Αναγνωριστικά. Τύποι δεδομένων. Βασικοί τύποι (int, char, float). Παραγόμενοι τύποι (pointer, enumerated, union, structure). 29
Μεταβλητές (1/2) Εικόνα 8: Μεταβλητές. Πηγή: BROOKSHEAR (2009). 30
Μεταβλητές (2/2) Δήλωση και ορισμός μεταβλητών. float price; Ανάθεση αρχικής τιμής σε μεταβλητή. float price=23.45; 31
Σταθερές Κυριολεκτική Σταθερά. perifereia = 2*mhkos*platos. Επώνυμη Σταθερά. const pi = 3.14. Συμβολική Σταθερά. #define taxrate 0.0825. 32
Είσοδος και Έξοδος Είσοδος. scanf("%d", &num); Έξοδος. printf("η τιμή του αριθμού είναι: %d", num); 33
Παραστάσεις Μια παράσταση (expression) είναι μια διαδοχή τελεστέων και τελεστών που έχει ως αποτέλεσμα μια μοναδική τιμή. Για παράδειγμα, η ακόλουθη είναι μια παράσταση με τιμή 10. 2 * 5 34
Τελεστές (1/4) Αριθμητικοί τελεστές. Πίνακας 3: Αριθμητικοί τελεστές. Πηγή: Διδάσκων (2015). 35
Τελεστές (2/4) Σχεσιακοί τελεστές. Πίνακας 4: Σχεσιακοί Τελεστές. Πηγή: Διδάσκων (2015). 36
Τελεστές (3/4) Λογικοί τελεστές. Πίνακας 5: Λογικοί Τελεστές. Πηγή: Διδάσκων (2015). 37
Τελεστές (4/4) Τελεστές ανάθεσης. Πίνακας 6: Τελεστές ανάθεσης. Πηγή: Διδάσκων (2015). 38
Εντολές Σχήμα 1: Εντολές. Πηγή: BROOKSHEAR (2009). 39
Επιλογή (1/2) Σχήμα 2 : Επιλογή. Πηγή: Διδάσκων (2015). 40
Επιλογή (2/2) Σχήμα 3: Επιλογή. Πηγή: Διδάσκων (2015). 41
Επανάληψη (1/3) Σχήμα 4: Επανάληψη. Πηγή: BROOKSHEAR (2009). 42
Επανάληψη (2/3) Σχήμα 5: Επανάληψη. Πηγή: BROOKSHEAR (2009). 43
Επανάληψη (3/3) Σχήμα 6: Επανάληψη. Πηγή: BROOKSHEAR (2009). 44
Τέλος Ενότητας
Σημείωμα Αναφοράς Copyright ΤΕΙ Δυτικής Μακεδονίας, Δημοσθένης Πασχαλίδης. «ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ». Έκδοση: 1.0. Θεσσαλονίκη 2015. 46
Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο. που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο. που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο. Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 47
Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς. το Σημείωμα Αδειοδότησης. τη δήλωση Διατήρησης Σημειωμάτων. το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει). μαζί με τους συνοδευόμενους υπερσυνδέσμους. 48
Σημείωμα Χρήσης Έργων Τρίτων Το Έργο αυτό κάνει χρήση των ακόλουθων έργων: Εικόνες/Σχήματα/Διαγράμματα/Φωτογραφίες. www.csie.ntu.edu.tw/~kmchao/bcc03fall/chap09.ppt. BROOKSHEAR, J. G. (2008), Η ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΜΙΑ ΟΛΟΚΛΗΡΩΜΕΝΗ ΠΑΡΟΥΣΙΑΣΗ, Ένατη Αμερικανική έκδοση, Εκδότης ΚΛΕΙΔΑΡΙΘΜΟΣ, ISBN13: 9789604612703 BROOKSHEAR, J. G. (2009) Η ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ: ΜΙΑ ΟΛΟΚΛΗΡΩΜΕΝΗ ΠΑΡΟΥΣΙΑΣΗ, ΕΚΔΟΣΕΙΣ ΚΛΕΙΔΑΡΙΘΜΟΣ ΕΠΕ, Έκδοση: 10η, ΕΚΔΟΣΕΙΣ ΚΛΕΙΔΑΡΙΘΜΟΣ ΕΠΕ, ISBN: 978-960-461-270-3. 49