Δημιουργία προγραμμάτων Java

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

Download "Δημιουργία προγραμμάτων Java"

Transcript

1 1ΚΕΦΑΛΑΙΟ Δημιουργία προγραμμάτων Java Σ αυτό το κεφάλαιο, θα μάθετε να κάνετε τα εξής: Ορισμός βασικής ορολογίας προγραμματισμού Σύγκριση διαδικαστικού και αντικειμενοστραφούς προγραμματισμού Περιγραφή των χαρακτηριστικών της γλώσσας προγραμματισμού Java Ανάλυση μιας εφαρμογής Java που παράγει έξοδο κονσόλας Μεταγλώττιση κλάσης Java και διόρθωση συντακτικών σφαλμάτων Εκτέλεση εφαρμογής Java και διόρθωση λογικών σφαλμάτων Προσθήκη σχολίων σε κλάση Java Δημιουργία εφαρμογής Java που παράγει έξοδο GUI Εύρεση βοήθειας

2 26 / JAVA Εκμάθηση ορολογίας προγραμματισμού Ένα πρόγραμμα υπολογιστή (computer program) είναι ένα σύνολο οδηγιών που γράφετε για να πείτε στον υπολογιστή τι πρέπει να κάνει. Ο εξοπλισμός του υπολογιστή, όπως η οθόνη ή το πληκτρολόγιο, είναι το υλικό (hardware), ενώ τα προγράμματα είναι το λογισμικό (software). Ένα πρόγραμμα που εκτελεί μια εργασία για ένα χρήστη (όπως ο υπολογισμός και η εκτύπωση επιταγών μισθοδοσίας, η επεξεργασία κειμένου ή ένα παιχνίδι) είναι λογισμικό εφαρμογής (application software) και ένα πρόγραμμα που διαχειρίζεται τον ίδιο τον υπολογιστή (όπως τα Windows ή το Linux) είναι λογισμικό συστήματος (system software). Η λογική (logic) πίσω από οποιοδήποτε πρόγραμμα υπολογιστή, είτε πρόκειται για πρόγραμμα εφαρμογών είτε για πρόγραμμα συστήματος, καθορίζει την ακριβή σειρά των οδηγιών που απαιτούνται για την παραγωγή των επιθυμητών αποτελεσμάτων. Μεγάλο μέρος αυτού του βιβλίου περιγράφει τον τρόπο ανάπτυξης της λογικής που απαιτείται για τη δημιουργία λογισμικού εφαρμογής. Όλα τα προγράμματα υπολογιστή μετατρέπονται τελικά σε γλώσσα μηχανής. Η γλώσσα μηχανής (machine language), ή αλλιώς κώδικας μηχανής (machine code), είναι το πιο βασικό σύνολο οδηγιών που μπορεί να εκτελέσει ένας υπολογιστής. Κάθε τύπος επεξεργαστή (το εσωτερικό υλικό που χειρίζεται τις οδηγίες του υπολογιστή) έχει το δικό του σύνολο οδηγιών σε γλώσσα μηχανής. Οι προγραμματιστές περιγράφουν συχνά τη γλώσσα μηχανής χρησιμοποιώντας το 1 και το 0 για να αναπαραστήσουν τα διακοπτικά (on/off) λογικά κυκλώματα των συστημάτων υπολογιστών. Το σύστημα που χρησιμοποιεί μόνο 1 και 0 είναι το δυαδικό σύστημα αρίθμησης. Στο Παράρτημα B περιγράφουμε αναλυτικά το δυαδικό σύστημα. Αργότερα σ αυτό το κεφάλαιο θα μάθετε ότι κώδικας byte (bytecode) είναι το όνομα για τον κώδικα που δημιουργείται όταν προγράμματα Java μετατρέπονται σε γλώσσα μηχανής. Η γλώσσα μηχανής είναι μια γλώσσα προγραμματισμού χαμηλού επιπέδου (low-level programming language), δηλαδή μια γλώσσα που βρίσκεται κοντά στα κυκλώματα του επεξεργαστή ενός υπολογιστή. Οι γλώσσες χαμηλού επιπέδου απαιτούν από εσάς να χρησιμοποιείτε διευθύνσεις μνήμης για συγκεκριμένες μηχανές όταν δημιουργείτε εντολές. Αυτό σημαίνει ότι οι γλώσσες χαμηλού επιπέδου είναι δύσχρηστες και πρέπει να προσαρμόζονται για κάθε τύπο μηχανής στην οποία εκτελείται ένα πρόγραμμα. Ευτυχώς, ο προγραμματισμός έχει εξελιχθεί σε μια πιο εύκολη εργασία χάρη στην ανάπτυξη γλωσσών προγραμματισμού υψηλού επιπέδου. Μια γλώσσα προγραμματισμού υψηλού επιπέδου (high-level programming language) σας επιτρέπει να χρησιμοποιείτε ένα λεξιλόγιο εύχρηστων όρων, όπως διάβασε, γράψετε ή πρόσθεσε, αντί για τις ακολουθίες των 1 και 0 που εκτελούν τελικά αυτές τις λειτουργίες. Οι γλώσσες υψηλού επιπέδου σας επιτρέπουν επίσης να αντιστοιχίζετε κατανοητά ονόματα μίας μόνο λέξης σε περιοχές της μνήμης ενός υπολογιστή όπου αποθηκεύετε δεδομένα. Αυτό σημαίνει ότι μπορείτε να χρησιμοποιήσετε μνημονικά ονόματα όπως hoursworked ή rateofpay, αντί να είστε αναγκασμένοι να θυμάστε τις θέσεις τους στη μνήμη. Σήμερα οι προγραμματιστές έχουν στη διάθεσή τους περισσότερες από γλώσσες προγραμματισμού υψηλού επιπέδου και η Java είναι μία από αυτές. Κάθε γλώσσα υψηλού επιπέδου έχει τη δική της σύνταξη (syntax), δηλαδή κανόνες σχετικά με το πώς συνδυάζονται σωστά μεταξύ τους τα στοιχεία της γλώσσας ώστε να συνθέτουν χρήσιμες λειτουργίες. Για παράδειγμα, ανάλογα με τη συγκεκριμένη γλώσσα υψηλού επιπέδου, θα μπορούσατε να χρησιμοποιήσετε το ρήμα εκτύπωσε ή γράψε προκειμένου να εμφανίσετε μία έξοδο. Όλες οι γλώσσες διαθέτουν ένα συγκεκριμένο, περιορισμένο λεξιλόγιο [τις δεσμευμένες λέξεις (keywords) της γλώσσας] και ένα συγκεκριμένο σύνολο κανόνων που υπαγορεύουν τη χρήση του συγκεκριμένου λεξιλογίου. Όταν μαθαίνετε μια γλώσσα προγραμματισμού υπολογιστών, όπως τη Java, τη C++ ή τη Visual Basic, στην πραγματικότητα μαθαίνετε το λεξιλόγιο και τη σύνταξη για τη συγκεκριμένη γλώσσα. Με τη χρήση μιας γλώσσας προγραμματισμού, οι προγραμματιστές γράφουν μια σειρά από εντολές προγραμμάτων (program statements ή commands), οι οποίες κατορθώνουν να εκπληρώσουν τις εργασίες που ζητούνται από το πρόγραμμα. Οι προτάσεις των προγραμμάτων είναι επίσης γνωστές ως εντολές που δίνονται με προστακτική μορφή στον υπολογιστή, όπως «εξήγαγε αυτήν τη λέξη» ή «πρόσθεσε αυτούς τους δύο αριθμούς». Αφού γράψουν τις εντολές των προγραμμάτων, οι προγραμματιστές γλωσσών υψηλού επιπέδου χρησιμοποιούν ένα άλλο πρόγραμμα που ονομάζεται μεταγλωττιστής (compiler) ή συμβολομεταφραστής (inter-

3 ΚΕΦ. 1: ΔΗΜΙΟΥΡΓΙΑ ΠΡΟΓΡΑΜΜΑΤΩΝ JAVA / 27 preter) το οποίο μεταφράζει τις εντολές τους σε γλώσσα μηχανής. Ο μεταγλωττιστής μεταφράζει ολόκληρο το πρόγραμμα πριν εκτελέσει (execute) οποιαδήποτε εντολή, ενώ ένας διερμηνευτής μεταφράζει μία εντολή προγράμματος κάθε φορά, εκτελώντας κάθε εντολή αμέσως μόλις τη μεταφράσει. Το αν θα χρησιμοποιείτε μεταγλωττιστή ή διερμηνευτή εξαρτάται πολλές φορές από τη γλώσσα προγραμματισμού που χρησιμοποιείτε. Για παράδειγμα, η C++ είναι μια μεταγλωττιζόμενη γλώσσα και η Visual Basic είναι μια διερμηνευόμενη γλώσσα. Κάθε τύπος μεταφραστή έχει τους υποστηρικτές του τα προγράμματα που γράφονται σε μεταγλωττιζόμενες γλώσσες εκτελούνται πιο γρήγορα, ενώ για τα προγράμματα που γράφονται σε διερμηνευόμενες γλώσσες, η ανάπτυξη και η διόρθωση σφαλμάτων είναι πιο εύκολες. Η Java χρησιμοποιεί τα καλύτερα στοιχεία από τις δύο τεχνολογίες: ένα μεταγλωττιστή για τη μετάφραση των εντολών προγραμματισμού και έναν διερμηνευτή για την ανάγνωση του μεταγλωττισμένου κώδικα γραμμή προς γραμμή όταν εκτελείται το πρόγραμμα [όπως λέμε, κατά την εκτέλεση (runtime)]. Οι μεταγλωττιστές και οι διερμηνευτές εμφανίζουν ένα ή περισσότερα μηνύματα σφάλματος κάθε φορά που συναντούν μια μη έγκυρη εντολή προγράμματος δηλαδή μια εντολή που περιέχει ένα συντακτικό σφάλμα (syntax error) ή χρησιμοποιεί με λάθος τρόπο τη γλώσσα. Παραδείγματα συντακτικών σφαλμάτων περιλαμβά- Σχεδίασε τη λογική του προγράμματος Γράψε εντολές στη γλώσσα προγραμματισμού που αντιστοιχούν στη λογική Χρησιμοποίησε λογισμικό μετάφρασης (μεταγλωττιστή ή διερμηνευτή) που μεταφράζει τις εντολές γλώσσας προγραμματισμού σε γλώσσα μηχανής Μπορούν να μεταφραστούν με επιτυχία όλες οι εντολές; Όχι Εξέτασε τη λίστα με τα συντακτικά σφάλματα Διαδικασία διόρθωσης σφαλμάτων Διαδικασία διόρθωσης σφαλμάτων Ναι Εκτέλεσε το πρόγραμμα Εξέτασε την έξοδο του προγράμματος Υπάρχουν σφάλματα εκτέλεσης ή εξόδου; Ναι Όχι Εικόνα 1-1 Η διαδικασία ανάπτυξης προγραμμάτων

