Πρακτικά Θέματα. Αντικειμενοστρεφής Προγραμματισμός 7/3/2016. Διαλέξεις. Διάρκεια μαθήματος. Παρουσιάσεις διαλέξεων επιπλέον χρήσιμο υλικό

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Πρακτικά Θέματα. Αντικειμενοστρεφής Προγραμματισμός 7/3/2016. Διαλέξεις. Διάρκεια μαθήματος. Παρουσιάσεις διαλέξεων επιπλέον χρήσιμο υλικό"

Transcript

1 Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 7/3/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια Πρακτικά Θέματα Διαλέξεις Δευτέρα 13:15-16:00, αίθουσα 103 Διάρκεια μαθήματος 13 εβδομάδες Παρουσιάσεις διαλέξεων επιπλέον χρήσιμο υλικό Στο site του μαθήματος Εργαστήρια Ώρες γραφείου: Τρίτη 14:30-16:00, κτίριο Ανδρούτσου, γραφείο 204 1

2 Αξιολόγηση / Βαθμολόγηση επίδοσης Βαθμολογία Εξετάσεις 80% Εργαστήρια Ασκήσεις Εργασία 30% Βαθμός εξετάσεων >= 5 ΥΠΟΧΡΕΩΤΙΚΑ για να μετρήσει ο βαθμός της εργασίας Στόχος Εισαγωγή στον αντικειμενοστρεφή προγραμματισμό (object oriented programming) χρησιμοποιώντας τη γλώσσα προγραμματισμού Java Ο σκοπός του είναι να διδάξει τις βασικές έννοιες και τεχνικές που συνιστούν το υπόδειγμα του αντικειμενοστρεφούς προγραμματισμού 2

3 Βιβλίο Βασικά Συγγράμματα H. M. Deitel, P. J. Deitel, Java Προγραμματισμός, Μ. Γκιούρδας David J. Barnes, Michael Kolling, Αντικειμενοστρεφής Προγραμματισμός σε Java, Εκδόσεις Κλειδάριθμος Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό 3

4 Γλώσσες προγραμματισμού (1/5) Το βασικό εργαλείο του προγραµµατιστή! Είναι ένα σύστηµα συµβολισµών µε το οποίο µπορεί να περιγράφει εργασίες που πρόκειται να εκτελεστούν από έναν υπολογιστή Η ποικιλία των εργασιών που είναι επιθυµητό να εκτελούνται από τους υπολογιστές δικαιολογεί την ύπαρξη πληθώρας γλωσσών προγραµµατισµού που διαφέρουν: στην πολυπλοκότητα στη µορφή στη θεµατική περιοχή όπου απευθύνονται στη φιλοσοφία προγραµµατισµού που υποστηρίζουν Γλώσσες προγραμματισμού (2/5) Γλώσσα μηχανής (Machine language) Γλώσσα συμβολομετάφρασης (Assembly language) Γλώσσες υψηλού επιπέδου (High-level languages) 4

5 Γλώσσες προγραμματισμού (3/5) Γλώσσα μηχανής (Machine language) Η φυσική γλώσσα του υπολογιστή Ακολουθία από 0 και 1 (binary) Διαφορετικοί υπολογιστές αντιλαμβάνονται-κατανοούν διαφορετικές ακολουθίες Δυσνόητη για τον άνθρωπο : Γλώσσα συμβολομετάφρασης (Assembly language) Μνημονικά (σύντομες περιγραφικές λέξεις) για τη γλώσσα μηχανής low level: κάθε εντολή θεωρείται ως ένα σημείο πρωταρχική (minimal) Επίσης δύσκολη στην κατανόηση από τον άνθρωπο: ADD.L d0,d2 Γλώσσες προγραμματισμού (4/5) Με τη χρήση γλωσσών χαµηλού επιπέδου είναι πρακτικά αδύνατο να εξασφαλιστεί η απαιτούµενη ποιότητα του λογισµικού Οι γλώσσες προγραμματισμού χαµηλού επιπέδου χρησιµοποιούνται µόνο για την υλοποίηση τµηµάτων ενός συστήµατος λογισµικού που είναι εξαιρετικά απαιτητικό από πλευράς επιδόσεων ή που αφορά συγκεκριµένες συσκευές Παράδειγμα µέρη λειτουργικών συστηµάτων λογισµικό ειδικών απαιτήσεων, όπως αυτό που σχετίζεται µε συστήµατα πραγµατικού χρόνου (real time systems). 5

6 Γλώσσες προγραμματισμού (5/5) Γλώσσες υψηλού επιπέδου (High-level languages) FORTRAN, Pascal, BASIC, C, C++, Java, κτλ high level: κάθε εντολή συντίθεται από πολλές εντολές χαμηλού επιπέδου Πιο κοντά στην Αγγλική γλώσσα Ευκολότερη στην ανάγνωση και την κατανόηση: hypotenuse = Math.sqrt(opposite*opposite + adjacent*adjacent); Εξέλιξη γλωσσών προγραμματισμού 6

7 5 γενιές γλωσσών προγραμματισμού! 1η : Γλώσσες Μηχανής Κώδικας μηχανής 2η : Γλώσσες συμβολομετάφρασης Symbolic assemblers 3η : Διαδικαστικές γλώσσες υψηλού επιπέδου Γλώσσες ανεξάρτητες μηχανών (machine independent) 4η : Μη-διαδικαστικές γλώσσες Γεννήτριες εφαρμογών για συγκεκριμένο πεδίο εφαρμογής 5η : Φυσικές γλώσσες Κάθε γενιά βρίσκεται σε μεγαλύτερο αφαιρετικό επίπεδο Η 1 η γενιά (1940s) Στην αρχή... Stone Age! : Γλώσσες μηχανής Δυαδικές σειρές χαρακτήρων εντολών Εισήχθησαν με τον πρώτο υπολογιστή που μπορούσε να προγραμματιστεί Hardware dependent 7

8 Η 2 η γενιά (early 1950s) Ξεκινήσαμε να μελετάμε βελτιώσεις: Γλώσσες συμβολομετάφρασης 1-προς-1 αντικατάσταση μνημονικών από εντολές συμβολικής γλώσσας Hardware dependent Η 2 η γενιά (early 1950s) Η ανακάλυψη του Compiler! Η Grace Murray Hopper έφτιαξε τον compiler Flowmatic Κάθε ΚΜΕ έχει τη δική της ειδική γλώσσα μηχανής Ένα πρόγραμμα πρέπει να μεταφραστεί σε γλώσσα μηχανής πριν μπορεί να εκτελεστεί σε ένα συγκεκριμένο τύπο ΚΜΕ 8

9 Η 2 η γενιά (early 1950s) Interpreters και Virtual Machine Languages Speedcoding - πρώτη γλώσσα υψηλού επιπέδου (πιο κοντά στην εκφραστικότητα της φυσικής γλώσσας σε αντίθεση με την κωδικοποίηση σε γλώσσα μηχανής) που αναπτύχθηκε από τον John Backus το 1953 για τον IBM 701 για την υποστήριξη υπολογισμών με αριθμούς κινητής υποδιαστολής UNCOL - καθολική ενδιάμεση γλώσσα για μεταγλωττιστές που θεσπίστηκε από τον Melvin Conway το 1958 Ενδιάμεσοι μεταξυ των εντολών και των τελεστών των γλωσσών προγραμματισμού υψηλού επιπέδου και των αριθμών καταχωρητών και των κωδίκων λειτουργίας των γλωσσών μηχανής Η 3 η γενιά ( ) Διαδικαστικές γλώσσες υψηλού επιπέδου κάνουν τον προγραμματισμό ευκολότερο Fortran, Algol, Lisp, Cobol, Basic 9

10 Η συμβατική διαδικασία προγραμματισμού Ένας compiler μεταφράζει πηγαίο κώδικα σε συγκεκριμένη γλώσσα κατάλληλη για συγκεκριμένο τύπο ΚΜΕ Ο linker συνδέει διάφορα προγράμματα αντικειμένου τα οποία έχουν αναπτυχθεί ανεξάρτητα Η 4 η γενιά γλωσσών (1980) Μη-διαδικαστικές γλώσσες (problem-oriented) Ο χρήστης καθορίζει τι πρέπει να γίνει και όχι πώς θα γίνει Χρειάζεται λιγότερη εκπαίδευση χρηστών Σχεδιασμένες για να λύνουν συγκεκριμένα προβλήματα Διάφοροι τύποι γλωσσών 4 ης γενιάς Γλώσσες Διαχείρισης Βάσεων Δεδομένων Συστήματα Υποστήριξης Αποφάσεων Στατιστική Προσομοίωση Βελτιστοποίηση Ανάλυση Αποφάσεων Συστήματα Παρουσίασης Γραφικών 10

11 Πώς διαφέρουν οι γλώσσες προγραμματισμού?? Κοινές δομές: Βασικοί τύποι δεδομένων (αριθμοί, κτλ.) Μεταβλητές Εκφράσεις Δηλώσεις Λέξεις-κλειδιά Δομές ελέγχου Διαδικασίες Σχόλια Σφάλματα... Μη κοινές δομές: Δηλώσεις τύπων Ειδικοί τύποι (ακολουθίες χαρακτήρων, πίνακες,...) Διαδοχική εκτέλεση Δομές παραλληλισμού Πακέτα Αντικείμενα Γενικές λειτουργίες Είδη προγραμματισμού (1/3) Σειριακός Προγραμματισμός Δομημένος/Συναρτησιακός Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός 11

