Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #1 η : Εισαγωγή: Λογισμικό, Γλώσσες Προγραμματισμού, Java



Σχετικά έγγραφα
ΕΜΠΕΔΩΣΗ ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΚΑΛΕΣ ΠΡΑΚΤΙΚΕΣ. Δρ Μάριος Στυλιανίδης, ΕΔΕ

ΕΡΕΥΝΗΤΙΚΗ ΕΡΓΑΣΙΑ. «Ελαιόλαδο το χρυσάφι στο πιάτο μας» Παραγωγή Ελαιολάδου

Ενδεικτικό σενάριο συνανάγνωσης κειμένων

ΙΝΣΤΙΤΟΥΤΟ ΠΑΙΔΑΓΩΓΙΚΩΝ ΕΡΕΥΝΩΝ ΜΕΛΕΤΩΝ ΔΙΔΑΣΚΑΛΙΚΗΣ ΟΜΟΣΠΟΝΔΙΑΣ ΕΛΛΑΔΑΣ

«ΑΝΩ ΛΙΟΣΙΑ: ΤΟΠΙΚΗ ΙΣΤΟΡΙΑ, ΠΕΡΙΒΑΛΛΟΝ, ΠΡΟΚΛΗΣΕΙΣ, ΠΡΟΟΠΤΙΚΕΣ»

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΓΙΑ ΤΗΝ ΚΩΔΙΚΟΠΟΙΗΣΗ ΤΗΣ ΝΟΜΟΘΕΣΙΑΣ. Α. Αντικείμενο του εγχειριδίου

Ενημερωτικό σημείωμα Νέα Έργα ΕΣΠΑ

ΟΔΗΓΙΕΣ ΓΙΑ ΤΗΝ ΕΠΙΛΟΓΗ ΔΙΑΧΕΙΡΙΣΗ ΘΕΜΑΤΩΝ ΣΧΕΤΙΚΑ ΜΕ ΤΑ ΝΑΠ ΔΙΑΦΟΡΩΝ ΓΝΩΣΤΙΚΩΝ ΑΝΤΙΚΕΙΜΕΝΩΝ ΣΤΑ ΣΥΜΠΛΕΓΜΑΤΑ ΤΑΞΕΩΝ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΟΙΚΟΝΟΜΙΑΣ, ΑΝΤΑΓΩΝΙΣΤΙΚΟΤΗΤΑΣ ΚΑΙ ΝΑΥΤΙΛΙΑΣ

6 η Ενότητα Στρατηγική σε επιχειρηματικό επίπεδο

ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΙΚΟ ΣΗΜΕΙΩΜΑ 13 Α' ΜΕΡΟΣ ΑΠΟ ΤΟΝ ΠΟΛΕΜΟ ΤΟΥ 1897 ΣΤΟ ΓΟΥΔΙ

ΣΤΑΘΜΟΙ ΤΟΥ ΜΕΤΡΟ - - ΑΤΤΙΚΗ - ΣΕΠΟΛΙΑ - ΑΓ. ΑΝΤΩΝΙΟΣ - - ΠΟΛΕΟΔΟΜΙΚΗ ΑΝΑΛΥΣΗ - ΕΠΙΠΤΩΣΕΙΣ

ΣΤΗΝ ΤΡΟΙΖΗΝΙΑ ΑΠΟ ΑΓ.ΕΛΕΝΗ ΕΩΣ ΤΟΝ ΚΟΜΒΟ ΚΑΛΛΟΝΗΣ ΚΑΙ ΣΤΗΝ ΠΑΡΑΛΙΑ ΤΟΥ ΑΡΤΙΜΟΥ. ΤΙΜΟΛΟΓΙΟ ΜΕΛΕΤΗΣ Τιμαριθμική 2012Α


ΤΙΜΟΛΟΓΙΟ ΜΕΛΕΤΗΣ ΓΕΝΙΚΟΙ ΟΡΟΙ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

Δράση 1.2. Υλοτομία και προσδιορισμός ποσοτήτων υπολειμμάτων.

ΟΜΑΔΑ 0.25 ΟΙΚΙΣΜΟΣ: ΑΓΙΟΣ ΣΠΥΡΙΔΩΝΑΣ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΣΥΜΒΑΣΗ ΤΕΕ/ΤΑΚ & ΝΟΜΑΡΧΙΑΚΗΣ ΑΥΤΟΔΙΟΙΚΗΣΗΣ ΛΑΣΙΘΙΟΥ

Ίδρυση και μετονομασία Υπουργείων, μεταφορά και κατάργηση υπηρεσιών

Αξιολόγηση του Εκπαιδευτικού Έργου. Διαδικασία Αυτοαξιολόγησης στη Σχολική Μονάδα

ΠΡΟΤΑΣΗ ΣΥΝΗΓΟΡΟΥ ΤΟΥ ΚΑΤΑΝΑΛΩΤΗ. για την κατάρτιση ΚΩΔΙΚΑ ΚΑΤΑΝΑΛΩΤΙΚΗΣ ΔΕΟΝΤΟΛΟΓΙΑΣ