4 28 / JAVA νουν τη λάθος γραφή μιας δεσμευμένης λέξης ή την παράλειψη μιας λέξης που είναι υποχρεωτική για μια εντολή. Όταν ανιχνεύεται ένα συντακτικό σφάλμα, ο προγραμματιστής μπορεί να το διορθώσει και να επιχειρήσει ξανά τη μετάφραση. Η διόρθωση όλων των συντακτικών σφαλμάτων είναι το πρώτο μέρος της διαδικασίας εκσφαλμάτωσης (debugging) ενός προγράμματος της εξάλειψης όλων των σφαλμάτων (bugs) και των ατελειών από το πρόγραμμα. Η Εικόνα 1-1 παρουσιάζει τα βήματα που ακολουθεί ένας προγραμματιστής κατά την ανάπτυξη ενός εκτελέσιμου προγράμματος. Θα μάθετε περισσότερα για τη διόρθωση σφαλμάτων των προγραμμάτων Java παρακάτω σ αυτό το κεφάλαιο. Όπως δείχνει η Εικόνα 1-1, θα μπορούσατε να γράψετε ένα πρόγραμμα με σωστή σύνταξη, αλλά με λογικά σφάλματα. Ένα λογικό σφάλμα (logic error) είναι μια ατέλεια που επιτρέπει την εκτέλεση ενός προγράμματος, αλλά δεν του επιτρέπει να εκτελεστεί σωστά. Η ορθή λογική συνεπάγεται ότι όλες οι κατάλληλες εντολές θα δίνονται με την κατάλληλη σειρά μέσα στο πρόγραμμα. Παραδείγματα λογικών σφαλμάτων είναι ο πολλαπλασιασμός δύο τιμών ενώ θέλετε να τις διαιρέσετε ή η έξοδος αποτελεσμάτων πριν αποκτηθεί η κατάλληλη είσοδος. Όταν αναπτύσσετε ένα πρόγραμμα μεγάλου μεγέθους, θα πρέπει να σχεδιάσετε τη λογική του πριν ξεκινήσετε να γράφετε τις εντολές του. Η διόρθωση λογικών σφαλμάτων είναι πολύ πιο δύσκολη από τη διόρθωση συντακτικών σφαλμάτων. Τα συντακτικά σφάλματα εντοπίζονται από τον μεταφραστή της γλώσσας όταν μεταγλωττίζετε ένα πρόγραμμα. Όμως ένα πρόγραμμα μπορεί να μην έχει συντακτικά σφάλματα και να εκτελείται, ενώ εξακολουθεί να έχει λογικά σφάλματα. Υπάρχουν φορές που τα λογικά σφάλματα αναγνωρίζονται μόνο κατά την εξέταση της εξόδου ενός προγράμματος. Για παράδειγμα, αν γνωρίζετε ότι ο μισθός ενός υπαλλήλου περιέχει την τιμή 4.000, αλλά όταν εξετάζετε την έξοδο ενός προγράμματος μισθοδοσίας βλέπετε ότι περιέχει την τιμή 40, τότε αντιλαμβάνεστε ότι υπάρχει λογικό σφάλμα. Ίσως εκτελέστηκε μια λάθος πράξη ή ενδεχομένως η έξοδος προβάλλει τις ώρες εργασίας αντί του πληρωτέου μισθού. Όταν η έξοδος είναι λανθασμένη, ο προγραμματιστής πρέπει να εξετάσει προσεκτικά όλες τις εντολές μέσα στο πρόγραμμα, να αναθεωρήσει ή να μετακινήσει τις προβληματικές εντολές και να μεταφράσει και δοκιμάσει το πρόγραμμα ξανά. Απλώς και μόνο επειδή ένα πρόγραμμα παράγει σωστή έξοδο, δεν συνεπάγεται ότι δεν περιέχει λογικά σφάλματα. Για παράδειγμα, έστω ότι ένα πρόγραμμα πρέπει να πολλαπλασιάζει δύο τιμές που εισάγει ο χρήστης, ότι ο χρήστης εισήγαγε τον αριθμό 2 και για τις δύο τιμές και ότι η έξοδος είναι 4. Το πρόγραμμα θα μπορούσε πιθανώς να έχει προσθέσει κατά λάθος τις τιμές. Ο προγραμματιστής θα ανακάλυπτε το λογικό σφάλμα μόνο με την εισαγωγή διαφορετικών τιμών, όπως 5 και 7, και με την επανεξέταση του αποτελέσματος. Οι προγραμματιστές αναφέρονται σε ορισμένα λογικά σφάλματα ως σημασιολογικά σφάλματα (semantic error). Για παράδειγμα, αν κάνετε ένα ορθογραφικό λάθος σε μια λέξη γλώσσας προγραμματισμού, διαπράττετε ένα συντακτικό σφάλμα, αλλά αν χρησιμοποιήσετε τη σωστή λέξη σε λάθος πλαίσιο χρήσης, διαπράττετε ένα σημασιολογικό σφάλμα. ΔΥΟ ΑΛΗΘΕΙΕΣ ΚΙ ΕΝΑ ΨΕΜΑ Εκμάθηση ορολογίας προγραμματισμού Σε κάθε ενότητα «Δύο αλήθειες κι ένα ψέμα», δύο από τις αριθμημένες προτάσεις είναι αληθής και μία είναι ψευδής. Αναγνωρίστε την ψευδή πρόταση και εξηγήστε γιατί είναι ψευδής. 1. Αντίθετα από μια γλώσσα προγραμματισμού χαμηλού επιπέδου, μια γλώσσα προγραμματισμού υψηλού επιπέδου σας επιτρέπει να χρησιμοποιείτε λεξιλόγιο εύχρηστων όρων αντί για τις ακολουθίες ανοιχτών και κλειστών διακοπτών (λογικών κυκλωμάτων) που εκτελούν τις αντίστοιχες εργασίες. 2. Έχετε συντακτικό σφάλμα όταν χρησιμοποιείτε με λανθασμένο τρόπο τη γλώσσα προγραμματισμού. Ο εντοπισμός και η επιδιόρθωση όλων των συντακτικών σφαλμάτων αποτελούν τμήματα της διαδικασίας διόρθωσης σφαλμάτων ενός προγράμματος. 3. Τα λογικά σφάλματα εντοπίζονται σχετικά εύκολα, επειδή το λογισμικό που μεταφράζει ένα πρόγραμμα βρίσκει αυτόματα όλα τα λογικά σφάλματα. Η ψευδής πρόταση είναι η #3. Ο μεταφραστής μιας γλώσσας βρίσκει τα συντακτικά σφάλματα, αλλά τα λογικά σφάλματα συνήθως ανακαλύπτονται μόνο με εξέταση της εξόδου ενός προγράμματος.