12 Είδη προγραμματισμού (2/3) Σειριακός Προγραμματισμός Ενδείξεις / Ταμπέλες (Labels) Ροή από επάνω προς τα κάτω Ανακατευθύνσεις (GOTOs, Jumps) Παραδείγματα: Απλή Basic, Assembly Δομημένος/Συναρτησιακός Προγραμματισμός Βιβλιοθήκη συναρτήσεων Συνάρτηση (Function) Διαδικασία (Procedure) Κλήση Συναρτήσεων Είδη προγραμματισμού (3/3) Αντικειμενοστρεφής Προγραμματισμός Βιβλιοθήκη κλάσεων Στη Java λέγεται και πακέτο Κλάση (Class) Αντικείμενο / Στιγμιότυπο (Object / Instance) Ιδιότητα (Attribute) Μέθοδος (Method) Κλήσεις σε αντικείμενα, μεθόδους αντικειμένων κτλ. 12

13 Παραδείγματα γλωσσών Διαδικαστικές (Procedural) Γλώσσες Ατομικές δηλώσεις FORTRAN, ALGOL 60, ALGOL 68, Cobol, Pascal, C, Ada Συναρτησιακές (Functional) Γλώσσες Όταν πω στον υπολογιστή να κάνει κάτι, το κάνει Ένα πρόγραμμα σε συναρτησιακή γλώσσα δεν περιγράφει πώς λύνεται ένα πρόβλημα (όπως οι διαδικασίες στις διαδικαστικές γλώσσες) αλλά το ίδιο το πρόβλημα με συστηματικό/μαθηματικό τρόπο. LISP, Σχέδιο, CLOS, ML, Haskell Λογικές (Logic) Γλώσσες Μηχανή συμπερασματολογίας που παίζει το βασικό ρόλο Prolog, GHC Αντικειμενοστρεφείς (Object-oriented) Γλώσσες Θεωρούν τα δεδομένα μαζί με τις λειτουργίες Smalltalk, C++, Eiffel, Sather, Python, Ada95, Java, OCAML Προγραμματιστικά παραδείγματα 13

14 Προγραμματιστικά παραδείγματα Μία γλώσσα προγραμματισμού είναι ένα εργαλείο επίλυσης προβλημάτων Προγραμματισμός στα 1950s Εκτέλεση της μιας εντολής μετά την άλλη Χρήση GOTO για υπερπήδηση εντολής Απλή είσοδος, απλή έξοδος Υπορουτίνες (GOSUB) Φυσική διαίρεση δουλειάς Επαναχρησιμοποιήσιμη σε άλλα προγράμματαn other programs Περιορισμός Spaghetti-code 14

15 Δομημένος Προγραμματισμός 4 βασικές δομές Ακολουθία Επιλογή Επανάληψη Αναδρομή Δομημένος Προγραμματισμός Divide and Conquer Αποσύνθεση μεγάλης κλίμακας προβλημάτων σε μικρότερα ανεξάρτητα Πρόγραμμα είναι μία συλλογή από διαδικασίες, όπου η καθεμία περιλαμβάνει μία ακολουθία εντολών 15

16 Προβλήματα Δομημένου Προγραμματισμού Ο δομημένος προγραμματισμός έχει σοβαρό περιορισμό: Είναι εντελώς απίθανο να εκτιμήσει κάποιος το σχέδιο ενός ολοκληρωμένου συστήματος πριν υλοποιηθεί Όσο μεγαλύτερο το σύστημα, τόσο μεγαλύτερη η αναδόμηση Η ανάπτυξη του λογισμικού εστιάζει στην τμηματοποίηση του κώδικα ΜΗΝ ΧΡΗΣΙΜΟΠΟΙΕΙΤΕ Global Variables Ο διαμοιρασμός δεδομένων (global variables) αποτελεί παραβίαση του τμηματικού προγραμματισμού Όλα τα modules μπορούν να έχουν πρόσβαση σε όλες τις global variables χωρίς περιορισμό Κανένα module δεν μπορεί να αναπτυχθεί και να κατανοηθεί ανεξάρτητα Global data are dangerous!!! Έχει ως αποτέλεσμα όλα τα modules να εξαρτώνται το ένα από το άλλο 16

17 ΜΗΝ ΧΡΗΣΙΜΟΠΟΙΕΙΤΕ Global Variables Απόκρυψη πληροφορίας Μία βελτίωση: Κάθε procedure (module) να έχει τα δικά της τοπικά δεδομένα Αυτά τα δεδομένα μπορεί να τα χειριστεί αυτή η ίδια η υπορουτίνα Μπορούν να σχεδιαστούν, υλοποιηθούν και συντηρηθούν πιο εύκολα Αναγκαία δεδομένα «περνιούνται» κατά την κλήση διαδικασιών μέσω παραμέτρων 17

18 Modularized Data Βάλτε δεδομένα μέσα στα modules Αυτό κάνει τα modules πιο ανεξάρτητα Δεδομένα έξω από προγράμματα Τα μικρά προγράμματα απαιτούν μικρό input και output Τα μεγάλα προγράμματα δουλεύουν με τα ίδια δεδομένα ξανά και ξανά 18

19 Διαμοιρασμός δεδομένων Πρόσβαση σε κοινά δεδομένα από πολλούς ανθρώπους/ προγράμματα DBMS Παραδοσιακή αναπαράσταση 19

20 Αντικειμενοστρεφής αναπαράσταση Αντικειμενοστρεφής προσέγγιση 3 βασικές έννοιες στην ΟΟ Τεχνολογία Αντικείμενα (Objects) Μηνύματα (Messages) Κλάσεις (Classes) Μετάφραση στο δομημένο προγραμματισμό Μεταβλητές (variables) Κλήσεις συναρτήσεων (function calls) Τύποι δεδομένων (data types) 20

21 Δομημένος vs Αντικειμενοστρεφής Προγραμματισμός ΔΟΜΗΜΕΝΟΣ: εστιάζει σε διαδικασίες Οι δομές δεδομένων σχεδιάζονται έτσι ώστε να ταιριάζουν στις διαδικασίες Οι διαδικασίες και οι δομές δεδομένων συλλαμβάνονται στο χώρο των λύσεων Το σύστημα μοντελοποιείται ως συλλογή διαδικασιών ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ: εστιάζει σε αντικείμενα Τα αντικείμενα προέρχονται από το χώρο του προβλήματος Ερμηνεία μηνυμάτων από τα αντικείμενα Είναι ευκολότερη η κατηγοριοποίηση αντικειμένων Το σύστημα μοντελοποιείται ως συλλογή αλληλεπιδρώντων αντικειμένων Εξέλιξη μεθόδων σχεδιασμού λογισμικού 21