ΕΝΔΕΙΚΤΙΚΕΣ ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑΤΩΝ ΝΕΟΕΛΛΗΝΙΚΗΣ ΓΛΩΣΣΑΣ A1. Ο συγγραφέας ορίζει το φαινόμενο του ανθρωπισμού στη σύγχρονη εποχή. Αρχικά προσδιορίζει την

Η Αγορά Ηλεκτρικής Ενέργειας στην Κύπρο έχει οργανωθεί σε τομείς που υπόκεινται στις ακόλουθες ρυθμίσεις:

ΑΓΡΟΤΙΚΗ ΖΩΗ ΚΑΙ ΚΥΠΡΙΑΚΗ ΠΑΡΑΔΟΣΗ

35η ιδακτική Ενότητα ΕΝΟΧΙΚΕΣ ΣΧΕΣΕΙΣ ( ΕΝΟΧΙΚΟ ΙΚΑΙΟ)

Ε Έκδοση 1.0 / ΣΥΝΤΑΞΗ ΚΑΙ ΥΠΟΒΟΛΗ ΜΗΤΡΩΟΥ ΕΡΓΟΥ 01 ΓΕΝΙΚΑ 01 ΓΕΝΙΚΕΣ Ο ΗΓΙΕΣ ΓΕΝΙΚΗ ΙΕΥΘΥΝΣΗ ΥΠΟ ΟΜΗΣ ΙΕΥΘΥΝΣΗ ΓΡΑΜΜΗΣ

ΚΥΠΡΙΑΚΗ ΔΗΜΟΚΡΑΤΙΑ. Αρ.Φακ.: Αρ.Τηλ.: Αρ.Φαξ: Σεπτεμβρίου 2010

Κεφάλαιο Πέμπτο Εθνοπολιτισμική Ζωή και Εμπειρίες Ελληνικότητας των Ελληνοαυστραλών Εφήβων

ΠΡΟΔΗΜΟΣΙΕΥΣΗ ΠΟΥ ΑΦΟΡΑ ΤΗΝ ΠΡΟΣΚΛΗΣΗ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ «ΝΕΟΦΥΗΣ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΤΗΤΑ»

5 η Ενότητα Κουλτούρα και στρατηγική

Τμήμα Ζωικής Παραγωγής ΤΕΙ Δ. Μακεδονίας, Παράρτημα Φλώρινας

Να μετατραπεί σε ισοδύναμο με τη χρήση της δομής Για...από... μέχρι Μονάδες 5

Απομόνωση χλωροφύλλης

ΑΝΑΚΟΙΝΩΣΗ υπ' αριθµ. ΣΟΧ 1/2015 για τη σύναψη ΣΥΜΒΑΣΗΣ ΕΡΓΑΣΙΑΣ ΟΡΙΣΜΕΝΟΥ ΧΡΟΝΟΥ

Περιεχόμενα !"#$%&%'(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( )!

ΤΑ ΕΠΙΠΕΔΑ ΟΡΓΑΝΩΣΗΣ ΤΩΝ ΠΟΛΥΚΥΤΤΑΡΩΝ ΟΡΓΑΝΣΙΜΩΝ ΟΙ ΖΩΙΚΟΙ ΙΣΤΟΙ 2 ο ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ

ΠΑΡΑΡΤΗΜΑ ΣΥΝΗΜΜΕΝΩΝ ΠΑΡΑΡΤΗΜΑ 1 ΥΠΟΔΕΙΓΜΑΤΑ ΔΗΛΩΣΗΣ-ΑΙΤΗΣΗΣ

ΒΑΣΙΚΗ ΕΚΠΑΙΔΕΥΣΗ. Οδηγός Οργάνωσης και Λειτουργίας ΕΚΔΟΣΗ 1.0

Πρακτικό 1/2012 της συνεδρίασης της Δημοτικής Επιτροπής Διαβούλευσης του Δήμου Λήμνου,

ΑΡΧΙΤΕΚΤΟΝΙΚΟΥ ΣΧΕΔΙΑΣΜΟΥ & ΚΑΤΑΣΚΕΥΩΝ. ΥΠΟΧΡΕΩΤΙΚΟ ΜΑΘΗΜΑ: Διδακτικές ώρες 8 ΘΕΩΡΙΑΣ - ΘΕΜΑΤΟΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΣΥΝΘΕΣΗΣ - ΕΙΔΙΚΗ ΚΤΙΡΙΟΛΟΓΙΑ ΙΙ

ΠΕΛΟΠΟΝΝΗΣΙΑΚΟΣ ΠΟΛΕΜΟΣ

ΣΥΝΕΝΤΕΥΞΗ ΤΥΠΟΥ. Η ολοκληρωμένη προσέγγιση θα εφαρμοστεί με τα παρακάτω Εργαλεία

Παραδειγματική μικρή δραστηριότητα στο μάθημα της Νεοελληνικής Γλώσσας. «Με προσκαλούν και προσκαλώ»

ΥΠ.Ε.Π.Θ. / ΠΑΙ ΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ «ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ»

ΠΕΡΙΕΧΟΜΕΝΑ 1. ΤΟ ΔΙΑΘΕΜΑΤΙΚΟ ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΩΝ ΣΠΟΥΔΩΝ ΓΙΑ ΜΑΘΗΤΕΣ ΜΕ ΕΙΔΙΚΕΣ ΕΚΠΑΙΔΕΥΤΙΚΕΣ ΑΝΑΓΚΕΣ