5 ΚΕΦ. 1: ΔΗΜΙΟΥΡΓΙΑ ΠΡΟΓΡΑΜΜΑΤΩΝ JAVA / 29 Σύγκριση των εννοιών του διαδικαστικού και του αντικειμενοστραφούς προγραμματισμού Δύο δημοφιλείς προσεγγίσεις για τη δημιουργία προγραμμάτων υπολογιστή είναι ο διαδικαστικός προγραμματισμός και ο αντικειμενοστραφής προγραμματισμός. Διαδικαστικός προγραμματισμός Ο διαδικαστικός προγραμματισμός (procedural programming) είναι ένα είδος προγραμματισμού στο οποίο οι πράξεις εκτελούνται η μία μετά την άλλη, διαδοχικά. Σε διαδικαστικές εφαρμογές, ορίζετε ονόματα για θέσεις της μνήμης του υπολογιστή οι οποίες μπορούν να διατηρούν τιμές για παράδειγμα, αριθμούς και κείμενο σε ηλεκτρονική μορφή. Οι ονοματισμένες θέσεις της μνήμης ονομάζονται μεταβλητές (variables) επειδή περιέχουν τιμές που θα μπορούσαν να αλλάξουν. Για παράδειγμα, ένα πρόγραμμα μισθοδοσίας μπορεί να περιέχει μια μεταβλητή με το όνομα rateofpay. Η θέση μνήμης στην οποία παραπέμπει το όνομα rateofpay μπορεί να περιέχει διαφορετικές τιμές (διαφορετική τιμή για κάθε υπάλληλο της εταιρείας) σε διαφορετικές χρονικές στιγμές. Κατά την εκτέλεση του προγράμματος μισθοδοσίας, για κάθε τιμή που αποθηκεύεται στη θέση μνήμης με το όνομα rateofpay μπορεί να εκτελούνται πολλές πράξεις για παράδειγμα, η τιμή μπορεί να διαβαστεί από συσκευή εξόδου, να πολλαπλασιαστεί επί μία άλλη μεταβλητή που αναπαριστά ώρες εργασίας και να εκτυπωθεί σε χαρτί. Για πρακτικούς λόγους, οι μεμονωμένες πράξεις που χρησιμοποιούνται σε ένα πρόγραμμα υπολογιστή ομαδοποιούνται συχνά σε λογικές μονάδες, τις διαδικασίες (procedures). Για παράδειγμα, μια σειρά από τέσσερις ή πέντε συγκρίσεις και πράξεις που καθορίζουν συνολικά το φόρο παρακράτησης για ένα πρόσωπο θα μπορούσαν να ομαδοποιηθούν ως μια διαδικασία με το όνομα calculatefederalwithholding. Ένα διαδικαστικό πρόγραμμα ορίζει τις θέσεις μνήμης των μεταβλητών και έπειτα καλεί μια σειρά από διαδικασίες για είσοδο, επεξεργασία και έξοδο των τιμών που αποθηκεύονται σ αυτές τις θέσεις. Όταν ένα πρόγραμμα καλεί μια διαδικασία (call a procedure), η τρέχουσα λογική ροή εκτέλεσης του προγράμματος εγκαταλείπεται προσωρινά, ώστε να υπάρχει η δυνατότητα να εκτελεστούν οι εντολές της διαδικασίας. Ένα μόνο διαδικαστικό πρόγραμμα μπορεί περιέχει εκατοντάδες μεταβλητές και κλήσεις διαδικασιών. Οι διαδικασίες αναφέρονται επίσης ως ενότητες, μέθοδοι, λειτουργίες και υπορουτίνες. Οι χρήστες διαφορετικών γλωσσών προγραμματισμού συνηθίζουν να χρησιμοποιούν διαφορετική ορολογία. Όπως θα μάθετε αργότερα σ αυτό το κεφάλαιο, οι προγραμματιστές Java χρησιμοποιούν συχνότερα τον όρο μέθοδος. Αντικειμενοστραφής προγραμματισμός Ο αντικειμενοστραφής προγραμματισμός είναι επέκταση του διαδικαστικού προγραμματισμού, με μια ελαφρώς διαφορετική προσέγγιση στη σύνταξη προγραμμάτων. Η σύνταξη αντικειμενοστραφών προγραμμάτων (object-oriented programs) περιλαμβάνει: Τη δημιουργία κλάσεων, οι οποίες αποτελούν πρότυπα για την κατασκευή αντικειμένων Τη δημιουργία αντικειμένων, τα οποία είναι συγκεκριμένα στιγμιότυπα αυτών των κλάσεων Τη δημιουργία εφαρμογών που χειρίζονται ή χρησιμοποιούν αυτά τα αντικείμενα Οι προγραμματιστές χρησιμοποιούν τα αρχικά OO για τον όρο αντικειμενοστραφής (object-oriented), ενώ ο αντικειμενοστραφής προγραμματισμός απαντάται ως OOP (object-oriented programming). Αρχικά ο αντικειμενοστραφής προγραμματισμός χρησιμοποιούταν πιο συχνά για δύο βασικές κατηγορίες εφαρμογών: Προσομοιώσεις σε υπολογιστές (computer simulation), οι οποίες επιχειρούν να μιμηθούν πραγματικές δραστηριότητες, έτσι ώστε οι διεργασίες τους να μπορούν να βελτιωθούν ή οι χρήστες να είναι σε θέση να κατανοήσουν καλύτερα πώς λειτουργούν οι πραγματικές διεργασίες Γραφικές διεπαφές χρήστη ή GUI (από τις λέξεις graphical user interfaces), οι οποίες επιτρέπουν στους χρήστες να αλληλεπιδρούν με ένα πρόγραμμα σε γραφικό περιβάλλον