22 Πλεονεκτήματα αντικειμενοστρεφούς προσέγγισης Πρέπει να προσπαθούμε να κάνουμε το λογισμικό αξιόπιστο και συντηρήσιμο Επαναληπτική ανάπτυξη προγραμμάτων Δεν χρειάζεται να καταλάβουμε τα πάντα από την αρχή Αποφεύγουμε κώδικα spaghetti Δεν χρειάζεται κάθε φορά να ξεκινάμε από την αρχή Καθώς αυξάνεται η πολυπλοκότητα, το κόστος ανάπτυξης αυξάνεται εκθετικά OOP (Object Oriented Programming επιταχύνει το χρόνο ανάπτυξης Διαδικασία Σχεδίασης Προγράμματος Σχεδίαση, μετά κωδικοποίηση (ΟΧΙ κωδικοποίηση πρώτα και μετά σχεδίαση) Διαδικασία σχεδίασης Ορίζω με σαφήνεια το πρόβλημα Σχεδιάζω αντικείμενα για τις ανάγκες του προγράμματος Αναπτύσσω αλγορίθομους για τις μεθόδους των αντικειμένων Περιγράφω τους αλγόριθμους, συνήθως σε ψευδοκώδικα Διαδικασία κωδικοποίησης Γράφω τον κώδικα Ελέγχω τον κώδικα Διορθώνω λάθη και επαναελέγχω 22

23 Αντικείμενα Όταν γράφουμε ένα πρόγραμμα σε μια αντικειμενοστρεφή γλώσσα προγραμματισμού, στην ουσία δημιουργούμε ένα μοντέλο ενός συστήματος του κόσμου. Τα τμήματα από τα οποία αποτελείται το μοντέλο αυτό είναι τα αντικείμενα (objects) που εμφανίζονται στην περιοχή του προβλήματος. Τα αντικείμενα αυτά πρέπει να αναπαρασταθούν στο μοντέλο του συστήματος που δημιουργούμε με το πρόγραμμα που αναπτύσσουμε. Ο κόσμος γύρω μας αποτελείται από αντικείμενα. Κάθε αντικείμενο μπορεί να εκτελέσει κάποιες συγκεκριμένες ενέργειες και κάθε ενέργεια μπορεί να επηρεάσει κάποια από τα άλλα αντικείμενα του κόσμου. Κλάσεις Τα αντικείμενα μπορούν να κατηγοριοποιηθούν σε κλάσεις (classes), με κάθε κλάση να περιγράφει με ένα αφηρημένο τρόπο όλα τα αντικείμενα ενός συγκεκριμένου είδους. Ένα αντικείμενο, στην ουσία, περικλείει κάποια δεδομένα (πεδία) και ένα σύνολο λειτουργιών (μεθόδους) για την επεξεργασία τους. Συνήθως, αναφερόμαστε σε ένα συγκεκριμένο αντικείμενο ως στιγμιότυπο (instance), προκειμένου να δώσουμε έμφαση στο γεγονός ότι το αντικείμενο αυτό ανήκει σε μια συγκεκριμένη κλάση. Από τη στιγμή που θα ορίσουμε μια κλάση μπορούμε να δημιουργήσουμε όσα αντικείμενα στιγμιότυπα χρειαζόμαστε για την επίλυση ενός προβλήματος. 23

24 Αντικείμενα και Κλάσεις Αντικείμενα Αναπαριστούν πράγματα από τον πραγματικό κόσμο ή από κάποιο χώρο προβλήματος (π.χ: το κόκκινο αυτοκίνητο στο parking ) Κλάσεις Αναπαριστούν όλα τα αντικείμενα ενός είδους (π.χ: αυτοκίνητο ) Objects First with Java - A Practical Introduction using BlueJ, David J. Barnes, Michael Kölling Ορισμοί Κλάση Πρότυπο, καλούπι (template) που περιλαμβάνει τον ορισμό, τη δήλωση δεδομένων και τις πράξεις που γίνονται σε αυτά, ορίζει τις κοινές μεταβλητές και μεθόδους όλων των ομοειδών αντικειμένων (με ίδια δομή και συμπεριφορά) και χρησιμοποιείται για τη δημιουργία πολλών αντικειμένων με παρόμοια χαρακτηριστικά (ιδιότητες και μεθόδους) Αντικείμενο Συγκεκριμένη εμφάνιση, στιγμιότυπο με συγκεκριμένες τιμές κοινών μεταβλητών. Κάθε αντικείμενο είναι μοναδικό, αλλά ταυτόχρονα ανήκει και σε μια κλάση (ομοειδών) αντικειμένων. Λέμε ότι το αντικείμενο είναι στιγμιότυπο της εν λόγω κλάσης. 24

25 Παράδειγμα Κλάση: Περιγράφει μια οικογένεια οντοτήτων με ίδια χαρακτηριστικά και συμπεριφορά (δηλ. μια αφηρημένη οντότητα) Π.χ. σκύλος, τοστιέρα Στιγμιότυπο: Περιγράφει μια συγκεκριμένη οντότητα, που παράγεται από μια αντίστοιχη κλάση, στην οποία λέμε ότι ανήκει Π.χ. Πλούτο, η_τοστιέρα_μου Στατικότητα Κλάσης Δυναμικότητα Στιγμιοτύπων Κλάσης Κλάση: αφηρημένη έννοια (π.χ. οι τηλεοράσεις γενικώς) Aντικείμενο: χειροπιαστή (απτή) οντότητα (η δική σου συγκεκριμένη συσκευή τηλεόρασης) Μια κλάση ορίζει τι είναι ένα αντικείμενο, αλλά δεν είναι αυτό καθ εαυτό ένα αντικείμενο. Π.χ. αν μιλάμε για την οντότητα γάτα, η κλάση είναι ο ορισμός της γάτας, αλλά δεν ταϊζουμε τον ορισμό της γάτας, αλλά μια συγκεκριμένη γάτα που έχουμε στο σαλόνι μας, ή που έχουν οι φίλοι μας, ή που συναντάμε κάπου κ.λ.π. Όταν γράφουμε ένα πρόγραμμα σε αντικειμενοστρεφή γλώσσα προγραμματισμού, δεν ορίζουμε στο πρόγραμμα μεμονωμένα αντικείμενα, αλλά κλάσεις αντικειμένων. Τα αντικείμενα δημιουργούνται από το πρόγραμμά μας κατά το χρόνο της εκτέλεσής του. 25

26 Στατικότητα Κλάσης Δυναμικότητα Στιγμιοτύπων Κλάσης Η κλάση είναι στατική περιγραφή συνόλου αντικειμένων ΕΝΩ κάθε αντικείμενο είναι μια δυναμική, πραγματική οντότητα Από κάθε κλάση μπορούν να δημιουργηθούν πολλά αντικείμενα (ανάλογα με τις ανάγκες του προβλήματος) κατά τη διάρκεια εκτέλεσης του προγράμματος (στιγμιότυπα instances) της κλάσης) Κάθε κλάση δηλώνεται μόνο μια φορά σε ένα πρόγραμμα Η δήλωση της κλάσης δεν δεσμεύει χώρο στη μνήμη, αλλά το κάθε αντικείμενο που θα δημιουργηθεί στο χρόνο εκτέλεσης καταλαμβάνει χώρο στη μνήμη για κάθε ιδιότητα Η κλάση είναι μια compile-time οντότητα, το αντικείμενο αποτελεί run-time οντότητα Στατικότητα Κλάσης Δυναμικότητα Στιγμιοτύπων Κλάσης Κλάση Περιγραφή, Ορισμός, ΣΥΝΤΑΓΗ, ΚΑΛΟΥΠΙ ένα συγκεκριμένο αντικείμενο Μία Δεν καταλαμβάνει χώρο στη μνήμη! Αντικείμενα Χειροπιαστές Οντότητες Πολλά Καταλαμβάνουν χώρο στη μνήμη 26

27 Ποια είναι κλάσεις και ποια αντικείμενα? Η ποδοσφαιρική ομάδα του Ολυμπιακού Ο παίκτης κ. Τάδε της ποδοσφαιρικής ομάδας του Παναθηναϊκού Έντομο Ελικόπτερο Ο υπάλληλος κ. Γεωργίου του ΟΤΕ Άνδρας Το αεροπλάνο που θα πραγματοποιήσει τη σημερινή πτήση των της Aegean για Ρώμη Εργαζόμενος Θαλάσσιο όχημα Το Πανεπιστήμιο Πειραιώς Εντοπίστε ζεύγη με σχέση κλάσης αντικειμένου Ηλεκτρονική συσκευή Τηλεοπτική συσκευή Τηλεοπτική συσκευή Η τηλεόραση μάρκας τάδε, μεγέθους τάδε που έχω στο δωμάτιο μου Θηλαστικό Σκύλος Σκύλος Ο σκύλος του φίλου μου του Πέτρου που τον λένε Αζόρ Ορθογώνιο σχήμα Το ορθογώνιο με πάνω αριστερή κορυφή το σημείο (5,5) και κάτω δεξιά κορυφή το σημείο (10,3) Σχήμα Κυκλικό Σχήμα 27

28 Ορισμοί Ιδιότητα (attribute) Είναι μια μεταβλητή. Μπορεί να είναι: Αντικειμένου Μόνο του συγκεκριμένου αντικειμένου Κλάσης Όλων των αντικειμένων που περιλαμβάνει μια κλάση Κατ επέκταση και όλων των αντικειμένων των υποκλάσεων που περιλαμβάνει η κλάση Το σύνολο των ιδιοτήτων ενός αντικειμένου καθορίζουν την κατάστασή του (state) Ορισμοί Μέθοδος (method) ή λειτουργία Διαδικασία ή συνάρτηση που καθορίζει τη συμπεριφορά ενός αντικειμένου ή κλάσης / τρόπος με τον οποίο λειτουργεί/συμπεριφέρεται το αντικείμενο Π.χ. ο σκύλος γαβγίζει, τρώει, κοιμάται Το σύνολο των μεθόδων ενός αντικειμένου καθορίζουν τη συμπεριφορά του (behavior) 28

29 Βασικές έννοιες αντικειμενοστρεφούς προσέγγισης Αντικείμενο (object) / Κλάση (class) Ιδιότητες (properties) Μέθοδοι (methods) Βασικές έννοιες αντικειμενοστρεφούς προσέγγισης Η οργάνωση των κλάσεων χρησιμοποιείται για να γίνει το μοντέλο του φυσικού κόσμου. Σε αυτό, μεταξύ των άλλων βοηθούν και οι έννοιες: Ιεραρχίες (hierarchies) Κληρονομικότητα (inheritance) Οι ορισμοί των κλάσεων και οι ιεραρχίες τους προορίζονται για να αναπαραστήσουν ένα πρόβλημα ή τη λύση του. 29

30 Δομή αντικειμένου Στατικό μέρος (private) Δεδομένα (Μεταβλητές) Δυναμικό μέρος (public) Διαδικασίες (Μέθοδοι) Αντικείμενο - παράδειγμα Σύστημα που ελέγχει ένα φράγμα σε ποταμό Φράγμα: αντικείμενο το οποίο διαθέτει Ιδιότητες / Καταστάσεις, πχ: πλήρως_ανοιχτό (όπου το νερό του ποταμού ρέει ανεμπόδιστα μέσω του φράγματος) πλήρως_κλειστό (όπου δεν επιτρέπεται σε νερό του ποταμού να περάσει διαμέσου του φράγματος) Μέθοδοι / Συμπεριφορές, πχ: προειδοποιεί: όταν το φράγμα πρόκειται να αλλάξει κατάσταση από την κλειστή ανοιχτή, μπορεί να στέλνει μια προειδοποίηση στους ανθρώπους που βρίσκονται για αναψυχή στις εκβολές του ποταμού, για να τους ειδοποιήσει ότι το επίπεδο του νερού του ποταμού πρόκειται να ανέβει. 30

31 Παραδείγματα κλάσεων... Κλάση Φυτό Ιδιότητες: ύψος, ηλικία, χρώμα φύλλων, ανθοφόρο Μέθοδοι: φυτεύεται, αναπτύσσεται, δημιουργεί χλωροφύλλη, μαραίνεται Αντικείμενα της κλάσης: κάθε ένα συγκεκριμένο φυτό από τα φυτά της βεράντας μας, κάθε συγκεκριμένο φυτό στα παρτέρια μιας συγκεκριμένης πλατείας ή ενός συγκεκριμένου κήπου κ.λ.π. Παραδείγματα κλάσεων... Κλάση Μοτοσικλέτα Ιδιότητες: στοιχεία πινακίδων, μάρκα, μοντέλο, έτος κυκλοφορίας, τρέχουσα ταχύτητα, μέγιστη ταχύτητα, κυβισμός, τιμή Μέθοδοι: ξεκινά, κινείται, επιταχύνει, επιβραδύνει, φρενάρει, στρίβει, σταματά Αντικείμενα της κλάσης: η συγκεκριμένη μοτοσικλέτα που είναι παρκαρισμένη στο πάρκινγκ, μια Honda 250 με αριθμό κυκλοφορίας ΑΑΑ 1234, η μοτοσικλέτα του συμφοιτητή μου κ.λ.π 31