Η ΕΠΑΓΓΕΛΜΑΤΙΚΗ & ΕΠΙΧΕΙΡΗΜΑΤΙΚΗ ΔΡΑΣΤΗΡΙΟΠΟΙΗΣΗ ΤΩΝ ΕΛΛΗΝΩΝ ΤΗΣ ΔΙΑΣΠΟΡΑΣ ΜΕΤΑ ΤΟΝ Β ΠΑΓΚΟΣΜΙΟ ΠΟΛΕΜΟ ΚΑΙ Η ΕΠΙΔΡΑΣΗ ΤΗΣ ΣΤΟ ΕΘΝΙΚΟ ΚΕΝΤΡΟ

ΤΙΜΟΛΟΓΙΟ ΠΡΟΣΦΟΡΑΣ ΕΡΓΑΣΙΩΝ ΑΠΟΤΙΜΩΜΕΝΩΝ ΜΕ ΚΑΤ ΑΠΟΚΟΠΗ ΤΙΜΗΜΑΤΑ

ΑΠΑΝΤΗΣΕΙΣ ΔΙΑΓΩΝΙΣΜΑΤΟΣ ΔΙΔΑΓΜΕΝΟ ΚΕΙΜΕΝΟ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΔΙΟΙΚΗΣΗΣ ΤΜΗΜΑ ΝΑΥΤΙΛΙΑΣ ΚΑΙ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ ΥΠΗΡΕΣΙΩΝ

ΞΕΝΕΣ ΓΛΩΣΣΕΣ ΞΕΝΕΣ ΓΛΩΣΣΕΣ

ΤΙΜΟΛΟΓΙΟ ΜΕΛΕΤΗΣ Τιµαριθµική 2012Γ

Τιμολόγιο Μελέτης ,00 (με ΦΠΑ) ΠΡΟΓΡΑΜΜΑ ΑΓΡΟΤΙΚΗ ΑΝΑΠΤΥΞΗ ΤΗΣ ΕΛΛΑΔΑΣ (Ε.Γ.Τ.Α.Α.- ΕΘΝΙΚΟΙ ΠΟΡΟΙ) ΥΠΟΕΡΓΟ 1:

Σημειώσεις Κληρονομικού Δικαίου

ΣΧΟΛΗ ΔΟΙΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΟΙΙΚΗΣΗΣ ΜΟΝΑΔΩΝ ΤΟΠΙΚΗΣ ΑΥΤΟΔΟΙΙΚΗΣΗΣ TEI ΚΑΛΑΜΑΤΑΣ

Η υποστήριξη της επαγγελματικής μάθησης μέσα από την έρευνα-δράση: διαδικασίες και αποτελέσματα

ΠΑΡΑΔΟΤΕΟ 2.2: «ΕΡΕΥΝΑ ΚΑΤΑΓΡΑΦΗΣ ΤΩΝ ΚΛΕΙΣΤΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΣΕ ΚΕΝΤΡΙΚΟΥΣ ΕΜΠΟΡΙΚΟΥΣ ΔΡΟΜΟΥΣ». Μάρτιος 2013 Θεσσαλονίκη

ΤΙΜΟΛΟΓΙΟ ΜΕΛΕΤΗΣ ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΙ ΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ «ΥΓΡΟΜΟΝΩΣΕΙΣ ΕΡΓΟ:

ΑΝΑΚΟΙΝΩΣΗ υπ' αριθμ. ΣΜΕ 1 / 2011 για τη σύναψη ΣΥΜΒΑΣΗΣ ΜΙΣΘΩΣΗΣ ΕΡΓΟΥ

Η Φυσική με Πειράματα

ΙΙ, 3-4. Α. Ερωτήσεις ανοικτού τύπου ή ελεύθερης ανάπτυξης

Μαρία-Στεφανία-Γιάννης 1 ο Πρότυπο Πειραματικό Δημοτικό Σχολείο Θεσσαλονίκης Ε2 Π.Τ.Δ.Ε.-Α.Π.Θ

Πρώτη διδακτική πρόταση Χρωματίζοντας ένα σκίτσο

ΘΕΜΑ: Παροχή οδηγιών για την κατάρτιση του προϋπολογισμού των δήμων, οικονομικού έτους 2016 τροποποίηση της υπ αριθμ. 7028/2004 (Β 253) απόφασης.

ΔΙΑΔΗΜΟΤΙΚΟ ΔΙΚΤΥΟ ΥΓΕΙΑΣ & ΚΟΙΝΩΝΙΚΗΣ ΑΛΛΗΛΕΓΓΥΗΣ Ο.Τ.Α. Θεμιστοκλέους 3, Μαρούσι ΤΗΛ FAX info@ddy.

Αξιολόγηση Προγράμματος Αλφαβητισμού στο Γυμνάσιο Τρίτο Έτος Αξιολόγησης

ΤΙΤΛΟΣ I ΕΥΡΩΠΑΪΚΑ ΣΧΟΛΕΙΑ