6 30 / JAVA Είναι εύκολο να σκεφτούμε σκεφτούμε αντικείμενα σε αυτές τις δύο κατηγορίες εφαρμογών. Για παράδειγμα, ένας δήμος ίσως να θέλει να αναπτύξει ένα πρόγραμμα που προσομοιώνει κυκλοφοριακά μοτίβα, έτσι ώστε να προσπαθήσει να καταστρώσει σχέδια καταπολέμησης της κυκλοφοριακής συμφόρησης. Οι προγραμματιστές θα δημιουργούσαν κλάσεις για αντικείμενα όπως τα αυτοκίνητα και οι πεζοί, τα οποία θα περιείχαν τα δικά τους δεδομένα και κανόνες συμπεριφοράς. Για παράδειγμα, κάθε αυτοκίνητο έχει μια ταχύτητα και μια μέθοδο για μεταβολή αυτής της ταχύτητας. Τα συγκεκριμένα στιγμιότυπα αυτοκινήτων θα μπορούσαν να τεθούν σε κίνηση, ώστε να δημιουργηθεί μια προσομοίωση μιας πραγματικής πόλης σε ώρα αιχμής. Η δημιουργία ενός περιβάλλοντος GUI για χρήστες είναι επίσης μια χρήση που μοιάζει να είναι φυσική για τον αντικειμενοστραφή προγραμματισμό. Είναι εύκολο να σκεφτούμε τα στοιχεία που ένας χρήστης χειρίζεται σε μια οθόνη υπολογιστή, όπως κουμπιά και γραμμές κύλισης, ως στοιχεία που προσομοιάζουν πραγματικά αντικείμενα. Κάθε αντικείμενο GUI περιέχει δεδομένα για παράδειγμα, ένα κουμπί σε μια οθόνη έχει συγκεκριμένο μέγεθος και χρώμα. Κάθε αντικείμενο περιέχει επίσης συμπεριφορές για παράδειγμα, σε κάθε κουμπί ο χρήστης μπορεί να κάνει κλικ και το κουμπί αντιδρά με συγκεκριμένο τρόπο. Υπάρχουν αρκετοί που θεωρούν ότι ο όρος αντικειμενοστραφής προγραμματισμός είναι συνώνυμος με τον προγραμματισμό GUI, αλλά ο αντικειμενοστραφής προγραμματισμός σημαίνει περισσότερα πράγματα. Μολονότι πολλά προγράμματα GUI είναι αντικειμενοστραφή, δεν χρησιμοποιούν όλα τα αντικειμενοστραφή προγράμματα αντικείμενα GUI. Οι σύγχρονες επιχειρήσεις χρησιμοποιούν τεχνικές αντικειμενοστραφούς σχεδίασης κατά την ανάπτυξη διάφορων επαγγελματικών εφαρμογών, είτε είναι εφαρμογές GUI είτε όχι. Στα πρώτα 13 κεφάλαια αυτού του βιβλίου, θα μάθετε αντικειμενοστραφείς τεχνικές που ταιριάζουν σε οποιονδήποτε τύπο προγράμματος και στα τελευταία κεφάλαια θα εφαρμόσετε όσα μάθατε γι αυτές τις τεχνικές ειδικά σε εφαρμογές GUI. Η κατανόηση του αντικειμενοστραφούς προγραμματισμού προϋποθέτει την κατανόηση τριών βασικών εννοιών: Ενθυλάκωση όπως εφαρμόζεται σε κλάσεις με τη μορφή αντικειμένων Κληρονομικότητα Πολυμορφισμός Κλάσεις, αντικείμενα και ενθυλάκωση Στην αντικειμενοστραφή ορολογία, η κλάση (class) είναι ένας όρος που περιγράφει μια ομάδα ή μια συλλογή αντικειμένων με κοινές ιδιότητες. Με τον ίδιο τρόπο που ένα σχέδιο προϋπάρχει του σπιτιού που κατασκευάζεται με βάση αυτό το σχέδιο και με τον ίδιο τρόπο που μια συνταγή προϋπάρχει οποιουδήποτε φαγητού που ψήνεται με βάση αυτήν τη συνταγή, ο ορισμός μιας κλάσης προϋπάρχει οποιουδήποτε αντικειμένου που δημιουργείται με βάση αυτόν τον ορισμό. Ο ορισμός κλάσης (class definition) περιγράφει ποια χαρακτηριστικά θα έχουν και τι θα μπορούν να κάνουν τα αντικείμενα. Τα χαρακτηριστικά (attributes) είναι τα γνωρίσματα που καθορίζουν ένα αντικείμενο είναι οι ιδιότητες (properties) του αντικειμένου. Όταν μαθαίνετε μια γλώσσα προγραμματισμού όπως η Java, μαθαίνετε να χρησιμοποιείτε δύο τύπους κλάσεων: εκείνες που έχουν ήδη αναπτυχθεί από τους δημιουργούς της γλώσσας και τις δικές σας καινούριες, προσαρμοσμένες κλάσεις. Ένα αντικείμενο (object) είναι ένα συγκεκριμένο στιγμιότυπο (instance) μιας κλάσης. Η δημιουργία ενός στιγμιότυπου ονομάζεται υποστασιοποίηση (instantiation). Μπορείτε να δημιουργείτε αντικείμενα από κλάσεις που γράφετε και από κλάσεις άλλων προγραμματιστών, συμπεριλαμβανομένων των δημιουργών της Java. Οι τιμές που περιέχουν οι ιδιότητες ενός αντικειμένου πολλές φορές διαφοροποιούν τα στιγμιότυπα της ίδιας κλάσης μεταξύ τους. Για παράδειγμα, η κλάση Automobile περιγράφει πώς είναι τα αντικείμενα Automobile. Μερικές από τις ιδιότητες της κλάσης Automobile είναι η μάρκα, το μοντέλο, το έτος και το χρώμα. Κάθε αντικείμενο Automobile έχει τα ίδια χαρακτηριστικά, αλλά όχι απαραίτητα τις ίδιες τιμές γι αυτά τα συγκεκριμένα χαρακτηριστικά. Ένα αυτοκίνητο (Automobile) μπορεί να είναι ένα λευκό Ford Taurus του 2010 και ένα άλλο μπορεί να είναι ένα κόκκινο Chevrolet Camaro του Ομοίως, ο σκύλος σας έχει τις ιδιότητες όλων των σκυλιών (της κλάσης Dog), όπως ράτσα, όνομα, ηλικία και αν έχει κάνει όλα τα εμβόλια που πρέπει. Οι τιμές των ιδιοτήτων ενός αντικειμένου αναφέρονται ως κατάσταση (state) του αντικειμένου. Με άλλα λόγια, τα αντικείμενα αντιστοιχούν κατά κάποιο τρόπο με τα ουσιαστικά και τα χαρακτηριστικά αντιστοιχούν με τα επίθετα που περιγράφουν τα ουσιαστικά. Όταν καταλαβαίνετε την κλάση ενός αντικειμένου, καταλαβαίνετε ποια είναι τα χαρακτηριστικά του αντικει-

7 ΚΕΦ. 1: ΔΗΜΙΟΥΡΓΙΑ ΠΡΟΓΡΑΜΜΑΤΩΝ JAVA / 31 μένου. Αν ένας φίλος σας αγοράσει ένα Automobile, γνωρίζετε ότι αυτό έχει όνομα μοντέλου και αν ένας φίλος σας πάρει ένα Dog, γνωρίζετε ότι ο σκύλος έχει ράτσα. Αν γνωρίζετε ποια χαρακτηριστικά υπάρχουν για κλάσεις, είστε σε θέση να θέσετε τα κατάλληλα ερωτήματα για τις καταστάσεις ή τις τιμές αυτών των χαρακτηριστικών. Για παράδειγμα, θα μπορούσατε να ρωτήσετε για την κατανάλωση καυσίμων του αυτοκινήτου, αλλά δεν θα ρωτούσατε αν το αυτοκίνητο έχει κάνει εμβόλια. Ομοίως, σε ένα λειτουργικό περιβάλλον GUI, περιμένετε από κάθε στοιχείο να έχει συγκεκριμένα χαρακτηριστικά και μεθόδους, όπως ένα παράθυρο που έχει γραμμή τίτλου και κουμπί κλεισίματος, επειδή κάθε στοιχείο διαθέτει αυτές τις ιδιότητες ως μέλος της γενικής κλάσης στοιχείων GUI. Η Εικόνα 1-2 παρουσιάζει τη σχέση ορισμένων αντικειμένων Dog με την κλάση Dog. Βάση σύμβασης, οι προγραμματιστές που χρησιμοποιούν τη Java ξεκινούν τα ονόματα των κλάσεών τους με κεφαλαίο γράμμα. Ως εκ τούτου, η κλάση που ορίζει τα χαρακτηριστικά και τις μεθόδους ενός αυτοκινήτου μάλλον θα ονομάζεται Automobile και η κλάση για τους σκύλους μάλλον θα έχει το όνομα Dog. Ωστόσο, η πιστή τήρηση αυτής της σύμβασης δεν είναι υποχρεωτική για τη δημιουργία ενός λειτουργικού προγράμματος. Πέρα από τον ορισμό ιδιοτήτων, οι κλάσεις ορίζουν μεθόδους που μπορούν να χρησιμοποιούν τα αντικείμενά τους. Μια μέθοδος (method) είναι ένα ανεξάρτητο κομμάτι κώδικα προγράμματος που εκτελεί κάποια ενέργεια, όπως μια διαδικασία σε ένα διαδικαστικό πρόγραμμα. Ένα Automobile, για παράδειγμα, μπορεί να έχει μεθόδους για εμπρόσθια κίνηση, για όπισθεν κίνηση και για τον προσδιορισμό της κατάστασης του ντεπόζιτου καυσίμου. Ομοίως, ένα Dog μπορεί να έχει μεθόδους για περίπατο, διατροφή και ορισμό του ονόματός του, ενώ τα στοιχεία ενός προγράμματος GUI μπορεί να έχουν μεθόδους για τη μεγιστοποίηση και ελαχιστοποίησή τους, αλλά και για τον καθορισμό του μεγέθους τους. Με άλλα λόγια, αν τα αντικείμενα μοιάζουν με ουσιαστικά, οι μέθοδοι μοιάζουν με ρήματα. Σε αντικειμενοστραφείς κλάσεις, τα χαρακτηριστικά και οι μέθοδοι ενθυλακώνονται σε αντικείμενα. Η ενθυλάκωση (encapsulation) αναφέρεται σε δύο στενά συνδεδεμένες αντικειμενοστραφείς έννοιες: Η ενθυλάκωση είναι ο εγκλεισμός δεδομένων και μεθόδων μέσα σε ένα αντικείμενο. Η ενθυλάκωση σας επιτρέπει να χειρίζεστε όλες τις μεθόδους και τα δεδομένα ενός αντικειμένου ως μία ενιαία οντότητα. Όπως ένας σκύλος περιέχει όλα τα χαρακτηριστικά και τις ικανότητές του, το ίδιο συμβαίνει με το αντικείμενο Dog ενός προγράμματος. Η ενθυλάκωση αναφέρεται επίσης στην απόκρυψη των δεδομένων και των μεθόδων ενός αντικειμένου από εξωτερικές πηγές. Η απόκρυψη των δεδομένων ονομάζεται γενικά απόκρυψη πληροφορίας (information hiding) και η απόκρυψη του τρόπου λειτουργίας των μεθόδων είναι η απόκρυψη υλοποίησης (implementation hiding) θα μάθετε περισσότερα για αμφότερους τους όρους στο κεφάλαιο «Χρήση μεθόδων, κλάσεων και αντικειμένων». Η ενθυλάκωση σας δίνει τη δυνατότητα να αποκρύβετε συγκεκριμένα χαρακτηριστικά και μεθόδους αντικειμένων από εξωτερικές πηγές και διατηρεί δεδομένα και μεθόδους ασφαλή από απρόσεκτες μεταβολές. Ορισμός κλάσης Dog Στιγμιότυπα κλάσης Dog (αντικείμενα) Κάθε Dog που δημιουργείται θα έχει: Όνομα Ηλικία Ράτσα Κατάσταση εμβολιασμού Ginger 6 Ακίτα Ενημερωμένη Bowser 2 Ριτρίβερ Ενημερωμένη Roxy 1 Μπιγκλ Ενημερωμένη Εικόνα 1-2 Ορισμός κλάσης Dog και ορισμένα αντικείμενα που δημιουργούνται απ αυτήν