32 Προσδιορισμός Ιδιοτήτων Κλάσεων Όταν καλούμαστε να προσδιορίσουμε ιδιότητες (ή ιδιοχαρακτηριστικά) σε κλάσεις, θα πρέπει να θυμόμαστε ότι: Ιδιότητες είναι ότι περιγράφει την κατάσταση (state) κάθε αντικειμένου της κλάσης και θα πρέπει να μπορούν να παρασταθούν στο λογισμικό με μεταβλητές (variables) διαφόρων τύπων (ακέραιες, πραγματικές, λογικές (boolean) κλπ) ΔΕΝ συμπεριλαμβάνουμε στις ιδιότητες περιττές πληροφορίες, ούτε ιδιότητες που αποτελούν συνάρτηση άλλων. Προσδιορισμός Μεθόδων Κλάσεων Όταν καλούμαστε να προσδιορίσουμε μεθόδους σε κλάσεις, θα πρέπει να θυμόμαστε ότι: Οι μέθοδοι είναι ενέργειες που μπορεί να εκτελέσουν τα αντικείμενα της κλάσης ή μπορούν να εκτελεστούν επί αυτών και στο λογισμικό παριστάνονται με τμήματα κώδικα που υλοποιούν τις λειτουργίες που απαιτούνται για να γίνουν αυτές οι ενέργειες. 32

33 Ποιες είναι ιδιότητες και ποιες είναι μέθοδοι των κλάσεων? Τηλεφωνική συσκευή: επανάληψη κλήσης, χρώμα, μέγεθος, μάρκα, πλήθος πλήκτρων Φυτό: ρίζες, φύλλα, λουλούδια, ποτίζεται, ύψος, ηλικία, χρώμα φύλλων Μοτοσικλέτα: τιμόνι, ρόδες, φρένο, χρώμα, μάρκα, κυβικά, τιμή, φρενάρισμα, εκκίνηση, μήκος Ορθογώνιο: μήκος, ύψος, μήκος διαγωνίου, υπολογισμός εμβαδού, υπολογισμός μήκους περιφέρειας Ποιες είναι ιδιότητες και ποιες είναι μέθοδοι των κλάσεων? Κύκλος: συντεταγμένες κέντρου, ακτίνα, διάμετρος, υπολογισμός εμβαδού, υπολογισμός μήκους περιφέρειας Ηθοποιός: απαγγελία διαλόγων, ύψος, παίξιμο ρόλου, βάρος, χρώμα ματιών, χρώμα μαλλιών, ηλικία, φύλο, είδος υποκριτικής (δραματικός, κωμικός κλπ.) Χορευτής: ύψος, είδος χορών που χορεύει, βάρος, χρώμα ματιών, χρώμα μαλλιών, ηλικία, φύλο, κάνει πιρουέτες 33

34 Μέθοδοι και μηνύματα Μέθοδος Οι μέθοδοι είναι οι πράξεις που εκτελεί ένα αντικείμενο όταν λαμβάνει ένα μήνυμα. Οι πράξεις μπορούν να εκτελούνται μόνο αν είναι γνωστές στο αντικείμενο. Το σύνολο των μεθόδων ενός αντικειμένου καθορίζει τη συμπεριφορά του Μηνύματα Τα αντικείμενα επικοινωνούν και αλληλεπιδρούν μεταξύ τους στέλνοντας μηνύματα. Τα μηνύματα είναι αιτήσεις που στέλνονται από ένα αντικείμενο σε ένα άλλο έτσι ώστε το τελευταίο να εκτελέσει μια μέθοδο/λειτουργία. Οποιαδήποτε επιπλέον πληροφορία απαιτείται δίνεται με το μήνυμα και αποτελεί τις παραμέτρους του μηνύματος Βασικές έννοιες αντικειμενοστρεφούς προσέγγισης Συνοψίζοντας Ένα αντικείμενο είναι δομή προγράμματος που έχει δεδομένα και ονομάζονται ιδιότητες που σχετίζονται με αυτό, και μπορεί να εκτελεί συγκεκριμένες ενέργειες που είναι γνωστές ως συμπεριφορές. Μία κλάση ορίζει τον τύπο ή το είδος του αντικειμένου. Αποτελεί ένα προσχέδιο για τον ορισμό αντικειμένων. Όλα τα αντικείμενα της ίδιας κλάσης έχουν τα ίδια είδη δεδομένων και τις ίδιες συμπεριφορές. Όταν ένα πρόγραμμα τρέχει, όλα τα αντικείμενα μπορούν να ενεργούν αυτόνομα ή να αλληλεπιδρούν με άλλα αντικείμενα, για την επίτευξη του σκοπού του προγράμματος. Οι ενέργειες που επιτελούνται από τα αντικείμενα ορίζονται από τις μεθόδους τους. 34

35 Αναπαράσταση κλάσεων - παράδειγμα Μάθημα Κωδικός μαθήματος Είδος Τίτλος Διδάσκων Προσθήκη Μαθήματος () Διαγραφή Μαθήματος () Μεταβολή στοιχείων Μαθήματος () Ανάθεση Μαθήματος () Αναπαράσταση κλάσεων - παράδειγμα Καθηγητής Αρ. Ταυτότητας Όνομα Επώνυμο Διεύθυνση Τηλέφωνο Προσθήκη Καθηγητή () Διαγραφή Καθηγητή () Μεταβολή στοιχείων Καθηγητή () 35

36 Αντικείμενα / Στιγμιότυπα - παράδειγμα Κάθε αντικείμενο είναι ένα στιγμιότυπο (instance) μιας κλάσης! ΔΗΛΑΔΗ κάθε στιγμιότυπο διαθέτει τις δικές του τιμές χαρακτηριστικών ΑΛΛΑ μοιράζεται τα ονόματα των χαρακτηριστικών και τις συμπεριφορές με τα υπόλοιπα στιγμιότυπα της κλάσης Στιγμιότυπα κλάσεων (αντικείμενα) Μάθημα 01 Κωδικός μαθήματος: ΨΣ-502 Είδος: Κορμού Τίτλος: Αντικειμενοστρεφής Προγραμματισμός Διδάσκων: Β Προσθήκη Μαθήματος () Διαγραφή Μαθήματος () Μεταβολή στοιχείων Μαθήματος () Ανάθεση Μαθήματος () 36

37 Στιγμιότυπα κλάσεων (αντικείμενα) Καθηγητής 01 Αρ. Ταυτότητας: Β Όνομα: Νικόλαος Επώνυμο: Νικολάου Διεύθυνση: Χ. Τρικούπη και Φάωνος Τηλέφωνο: Προσθήκη Καθηγητή () Διαγραφή Καθηγητή () Μεταβολή στοιχείων Καθηγητή () Παραδείγματα αντικειμένων που ομαδοποιούνται σε κλάσεις 37

38 Βασικές αρχές σχεδιασμού ΟΟΡ Ενθυλάκωση (encapsulation) Πολυμορφισμός (polymorphism) Κληρονομικότητα (inheritance) Ενθυλάκωση Διαμερισματοποίηση (compartmentalisation) / ομαδοποίηση δομής και συμπεριφοράς έτσι ώστε οι λεπτομέρειες της υλοποίησης ενός αντικειμένου να είναι κρυμμένες 38

39 Ενθυλάκωση Οι ιδιότητες αποκρύπτονται από την συμπεριφορά του αντικειμένου Δεν χρειάζεται να ξέρεις πώς λειτουργεί η μηχανή για να οδηγήσεις ένα αυτοκίνητο Μεγάλο μέρος της λειτουργικότητας είναι αόρατο Γυρίζεις ένα διακόπτη το ραδιόφωνο αρχίζει Πατάς ένα πετάλι το αυτοκίνητο επιταχύνει Η ενθυλάκωση είναι η τεχνική που πακετάρει τις πληροφορίες με τέτοιο τρόπο ώστε να αποκρύπτει αυτές που πρέπει να είναι κρυμμένες (βρίσκονται μέσα στην «κάψουλα» θύλακα) και να καθιστά ορατές αυτές που πρέπει να είναι ορατές. Πολυμορφισμός «Πολλές μορφές» Είναι η ιδιότητα που επιτρέπει να σταλεί το ίδιο μήνυμα σε διαφορετικά αντικείμενα και το κάθε αντικείμενο να εκτελέσει μια λειτουργία που αντιστοιχεί στην κλάση που ανήκει (δυνατότητα χρήσης κοινών ονομάτων για διαφορετικές μεθόδους) Η εντολή accelerate είναι η ίδια ανεξαρτήτως για τα διαφορετικά αντικείμενα airplane, car, bus, κτλ Η κλάση των πολυγώνων. Για κάθε πολύγωνο υπολογίζεται το εμβαδό, αλλά ο υπολογισμός του εμβαδού ενός τριγώνου είναι διαφορετικός από τον υπολογισμό του εμβαδού ενός ορθογωνίου Η εντολή «παίξε το αγαπημένο σου άθλημα» σημαίνει διαφορετικά πράγματα για διαφορετικούς ανθρώπους. Για κάποιον σημαίνει μπάσκετ, για κάποιον άλλο ποδόσφαιρο. 39

40 Διαδικαστικός προγραμματισμός vs πολυμορφισμού Κληρονομικότητα Φανταστείτε ένα πρόβλημα που έχει ως αντικείμενα πελάτες, υπαλλήλους κτλ Τόσο οι πελάτες όσο και οι υπάλληλοι είναι άνθρωποι Θα πρέπει να φτιάξω δύο κλάσεις. Κάποια από τα χαρακτηριστικά / λειτουργίες αυτών είναι κοινά. π.χ. ύψος, βάρος κλπ. Θα έχω πολλές φορές τον ίδιο κώδικα!!! Για να το αποφύγω και να έχω καλύτερη επαναχρησιμοποίηση δεδομένων και λειτουργιών. Ορίζω μια κλάση (γονέας), ονόματι άνθρωπος Αυτή θα συγκεντρώνει τα κοινά χαρακτηριστικά/λειτουργίες Από την κλάση αυτή θα κληρονομούν οι κλάσεις πελάτης και υπάλληλος (κλάσεις παιδιά) 40