Ενότητα 2. Γενικά Οργάνωση Ελέγχου (ΙΙ) Φύλλα Εργασίας Εκθέσεις Ελέγχων

Δείτε πρώτα το βιντεάκι με τίτλο «Ένας γίγαντας υπό εξαφάνιση» που ετοίμασα για σας και θα τα ξαναπούμε σύντομα!

Ελένη Σκούρτου Πανεπιστήµιο Αιγαίου. Από το σπίτι στο σχολείο: Οι οµιλητές και οι γλώσσες τους

Ο ΡΟΛΟΣ ΤΟΥ ΧΗΜΙΚΟΥ ΜΗΧΑΝΙΚΟΥ ΣΤΗΝ ΥΓΙΕΙΝΗ ΚΑΙ AΣΦΑΛΕΙΑ - OHSAS 18001

Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών

Του Σταύρου Ν. PhD Ψυχολόγου Αθλητικού Ψυχολόγου

ΘΕΣΕΙΣ ΤΟΥ ΣΥΝΔΕΣΜΟΥ ΓΙΑ ΤΗΝ ΑΝΑΜΟΡΦΩΣΗ ΤΟΥ ΘΕΣΜΙΚΟΥ ΠΛΑΙΣΙΟΥ ΑΝΑΘΕΣΗΣ ΚΑΙ ΕΚΠΟΝΗΣΗΣ ΜΕΛΕΤΩΝ

ΠΑΡΟΥΣΙΑΣΗ ΤΩΝ ΓΕΝΙΚΩΝ ΚΑΙ ΕΙΔΙΚΩΝ ΟΡΩΝ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ «ΑΣΦΑΛΩΣ ΚΑΤΟΙΚΕΙΝ» ΚΟΙΝΟΧΡΗΣΤΟΙ ΧΩΡΟΙ

Αγάθη Γεωργιάδου Λογοτεχνία και Πανελλαδικές Εξετάσεις 1

Σεμινάριο με θέμα : Εθελοντισμός & Δικαιώματα Παιδιού

ΣΥΣΤΗΜΑ ΔΙΑΓΝΩΣΗΣ ΑΝΑΓΚΩΝ ΑΓΟΡΑΣ ΕΡΓΑΣΙΑΣ ΠΑΡΑΔΟΤΕΟ ΕΘΝΙΚΟΥ ΜΗΧΑΝΙΣΜΟΥ

ΑΠΟΦΑΣΗ Ο ΥΠΟΥΡΓΟΣ ΕΣΩΤΕΡΙΚΩΝ & ΔΙΟΙΚΗΤΙΚΗΣ ΑΝΑΣΥΓΚΡΟΤΗΣΗΣ. της Αυτοδιοίκησης και της Αποκεντρωμένης Διοίκησης-Πρόγραμμα Καλλικράτης».

2. Περίληψη των τοποθεσιών. 3. Τοποθεσίες. 4. Κάρτες εδάφους

Α. ΚΑΤΑΣΤΑΤΙΚΟ ΚΟΙΝΟΠΡΑΞΙΑΣ ΜΕ ΤΗΝ ΕΠΩΝΥΜΙΑ

ΠΕΡΙΦΕΡΕΙΑΚΗ ΕΦΟΡΕΙΑ ΑΘΗΝΩΝ. Αθήνα, 19 Ιανουαρίου 2015 Α ΝΑΚΟΙΝΩΣΗ 3/15. ΠΡΟΣ : Όλους τους Βαθμοφόρους της Αθήνας ΚΟΙΝΟΠΟΙΗΣΗ :

7. ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΕΛΛΗΝΙΚΗΣ ΝΟΗΜΑΤΙΚΗΣ ΓΛΩΣΣΑΣ ΤΗΣ ΠΡΩΤΗΣ ΤΑΞΗΣ ΤΟΥ ΔΗΜΟΤΙΚΟΥ ΣΧΟΛΕΙΟΥ

ΤΕΧΝΙΚΗ ΣΥΓΓΡΑΦΗ ΥΠΟΧΡΕΩΣΕΩΝ

Επίσηµη Εφηµερίδα αριθ. L335 της 19/12/2001 σ ΤΟ ΣΥΜΒΟΥΛΙΟ ΤΗΣ ΕΥΡΩΠΑΪΚΗΣ ΕΝΩΣΗΣ,

ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΙΣΤΟΡΙΑΣ Α ΓΥΜΝΑΣΙΟΥ

ΕΝΤΟΛΕΑΣ: ΕΞΕΤΑΖΟΜΕΝΟΣ ΠΛΗΘΥΣΜΟΣ:

ΓΙΑ ΤΗΝ ΕΞΟΔΟ ΑΠΟ ΤΗΝ ΕΥΡΩΖΩΝΗ ΣΤΟ ΔΗΜΟΨΗΦΙΣΜΑ ΨΗΦΙΖΟΥΜΕ ΕΡΩΤΗΣΕΙΣ & ΑΠΑΝΤΗΣΕΙΣ ΟΧΙ ΜΕΧΡΙ ΤΕΛΟΥΣ. Αριστερή Αντικαπιταλιστική Συσπείρωση (ΑΡ.Α.Σ.

Νεοελληνική Γλώσσα Λυκείου

Οδηγός Σπουδών Βασικής Εκπαίδευσης Α ΚΥΚΛΟΣ. ( ιάρκεια 200 ώρες) Πρόγραµµα Τηλεκπαίδευσης Μετατασσόµενου Προσωπικού ΕΛΤΑ

ΣΩΜΑ ΠΡΟΣΚΟΠΩΝ ΚΥΠΡΟΥ

Ε.Ε. Π α ρ.ι(i), Α ρ.3646, 25/10/2002. ΤΗΣ ΕΠΙΣΗΜΗΣ ΕΦΗΜΕΡΙΔΑΣ ΤΗΣ ΔΗΜΟΚΡΑΤΙΑΣ Αρ της 25ης ΟΚΤΩΒΡΙΟΥ 2002

ΣΧΕΔΙΟ ΝΟΜΟΥ ΥΥΚΑ & ΑΙΤΙΟΛΟΓΙΚΗ ΕΚΘΕΣΗ. ΣΧΕΔΙΟ ΝΟΜΟΥ ΚΑΙ ΑΙΤΙΟΛΟΓΙΚΗ ΕΚΘΕΣΗ «Διαρθρωτικές αλλαγές στο σύστημα υγείας και άλλες διατάξεις»

ΣΩΜΑ ΠΡΟΣΚΟΠΩΝ ΚΥΠΡΟΥ. Εσωτερικός Κανονισμός. Προσκοπικού Πρατηρίου

Λ ο υ κ ά ς Α π ο σ τ ο λ ί δ η ς & Σ υ ν ε ρ γ ά τ ε ς ΔΙΚΗΓΟΡΙΚΗ ΕΤΑΙΡΕΙΑ

ΕΥΡΩΠΑΪΚΟ ΚΟΙΝΟΒΟΥΛΙΟ ΓΡΑΦΕΙΟ ΓΙΑ ΤΗΝ ΕΛΛΑΔΑ Η ΜΕΤΑΡΡΥΘΜΙΣΤΙΚΗ ΣΥΝΘΗΚΗ

Νέο Πρόγραμμα Σπουδών Λογοτεχνίας

Ι.Ε.Κ. Ε ΕΣΣΑΣ ΦΘΙΝΟΠΩΡΙΝΟ ΕΞΑΜΗΝΟ ΕΙ ΙΚΟΤΗΤΑ: ΕΙ ΙΚΟΣ ΜΗΧΑΝΟΓΡΑΦΗΜΕΝΟΥ ΛΟΓΙΣΤΗΡΙΟΥ & ΦΟΡΟΤΕΧΝΙΚΟΥ ΓΡΑΦΕΙΟΥ ΜΑΘΗΜΑ: ΛΟΓΙΣΤΙΚΗ ΚΟΣΤΟΥΣ Ι

ΑΔΑ: 4ΙΦΝΚ-ΔΘ. Αθήνα, 14 Δεκεμβρίου 2010 Αριθ. Πρωτ.: Ταχυδρομική. Σταδίου 27 Διεύθυνση: Ταχυδρομικός Κώδικας: ΑΘΗΝΑ

Ο ΠΡΟΕΔΡΟΣ ΤΗΣ ΒΟΥΛΗΣ ΤΩΝ ΕΛΛΗΝΩΝ. Άρθρο πρώτο.

ΕΓΚΥΚΛΙΟΣ 1/2005. ΘΕΜΑ: Κοινοποίηση των διατάξεων του άρθρου 9 Ν. 3302/04 (ΦΕΚ 267 τ.α ) περί ρύθµισης οφειλών του Ι.Κ.Α Ε.Τ.Α.Μ.

Transcript:

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #1 η : Εισαγωγή: Λογισμικό, Γλώσσες Προγραμματισμού, Java Γαβαλάς Δαμιανός dgavalas@aegean.gr Στόχοι μαθήματος Διάκριση και κατανόηση των υφιστάμενων προγραμματιστικών μοντέλων Έμφαση στο μοντέλο του αντικειμενοστραφούς προγραμματισμού Βασικές έννοιες αντικειμενοστραφούς σχεδίασης: Αντικείμενα, Κλάσεις, Μέθοδοι, Κατασκευαστές, Μέθοδοι, Κληρονομικότητα, υπερφόρτωση μεθόδων, Χειρισμός λαθών, εξαιρέσεις, Πολυνηματικός προγραμματισμός Πρακτική εφαρμογή των παραπάνω εννοιών στη γλώσσα αντικειμενοστραφούς προγραμματισμού Java 1

Στόχοι εργαστηρίου Εξοικείωση με τις βασικές έννοιες και ιδιαιτερότητες μια ευρέως χρησιμοποιούμενης γλώσσας προγραμματισμού με σημαντική επίδραση στην επίλυση υπολογιστικών προβλημάτων και στο σχεδιασμό και υλοποίηση διαδικτυακών εφαρμογών Διάκριση μεταξύ Java εφαρμογών (applications) και μικροεφαρμογών (applets) Εξοικείωση με περιβάλλοντα ανάπτυξης εφαρμογών (Integrated Development Environments, IDEs) Δεν είναι στόχος η πλήρης εκμάθηση της γλώσσας προγραμματισμού Java αλλά να δοθούν τα κατάλληλα ερεθίσματα στους φοιτητές για να ασχοληθούν περαιτέρω με τη συγκεκριμένη γλώσσα ή και με άλλες γλώσσες αντικειμενοστραφούς προγραμματισμού. Δομή & Διδασκαλία Μαθήματος Θεωρία 2 ώρες κάθε εβδοµάδα Πέμπτη 09:00 11:00 (Αίθ. Γ, κτίριο Θάλασσας) Εργαστήρια 2 ώρες κάθε εβδοµάδα (2 οµάδες) Πέμπτη 11:00 13:00 (Οµάδα Α) Πέμπτη 13:00 15:00 (Οµάδα Β) Εργαστήριο Ανθρωπογεωγραφίας (κτίριο Γεωγραφίας) 2

Τρόπος αξιολόγησης Μία εργαστηριακή άσκηση (Ε): 20% Τελική εξέταση γραπτά (Γ): 80% Τελικός βαθμός (Β): OXI Γ >= 5 NAI B = Γ B = 0.8 Γ + 0.2 Ε Διδακτικά Εγχειρίδια (ένα εκ των δύο) "Java Eισαγωγή στη σύγχρονη τεχνολογία" (Greanier Todd), Εκδόσεις Γκιούρδα, 2005 «Αντικειμενοστρεφής προγραμματισμός JAVA" (Κ. Θραμπουλίδης), Εκδόσεις Τζιόλα 3

Στη βιβλιοθήκη Μυτιλήνης Εισαγωγή στην Java :ένας ολοκληρωμένος και εύχρηστος οδηγός της γλώσσας (Γ. Λιακέας) JAVA:προγραμματισμός (H. Deitel, P. Deitel) Αλγόριθμοι σε Java (R. Sedgewick) Java 2 Black Book (S. holzner) Java for the Web with Servlets, JSP and EJB (B. Kurniawan) JSP 2.0:the complete reference (P. Hanna) Creating mobile games: using Java ME platform ltf to put the fun into your mobile devise and cell phone (C. Hamer) Beginning J2ME platform::from novice to professional (S. Li, J. Knudsen, Jonathan) Και πάρα πολλά ακόμη!!! Σελίδα του μαθήματος στο web http://www2.aegean.gr/dgavalas/oo_i/ Τι περιέχει; 4

Η έννοια του προγράμματος Τα προγράμματα (programs), γνωστά και ως λογισμικό (software) αποτελούν σειρά οδηγιών (instructions) προς τον Η/Υ. Λες στον Η/Υ τι να κάνει μέσω των προγραμμάτων. Οι Η/Υ δεν κατανοούν τις ανθρώπινες φυσικές γλώσσες, άρα απαιτείται η χρήση γλωσσών η/υ για να επικοινωνήσεις μαζί τους. Τα προγράμματα γράφονται χρησιμοποιώντας τις γλώσσες προγραμματισμού (programming languages) 9 Προγραμματισμός Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία στάδια: Τον ακριβή προσδιορισμό του προβλήματος Την ανάπτυξη του αντίστοιχου αλγορίθμου (σειράς λογικών βημάτων για την επίλυση του προβλήματος) Τη διατύπωση του αλγορίθμου σε κατανοητή μορφή από τον υπολογιστή Ο προγραμματισμός ασχολείται με το τρίτο αυτό στάδιο 5

Επίπεδα Προγραμματισμού Κατώτατο γλώσσα μηχανής (machine language) Οι οδηγίες/εντολές είναι γραμμένες σε δυαδικούς αριθμούς (δεν υπάρχουν δομές όπως οι βρόγχοι) Χαμηλό π.χ. Για να γίνει μία πρόσθεση δύο αριθμών απαιτούνται πολλές εντολές π.χ. Assembly language Υψηλό π.χ. Για να τυπώσω μια γραμμή στην οθόνη απαιτείται μία εντολή π.χ. Pascal, C Πολύ υψηλό π.χ. Για να εμφανίσω ένα παράθυρο στην οθόνη απαιτείται μια εντολή π.χ. Visual C++, Visual Basic.NET, Java Χρονική εξέλι ιξη Δημοφιλείς γλώσσες υψηλού επιπέδου (high Level) COBOL (COmmon Business Oriented Language) FORTRAN (FORmula TRANslation) BASIC (Beginner All purpose Symbolic Instructional Code) Κάποτε γλώσσα αρχαρίων Pascal (πήρε το όνομά της από τον Blaise Pascal) Γλώσσα που συχνά χρησιμοποιείται στην εκπαίδευση Ada (ονομάστηκε από την Ada Lovelace, την πρώτη προγραμματίστρια) C Ευρέως χρησιμοποιούμενη γλώσσα, υψηλής απόδοσης 6

Δημοφιλείς γλώσσες υψηλού επιπέδου (high Level) Visual Basic Visual γλώσσα που μοιάζει με τη Basic και αναπτύχθηκε από τη Microsoft Delphi Visual γλώσσα που μοιάζει με την Pascal και αναπτύχθηκε από την Borland C++ Αντικειμενοστραφής φήςγλώσσα (object oriented language) g που βασίστηκε στην C Java Αντικειμενοστραφής γλώσσα Από πού προέρχεται η ονομασία της; Εξετάζεται εκτενώς σε αυτό το μάθημα! 13 Σειριακός Προγραμματισμός (sequential programming) Ενδείξεις / Ταμπέλες (Labels) Ροή από επάνω προς τα κάτω Ανακατευθύνσεις / Πηδήματα (GOTOs, Jumps) Από το σημείο εκτέλεσης του προγράμματος προς κάποια ταμπέλα Παραδείγματα: Basic, Assembly 7

Δομημένος Προγραμματισμός (procedural programming) Βιβλιοθήκη συναρτήσεων (Functions Library) Συνάρτηση ρηη( (Function) Διαδικασία (Procedure) Κλήση Συναρτήσεων (Function Call) Απαγορεύονται τα GOTO!!! Παρότι πολλές γλώσσες δομημένου προγραμματισμού (π.χ. Pascal) τα υποστηρίζουν Παραδείγματα: Pascal, C Αντικειμενοστραφής Προγραμματισμός (objectoriented programming, OOP) Βιβλιοθήκη κλάσεων (Class Library) Στη Java λέγεται και πακέτο (package) Κλάση (Class) Αντικείμενο / Στιγμιότυπο (Object / Instance) Ιδιότητα (Attribute) Μέθοδος (Method) Κλήσεις σε αντικείμενα, μεθόδους αντικειμένων κτλ. Παραδείγματα: C++, Java, Visual Basic.NET, 8

Αντικειμενοστραφής προγραμματισμός Μια νέα τάση αντιμετώπισης προγραμματιστικών αντιλήψεων και δομών Η αντικειμενοστραφής σχεδίαση εκλαμβάνει ως πρωτεύοντα δομικά στοιχεία ενός προγράμματος οντότητες που ονομάζονται αντικείμενα (objects) Ένα αντικείμενο εμπεριέχει δεδομένα αλλά περιγράφει και «ενέργειες» (επεξεργασία) που εφαρμόζονται πάνω σε δδ δεδομένα O OOP χρησιμοποιεί την ιεραρχική σχεδίαση, τον τμηματικό (modular) προγραμματισμό και ακολουθεί τις αρχές του δομημένου προγραμματισμού Ταξινόμηση με βάση περιοχή χρήσης Παρότι θεωρητικά οι περισσότερες γλώσσες είναι γενικής χρήσης, στην πράξη κάθε γλώσσα έχει σχεδιαστεί για να ανταποκρίνεται καλύτερα σε ορισμένη κατηγορία προβλημάτων: Γλώσσες επιστημονικής κατεύθυνσης, π.χ. FORTRAN Γλώσσες εμπορικής κατεύθυνσης, π.χ. COBOL Γλώσσες προγραμματισμού συστημάτων, π.χ. C Γλώσσες τεχνητής νοημοσύνης, π.χ. LISP, PROLOG Γλώσσες ειδικής χρήσης: Πρόκειται για γλώσσες που χρησιμοποιούνται σε ειδικές περιοχές εφαρμογών στη ρομποτική 9

Ποια είναι η καλύτερη γλώσσα προγραμματισμού Υπάρχουν γλώσσες κατάλληλες για ανάπτυξη ειδικών εφαρμογών και άλλες κατάλληλες για γενική χρήση Υπάρχουν γλώσσες κατάλληλες για εκπαίδευση και άλλες για ανάπτυξη εμπορικών εφαρμογών Γλώσσες που επιτρέπουν την εύκολη ανάπτυξη εφαρμογών σε γραφικό περιβάλλον και άλλες που εκμεταλλεύονται τα παράλληλα συστήματα Υπάρχουν γλώσσες ισχυρές και γλώσσες χωρίς μεγάλες δυνατότητες αλλά απλές και εύκολες στην εκμάθηση Ποια είναι η καλύτερη γλώσσα προγραμματισμού Ο προγραμματιστής καλείται να επιλέξει την καλύτερη γλώσσα για να υλοποιήσει το πρόγραμμα Μπορούμε να ισχυριστούμε με βεβαιότητα ότι μία γλώσσα προγραμματισμού που να είναι αντικειμενικά καλύτερη από τις άλλες δεν υπάρχει, ούτε πρόκειται να υπάρξει Η επιλογή της γλώσσας εξαρτάται από το είδος της εφαρμογής, το υπολογιστικό περιβάλλον στο οποίο θα εκτελεστεί, τα προγραμματιστικά περιβάλλοντα που διαθέτουμε και κυρίως τις γνώσεις του προγραμματιστή 10

Μεταγλώττιση (compilation) πηγαίου κώδικα Ένα πρόγραμμα γραμμένο σε μια γλώσσα υψηλού επιπέδου ονομάζεται πηγαίος κώδικας (source code) Καθώς ο Η/Υ δεν κατανοεί τον πηγαίο κώδικα, χρησιμοποιούνται οι μεταγλωττιστές (compilers) για τη μετάφραση του πηγαίου κώδικα σε γλώσσα μηχανής(object program). Συχνά, το object program συνδέεται με άλλες «βιβλιοθήκες» και εν συνεχεία προκύπτει το εκτελέσιμο αρχείο (executable) που εκτελείται στον Η/Υ Source File Compiler Object File Linker Excutable File Μεταγλώττιση Java κώδικα Ο πηγαίος κώδικας μπορεί να «μεταφερθεί» (porting) σε οποιαδήποτε υπολογιστική πλατφόρμα χρησιμοποιώντας τον κατάλληλο compiler. Για κάθε μία διαφορετική πλατφόρμα, ο κώδικας πρέπει να ξανα μεταγλωττιστεί (π.χ. διαφορετικά εκτελέσιμα για windows & linux) Σε μια εποχή με κατακερματισμένο το χώρο των πλατφόρμων hardware, λειτουργικών συστημάτων και δυνατοτήτων των διαφορετικών συστημάτων, η Java σχεδιάστηκε ώστε τα προγράμματά της να μεταγλωττίζονται μία φορά και να εκτελούνται σε οποιαδήποτε πλατφόρμα! 11

Μεταγλώττιση Java κώδικα Java Bytecode Java Virtual Machine Το μότο με το οποίο η Java έγινε Οποιοσ δ ήποτε γνωστή και απέκτησε δημοφιλία ήταν: Η/Υ Write once, run everywhere!!! (γράφεις μια φορά, εκτελείς παντού) Στην Java γράφεις μία φορά και το μεταγλωττίζεις σε ένα «ενδιάμεσο» τύπο κώδικα (όχι ακριβώς εκτελέσιμο) που ονομάζεται bytecode. Ο bytecode τρέχει σε οποιαδήποτε πλατφόρμα έχει εγκατεστημένη το περιβάλλον εκτέλεσης Java εφαρμογών, που ονομάζεται Εικονική Μηχανή Java (Java Virtual Machine, JVM) το οποίο «διερμηνεύει» (interprets), δηλαδή εκτελεί το bytecode. Φυσικά, για κάθε διαφορετική πλατφόρμα εγκαθίσταται διαφορετική JVM Μεταγλώττιση vs. διερμηνεία Ο μεταγλωττιστής (compiler) δέχεται στην είσοδο ένα πρόγραμμα γραμμένο σε μια γλώσσα υψηλού επιπέδου και παράγει ένα ισοδύναμο (εκτελέσιμο) πρόγραμμα σε γλώσσα μηχανής. Το εκτελέσιμο πρόγραμμα το εκτελεί αμέσως μία μηχανή (πλατφόρμα) για την οποία ειδικά έχει μεταγλωττιστεί το πρόγραμμα Αντίθετα ο διερμηνευτής (interpreter) διαβάζει μία προς μία (διερμηνεύει) τις εντολές του ενδιάμεσου προγράμματος (bytecode) και τι μετατρέπει σε μια ισοδύναμη ακολουθία εντολών μηχανής τις οποίες και εκτελεί αμέσως. 12

Μεταγλώττιση vs. διερμηνεία Λόγω της ενδιάμεσης διαδικασίας της διερμηνείας, οι διερμηνευόμενες (interpreted) γλώσσες (όπως η Java) έχουν χαμηλότερη απόδοση (performance) από τις γλώσσες που μεταγλωττίζονται (compiled languages) Δηλαδή η Java έχει χαμηλότερη απόδοση από τη C και ως εκ τούτου η C είναι καταλληλότερη για εφαρμογές υψηλού υπολογιστικού φόρτου Αυτό το μειονέκτημα (χαμηλή απόδοση) είναι το τίμημα που πληρώνει η Java για το γεγονός ότι ο ίδιος ενδιάμεσος κώδικας «τρέχει» σε όλες τις πλατφόρμες (platform independence) Γιατί Java;; H Java δίνει στον προγραμματιστή ένα εργαλείο για την ανάπτυξη εφαρμογών στο Internet που απευθύνονται σε servers, desktop/laptops, p p,μικρές φορητές συσκευές (mobile phones, PDAs), κ.α. Το μέλλον της πληροφορικής και του προγραμματισμού επηρεάζεται άμεσα από το Internet και η Java υπόσχεται να παραμείνεις ένα μεγάλο μέρος σε αυτό το μέλλον. Η Java είναι σήμερα η σημαντικότερη γλώσσα προγραμματισμού στο Internet. Εξακολουθεί όμως να παραμένει και μια γλώσσα γενικού σκοπού (general purpose ) 26 13

Η Java, το web και σύγχρονες τάσεις Η Java μπορεί να χρησιμοποιηθεί για την ανάπτυξη Web εφαρμογών Java Applets Java Servlets και JavaServer Pages Η Java μπορεί να χρησιμοποιηθεί για την ανάπτυξη εφαρμογών σε κινητές εφαρμογές (cell phones, smartphones) Η τάση είναι η υποστήριξη Java εφαρμογών σε όλο και μικρότερες συσκευές, π.χ. σε αισθητήρες (βλ. http://www.sunspotworld.com/) Παραδείγματα Java εφαρμογών: JSP 14

Παραδείγματα Java εφαρμογών: Java SE Παραδείγματα Java εφαρμογών: Java SE 15

Παραδείγματα Java εφαρμογών: Java applets Παραδείγματα Java εφαρμογών: Java Mobile 16