8 32 / JAVA Αν οι μέθοδοι ενός αντικειμένου είναι καλογραμμένες, ο χρήστης δεν θα χρειάζεται να γνωρίζει λεπτομέρειες χαμηλού επιπέδου για τον τρόπο εκτέλεσης των μεθόδων και απλώς θα πρέπει να κατανοεί τη διεπαφή ή την αλληλεπίδραση μεταξύ της μεθόδου και του αντικειμένου. Για παράδειγμα, αν μπορείτε να γεμίσετε το Automobile σας με βενζίνη, αυτό συμβαίνει επειδή κατανοείτε τη διεπαφή μεταξύ του ακροφυσίου της αντλίας βενζίνης και της υποδοχής της δεξαμενής καυσίμου του οχήματός σας. Δεν χρειάζεται να γνωρίζετε τη μηχανική λειτουργία της αντλίας ή πού ακριβώς βρίσκεται το ντεπόζιτο εντός του οχήματός σας. Αν μπορείτε να διαβάσετε το ταχύμετρό σας, δεν έχει σημασία πώς υπολογίζεται το νούμερο που βλέπετε. Αν μάλιστα κάποιος να κατασκευάσει μια καλύτερη συσκευή προσδιορισμού της ταχύτητας με μεγαλύτερη ακρίβεια και την τοποθετήσει στο Automobile σας, δεν χρειάζεται να γνωρίζετε, ούτε θα σας ενδιέφερε πώς λειτουργεί, αρκεί η διεπαφή σας με αυτήν να παραμείνει ίδια. Οι ίδιες αρχές ισχύουν για καλά κατασκευασμένες κλάσεις που χρησιμοποιούνται σε αντικειμενοστραφή προγράμματα για τα προγράμματα τα οποία χρησιμοποιούν κλάσεις, αρκεί να είναι γνωστές οι διεπαφές τους. Κληρονομικότητα και πολυμορφισμός Μια σημαντική δυνατότητα του σχεδιασμού αντικειμενοστραφών προγραμμάτων είναι η κληρονομικότητα (inheritance) η ικανότητα δημιουργίας κλάσεων που μοιράζονται τα χαρακτηριστικά και τις μεθόδους υφισταμένων κλάσεων με πιο συγκεκριμένα χαρακτηριστικά. Για παράδειγμα, το Automobile (αυτοκίνητη) είναι μια κλάση και όλα τα αντικείμενα της κλάσης Automobile μοιράζονται πολλά χαρακτηριστικά και δυνατότητες. Το Convertible (καμπριολέ) είναι μια κλάση η οποία κληρονομεί χαρακτηριστικά από την κλάση Automobile Convertible είναι ένας τύπος Automobile που έχει και μπορεί να κάνει ότι κάνει και ένα «απλό» Automobile με τη διαφορά ότι διαθέτει την πρόσθετη ικανότητα να αφαιρεί τον ουρανό του. [Με την ίδια λογική, η κλάση αυτοκινήτων Automobile κληρονομεί από την κλάση Vehicle (όχημα)]. Το Convertible δεν είναι αντικείμενο είναι κλάση. Ένα συγκεκριμένο στιγμιότυπο της κλάσης Convertible είναι αντικείμενο για παράδειγμα, το my1967bluemustangconvertible. Η κληρονομικότητα συμβάλλει στην κατανόηση των πραγματικών αντικειμένων. Για παράδειγμα, την πρώτη φορά που βλέπετε ένα καμπριολέ αυτοκίνητο, γνωρίζετε πώς λειτουργεί η ανάφλεξη, η πέδηση, το κλείδωμα των θυρών και άλλα συστήματα, επειδή συνειδητοποιείτε ότι ένα καμπριολέ είναι ένας τύπος αυτοκινήτου, άρα πρέπει να σας ενδιαφέρουν μόνο τα χαρακτηριστικά και οι μέθοδοι που είναι «νέα» σε ένα καμπριολέ. Τα πλεονεκτήματα στον προγραμματισμό είναι τα ίδια μπορείτε να κατασκευάσετε νέες κλάσεις με βάση υπάρχουσες και να επικεντρωθείτε στις εξειδικευμένες δυνατότητες που θα προσθέσετε. Μια τελική σημαντική έννοια στην αντικειμ ορολογία είναι ο πολυμορφισμός (polymorphism). Ουσιαστικά ο πολυμορφισμός αναφέρεται σε «πολλές μορφές» περιγράφει τη δυνατότητα που έχουν οι γλώσσες να ερμηνεύουν σωστά την ίδια γλώσσα ή σύμβολο σε διαφορετικές καταστάσεις, ανάλογα με το πλαίσιο αναφοράς. Για παράδειγμα, αν και οι κλάσεις Automobile, Sailboat και Airplane (αυτοκίνητο, σκάφος και αεροπλάνο, αντίστοιχα) κληρονομούν όλες από την κλάση Vehicle (όχημα), οι μέθοδοι turn και stop (στροφή και σταμάτημα) λειτουργούν διαφορετικά για τα στιγμιότυπα κάθε μιας από αυτές τις κλάσεις. Τα πλεονεκτήματα του πολυμορφισμού θα διαφανούν όταν θα αρχίσετε να δημιουργείτε εφαρμογές GUI που περιέχουν δυνατότητες όπως παράθυρα, κουμπιά και γραμμές μενού. Σε μια εφαρμογή GUI, είναι πιο εύκολο να θυμάστε ένα όνομα μεθόδου, όπως setcolor ή setheight, κι αυτό να λειτουργεί πάντα σωστά με τις κατάλληλες προσαρμογές, ανεξάρτητα από το είδος του αντικειμένου που τροποποιείτε. Όταν βλέπετε ένα συν (+) ανάμεσα σε δύο αριθμούς, αντιλαμβάνεστε ότι οι δύο αριθμοί προστίθενται. Όταν θα δείτε το ίδιο σύμβολο σκαλισμένο σε ένα δέντρο ανάμεσα σε δύο ονόματα, αντιλαμβάνεστε ότι αυτά τα ονόματα συνδέονται ερωτικά. Επειδή το σύμβολο έχει διαφορετικό νόημα ανάλογα με το πλαίσιο στο οποίο χρησιμοποιείται, είναι πολυμορφικό. Στα Κεφάλαια 10 και 11 θα βρείτε περισσότερες πληροφορίες για την κληρονομικότητα και τον πολυμορφισμό και πώς υλοποιούνται στη Java. Παρακολουθήστε το βίντεο Object-oriented programming.