41 Κληρονομικότητα Η δυνατότητα δημιουργίας νέων κλάσεων παίρνοντας ως βάση μία άλλη ήδη υπάρχουσα Η νέα κλάση θα έχει τα χαρακτηριστικά της παλιάς ενώ θα μπορεί να τα τροποποιήσει, να τα επεκτείνει και να προσθέσει καινούρια για να καλύψει συγκεκριμένες ανάγκες Δύο όψεις: Η κλάση-παιδί είναι εξειδίκευση (specialization) της κλάσης-γονέας Η κλάση-γονέας είναι γενίκευση (generalization) της κλάσης-παιδί Κληρονομικότητα Κληρονομικότητα είναι η δυνατότητα να ορίζει κανείς καινούργιες κλάσεις, που είναι ήδη απόγονοι κάποιας άλλης κλάσης. Ο απόγονος μίας κλάσης έχει τη δυνατότητα χρήσης όλων των δεδομένων και μεθόδων, που κληρονομεί από τον πρόγονό του, ενώ παράλληλα διατηρεί τα δεδομένα και τις μεθόδους που ο ίδιος ορίζει. 41

42 Κληρονομικότητα Επιτρέπει σε κλάσεις να μοιράζονται χαρακτηριστικά και συμπεριφορές άλλων κλάσεων. Μία κλάση-παιδί (υποκλάση) μπορεί να κληρονομήσει τα δεδομένα και τις μεθόδους (δομή, συμπεριφορά και χαρακτηριστικά) μίας άλλης κλάσης, της κλάσης-γονέας (υπερκλάσης). Σχέση μεταξύ ενός πιο γενικού στοιχείου και ενός πιο ειδικού στοιχείου, το ειδικό στοιχείο περιέχει περισσότερες πληροφορίες από το γενικό στοιχείο Οι υποκλάσεις προσφέρουν εξειδικευμένη συμπεριφορά από τα κοινά στοιχεία που προσφέρει η υπερκλάση. Κληρονομικότητα Vehicle Automobile Motorcycle Bus Sedan Sports Car School Bus Luxury Bus Τι ιδιότητες κληρονομεί κάθε όχημα από τον τύπο οχήματος που βρίσκεται πιο πάνω στο διάγραμμα? 42

43 Κληρονομικότητα - Παράδειγμα Δημιουργία ιεραρχίας Καύσιμο ντίζελ Οκτάνια Κόστος ανά λίτρο Καύσιμο Οκτάνια Κόστος ανά λίτρο Ποσότητα_που_απομένει() Ποσότητα_που_απομένει() Καύσιμο αυτοκινήτου Καύσιμο ντίζελ Καύσιμο αυτοκ Οκτάνια Κόστος ανά λίτρο Ποσότητα_που_απομένει() Εύκολη προσθήκη νέου καυσίμου 43

44 Ιστορία της Java Βασίστηκε στη γλώσσα C και C++ (SUN MICROSYSTEMS) Το αρχικό της όνομα ήταν Oak (βελανιδιά). Αναπτύχθηκε από τον James Gosling το 1991 για «έξυπνες» ηλεκτρονικές συσκευές Επειδή δεν αναπτύχθηκε η αγορά, το project κινδύνευσε να ακυρωθεί Με την έκρηξη του Internet το 1993,το project σώθηκε Η Java χρησιμοποιήθηκε για τη δημιουργία σελίδων με δυναμικό περιεχόμενο Η Java ανακοινώθηκε επίσημα το 1995 Java editions JavaTM JavaTM JavaTM aka Java 2 Platform JavaTM 2 Rel.1.3Stand.Ed.(J2SE) JavaTM 2 Rel. 1.4 J2SE JavaTM 2 Rel aka J2SE JavaTM 2 Rel aka Java SE JavaTM 2 Rel aka Java SE JavaTM 2 Rel aka Java SE 8 44

45 Η Java και ο Παγκόσμιος Ιστός Ένα μέρος της επιτυχίας της Java οφείλεται στο γεγονός ότι είναι η πρώτη γλώσσα που σχεδιάστηκε για να εκμεταλλευτεί τη δύναμη του Παγκόσμιου Ιστού, ο οποίος είχε αναδειχθεί λίγο πριν την κυκλοφορία της Java το 1995 Πέρα από τα πιο παραδοσιακά προγράμματα εφαρμογών, η Java καθιστά δυνατή τη συγγραφή μικρών αλληλεπιδραστικών προγραμμάτων, που λέγονται μικροεφαρμογές (applets), τα οποία εκτελούνται κάτω από τον έλεγχο ενός browser Βασικά Χαρακτηριστικά της Java Γλώσσα προγραμματισμού της εταιρίας SUN που αγοράστηκε από την Oracle Ανεξάρτητη πλατφόρμας λειτουργικού συστήματος και hardware, βάσει της τεχνολογίας Java Virtual Machine (JVM) Γλώσσα Αντικειμενοστρεφούς Προγραμματισμού (Object-Oriented) Διατίθεται δωρεάν το περιβάλλον εκτέλεσής της (runtime environment) και το περιβάλλον ανάπτυξης (development kit) 45

46 Βασικά Χαρακτηριστικά της Java Η Java σχεδιάστηκε με στόχο να είναι: Αντικειμενοστρεφής Κατανεμημένη Απλή Πολυνηματική (multi-threaded) Ασφαλής Ανεξάρτητη υπολογιστικής πλατφόρμας WORA (Write Once, Run Anywhere) Κατάλληλη για εφαρμογές στο Internet στον πελάτη (applets) και στον εξυπηρετητή (servlets) Ανεξαρτησία.. Τι εννοούμε λέγοντας: «Η Java είναι ανεξάρτητη πλατφόρμας συστήματος» 46

47 Βασικά Χαρακτηριστικά της Java Παρέχει τυποποιημένες βιβλιοθήκες κλάσεων (Java class libraries) μέσω των οποίων υποστηρίζονται Γραφικά και γραφικές διεπαφές (GUI) Πολυμέσα Επικοινωνία πάνω σε δίκτυα Επαναχρησιμοποιούμενες συνιστώσες (components) Σύνδεση με βάσεις δεδομένων... Java Class Libraries Προγράμματα Java Αποτελούνται από τμήματα που ονομάζονται classes Οι classes περιέχουν μεθόδους που επιτελούν κάποιον υπολογισμό Class libraries Γνωστές και σαν Java API (Applications Programming Interface) Πλούσια συλλογή από ήδη ορισμένες κλάσεις, έτοιμες για χρήση Δύο μέρη στην εκμάθηση της Java: Εκμάθηση της ίδιας της γλώσσας ώστε να μπορεί ο χρήστης να φτιάξει τις δικές του κλάσεις Εκμάθηση της χρήσης των ήδη υπαρχόντων class libraries 47

48 Παραδοσιακός τρόπος μεταγλώττισης προγραμμάτων Source code compiler Object code Linker Executable program Loader Running program Edit & Debug Libraries & other precompiled components Java compilation & interpretation Source code Java compiler Java bytecodes Java interpreter or JVM Running program Edit & Debug Libraries 48

49 Στάδια κατά τη διεργασία προγραμματισμού Η Java χρησιμοποιεί μια υβριδική στρατηγική: Τα προγράμματα μεταγλωττίζονται σε μια ενδιάμεση γλώσσα που παίζει το ρόλο Γλώσσας Μηχανής για την Java Virtual Machine (JVM) Η Java μετά ερμηνεύει αυτά τα προγράμματα προσομοιώνοντας την JVM Το JRE αποτελείται από τη JVM και τις τυποποιημένες βιβλιοθήκες κλάσεων Η διεργασία μεταγλώττισης πηγαίο αρχείο #include <stdio.h> main() { printf("hello\n"); } μεταγλωττι στής Αντικειμενικό αρχείο άλλα αντικειμενικά αρχεία και βιβλιοθήκες πρόγραμμα σύνδεσης Εκτελέσιμο αρχείο

50 Ο (δι)ερμηνευτής Java πηγαίο αρχείο αρχείο class αρχειοθήκη JAR import acm.program.*; public class Hello public void run() { println("hello"); } } μεταγλωττι στής CA FE BA BE A C B 4C 6A 61 πρόγραμμα σύνδεσης CA FE BA BE A C B 4C 6A D 00 1F F A A C C άλλα αρχεία class D 00 1F F A A C C JVM Hello hello Πώς δουλεύει η Java Ο Java compiler μεταφράζει Java source code σε μία ειδική αναπαράσταση που λέγεται bytecode Ο Java bytecode δεν είναι η γλώσσα μηχανής για οποιοδήποτε παραδοσιακό CPU Ένα άλλο εργαλείο λογισμικού, ο interpreter μεταφράζει το bytecode σε γλώσσα μηχανής και το εκτελεί Το JVM είναι ένα software layer που παρέχει μετάφραση μεταξύ Java byte codes και του λειτουργικού συστήματος 50

51 Η διαδικασία ανάπτυξης Java Java εφαρμογές και applets Υπάρχουν δύο τύποι εφαρμογών Java Java applications Τρέχουν stand alone Java applets Τρέχουν σε browser Ενσωματωμένα σε HTML αρχείο Έχουν μεγαλύτερους περιορισμούς ασφαλείας 51