9 ΔΥΟ ΑΛΗΘΕΙΕΣ ΚΙ ΕΝΑ ΨΕΜΑ ΚΕΦ. 1: ΔΗΜΙΟΥΡΓΙΑ ΠΡΟΓΡΑΜΜΑΤΩΝ JAVA / 33 Σύγκριση των εννοιών του διαδικαστικού και του αντικειμενοστραφούς προγραμματισμού 1. Ένα στιγμιότυπο μιας κλάσης είναι ένα αντικείμενο το οποίο έχει δημιουργηθεί και έχει τα χαρακτηριστικά και τις μεθόδους που περιγράφονται στον ορισμό της κλάσης. 2. Η ενθυλάκωση προστατεύει τα δεδομένα κρύβοντάς τα μέσα σε ένα αντικείμενο. 3. Ο πολυμορφισμός είναι η ικανότητα δημιουργίας κλάσεων που μοιράζονται τα χαρακτηριστικά και τις μεθόδους υφισταμένων κλάσεων, αλλά με πιο συγκεκριμένες δυνατότητες. Η ψευδής πρόταση είναι η #3. Η κληρονομικότητα είναι η ικανότητα δημιουργίας κλάσεων που μοιράζονται τα χαρακτηριστικά και τις μεθόδους υφισταμένων κλάσεων, αλλά με πιο συγκεκριμένες δυνατότητες, ενώ ο πολυμορφισμός περιγράφει την ικανότητα χρήσης ενός όρου για την έναρξη πολλών ενεργειών. Δυνατότητες της γλώσσας προγραμματισμού Java Η Java αναπτύχθηκε από τη SunMicrosystems ως μια αντικειμενοστραφής γλώσσα για επαγγελματικές εφαρμογές γενικής χρήσης και για αλληλοεπιδραστικές εφαρμογές Internet που βασίζονται στον Παγκόσμιο Ιστό (η Sun εξαγοράστηκε αργότερα από την Oracle Corporation). Μερικά από τα πλεονεκτήματα που κάνουν τη Java τόσο δημοφιλή είναι τα χαρακτηριστικά ασφάλειας εκτέλεσης των προγραμμάτων που παρέχει, αλλά και το γεγονός ότι είναι αρχιτεκτονικά ουδέτερη (architecturally neutral): Αντίθετα από άλλες γλώσσες, μπορείτε να χρησιμοποιείτε τη Java για προγράμματα που μπορούν να εκτελούνται σε οποιοδήποτε λειτουργικό σύστημα (όπως Windows, Mac OS ή Linux) ή συσκευή (όπως PC, τηλέφωνα και tablet). Η Java μπορεί να εκτελεστεί σε μεγάλη ποικιλία υπολογιστών και συσκευών επειδή δεν εκτελεί εντολές απευθείας στον υπολογιστή. Αντίθετα, η Java εκτελείται σε έναν υποθετικό, εικονικό υπολογιστή, την Java Virtual Machine (JVM). Με τον όρο εικονικό αναφερόμαστε σε κάτι που δεν αποτελεί φυσική οντότητα που κατασκευάζεται από υλικό, αλλά σε κάτι που αποτελείται μόνο από λογισμικό. Η Εικόνα 1-3 παρουσιάζει το περιβάλλον της Java. Οι εντολές προγραμματισμού που γράφονται σε μια γλώσσα προγραμματισμού υψηλού επιπέδου είναι ο πηγαίος κώδικας (source code). Όταν γράφετε ένα πρόγραμμα Java, πρώτα κατασκευάζετε τον πηγαίο κώδικα σε ένα πρόγραμμα επεξεργασίας κειμένου όπως το Notepad, σε ένα περιβάλλον ανάπτυξης ή σε έναν επεξεργαστή πηγαίου κώδικα όπως το jgrasp, το οποίο μπορείτε να λάβετε δωρεάν από το Web. Το περιβάλλον ανάπτυξης (development environment) είναι ένα σύνολο εργαλείων με τα οποία μπορείτε να γράφετε προγράμματα καθώς σας παρέχουν διάφορες δυνατότητες όπως η εμφάνιση των δεσμευμένων λέξεων της γλώσσας με διαφορετικό χρώμα. Οι εντολές αποθηκεύονται σε ένα αρχείο και έπειτα, ο μεταγλωττιστής Java μετατρέπει τον πηγαίο κώδικα σε κώδικα byte (bytecode). Αμέσως μετά, ένα πρόγραμμα που ονομάζεται συμβολομεταφραστής Java (Java interpreter) ελέγχει τον κώδικα byte και επικοινωνεί με το λειτουργικό σύστημα, ώστε οι οδηγίες του κώδικα byte να εκτελεστούν γραμμή προς γραμμή από την Java Virtual Machine. Επειδή το πρόγραμμα Java δεν έρχεται σε επαφή με το λειτουργικό σύστημα, είναι απομονωμένο από το συγκεκριμένο υλικό στο οποίο εκτελείται κάθε φορά. Χάρη σ αυτήν την απομόνωση, η JVM παρέχει προστασία από εισβολείς που θα μπορούσαν να προσπελάσουν το υλικό του υπολογιστή σας μέσα από το λειτουργικό σύστημα και κατά συνέπεια, η Java θεωρείται πιο ασφαλής από άλλες γλώσσες. Υπάρχει ακόμα ένα πλεονέκτημα που παρέχει η JVM το οποίο έχει ως θετικό αποτέλεσμα λιγότερη δουλειά για τους προγραμματιστές με άλλες γλώσσες προγραμματισμού, οι προμηθευτές λογισμικού πρέπει συνήθως να παράγουν πολλαπλές εκδόσεις του ίδιου προϊόντος (μια έκδοση για Windows, μια έκδοση για Macintosh, μια έκδοση για UNIX, μια έκδοση για Linux, κ.λπ.) ώστε όλοι οι χρήστες να μπορούν να εκτελέσουν το πρόγραμμα. Με τη Java, μία μόνο έκδοση του προγράμματος μπορεί να εκτελεστεί σε όλες αυτές τις πλατφόρμες. Η Sun Microsystems μάλιστα υιοθέτησε ένα σλόγκαν που περιγράφει αυτήν τη δυνατότητα των προγραμμάτων Java να λειτουργούν σωστά σε πολλαπλές πλατφόρμες: «Write once, run anywhere» (WORA, γράψε μία φορά, εκτέλεσε παντού). Η Java είναι επίσης πιο απλή στη χρήση της από πολλές άλλες αντικειμενοστραφείς γλώσσες. Η Java σχεδιάστηκε με βάση τη C++. Μολονότι καμία από τις δύο γλώσσες δεν διαβάζεται ή γίνεται κατανοητή εύκολα με την πρώτη ματιά, η Java καταφέρνει να απαλείψει ορισμένα από τα πιο δυσνόητα χαρακτηριστικά της C++, όπως τους δείκτες και την πολλαπλή κληρονομικότητα.

10 34 / JAVA Πηγαίος κώδικας Java Εικόνα 1-3 Το περιβάλλον της Java Ο πηγαίος κώδικας αποθηκεύεται σε ένα δίσκο σε ένα αρχείο με όνομα που έχει κατάληξη.java Μεταγλωττιστής Java Java Virtual Machine Ο μεταγλωττιστής δημιουργεί κώδικα byte που αποθηκεύεται σε ένα δίσκο σε ένα αρχείο με όνομα που έχει κατάληξη.class Συμβολομεταφραστής Java Λειτουργικό σύστημα υπολογιστή Η JVM (java.exe) εκτελεί ελέγχους ασφάλειας κατά την εκτέλεση του κώδικα και μεταφράζει τον κώδικα byte σε γλώσσα μηχανής, ο οποίος και τελικά εκτελείται Τύποι προγραμμάτων Java Μπορείτε να γράψετε δύο είδη προγραμμάτων χρησιμοποιώντας τη Java: Οι μικροεφαρμογές (applets) είναι προγράμματα που ενσωματώνονται σε μια ιστοσελίδα. Μπορείτε να μάθετε περισσότερα για τις μικροεφαρμογές σε μια ειδική ενότητα στο τέλος του κεφαλαίου. Οι εφαρμογές Java είναι αυτόνομα προγράμματα. Οι εφαρμογές Java μπορούν να χωριστούν σε δύο κατηγορίες, στις εφαρμογές κονσόλας (console applications), οι οποίες υποστηρίζουν έξοδο χαρακτήρων ή κειμένου σε οθόνη υπολογιστή, και στις παραθυρικές εφαρμογές (windowed applications), οι οποίες δημιουργούν ένα GUI με στοιχεία όπως μενού, γραμμές εργαλείων και πλαίσια διαλόγου. Οι εφαρμογές κονσόλας είναι οι εφαρμογές που δημιουργούνται πιο εύκολα απ όλες τις άλλες θα αρχίσετε να τις χρησιμοποιείτε στην επόμενη ενότητα. ΔΥΟ ΑΛΗΘΕΙΕΣ ΚΙ ΕΝΑ ΨΕΜΑ Δυνατότητες της γλώσσας προγραμματισμού Java 1. Η Java αναπτύχθηκε έτσι ώστε να είναι αρχιτεκτονικά ουδέτερη, που σημαίνει ότι οποιοσδήποτε μπορεί να κατασκευάσει μια εφαρμογή χωρίς πολλές γνώσεις. 2. Αφού γράψετε ένα πρόγραμμα Java, ο μεταγλωττιστής μετατρέπει τον πηγαίο κώδικα σε ένα δυαδικό πρόγραμμα, τον κώδικα byte. 3. Τα προγράμματα Java που ενσωματώνονται σε μια ιστοσελίδα ονομάζονται μικροεφαρμογές, ενώ τα αυτόνομα προγράμματα ονομάζονται εφαρμογές Java. Η ψευδής πρόταση είναι η #1. Η Java αναπτύχθηκε έτσι ώστε να είναι αρχιτεκτονικά ουδέτερη, που σημαίνει ότι μπορείτε να χρησιμοποιείτε τη Java για να γράφετε προγράμματα που θα εκτελούνται σε οποιαδήποτε πλατφόρμα.