52 Λογισμικά για ανάπτυξη εφαρμογών σε Java ds/index.html Τρέχουσες εκδόσεις της γλώσσας, εκπαιδευτικό υλικό Για να αναπτύξετε προγράμματα χρειάζεται το Java Development Kit (JDK) διαθέτει εργαλεία για τη μεταγλώττιση και εκτέλεση ενός προγράμματος Java Για να εκτελέσετε προγράμματα χρειάζεται το Java Runtime Environment (JRE) διαθέτει εργαλεία μόνο για την εκτέλεση ενός προγράμματος Java Υπάρχουν εκδόσεις του περιβάλλοντος Java για Windows, Linux, Solaris, MacOS κά Τελευταία σταθερή έκδοση Java είναι η 8 (Java 1.8) Λογισμικά για ανάπτυξη εφαρμογών σε Java Java 2 Platform Standard Edition: ότι χρειάζεστε για την μεταγλώττιση και εκτέλεση εφαρμογών Java NetBeans: ενοποιημένο περιβάλλον ανάπτυξης, ένα από τα ευρύτερα χρησιμοποιούμενα, ελεύθερης διανομής εργαλεία ανάπτυξης Java Eclipse: περιβάλλον ανάπτυξης για μεταφορά κώδικα σε οποιαδήποτε γλώσσα Jbuilder: ενοποιημένο περιβάλλον ανάπτυξης Java από τη Borland 52

53 IDE Integrated Development Environment Ενοποιημένο περιβάλλον ανάπτυξης: software application που παρέχει εργαλεία στους computer programmers για software development. Ένα IDE συνήθως αποτελείται από: Source code editor Compiler και/ή interpreter Build automation εργαλεία Debugger Μερικές φορές, σύστημα ελέγχου εκδόσεων και διάφορα εργαλεία, τα οποία είναι ολοκληρωμένα για την απλοποίηση της κατασκευής ενός GUI. Πολλά σύγχρονα IDEs έχουν επίσης επιπλέον εργαλεία για αντικειμενοστρεφή ανάπτυξη λογισμικού Πηγές/Acknowledgements H. M. Deitel, P. J. Deitel, Java Προγραμματισμός, Μ. Γκιούρδας D. Barnes, M. Kolling, Αντικειμενοστρεφής Προγραμματισμός σε Java, Κλειδάριθμος Βασίλης Χριστοφίδης, Αντικειμενοστρεφής Προγραμματισμός, Πανεπιστήμιο Κρήτης Κ. Τσαγκάρης, Εισαγωγή στις εφαρμογές της Java, Πανεπιστήμιο Πειραιώς 53

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 18/2/2019 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πρακτικά Θέματα Διαλέξεις Δευτέρα 13:15-16:00,

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 20/2/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πρακτικά Θέματα Διαλέξεις Δευτέρα 13:15-16:00,

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 1: Εισαγωγή Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Προγραμματισμός Η/Υ Προτεινόμενα θέματα εξετάσεων Εργαστήριο Μέρος 1 ό ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Ιανουάριος 2011 Καλογιάννης Γρηγόριος Επιστημονικός/ Εργαστηριακός

Διαβάστε περισσότερα

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν

Διαβάστε περισσότερα

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1 ΚΕΦΑΛΑΙΟ 7 ο ΠΡΟΓΡΑΜΜΑ : Το πρόγραμμα αποτελείται από μια σειρά οδηγιών, που ονομάζονται εντολές, για την εκτέλεση τέτοιου είδους πράξεων, καθώς επίσης και από ένα σύνολο πρόσθετων οδηγιών ελέγχου, που

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Κεφάλαιο 7 ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Ερωτήσεις 1. Να αναφέρετε διαφορές μεταξύ γλωσσών μηχανής και γλωσσών χαμηλού επιπέδου. Οι γλώσσες μηχανής κωδικοποιούν τις εντολές τους με ομάδες

Διαβάστε περισσότερα

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

Διαβάστε περισσότερα

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

Διαβάστε περισσότερα

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Μάριος Αραποστάθης Καθηγητής πληροφορικής Βαρβάκειου Λύκειου http://users.sch.gr/mariosarapostathis 6.1 Η έννοια του

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη

Διαβάστε περισσότερα

2.1 Αντικειµενοστρεφής προγραµµατισµός

2.1 Αντικειµενοστρεφής προγραµµατισµός 2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί

Διαβάστε περισσότερα

Κεφάλαιο 1 Προγραμματισμός Υπολογιστή. Εφαρμογές Πληροφορικής Κεφ. 7 Καραμαούνας Πολύκαρπος 1

Κεφάλαιο 1 Προγραμματισμός Υπολογιστή. Εφαρμογές Πληροφορικής Κεφ. 7 Καραμαούνας Πολύκαρπος 1 Κεφάλαιο 1 Προγραμματισμός Υπολογιστή Καραμαούνας Πολύκαρπος 1 7.1 Η προγραμματιζόμενη μηχανή Από τις βασικότερες διαφορές ανάμεσα στον υπολογιστή και στις περισσότερες ηλεκτρονικές συσκευές είναι η δυνατότητα

Διαβάστε περισσότερα

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; Εισαγωγή Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; 1. Σελίδα μαθήματος Εγγραφή Ο κάθε φοιτητής πρέπει να κάνει εγγραφή στη σελίδα του μαθήματος στην πλατφόρμα e-class

Διαβάστε περισσότερα

Μαλούτα Θεανώ Σελίδα 1

Μαλούτα Θεανώ Σελίδα 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Α. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΦΥΛΛΑΔΙΟ 6 ο ( Ενότητες 2.3 ) 1.Τι είναι πρόγραμμα; 2. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου σε σχέση με τις γλώσσες

Διαβάστε περισσότερα

Πληροφορική 2. Γλώσσες Προγραμματισμού

Πληροφορική 2. Γλώσσες Προγραμματισμού Πληροφορική 2 Γλώσσες Προγραμματισμού 1 2 Γλώσσες προγραμματσιμού Επιτρέπουν την κωδικοποίηση των αλγορίθμων Η εκτέλεση ενός προγράμματος θα πρέπει να δίνει τα ίδια αποτελέσματα με την νοητική εκτέλεση

Διαβάστε περισσότερα

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 M8 Αντικειμενοστραφής Προγραμματισμός Δρ. Γεώργιος Παπαλάμπρου Επικ. Καθηγητής ΕΜΠ Εργαστήριο Ναυτικής Μηχανολογίας george.papalambrou@lme.ntua.gr

Διαβάστε περισσότερα

Εισαγωγή στον προγραμματισμό

Εισαγωγή στον προγραμματισμό Ενότητες: Εισαγωγή στον προγραμματισμό Η έννοια του προγράμματος Ιστορική αναδρομή Φυσικές και τεχνητές γλώσσες Τεχνικές σχεδίασης προγραμμάτων Ιεραρχική Σχεδίαση Τμηματικός Προγραμματισμός Δομημένος προγραμματισμός

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

Διαβάστε περισσότερα

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

ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Αντικειμενοστραφής προγραμματισμός Web Sites:

Διαβάστε περισσότερα

Είναι μια αλληλουχία κατάλληλων οδηγιών(εντολών) που εκτελεί ο υπολογιστής για την επίλυση ενός προβλήματος.

Είναι μια αλληλουχία κατάλληλων οδηγιών(εντολών) που εκτελεί ο υπολογιστής για την επίλυση ενός προβλήματος. Û ØÓÒ ÔÖÓ Ö ÑÑ Ø Ñ ¾ Ç Ö ÐÓ ØÛÒ ÙÔÓÐÓ ØôÒ Ο υπολογιστής είναι εργαλείο επίλυσης προβλημάτων λόγω: ταχύτητας υπολογισμού και μεγέθους μνήμης γενικής χρησιμότητας μέσω της έννοιας του προγραμματισμού. Η

Διαβάστε περισσότερα

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 1: Αντικειμενοστραφής Προγραμματισμός Εισαγωγή OBJECT-ORIENTED PROGRAMMING ΔΙΔΑΣΚΟΝΤΕΣ: Iωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ

Διαβάστε περισσότερα

Ενότητα 2 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Ενότητα 2 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ενότητα 2 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΜΕ ΥΠΟΛΟΓΙΣΤΗ: Στάδιο 1: Ακριβής Προσδιορισμός του Προβλήματος Στάδιο 2: Ανάπτυξη του Αντίστοιχου Αλγόριθμου Στάδιο 3: Διατύπωση του αλγόριθμου

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου 49 Διδακτικές ενότητες 6.1 Γλώσσες και εργαλεία προγραμματισμού 6.2 Σύγχρονα προγραμματιστικά περιβάλλοντα Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν την ανάγκη ύπαρξης τόσο

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΣΚΗΣΕΙΣ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΩΤΗΣΕΙΣ ΣΩΣΤΟ ΛΑΘΟΣ Σημειώστε αν είναι σωστή ή

Διαβάστε περισσότερα

ΑΡΦΕ ΑΝΣΙΚΕΙΜΕΝΟΣΡΕΥΟΤ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ. Ιωάννης Φατζηλυγερούδης Αναπληρωτής Καθηγητής Τμήμα Μηχ/κών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών

ΑΡΦΕ ΑΝΣΙΚΕΙΜΕΝΟΣΡΕΥΟΤ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ. Ιωάννης Φατζηλυγερούδης Αναπληρωτής Καθηγητής Τμήμα Μηχ/κών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών ΑΡΦΕ ΑΝΣΙΚΕΙΜΕΝΟΣΡΕΥΟΤ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ Ιωάννης Φατζηλυγερούδης Αναπληρωτής Καθηγητής Τμήμα Μηχ/κών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών ΜΟΡΥΕ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ Διαδικασιακός ή Διαδικαστικός (Procedural)

Διαβάστε περισσότερα

ΕΠΛ 233: Αντικειμενοστρεφής Προγραμματισμός (Object-oriented programming)

ΕΠΛ 233: Αντικειμενοστρεφής Προγραμματισμός (Object-oriented programming) ΕΠΛ 233: Αντικειμενοστρεφής Προγραμματισμός (Object-oriented programming) Πληροφορίες Μαθήματος Διαλέξεις Δευτέρα, Πέμπτη 10:30-12:00 Κτήριο ΘΕΕ01, Αίθουσα 202 Εργαστήριο Τετάρτη 10:30-12:00, Κτήριο ΘΕΕ01,

Διαβάστε περισσότερα

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

Διαβάστε περισσότερα

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ 2.3.1.1. Παπαγιάννη Νάσια Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ 1 περιλαμβάνει: Η έννοια του προγράμματος Επίλυση προβλήματος 1. Ακριβή προσδιορισμό

Διαβάστε περισσότερα

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Γενικά Χαρακτηριστικά ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΓΕΝΙΚΑ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 7.1. Ανάπτυξη Προγράµµατος Τι είναι το Πρόγραµµα; Το Πρόγραµµα: Είναι ένα σύνολο εντολών για την εκτέλεση ορισµένων λειτουργιών από τον υπολογιστή.

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Η εξέλιξη των γλωσσών προγραμματισμού Η εξέλιξη των γλωσσών προγραμματισμού είναι μια διαδικασία αφαίρεσης Στην αρχή ένα πρόγραμμα ήταν

Διαβάστε περισσότερα

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Κεφάλαιο 6ο Εισαγωγή στον Προγραµµατισµό Μέρος Πρώτο (6.1, 6.2 και 6.3) Α. Ερωτήσεις Σωστού Λάθους 1. Η γλώσσα µηχανής είναι µία γλώσσα υψηλού επιπέδου.

Διαβάστε περισσότερα

Βασίλειος Κοντογιάννης ΠΕ19

Βασίλειος Κοντογιάννης ΠΕ19 Ενότητα2 Προγραμματιστικά Περιβάλλοντα Δημιουργία Εφαρμογών 6.1 Γλώσσες και εργαλεία προγραμματισμού Τι είναι οι γλώσσες προγραμματισμού; Είναι οι τεχνητές γλώσσες στις οποίες γράφονται οι εντολές των

Διαβάστε περισσότερα

Τεχνολογία Λογισµικού Ι Κεφάλαιο 5

Τεχνολογία Λογισµικού Ι Κεφάλαιο 5 ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραµµα σπουδών "ΠΛΗΡΟΦΟΡΙΚΗ" - Θ.Ε. ΠΛΗ11 Τεχνολογία Λογισµικού Ι Κεφάλαιο 5 Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@cs.ntua.gr

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1 ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 03/01/09 Χαράλαμπος Τζόκας 1 Πρόγραμμα - Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν στον Υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος της επίλυσης

Διαβάστε περισσότερα

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή. ΑΕσΠΠ-Κεφ6. Εισαγωγή στον προγραμματισμό 1 ΣΩΣΤΟ ΛΑΘΟΣ 1. Οι γλώσσες προγραμματισμού αναπτυχθήκαν με σκοπό την επικοινωνία ανθρώπου μηχανής. 2. Αλγόριθμος = Πρόγραμμα + Δομές Δεδομένων 3. Ένα πρόγραμμα

Διαβάστε περισσότερα

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις Προγραµµατισµός Η/Υ Ανασκόπηση - Ορισµοί Περιεχόµενα Ο κύκλος ανάπτυξης προγράµµατος Περιγραφή προβλήµατος Ανάλυση προβλήµατος Λογικό ιάγραµµα Ψευδοκώδικας Κωδικοποίηση Συντήρηση Γλώσσες Προγραµµατισµού

Διαβάστε περισσότερα

Μέρος Α. Λογισµικό & Προγράµµατα συστήµατος και εφαρµογών ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ. Το σηµερινό µάθηµα. Λογισµικό συστηµάτων & εφαρµογών

Μέρος Α. Λογισµικό & Προγράµµατα συστήµατος και εφαρµογών ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ. Το σηµερινό µάθηµα. Λογισµικό συστηµάτων & εφαρµογών ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΙΟΙΚΗΣΗΣ Το σηµερινό µάθηµα ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ιδάσκων: Πέτρος Βασιλικός Λογισµικό Υπολογιστικών Συστηµάτων Λογισµικό & Προγράµµατα συστηµάτων

Διαβάστε περισσότερα

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

Μ Ε Ρ Ο Σ Γ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Μ Ε Ρ Ο Σ Γ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Γλώσσες Προγραμματισμού 6.1.1 Γλώσσες μηχανής (1 η γενιά) Η γλώσσα στην οποία ένας ηλεκτρονικός υπολογιστής καταλαβαίνει

Διαβάστε περισσότερα

Βασικές Αρχές Προγραμματισμού

Βασικές Αρχές Προγραμματισμού Βασικές Αρχές Προγραμματισμού Κεφάλαιο 1 Εισαγωγή Προβλήματα Πρόβλημα: Μία κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της οποίας δεν είναι γνωστή, ούτε προφανής Π.χ. Το πρόβλημα του

Διαβάστε περισσότερα

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Στέφανος Ουγιάρογλου

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Στέφανος Ουγιάρογλου ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Κεφάλαιο 6 «Εισαγωγή στον Προγραμματισμό» Στέφανος Ουγιάρογλου Διαφάνειες από υλικό του Χ. Μουρατίδη Προγραμματισμός Η/Υ Ο προγραμματισμός είναι η διατύπωση

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Λογισμικό Υπολογιστών Γλώσσες Προγραμματισμού 1 Εξέλιξη Οι γλώσσες προγραμματισμού είναι σύνολα από προκαθορισμένες λέξεις οι οποίες συνδυάζονται σε προγράμματα σύμφωνα

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα 6: Λογισμικό Υπολογιστών Γλώσσες Προγραμματισμού Πασχαλίδης Δημοσθένης Τμήμα Διαχείρισης Εκκλησιαστικών Κειμηλίων Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε

Διαβάστε περισσότερα

6. 1 Η έννοια του προγράμματος

6. 1 Η έννοια του προγράμματος 6. 1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, τρία στάδια. 1.Τον ακριβή προσδιορισμό του προβλήματος. 2.Την ανάπτυξη του αντίστοιχου αλγορίθμου. 3.Τη διατύπωση

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια.

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια. ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια. Τον ακριβή προσδιορισμό του προβλήματος. Την ανάπτυξη του αντίστοιχου αλγορίθμου.

Διαβάστε περισσότερα

Γλώσσες Προγραμματισμού Μεταγλωττιστές

Γλώσσες Προγραμματισμού Μεταγλωττιστές Γλώσσες Προγραμματισμού Μεταγλωττιστές Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου Δομή Γλώσσες Προγραμματισμού Εισαγωγικά Γλώσσα Μηχανής Γλώσσες υψηλού επιπέδου Μεταγλωττιστές

Διαβάστε περισσότερα

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Η εξέλιξη των γλωσσών προγραμματισμού Η εξέλιξη των γλωσσών προγραμματισμού είναι μια διαδικασία αφαίρεσης Στην αρχή ένα πρόγραμμα ήταν μια

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Προγραµµατισµός Η/Υ Ο προγραµµατισµός είναι η διατύπωση του αλγορίθµου σε µορφή κατανοητή από τον Η/Υ ώστε να τον εκτελέσει («τρέξει» όπως λέµε στην ορολογία της

Διαβάστε περισσότερα

Περιεχόμενο του μαθήματος

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Η Αντικειμενοστρεφής Τεχνολογία Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 202-203 Περιεχόμενο του μαθήματος Η έννοια

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό με C++

Εισαγωγή στον Προγραμματισμό με C++ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στον Προγραμματισμό με C++ Ενότητα # 9: Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό Κωνσταντίνος Κουκουλέτσος Τμήμα

Διαβάστε περισσότερα

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών Πρόγραμμα σε γλώσσα μηχανής του ΕΚΥ Θέση μνήμης Περιεχόμενα μνήμης Εντολή (assembly) 0 0001 000000000011 lda 3 1 0011 000000000100 ada

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE) Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE) NetBeans, Πρώτα παραδείγματα ανάπτυξης Java εφαρμογών Στόχοι εργαστηρίου Εξοικείωση με τις βασικές

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr 1 Δομημένος προγραμματισμός έναντι αντικειμενοστρεφούς

Διαβάστε περισσότερα

Outline. 4 Object-Oriented Programming