11 Ανάλυση εφαρμογής Java που παράγει έξοδο κονσόλας ΚΕΦ. 1: ΔΗΜΙΟΥΡΓΙΑ ΠΡΟΓΡΑΜΜΑΤΩΝ JAVA / 35 Με μια πρώτη ματιά, ακόμα και η απλούστερη εφαρμογή Java περιλαμβάνει αρκετές εντολές και σύνταξη που θα μπορούσε να προκαλέσει σύγχυση. Δείτε την εφαρμογή στην Εικόνα 1-4. Αυτό το πρόγραμμα αποτελείται από επτά γραμμές και η μοναδική εργασία που κάνει είναι να εμφανίζει τη φράση «First Java application» στην οθόνη. public class First { public static void main(string[] args) { System.out.println( First Java application ); } } Εικόνα 1-4 Η κλάση First Σε κώδικα προγράμματος σε εικόνες του βιβλίου, οι δεσμευμένες λέξεις Java, όπως και τα true, false και null εμφανίζονται με διαφορετικό τρόπο από τα άλλα στοιχεία του προγράμματος. Παρακάτω σ αυτό το κεφάλαιο παραθέτουμε μια ολοκληρωμένη λίστα με τις δεσμευμένες λέξεις της Java. Ο κώδικας για κάθε ολοκληρωμένο πρόγραμμα που παρουσιάζουμε σ αυτό το βιβλίο είναι διαθέσιμος σε ένα σύνολο από αρχεία για φοιτητές που μπορείτε να κατεβάσετε στον υπολογιστή σας, ώστε να είστε σε θέση να εκτελείτε τα προγράμματα στον υπολογιστή σας. Η εντολή που εμφανίζει την έξοδο Μολονότι το πρόγραμμα στην Εικόνα 1-4 εκτείνεται σε αρκετές γραμμές, περιέχει μόνο μία εντολή προγραμματισμού Java. Η εντολή System.out.println( First Java application ); είναι αυτή που παράγει έργο σ αυτό το πρόγραμμα. Όπως όλες οι εντολές Java, η εντολή αυτή τερματίζεται από ένα ερωτηματικό. Οι περισσότερες εντολές προγραμματισμού Java μπορούν να καταλαμβάνουν όσες γραμμές επιθυμείτε, αρκεί να εισάγετε τις αλλαγές γραμμών στα κατάλληλα σημεία. Για παράδειγμα, στο πρόγραμμα της Εικόνας 1-4, θα μπορούσατε να εισάγετε μια αλλαγή γραμμής πριν ή μετά την παρένθεση ανοίγματος ή πριν ή μετά την παρένθεση κλεισίματος. Συνήθως όμως, αν η εντολή είναι μικρή, την τοποθετείτε σε μία μόνο γραμμή. Το κείμενο «First Java application» είναι μια κυριολεκτική συμβολοσειρά (literal string) χαρακτήρων μια σειρά χαρακτήρων που θα εμφανίζεται στην έξοδο ακριβώς όπως την εισάγετε. Οποιαδήποτε κυριολεκτική συμβολοσειρά στη Java γράφεται μέσα σε διπλά εισαγωγικά. Στη Java, μια κυριολεκτική συμβολοσειρά δεν μπορεί να χωριστεί και να εισαχθεί σε πολλαπλές γραμμές. Η Εικόνα 1-5 παρουσιάζει αυτήν τη συμβολοσειρά και τα άλλα τμήματα της εντολής. Το System είναι κλάση. Το out είναι ιδιότητα της κλάσης System. Η φράση "First Java application" είναι μια κυριολεκτική συμβολοσειρά η οποία εν προκειμένω είναι η παράμετρος της μεθόδου println(). System.out.println("First Java application"); Οι τελείες διαχωρίζουν τις κλάσεις, τα αντικείμενα και τις μεθόδους. Η println() είναι μέθοδος. Τα ονόματα των μεθόδων ακολουθούνται πάντα από παρενθέσεις. Κάθε εντολή Java τελειώνει με ερωτηματικό. Εικόνα 1-5 Ανατομία μιας εντολής Java

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Ενότητες βιβλίου: 6.4, 6.7 Ώρες διδασκαλίας: 1 Τεχνικές σχεδίασης προγραμμάτων Στο βιβλίο γίνεται αναφορά σε μία τεχνική για την ανάπτυξη

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα της γλώσσας C, το Dev-C++, το οποίο είναι εφαρμογή που τρέχει

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 1: Εισαγωγικές έννοιες

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 1: Εισαγωγικές έννοιες ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 1: Εισαγωγικές έννοιες Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 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 Η έννοια του προγράμματος

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός I (Θ)

Προγραμματισμός I (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός I (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Οκτώβριος 2017 Δρ. Δημήτρης Βαρσάμης Οκτώβριος

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

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

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

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

Εγκατάσταση του Arduino IDE

Εγκατάσταση του Arduino IDE ΑΣΠΑΙΤΕ Συλλογή και Επεξεργασία Δεδομένων Εργαστήριο ΠΕΡΙΕΧΟΜΕΝΑ: Πώς να κατεβάσετε και να εγκαταστήσετε το Ολοκληρωμένο Περιβάλλον Ανάπτυξης (IDE), για το προγραμματισμό του Arduino. Χρησιμοποιώντας το

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

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

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

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

6. Εισαγωγή στον προγραµµατισµό

6. Εισαγωγή στον προγραµµατισµό 6. Εισαγωγή στον προγραµµατισµό 6.1 Η έννοια του προγράµµατος. 6.2 Ιστορική αναδροµή. 6.2.1 Γλώσσες µηχανής. ΗΜ04-Θ1Α 1. Ένα πρόγραµµα σε γλώσσα µηχανής είναι µια ακολουθία δυαδικών ψηφίων. 5. Ένα πρόγραµµα

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

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

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

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

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1 Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1 Ποιες γλώσσες αναφέρονται ως φυσικές και ποιες ως τεχνητές; Ως φυσικές γλώσσες αναφέρονται εκείνες οι οποίες χρησιμοποιούνται για την επικοινωνία μεταξύ ανθρώπων,

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

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

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

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

Κεφάλαιο 6 Εισαγωγή στον Προγραμματισμό. 26-Jun-15 ΑΕΠΠ - Καραμαούνας Π. 1

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

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

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

Προγραμματισμός Υπολογιστών Προγραμματισμός Υπολογιστών Βασικές γνώσεις Κ. Βασιλάκης, ΣΤΕΦ, ΤΕΙ Κρήτης Η Πληροφορική και τα εργαλεία της Παροχή έγκαιρης και έγκυρης πληροφόρησης. Καταχώριση στοιχείων Αποθήκευση Επεξεργασία ψηφιακών

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

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

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

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

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

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

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

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ Εισαγωγή στην γλώσσα προγραμματισμού Ακαδημαϊκό έτος 2016-2017, Εαρινό εξάμηνο Οι σημειώσεις βασίζονται στα συγγράμματα: A byte of Python (ελληνική

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Λιβανός Γιώργος Εξάμηνο 2017Β

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

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

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

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

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

Κεφ. 1: Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

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

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

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

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ Εισαγωγή ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ Όπως για όλες τις επιστήμες, έτσι και για την επιστήμη της Πληροφορικής, ο τελικός στόχος της είναι η επίλυση προβλημάτων. Λύνονται όμως όλα τα προβλήματα;

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

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

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

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

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

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

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

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

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

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

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

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

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

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

Αλγόριθμος. Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος.

Αλγόριθμος. Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος. Αλγόριθμος Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος. Εντολές ή οδηγίες ονομάζονται τα βήματα που αποτελούν έναν αλγόριθμο.

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

Προγραμματισμός Ι (HY120)

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY20) # μνήμη & μεταβλητές πρόγραμμα & εκτέλεση Ψηφιακά δεδομένα, μνήμη, μεταβλητές 2 Δυαδικός κόσμος Οι υπολογιστές είναι δυαδικές μηχανές Όλη η πληροφορία (δεδομένα και κώδικας) κωδικοποιείται

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

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

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

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

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

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

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

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Διαδικαστικά

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Διαδικαστικά ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Διαδικαστικά Συστάσεις Ποιος είμαι εγώ: Παναγιώτης Τσαπάρας Email: tsap@cs.uoi.gr Γραφείο: Β.3 (προτιμώμενες ώρες: μετά τις 10, πριν τις 7) Web: http://www.cs.uoi.gr/~tsap

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

Ιδιότητες αντικειμένων, συγγραφή κώδικα, συντακτικά λάθη

Ιδιότητες αντικειμένων, συγγραφή κώδικα, συντακτικά λάθη Ιδιότητες αντικειμένων, συγγραφή κώδικα, συντακτικά λάθη Πώς βλέπουμε τις ιδιότητες των αντικειμένων που έχουμε δημιουργήσει; Ανοίγουμε το σενάριο CarWorld και δημιουργούμε μερικά αντικείμενα των κλάσεων

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

Εισαγωγή στον Προγραμματισμό Μάθημα 4: Αλγόριθμοι και Γλώσσες Προγραμματισμού Δεκέμβριος 2015 Χ. Αλεξανδράκη

Εισαγωγή στον Προγραμματισμό Μάθημα 4: Αλγόριθμοι και Γλώσσες Προγραμματισμού Δεκέμβριος 2015 Χ. Αλεξανδράκη Εισαγωγή στον Προγραμματισμό Μάθημα 4: Αλγόριθμοι και Γλώσσες Προγραμματισμού Δεκέμβριος 2015 Χ. Αλεξανδράκη Αλγόριθμος (τι είναι) Στα μαθηματικά και την επιστήμη ΗΥ Ο αλγόριθμος είναι η λογική διαδικασία

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

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

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

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

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

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

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

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

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

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα της γλώσσας C, το Dev-C++, το οποίο είναι εφαρμογή που τρέχει

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

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

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

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

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS.

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS. Εισαγωγή στη JAVA Σύντομο Ιστορικό Η Java και το διαδίκτυο Το πρώτο απλό πρόγραμμα σε JAVA Μεταβλητές και σταθερές Παραστάσεις και εντολές Οι βασικοί τύποι δεδομένων στη Java Οι βασικοί Τελεστές στη Java

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.

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

ΚΕΦΑΛΑΙΑ XIII, XIV. Εκσφαλμάτωση προγράμματος - Κύκλος Ζωής Λογισμικού

ΚΕΦΑΛΑΙΑ XIII, XIV. Εκσφαλμάτωση προγράμματος - Κύκλος Ζωής Λογισμικού ΚΕΦΑΛΑΙΑ XIII, XIV Ένας προγραμματιστής ανεξάρτητα από το πόσο ικανός είναι, όταν δημιουργεί ένα πρόγραμμα, είναι φυσικό να κάνει ορισμένα λάθη. Σε ένα πρόγραμμα είναι δυνατό να παρουσιαστούν διαφορετικής

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

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

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

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

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

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

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

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός

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

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ Εισαγωγή στην γλώσσα προγραμματισμού Ακαδημαϊκό έτος 2016-2017, Εαρινό εξάμηνο Οι σημειώσεις βασίζονται στα συγγράμματα: A byte of Python (ελληνική

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

3 Αλληλεπίδραση Αντικειμένων

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

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

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

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

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

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

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

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

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

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

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στην Python Σύνοψη Σε αυτό το κεφάλαιο κάνουμε μια σύντομη εισαγωγή στην Python και στα εργαλεία λογισμικού που θα χρησιμοποιήσουμε στη συνέχεια του συγγράμματος. Προαπαιτούμενη γνώση

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

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

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις 2 Ανατομία ενός προγράμματος

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

ΚΕΦΑΛΑΙΟ 2. Τιμές, τύποι, μεταβλητές, λέξεις-κλειδιά, εντολές. 2.1 Εισαγωγή

ΚΕΦΑΛΑΙΟ 2. Τιμές, τύποι, μεταβλητές, λέξεις-κλειδιά, εντολές. 2.1 Εισαγωγή ΚΕΦΑΛΑΙΟ 2 Τιμές, τύποι, μεταβλητές, λέξεις-κλειδιά, εντολές Σύνοψη Το κεφάλαιο αυτό εισάγει τον αναγνώστη σε βασικές έννοιες που είναι χρήσιμες για την απόκτηση μιας πρώτης εμπειρίας με την Python. Προαπαιτούμενη

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

Θεωρία Προγραμματισμού

Θεωρία Προγραμματισμού Θεωρία Προγραμματισμού 1) Τι ονομάζουμε Αλγόριθμο; Ονομάζεται μια ακολουθία από πεπερασμένο αριθμό εντολών, που αν εκτελεστούν με ακρίβεια, οδηγούν στη πραγματοποίηση μιας εργασίας. 2) Τι ονομάζουμε ανάλυση

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.

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

Ανάπτυξη Plugins για το AgentSheets

Ανάπτυξη Plugins για το AgentSheets Ανάπτυξη Plugins για το AgentSheets Thought Amplifier AgentSheets Ανάπτυξη Plugins AgentSheets 2.5 Συγγραφείς Τεκµηρίωσης: Alexander Repenning και Ronald Sudomo Εξελληνισµός Τεκµηρίωσης: Λίνος Βίγκλας,

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Καθηγητής Πληροφορικής ΠΕ19 1 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 6 ο : ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΙΣΤΟΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ: http://eclass.sch.gr/courses/el594100/ Η έννοια του προγράμματος

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

Προγραµµατισµός Η/Υ. Μέρος2

Προγραµµατισµός Η/Υ. Μέρος2 Προγραµµατισµός Η/Υ Μέρος2 Περιεχόμενα Επανάληψη Βασικών Σύμβολων Διαγραμμάτων Ροής Αλγόριθμος Ψευδοκώδικας Παραδείγματα Αλγορίθμων Γλώσσες προγραμματισμού 2 Επανάληψη Βασικών Σύμβολων Διαγραμμάτων Ροής

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 1 η Εισαγωγή στη Γλώσσα C Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή

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

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

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

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

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΚΕΦΑΛΑΙΟ 10 Όπως είδαμε και σε προηγούμενο κεφάλαιο μια από τις βασικότερες τεχνικές στον Δομημένο Προγραμματισμό είναι ο Τμηματικός Προγραμματισμός. Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης

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

Εργαλεία του JDK. Β.1 Εργαλεία του JDK. Β.2 Μεταγλωττιστής javac. Τα πιο βασικά εργαλεία του JDK είναι τα παρακάτω.

Εργαλεία του JDK. Β.1 Εργαλεία του JDK. Β.2 Μεταγλωττιστής javac. Τα πιο βασικά εργαλεία του JDK είναι τα παρακάτω. Εργαλεία του JDK Β.1 Εργαλεία του JDK Τα πιο βασικά εργαλεία του JDK είναι τα παρακάτω. O µεταγλωττιστής (compiler) της Java javac. O διερµηνευτής (interpreter) της Java java. Το υπεύθυνο εργαλείο για

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

Μ.Π.Σ. «ΠΡΟΗΓΜΕΝΕΣ ΜΕΘΟΔΟΙ ΚΑΤΑΣΚΕΥΗΣ ΠΡΟΙΟΝΤΩΝ ΑΠΟ ΞΥΛΟ» Μάθημα: Σχεδίαση και Εφαρμογές Διαδραστικών Συστημάτων. Διδάσκοντας: Α.

Μ.Π.Σ. «ΠΡΟΗΓΜΕΝΕΣ ΜΕΘΟΔΟΙ ΚΑΤΑΣΚΕΥΗΣ ΠΡΟΙΟΝΤΩΝ ΑΠΟ ΞΥΛΟ» Μάθημα: Σχεδίαση και Εφαρμογές Διαδραστικών Συστημάτων. Διδάσκοντας: Α. Μ.Π.Σ. «ΠΡΟΗΓΜΕΝΕΣ ΜΕΘΟΔΟΙ ΚΑΤΑΣΚΕΥΗΣ ΠΡΟΙΟΝΤΩΝ ΑΠΟ ΞΥΛΟ» Μάθημα: Σχεδίαση και Εφαρμογές Διαδραστικών Συστημάτων Διδάσκοντας: Α. Καραγεώργος 24-05-2016 Επαναληπτικές Ερωτήσεις 1. Πότε τα έπιπλα καλούνται

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