Outline. 4 Object-Oriented Programming Προγραμματισμός Ηλεκτρονικών Υπολογιστών Φιλοσοφίες γλωσσών προγραμματισμού Διδάσκων: Στάθης Ζάχος Επιμέλεια Διαφανειών: Μάκης Αρσένης CoReLab ΣΗΜΜΥ - Ε.Μ.Π. Ιανουάριος 2016 ιδάσκων: Στάθης Ζάχος ( CoReLab

Διαβάστε περισσότερα

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Αλγόριθμοι και Προγράμματα

Διαβάστε περισσότερα

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το Σηµαντικά σηµεία κεφαλαίου Τα τρία στάδια επίλυσης ενός προβλήµατος: Ακριβής προσδιορισµό του προβλήµατος Ανάπτυξη του αντίστοιχου αλγορίθµου. ιατύπωση του αλγορίθµου σε κατανοητή µορφή από τον υπολογιστή.

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

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

Διαβάστε περισσότερα

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού. Κεφάλαιο 6 6.1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία σημαντικά στάδια : Σον ακριβή προσδιορισμό του προβλήματος Σην ανάπτυξη του αντίστοιχου αλγορίθμου

Διαβάστε περισσότερα

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών Κεφ. 2 Θεωρητική Επιστήμη Υπολογιστών 2.3.1.1 Έννοια προγράμματος Τι είναι πρόγραμμα και τι προγραμματισμός; Πρόγραμμα είναι το σύνολο εντολών που χρειάζεται

Διαβάστε περισσότερα

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?

Διαβάστε περισσότερα

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Εισαγωγή Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Μεταγλωττιστής Αρχικό πρόγραμμα (source program) Μεταγλωττιστής Τελικό πρόγραμμα (object program) Διαγνωστικά μηνύματα Μεταγλωττιστής Παίρνει σαν

Διαβάστε περισσότερα

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1 ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 1ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος Ορισμός Wikipedia.org 2 Δομημένος προγραμματισμός (structured programming) ή διαδικαστικός προγραμματισμός (procedural

Διαβάστε περισσότερα

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες: Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήρια Δευτέρα 18:00-20:00,Τρίτη

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ακαδημαϊκό έτος: 2010-2011 Επιμέλεια Ξενοφών Βασιλάκος Περιεχόμενα Φροντιστηρίου 1. Εισαγωγή 2. Εντολές Εκχώρησης και Τελικές μεταβλητές 3. Μεταγλώττιση και διερμηνεία των

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Μεταφραστές Εισαγωγή Διδάσκων: Επικ. Καθ. Γεώργιος Μανής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β Καβακλή Χειμερινό Εξάμηνο 2001 Στόχοι του Μαθήματος! Ανάπτυξη αναλυτικής

Διαβάστε περισσότερα

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Εισαγωγή στη γλώσσα προγραμματισμού JAVA Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Το πρώτο φλιτζάνι Java Λίστα με τα απαραίτητα Το πρώτο μου πρόγραμμα(hello World) Συνεχίζοντας

Διαβάστε περισσότερα

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

Διαβάστε περισσότερα

Περιγραφή Μαθήματος ΠΕΡΙΓΡΑΦΗ ΜΑΘΗΜΑΤΟΣ. Γεώργιος Παπαϊωάννου ( )

Περιγραφή Μαθήματος ΠΕΡΙΓΡΑΦΗ ΜΑΘΗΜΑΤΟΣ. Γεώργιος Παπαϊωάννου ( ) ΠΕΡΙΓΡΑΦΗ ΜΑΘΗΜΑΤΟΣ Γεώργιος Παπαϊωάννου (2013-16) gepap@aueb.gr Περιγραφή: Εισαγωγικές πληροφορίες για το μάθημα Τελευταία ενημέρωση: Οκτώβριος 2013 Γλώσσα αντικειμενοστραφούς προγραμματισμού υψηλού επιπέδου,

Διαβάστε περισσότερα

Διάλεξη 1: Αντικειμενοστρεφής Προγραμματισμός -Εισαγωγή. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 1: Αντικειμενοστρεφής Προγραμματισμός -Εισαγωγή. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 1: Αντικειμενοστρεφής Προγραμματισμός -Εισαγωγή Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Γλώσσες Προγραμματισμού - Μεταγλώττιση και Διερμηνεία -Η πλατφόρμα

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 1: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (1ο Μέρος)

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 1: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (1ο Μέρος) Πληροφοριακά Συστήματα Διοίκησης Ενότητα 1: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (1ο Μέρος) Γρηγόριος Μπεληγιάννης Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 9ο Γλώσσες Προγραμματισμού

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 9ο Γλώσσες Προγραμματισμού Εισαγωγή στην επιστήμη των υπολογιστών Λογισμικό Υπολογιστών Κεφάλαιο 9ο Γλώσσες Προγραμματισμού 1 Εξέλιξη Οι γλώσσες προγραμματισμού είναι σύνολα από προκαθορισμένες λέξεις οι οποίες συνδυάζονται σε προγράμματα

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Η εξέλιξη των γλωσσών προγραμματισμού Η εξέλιξη των γλωσσών προγραμματισμού είναι μια διαδικασία αφαίρεσης Στην αρχή ένα πρόγραμμα ήταν μια

Διαβάστε περισσότερα

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού Κεφάλαιο 6 ο Διαχείριση στοιχείων λογισμικού Διδακτικοί στόχοι Να περιγραφούν οι κύριοι τύποι λογισμικού Να εξεταστεί το λογισμικό συστήματος και τα λειτουργικά συστήματα Να αναλυθούν οι πιο σημαντικές

Διαβάστε περισσότερα

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης Κεφάλαιο 7 1. Σε τι διαφέρει ο Η/Υ από τις υπόλοιπες ηλεκτρικές και ηλεκτρονικές συσκευές; Που οφείλεται η δυνατότητά του να κάνει τόσο διαφορετικές

Διαβάστε περισσότερα

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Εισαγωγή

Διαβάστε περισσότερα

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό 6.1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, τρία σημαντικά στάδια: 1. Τον ακριβή προσδιορισμό του προβλήματος. 2. Την ανάπτυξη

Διαβάστε περισσότερα

ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος.

ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος. ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος 1 2 3 Εικόνα 43: Διάφορες πλακέτες υπολογιστών Μέσα σε δύο

Διαβάστε περισσότερα

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 M8 Αντικειμενοστραφής Προγραμματισμός Γεώργιος Παπαλάμπρου Επικ. Καθηγητής ΕΜΠ Εργαστήριο Ναυτικής Μηχανολογίας george.papalambrou@lme.ntua.gr ΕΜΠ/ΣΝΜΜ

Διαβάστε περισσότερα

Αντικειμενοστρεφής προγραμματισμός Object Oriented Programming (OOP) Σπάχος Κυριάκος Καθηγητής Πληροφορικής ΠΕ19

Αντικειμενοστρεφής προγραμματισμός Object Oriented Programming (OOP) Σπάχος Κυριάκος Καθηγητής Πληροφορικής ΠΕ19 Αντικειμενοστρεφής προγραμματισμός Object Oriented Programming (OOP) Σπάχος Κυριάκος Καθηγητής Πληροφορικής ΠΕ19 Διαδικασιακός προγραμματισμός Ο Διαδικασιακός προγραμματισμός δίνει έμφαση στις ενέργειες/διεργασίες/εντολές

Διαβάστε περισσότερα

Προγραμματισμός Υπολογιστών με C++

Προγραμματισμός Υπολογιστών με C++ Προγραμματισμός Υπολογιστών με C++ 1η διάλεξη (2012-13) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Γιατί να μάθει κανείς C++; Απαιτούμενο προσόν για πολλές θέσεις εργασίας. Υψηλού επιπέδου προγραμματισμός.

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ. Ι. Ψαρομήλιγκος Χ. Κυτάγιας

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ. Ι. Ψαρομήλιγκος Χ. Κυτάγιας ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Προγραμματισμός Η/Υ Ενότητα 6 η : Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα Λογιστικής

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 1: Εισαγωγή Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο

Διαβάστε περισσότερα

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ Α) Να γράψετε στο τετράδιό σας τον αριθμό κάθε πρότασης και δίπλα το γράμμα "Σ", αν είναι σωστή, ή το γράμμα "Λ", αν είναι λανθασμένη. (Μονάδες 25) 1. Ένα αδόμητο πρόβλημα είναι ταυτόχρονα και ανοικτό

Διαβάστε περισσότερα

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr Κανόνες Ομαλής Λειτουργίας Ερχόμαστε στην ώρα μας Δεν καπνίζουμε και τρώμε εντός της αίθουσας

Διαβάστε περισσότερα

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή περιορισμένοι υπολογιστικοί / αποθηκευτικοί πόροι δεν τίθεται θέμα

Διαβάστε περισσότερα

Αντικειμενοστρέφεια. Henri Matisse, Harmony in Red, Κωστής Σαγώνας Νίκος Παπασπύρου

Αντικειμενοστρέφεια. Henri Matisse, Harmony in Red, Κωστής Σαγώνας Νίκος Παπασπύρου Αντικειμενοστρέφεια Henri Matisse, Harmony in Red, 1908 Κωστής Σαγώνας Νίκος Παπασπύρου Ορισμοί αντικειμενοστρέφειας Ποιοι είναι οι ορισμοί των παρακάτω; Αντικειμενοστρεφής

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008 Τμήμα θεωρίας: Κάθε Τρίτη, 11πμ-2μμ, ΑΜΦ22. Διδάσκων: Ντίνος Φερεντίνος email: kpf3@cornell.edu Μάθημα: Θεωρία + προαιρετικό εργαστήριο (5-6 2ωρα εργαστήρια το εξάμηνο,

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 1: Εισαγωγή στη C - Αλγόριθμοι Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε

Διαβάστε περισσότερα

Από τον αλγόριθμο στην ανάπτυξη προγράμματος

Από τον αλγόριθμο στην ανάπτυξη προγράμματος Από τον αλγόριθμο στην ανάπτυξη προγράμματος 2 [ 23 ] 2. Από τον αλγόριθμο στην ανάπτυξη προγράμματος Στόχοι Μετά την μελέτη του κεφαλαίου θα μπορούμε να: περιγράφουμε την πορεία από τον αλγόριθμο στο

Διαβάστε περισσότερα

Προγραμματισμός και Εφαρμογές Υπολογιστών

Προγραμματισμός και Εφαρμογές Υπολογιστών Προγραμματισμός και Εφαρμογές Υπολογιστών Ενότητα 1: Αλγόριθμοι και Επίλυση Προβλημάτων Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης Διδάσκων: Κ.Π. Γιαλούρης Μαθησιακοί Στόχοι Ενότητας Απόκτηση αναλυτικής και

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ VI. Εισαγωγή στον προγραμματισμό

ΚΕΦΑΛΑΙΟ VI. Εισαγωγή στον προγραμματισμό ΚΕΦΑΛΑΙΟ VI Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου σημαντικά στάδια. Τον ακριβή προσδιορισμό του προβλήματος. Την ανάπτυξη του αντίστοιχου αλγορίθμου.

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών Ενότητα 4: Λογισμικό Υπολογιστή (3/3), 1ΔΩ Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης Διδάσκων: Θεόδωρος Τσιλιγκιρίδης Μαθησιακοί στόχοι Η Ενότητα 4 διαπραγματεύεται

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 3/4/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Γιατί έλεγχος πρόσβασης? Προστασία ιδιωτικής πληροφορίας

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης Κ.Π. Γιαλούρης Στόχοι του μαθήματος Απόκτηση αναλυτικής και αλγοριθμικής σκέψης Απόκτηση δεξιοτήτων επίλυσης προβλημάτων Γνώση προγραμματισμού σε Python 2 Στόχοι του σημερινού μαθήματος Κατανόηση της έννοιας

Διαβάστε περισσότερα