ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός

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

Download "ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός"

Transcript

1 ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος Εισαγωγή στην Αλγοριθμική, στον Αντικειμενοστρεφή Προγραμματισμό.και στη Java ΕΙΣΑΓΩΓΗ (απόσπασμα από την διδακτορική διατριβή μου ) Κατά την δεκαετία του 60 η κατασκευή λογισμικού με άμεσο προγραμματισμό, χρησιμοποιώντας ως εργαλεία τις αντίστοιχες γλώσσες μηχανής, είχε ως σκοπό να υλοποιήσει εφαρμογές λογισμικού, απλές ή σύνθετες, με ένα μη δομημένο αλλά περισσότερο προσιτό τρόπο από ότι επέτρεπαν οι γλώσσες μηχανής. Στην δεκαετία του 70 η προσέγγιση στην ανάλυση και σχεδίαση των συστημάτων λογισμικού αλλά και οι γλώσσες προγραμματισμού απέκτησαν στοιχεία δομής τα οποία δεν διέθετε ο άμεσος προγραμματισμός και οι γλώσσες μηχανής. Η έννοια της δομημένης προσέγγισης (structured paradigm) χαρακτήρισε τον τρόπο σκέψης στη σύλληψη και σχεδίαση του λογισμικού με έντονα τα χαρακτηριστικά των εργαλείων ανάπτυξης (γλώσσες προγραμματισμού). Όμως η πολυπλοκότητα (complexity) τόσο στην υπολογιστική διεργασία όσο και στην διαχείριση μεγάλου όγκου δεδομένων καθώς και η αδυναμία απεικόνισης των οντοτήτων του πραγματικού κόσμου σε συστατικά λογισμικού, κατέστησε ανεπαρκή την δομημένη προσέγγιση. Η θεώρηση ότι τα δεδομένα είναι ανεξάρτητα από τις λειτουργικές μονάδες που επιδρούν σε αυτά δεν ισχύει στον πραγματικό κόσμο και ιδιαίτερα στην επιχειρησιακή λογική (business logic). Η δομημένη προσέγγιση, ως μεθοδολογικό εργαλείο στην ανάπτυξη λογισμικού, προκαλεί επίσης μια σειρά από πρακτικά προβλήματα στον προσδιορισμό των απαιτήσεων, στην διαχείριση των μοντέλων παράστασης λογισμικού, στην συντήρηση λογισμικού αλλά και στην επαναχρησιμοποίηση των συστατικών λογισμικού. Τα προβλήματα αυτά έφεραν την κρίση λογισμικού (σαν όρος εμφανίστηκε το 1968), και ώθησαν στην γέννηση της αντικειμενοστρεφούς φιλοσοφίας ή παραδείγματος (object-oriented philosophy, paradigm) που άλλαξε ριζικά τον τρόπο σκέψης κατά την Σφέτσος Παναγιώτης, Αλγοριθμική και Προγραμματισμός, 1

2 ανάλυση και σχεδίαση των συστημάτων λογισμικού. Σαν νέο μεθοδολογικό εργαλείο εισήγαγε αρκετές νέες έννοιες και συμβολισμούς όπως κλάση (class), αντικείμενο (object), αφαίρεση (abstraction), κληρονομικότητα (inheritance) ή γενίκευση (generalization), συσχέτιση (association), συναρμολόγηση (aggregation), ενθυλάκωση ή κελυφοποίηση (encapsulation) και πολυμορφισμό (polymorphism). Η πρώτη γλώσσα που διέθετε αυτά τα χαρακτηριστικά ήταν η Simula-67 (Νορβηγία το 1967) ενώ πολλές άλλες γλώσσες έγιναν διάσημες σε διάφορες χρονικές περιόδους, όπως η ADA, Smalltalk, C++, Java, κ.ά. Η αντικειμενοστρεφής τεχνολογία λογισμικού δεν αποτελεί σε καμία περίπτωση πανάκεια, είναι ωστόσο το καλύτερο από τα εργαλεία που διαθέτουμε για να αντιμετωπίσουμε τα προβλήματα της ανάπτυξης λογισμικού. Η ΣΗΜΑΝΤΙΚΟΤΗΤΑ ΤΗΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΟΥΣ ΑΝΑΠΤΥΞΗΣ Πολλά είναι τα χαρακτηριστικά της αντικειμενοστρεφούς τεχνολογίας που την καθιστούν ικανή να αντιμετωπίσει τις αδυναμίες των παραδοσιακών διεργασιών ανάπτυξης: Το πρώτο σημαντικό χαρακτηριστικό είναι η συνέπεια στη γλώσσα που χρησιμοποιείται σε όλα τα στάδια της ανάπτυξης. Η περιγραφή του προβλήματος και της λύσης του γίνεται πλέον με τους ίδιους όρους σε όλα τα στάδια της διεργασίας ανάπτυξης. Οι όροι κλάσεις, αντικείμενα, μέθοδοι, χαρακτηριστικά και συμπεριφορές χρησιμοποιούνται στην αναπαράσταση του συστήματος σε όλες τις φάσεις της ανάπτυξης, από την Αντικειμενοστρεφή Ανάλυση (Object Oriented Analysis - OOA) έως την Αντικειμενοστρεφή Σχεδίαση (Object Oriented Design - OOD) και τον Αντικειμενοστρεφή Προγραμματισμό (Object Oriented Programming - OOP). Αυτό το χαρακτηριστικό καθιστά την αντικειμενοστρεφή τεχνολογία μια φιλοσοφία αναπαράστασης και λύσης προβλημάτων που επεκτείνεται σε όλους τους κύκλους ζωής όπως ο καταρράκτης, το σπειροειδές μοντέλο και το επαναληπτικό μοντέλο. Η κελυφοποίηση των δεδομένων και της συμπεριφοράς μέσα στις κλάσεις, που σημαίνει την απόκρυψη των λεπτομερειών υλοποίησης των αντικειμένων, είναι το δεύτερο σημαντικό χαρακτηριστικό. Ο στόχος αυτού του χαρακτηριστικού είναι διττός, αφ ενός μεν η επίτευξη της συναρμολογησιμότητας (modularity), αφετέρου δε η απόκρυψη των πληροφοριών (information hiding). Τα αντικείμενα ως ανεξάρτητες δομές, που περιλαμβάνουν από κοινού δεδομένα και δράσεις που επιδρούν σε αυτά, μπορούν πλέον εύκολα να αντιστοιχηθούν με τις οντότητες του πραγματικού κόσμου, καθώς αυτές έχουν και κατάσταση και συμπεριφορά. Σφέτσος Παναγιώτης, Αλγοριθμική και Προγραμματισμός, 2

3 Οι σχέσεις μεταξύ των κλάσεων, όπως της συσχέτισης, κληρονομικότητας ή γενίκευσης και συναρμολόγησης, υλοποιούνται σε επίπεδο αντικειμένων των αντιστοίχων κλάσεων και αποτελούν εργαλεία μοντελοποίησης αλλά και βασικές πρακτικές, που εφαρμόζονται στην κατασκευή του λογισμικού. Το πόσο σημαντική είναι η αλλαγή στον τρόπο ανάπτυξης που επιφέρει η αντικειμενοστρεφής τεχνολογία αποδεικνύεται από τoν τρόπο αντιμετώπισης της πολυπλοκότητας. Η πολυπλοκότητα αφορά δύο από τα βασικά στοιχεία του λογισμικού: την υπολογιστική εργασία του λογισμικού και την διαχείριση μεγάλου όγκου δεδομένων. Για την αντιμετώπιση της πολυπλοκότητας η αντικειμενοστρεφής τεχνολογία χρησιμοποιεί την απόκρυψη των πληροφοριών και τη συναρμολογησιμότητα αλλά και διάφορα εργαλεία, όπως τα έτοιμα συστατικά λογισμικού (components) και την οπτική μοντελοποίηση για την παράσταση των μοντέλων λογισμικού με την χρήση της UML. Η μοντελοποίηση αν και αφορά πρωτίστως τη σχεδίαση, εντούτοις βοηθά στην μείωση της πολυπλοκότητας του συστήματος. Σημαντικά και ποικιλόμορφα είναι τα πλεονεκτήματα που επιφέρει στην ανάπτυξη του λογισμικού η χρήση της αντικειμενοστρεφούς τεχνολογίας. Η υψηλή ποιότητα του λογισμικού είναι η θεμελιώδης αρχή της αντικειμενοστρεφούς τεχνολογίας που σημαίνει ότι το λογισμικό πρέπει να είναι σωστό (correct), αποτελεσματικό (efficient), επαναχρησιμοποιήσιμο (reusable), επεκτάσιμο (extendible) και συντηρήσιμο (maintainable). Η επαναχρησιμοποίηση (reusability) είναι η ικανότητα των προϊόντων λογισμικού να επαναχρησιμοποιούνται, είτε ολικά είτε τμηματικά, στην κατασκευή νέων εφαρμογών. Η αντικειμενοστρεφή τεχνολογία παρέχει επιπρόσθετους μηχανισμούς επαναχρησιμοποίησης δηλαδή τις κλάσεις, την κελυφοποίηση, την κληρονομικότητα και τον πολυμορφισμό. Υπάρχει όμως και ο ανθρώπινος παράγοντας, που παίζει σημαντικό ρόλο στην ανάπτυξη επαναχρησιμοποιούμενου λογισμικού. Δηλαδή το ερώτημα είναι πως οι κατασκευαστές θα χρησιμοποιήσουν τους προαναφερθέντες μηχανισμούς στην κατασκευή του λογισμικού. Ένα πρώτο βήμα είναι η καλύτερη κατανόηση των εννοιών αυτών, καθότι δεν υπάρχουν οδηγίες για την χρήση των αλλά και για ενιαίο τρόπο κατασκευής του λογισμικού. Στην πράξη η επαναχρησιμοποίηση λογισμικού απαιτεί πολύ προσπάθεια και πειθαρχία σε όλα τα στάδια της ανάπτυξης. Η επεκτασιμότητα (extendibility) είναι η ευκολία με την οποία τα προϊόντα λογισμικού ανταποκρίνονται σε αλλαγές των προδιαγραφών και μπορούν να επεκταθούν. Η επέκταση σε νέες λειτουργικότητες γίνεται σχετικά εύκολα στα αντικειμενοστρεφή συστήματα με την Σφέτσος Παναγιώτης, Αλγοριθμική και Προγραμματισμός, 3

4 χρήση των μηχανισμών της κελυφοποίησης και κληρονομικότητας. Ένας σημαντικός τρόπος για την καλύτερη ανταπόκριση στις αλλαγές είναι η ανάπτυξη ανεξάρτητων κομματιών κώδικα και δομών με όσο το δυνατό λιγότερη επικοινωνία με το υπόλοιπο πρόγραμμα και ελαχιστοποίηση των διεπαφών. Όσο περισσότερες ανεξάρτητες δομές χρησιμοποιούνται στην ανάπτυξη ενός συστήματος, τόσο αυξάνεται η πιθανότητα ότι μια απλή αλλαγή θα επιδράσει μία ή έστω λίγες δομές και δεν θα προκαλέσει μία αλυσιδωτή αντίδραση σε ολόκληρο το σύστημα. Η συντηρησιμότητα (maintainability) είναι η δυνατότητα αλλαγών στον κώδικα συμπεριλαμβανομένης και της διόρθωσης λαθών. Η μη επαρκής δόμηση του κώδικα ήταν το κύριο χαρακτηριστικό των παραδοσιακών διαδικασιών ανάπτυξης, με αποτέλεσμα να γίνεται δύσκολο το έργο των αλλαγών και διορθώσεων. Η αντικειμενοστρεφής τεχνολογία, με την βοήθεια του μηχανισμού της κελυφοποίησης, συντελεί στην συντηρησιμότητα του λογισμικού, χωρίς αυτό να σημαίνει ότι μπορεί να επιτευχθεί αυτόματα. Η κατασκευή λογισμικού εξαρτάται άμεσα από τον ανθρώπινο παράγοντα και ιδιαίτερα η κατασκευή λογισμικού που θα ανταποκρίνεται με ευκολία στις μεταβολές και διορθώσεις είναι μια επίπονη και διαρκής προσπάθεια την οποία πρέπει να καταβάλουν οι κατασκευαστές σε όλα τα στάδια της ανάπτυξης. Η αντικειμενοστεφής προσέγγιση είναι μια καλά ορισμένη τεχνολογία που ακόμα δεν έχει τυποποιηθεί (standardization). Υπόσχεται την ανάπτυξη ποιοτικού λογισμικού, δηλαδή λογισμικού ικανού να αντιμετωπίσει τις ανάγκες, που δημιουργεί η σύγχρονη επιχειρησιακή λογική, όπως η εύκολη ανταπόκριση στις αλλαγές, η εύκολη επεκτασιμότητα, η μείωση του κόστους συντήρησης του κώδικα και η επαναχρησιμοποίηση κώδικα ή δομών. Στην βιβλιογραφία αναφέρονται και άλλα οφέλη όπως η μείωση του χρόνου ανάπτυξης, η αύξηση της παραγωγικότητας, η απλότητα του κώδικα, η αύξηση της αυτοπεποίθησης και φρονήματος των κατασκευαστών, η καλύτερη μοντελοποίηση και η καλύτερη κατανόηση του συστήματος. Για την εκμετάλλευση όλων αυτών των πλεονεκτημάτων απαιτείται η ριζική αλλαγή κατεύθυνσης στον τρόπο ανάλυσης σχεδίασης - υλοποίησης, η κατανόηση του συνόλου των αρχών και η ορθή χρήση των εννοιών - μηχανισμών της αντικειμενοστρέφειας αλλά και η διαρκής εκπαίδευση τόσο των διαχειριστών όσο και των κατασκευαστών των έργων λογισμικού. Η αντικειμενοστρεφής τεχνολογία είναι ένα καλύτερο εργαλείο για την λύση των προβλημάτων, δεν είναι η ίδια η λύση των προβλημάτων. Πολλά από τα προβλήματα που υπήρχαν στην ανάπτυξη του λογισμικού εξακολουθούν να υπάρχουν και στην αντικειμενοστρεφή τεχνολογία, ενδεχομένως σε μικρότερο βαθμό. Ο διαφορετικός και πολλές φορές μη ενδεδειγμένος τρόπος χρήσης των Σφέτσος Παναγιώτης, Αλγοριθμική και Προγραμματισμός, 4

5 εννοιών μηχανισμών της αντικειμενοστρεφούς τεχνολογίας, λόγω και της έλλειψης οδηγιών για την σωστή χρήση των, επιφέρει διαφορετικά αποτελέσματα και πολλές διαφωνίες μεταξύ των εμπλεκομένων ερευνητών και κατασκευαστών. Εισαγωγή στην Αλγοριθμική και τον Προγραμματισμό Καθημερινά καλούμαστε να επιλύσουμε προβλήματα. Βέβαια, αυτό δεν είναι πάντα εύκολο για πολλούς και διαφορετικούς λόγους. Η αλγοριθμική είναι η μεθοδολογία προσέγγισης ενός προβλήματος. Δίνει έμφαση στον τρόπο επίλυσης του προβλήματος, ανεξάρτητα από το χώρο από τον οποίο προέρχεται το πρόβλημα. Για την επίλυση ενός προβλήματος θα πρέπει πρώτα να κατανοήσουμε το πρόβλημα, να κατανοήσουμε τα δεδομένα και τα ζητούμενα και έπειτα να σκεφτούμε τις ενέργειες που θα εκτελέσουμε για την επίλυσή του. Αλγόριθμος είναι ένα σύνολο από λειτουργίες, οι οποίες περιγράφουν βήμα προς βήμα τις ενέργειες που πρέπει να εκτελεστούν για να ολοκληρωθεί μια εργασία ή να επιλυθεί ένα πρόβλημα με πεπερασμένο αριθμό ενεργειών. Ο αλγόριθμος πρέπει να επιλύει το πρόβλημα με καθορισμένα βήματα, να είναι απλός και κατανοητός και φυσικά να τελειώνει. Ας αναλύσουμε τις ανωτέρω έννοιες και ορισμούς από μια διαφορετική οπτική. Από το σχολείο μάθαμε να λύνουμε ένα πρόβλημα, με την θετική σκέψη, προσπαθώντας να ξεκαθαρίσουμε: 1) ποια είναι τα δεδομένα του προβλήματος (τι μας δίνεται), 2) τι πρέπει να υπολογίσουμε (τι μας ζητάει το πρόβλημα) και 3) τι τύπους (παραστάσεις, σχέσεις εκφράσεις) θα υλοποιήσουμε για να βρούμε το αποτέλεσμα. Για παράδειγμα σκεφτείτε την παρακάτω εκφώνηση: Δίνεται η βάση ενός τριγώνου β=2 και το ύψος του υ=4. Ζητείται το Εμβαδόν του τριγώνου. Αμέσως σκεφτόμαστε, ακολουθώντας τα τρία ανωτέρω βήματα: 1) μας δίνεται η βάση και το ύψος του τριγώνου, 2) μας ζητά να υπολογίσουμε το εμβαδόν του και 3) σκεφτόμαστε τον τύπο υπολογισμού που είναι: Εμβαδόν = Βάση x Ύψος / 2. Άρα στον τύπο, αντικαθιστώντας τη Βάση με 2, το Ύψος με 4 και διαιρώντας δια 2, βρίσκουμε το Εμβαδόν = 4. Στο παράδειγμα αυτό ο αλγόριθμος ήταν πολύ εύκολος και τα βήματα (ή ενέργειες) που κάναμε για να το λύσουμε ήταν λίγα και απλά. Τις πιο πολλές φορές τα βήματα που πρέπει να κάνουμε είναι πολλά και δύσκολα και απαιτούν πέρα της θετικής σκέψης και την λογική. Για παράδειγμα, σκεφτείτε τον υπολογισμό του συνολικού ποσού πληρωμής μιας αγοράς, πριν τον υπολογισμό του ποσού ΦΠΑ για αυτή την αγορά. Κάτι τέτοιο δεν μπορεί να γίνει, γιατί πρέπει πρώτα να υπολογίσουμε το ποσό ΦΠΑ και μετά το συνολικό ποσό πληρωμής (αρχική τιμή + ποσό Σφέτσος Παναγιώτης, Αλγοριθμική και Προγραμματισμός, 5

6 ΦΠΑ). Άρα, ας τροποποιήσουμε λίγο τον ορισμό του αλγορίθμου, κάνοντας τον πιο απλό και πιο κατανοητό: Αλγόριθμος είναι ένα σύνολο από λογικά βήματα και αντίστοιχες λειτουργίες που πρέπει να εκτελεστούν για να ολοκληρωθεί μια εργασία ή να επιλυθεί ένα πρόβλημα. Στο παράδειγμα του εμβαδού του τριγώνου τα λογικά βήματα που κάναμε ήταν πολύ απλά και λίγα: 1) ξεχωρίσαμε τα δεδομένα οι τιμές στη βάση και το ύψος (είσοδος ή δημιουργία δεδομένων), 2) εφαρμόσαμε τον τύπο του Εμβαδού του τριγώνου (Ε=Β x Y / 2) και υπολογίσαμε το εμβαδό του, αντικαθιστώντας στον τύπο τις τιμές (υπολογισμός) και 3) γράψαμε το αποτέλεσμα (εμφάνιση του αποτελέσματος). Με bold και italics είναι οι αντίστοιχες λειτουργίες ή βήματα στον προγραμματισμό. Δηλαδή, για να λύσουμε ένα πρόβλημα θα πρέπει: να βρούμε τα δεδομένα που μας δίνονται (αλλιώς θα πρέπει να τα δημιουργήσουμε), να βρούμε τις σχέσεις που χρειάζονται και να τις υπολογίσουμε και τέλος να εμφανίσουμε τα αποτελέσματα. Τι μεσολαβεί μεταξύ των τριών αυτών σταδίων; Τα λογικά βήματα που πρέπει να κάνουμε. Τα τρία στάδια απεικονίζουν τη χρήση του υπολογιστή (από αυτές τις συσκευές αποτελείται) και τα λογικά βήματα (αλγοριθμική) που θα μας πάνε από το ένα στάδιο στο άλλο για την επίλυση ενός προβλήματος στον προγραμματισμό. Τρόπος επίλυσης προβλημάτων στον Προγραμματισμό : Είσοδος ή δημιουργία δεδομένων Λογικά Βήματα Υπολογισμοί (Επεξεργασία - Λειτουργία) Λογικά Βήματα Έξοδος Αποτελεσμάτων Σφέτσος Παναγιώτης, Αλγοριθμική και Προγραμματισμός, 6

7 Περιγραφή ή αναπαράσταση Αλγορίθμων - Προγραμματισμός Η περιγραφή ή αναπαράσταση ενός αλγορίθμου γίνεται με: 1) την φυσική γλώσσα, 2) τα διαγράμματα ροής, 3) τον ψευδοκώδικα, και 4) τις γλώσσες προγραμματισμού Το διάγραμμα ροής (flowchart) αναπαριστά έναν αλγόριθμο, δείχνοντας τα βήματα ως κουτάκια (γραφικά) διαφόρων ειδών που συνδέονται μεταξύ τους με βέλη (όπως αυτό στην προηγούμενη σελίδα). Αυτή η διαγραμματική παρουσίαση μπορεί να δώσει λύση βήμα προς βήμα σε ένα πρόβλημα. Ο ψευδοκώδικας μοιάζει με μια τυπική γλώσσα προγραμματισμού αλλά περιλαμβάνει μεγαλύτερη ελευθερία ως προς τους συντακτικούς κανόνες. Οι γλώσσες προγραμματισμού επιτρέπουν την δημιουργία προγραμμάτων για την υλοποίηση αλγορίθμων από τα υπολογιστικά συστήματα. Με τις γλώσσες προγραμματισμού υλοποιούνται τα στοιχεία των αλγορίθμων, όπως βήματα (εντολές), σημεία απόφασης ή διακλάδωσης (αν..τότε..), επαναλήψεις (για όσο επανάλαβε..), κλπ. Οι εντολές είναι του τύπου διάβασε μια τιμή π.χ. από το πληκτρολόγιο, υπολόγισε π.χ. το εμβαδό του τριγώνου στον τύπο, εμφάνισε το αποτέλεσμα, κλπ. Οι γλώσσες προγραμματισμού διακρίνονται σε χαμηλού και υψηλού επιπέδου και έχουν τα χαρακτηριστικά κάθε φυσικής γλώσσας δηλαδή αλφάβητο, λεξιλόγιο και συντακτικό. Κάθε πρόγραμμα γράφεται σε ένα κατανοητό σε μας τρόπο και μετά μεταγλωττίζεται ώστε να εκτελεστεί από τον υπολογιστή. Εμβάθυνση στις έννοιες αυτές θα κάνουμε παρακάτω. Ο προγραμματισμός βοηθά στην επίλυση συνθέτων αλγορίθμων. Αν σκεφτούμε το παράδειγμα της εύρεσης του εμβαδού ενός τριγώνου, τότε η συγγραφή ενός προγράμματος για την επίλυση του προβλήματος σε μια οποιαδήποτε γλώσσα προγραμματισμού θα ήταν πιο κουραστική και σχεδόν ανώφελη σε σχέση με τον υπολογισμό του με μολύβι και χαρτί. Όμως σκεφτείτε κάποιον δύσκολο αλγόριθμο που μάλιστα θα υλοποιείται πολλές φορές με διαφορετικά δεδομένα. Για παράδειγμα τον υπολογισμό της μισθοδοσίας, την εκτέλεση τραπεζικών συναλλαγών, κλπ. Άρα ο προγραμματισμός, υλοποιούμενος μέσα από μια γλώσσα προγραμματισμού, είναι αυτός που χρησιμοποιείται για την αναπαράσταση ή περιγραφή συνθέτων και δύσκολων αλγορίθμων. Ο προγραμματισμός δεν αποκλείει την χρήση αλλά και την βοήθεια που παρέχουν τα διαγράμματα ροής και ο ψευδοκώδικας. Πολλές είναι οι γλώσσες προγραμματισμού. Εμείς θα ασχοληθούμε με την εκμάθηση του προγραμματισμού μέσα από την αντικειμενοστρεφή γλώσσα προγραμματισμού JAVA. Σφέτσος Παναγιώτης, Αλγοριθμική και Προγραμματισμός, 7

8 Εισαγωγή στη Java Η γλώσσα προγραμματισμού κυκλοφόρησε σε αρχική μορφή το Η πρώτη έκδοση JDK 1.0 (Java Development Kit) κυκλοφόρησε το Σήμερα κυκλοφορεί η έκδοση Java 7.0 και με αυτή την έκδοση θα δουλέψουμε στα εργαστήρια. Αποτελεί μία πλατφόρμα προγραμματισμού ανεξάρτητη από τα διαφορετικά λειτουργικά συστήματα και για τον λόγο αυτό κυριάρχησε στις εφαρμογές διαδικτύου, αλλά και σε άλλες εφαρμογές πληροφορικής. Επιπλέον είναι απλή, αντικειμενοστρεφής και σχετικά γρήγορη (ως προς την εκτέλεση των εφαρμογών). Τα πλεονεκτήματα της Java είναι η ασφάλεια των εφαρμογών της αλλά και η ανεξαρτησία της από τα διαφορετικά λειτουργικά συστήματα. Αυτά τα δύο μεγάλα πλεονεκτήματα της οφείλονται στον Java bytecode, ο οποίος είναι ο ενδιάμεσος κώδικας που παράγεται κατά την μεταγλώττιση του προγράμματος. Ο κώδικας αυτός δεν είναι απευθείας εκτελέσιμος αλλά εκτελείται από την εικονική μηχανή Java, τον διερμηνέα της γλώσσας (Java Virtual Machine - JVM). Με την δομή αυτή επιτυγχάνεται η ασφαλής διακίνηση των εφαρμογών μέσα στο διαδίκτυο αλλά και η εκτέλεση των σε διαφορετικά λειτουργικά συστήματα, αρκεί να υπάρχει ο διερμηνέας της Java στα συστήματα αυτά. Το εξάμηνο αυτό θα μάθουμε να χρησιμοποιούμε την Java στην επίλυση προβλημάτων προγραμματισμού, ξεκινώντας από τα πλέον απλά δηλαδή, την εκτέλεση αριθμητικών πράξεων και θα επεκταθούμε σε σύνθετες έννοιες, όπως των κλάσεων, αντικειμένων, μεθόδων και όλων εκείνων των εννοιών που χρησιμοποιούνται για την επίλυση προγραμματιστικών προβλημάτων. Το πρόγραμμα στη Java είναι αρχείο κειμένου (πηγαίος κώδικας source code), που γράφεται σε απλούς επεξεργαστές κειμένου όπως Notepad, TextPad ή σε ειδικά περιβάλλοντα όπως JCreator, NetBeans, Eclipse, κλπ. Το πρόγραμμα πρώτα μεταγλωττίζεται με την κλήση του μεταγλωττιστή (compiler) (παραγωγή ενδιάμεσου κώδικα - bytecode ) και στη συνέχεια εκτελείται με την κλήση του διερμηνέα (interpreter) (JVM) στη γραμμή εντολών ή μέσα από τα περιβάλλοντα (λεπτομέρειες παρακάτω). Η σύνταξη των προγραμμάτων πρέπει να γίνεται με ιδιαίτερη προσοχή. Οι εργασίες εγκατάστασης της Java Το Java Development Kit (JDK) είναι μια συλλογή προγραμμάτων που μπορούμε να κατεβάσουμε χωρίς κόστος από την ιστοσελίδα της εταιρίας Oracle. Πηγαίνουμε στην ιστοσελίδα της εταιρίας: Σφέτσος Παναγιώτης, Αλγοριθμική και Προγραμματισμός, 8

9 από όπου κατεβάζουμε την τελευταία έκδοση της (π.χ. Java Platform (JDK) 7u7 για windows). Με την εγκατάσταση δημιουργείται ο φάκελος C:\Program Files\Java\jdk1.7.0_02 όπου τοποθετούνται τα αρχεία της Java στους επί μέρους φακέλους bin, lib, κλπ. Οι φάκελοι bin και lib είναι πολύ σημαντικοί (περιέχουν τον μεταγλωττιστή, διερμηνέα, και τις βιβλιοθήκες των έτοιμων κλάσεων). Θα πρέπει το σύστημα να ξέρει τη διαδρομή (path) ώστε να βρίσκει τους δύο αυτούς φακέλους και να εκτελεί τα αντίστοιχα προγράμματα. Ορισμός της διαδρομής (path) - Windows 7 Ανοίγουμε τον πίνακα ελέγχου - Control Panel, επιλέγουμε System and Security Επιλέγουμε System -> από το μενού αριστερά Advanced System Settings -> και τέλος Enviromental variables Στο παράθυρο User Variables list, επιλέγουμε New -> προσθέτουμε τη λέξη Path, και στο δεύτερο παράθυρο πληκτρολογούμε τη διαδρομή (π.χ.): C:\Program Files\Java\jdk1.7.0_02\bin Πατάμε OK για να τελειώσουμε την εργασία. Ορισμός της διαδρομής (path) - Windows XP Ανοίγουμε τον πίνακα ελέγχου - Control Panel, επιλέγουμε System Σφέτσος Παναγιώτης, Αλγοριθμική και Προγραμματισμός, 9

10 Επιλέγουμε την σελίδα για προχωρημένους - advanced και το κουμπί Μεταβλητές περιβάλλοντος - Environment Variables Στο παράθυρο System Variables list, επιλέγουμε Path, και μετά το κουμπί Edit. Σε ένα μικρότερο παράθυρο που εμφανίζεται πληκτρολογούμε τη διαδρομή (π.χ.): C:\Program Files\Java\jdk1.7.0_02\bin; Πατάμε OK για να τελειώσουμε την εργασία Ορισμός της διαδρομής (path) (σε παράθυρο - Dos) Ορίζουμε τη διαδρομή με την εντολή: path C:\Program Files\Java\jdk1.7.0_02\bin Σφέτσος Παναγιώτης, Αλγοριθμική και Προγραμματισμός, 10

11 Το πρώτο μας Πρόγραμμα Το παρακάτω απλό πρόγραμμα θα εμφανίσει στην οθόνη το μήνυμα : Hello Java. /* Αυτό είναι ένα απλό πρόγραμμα στη Java Το όνομα του αρχείου είναι Hello.java */ class Hello { // Το πρόγραμμα αρχίζει με μία κλήση στη main() public static void main(string args[]) { System.out.println("Hello Java"); } } Μεταγλώττιση και εκτέλεση στο Dos 1) Γράφουμε το πρόγραμμα σε ένα κειμενογράφο, π.χ. Notepad 2) Αποθηκεύουμε το πηγαίο πρόγραμμα με το όνομα Hello.java 3) Το πηγαίο πρόγραμμα πρέπει πρώτα να μεταγλωττισθεί, ώστε να ελεγχθεί συντακτικά, και η εργασία αυτή γίνεται με τον μεταγλωττιστή της java (compiler) - javac. Για να εκτελεσθεί ο javac πρέπει προηγουμένως να έχει ορισθεί η πλήρης διαδρομή (full path name) (όπως παραπάνω). 4) Αν το όνομα του πηγαίου προγράμματος είναι Hello.java, τότε η εντολή για την μεταγλώττιση του προγράμματος θα είναι: C:\>javac Hello.java 5) Ο μεταγλωττιστής παράγει το αρχείο: Hello.class. Το αρχείο αυτό δεν είναι απ ευθείας εκτελέσιμο (executable), αλλά ένας ενδιάμεσος κώδικας ο bytecode που εκτελείται από τον διερμηνέα της java (Interpreter). 6. Για να εκτελέσουμε το πρόγραμμα καλούμε τον διερμηνέα της java (Interpreter) τον java με την παρακάτω εντολή: C:\>java Hello. Ο διερμηνέας της java (Java Virtual Σφέτσος Παναγιώτης, Αλγοριθμική και Προγραμματισμός, 11

12 Machine - JVM) εκτελεί τον bytecode κώδικα. Ο κώδικας αυτός μπορεί να μεταφερθεί σε οποιοδήποτε λειτουργικό σύστημα αρκεί να περιλαμβάνει τον αντίστοιχο JVM. Η δυνατότητα εκτέλεσης των bytecode προγραμμάτων της java σε διαφορετικά λειτουργικά συστήματα την έχει κάνει διάσημη. Τα προγράμματα διακινούνται και εκτελούνται μέσα στο διαδίκτυο. Η εκτέλεση των προγραμμάτων γίνεται από τους πλοηγούς του Internet (Web Browsers). Τα προγράμματα αυτά ονομάζονται applets. Μεταγλώττιση και εκτέλεση στο TextPad 1) Κατεβάζουμε και εγκαθιστούμε τον TextPad: 2) Επιλέγουμε Configure και μετά Preferences 3) Επιλέγουμε Tools και πατάμε το κουμπί Add και μετά να επιλέξουμε Java SDK Commands. 4) Αν τα ορίσαμε σωστά θα φαίνεται μια τέτοια περίπου εικόνα: Σφέτσος Παναγιώτης, Αλγοριθμική και Προγραμματισμός, 12

13 5. Πατάμε το κουμπί ΟΚ και γράφουμε στον κειμενογράφο το πρώτο μας πρόγραμμα. Η ανωτέρω ρύθμιση γίνεται μία φορά την πρώτη που θα δουλέψουμε με τον TextPad. 6. Αποθηκεύουμε το πρόγραμμα με το όνομα Hello.java 7. Μεταγλωττίζουμε (πατώντας Ctrl + 1) και εκτελούμε το πρόγραμμα (πατώντας Ctrl + 2). Εννοείται ότι θα δημιουργηθεί και το αρχείο Hello.class. Τέτοιες εργασίες θα εκτελούμε συνέχεια στο εργαστήριο. H γενική δομή του προγράμματος /* <σχόλια> */ import <java βιβλιοθήκες - Packages>; // <σχόλια> public class <όνομα κλάσης> { <Δηλώσεις Μεταβλητών> <Δηλώσεις Μεθόδων> public static void main(string[] args) { <εντολές προγράμματος> } } Σφέτσος Παναγιώτης, Αλγοριθμική και Προγραμματισμός, 13

14 Κάθε πρόγραμμα είναι μια μονάδα μεταγλώττισης Το πρόγραμμα της Java είναι ένα αρχείο κειμένου που περιέχει μία ή περισσότερες Κλάσεις Κάθε Κλάση περιέχει τις δικές της εντολές προγράμματος Στη χρήση των ονομάτων πρέπει να λαμβάνεται υπόψη η διαφορά των κεφαλαίων και μικρών γραμμάτων. Μία δεύτερη ματιά στο πρόγραμμα Σχόλια προγράμματος πολλαπλών γραμμών. Αρχίζουν με το σύμβολο /* και τελειώνουν με το σύμβολο */. Τα σχόλια παραβλέπονται από τον μεταγλωττιστή. Π.χ. /* Αυτό είναι ένα απλό πρόγραμμα στη Java Το όνομα του αρχείου είναι Hello.java */ Ορισμός της κλάσης του προγράμματος με την προσβασιμότητα και το όνομα της. Η κλάση αρχίζει με το άγκιστρο { και κλείνει επίσης με το άγκιστρο }. Π.χ. class Hello { Σχόλιο προγράμματος απλής γραμμής. Αρχίζει με τα σύμβολα // και τελειώνει στο τέλος της γραμμής. Π.χ. // Το πρόγραμμα αρχίζει με μία κλήση στη main() Εντολή εκκίνησης της εκτέλεσης του προγράμματος. Κάθε πρόγραμμα στη java καλεί την μέθοδο main(), public static void main(string args[]) public, καθορίζει ότι το πρόγραμμα θα έχει πρόσβαση στην κλάση μέλος (καθολική ορατότητα). Το αντίθετο συμβαίνει με την private, η οποία απαγορεύει την πρόσβαση στον κώδικα της κλάσης μέλους (τοπική ορατότητα). static, επιτρέπει στην main() να κληθεί προς εκτέλεση πριν δημιουργηθεί κάποιο αντικείμενο στην κλάση μέλος void, δηλώνει στον μεταγλωττιστή ότι η main() δεν επιστρέφει κάποια τιμή String args[] ή String[] args, ορίζει ένα πίνακα (array) παραμέτρων με όνομα args (μπορεί να έχει και άλλο όνομα) με τιμές της κλάσης String. Η args θα πάρει τιμές κατά την εκτέλεση του προγράμματος (όχι βέβαια στο παράδειγμά μας). main(), είναι η μέθοδος που καλείται όταν μία εφαρμογή java ξεκινά. Το σώμα της περιέχεται μέσα σε άγκιστρα { }. Η main() είναι το σημείο εκκίνησης του διερμηνέα. Μία εφαρμογή μπορεί να έχει δεκάδες κλάσεις αλλά μία από αυτές πρέπει να περιέχει την main(). Η τελευταία εντολή εμφανίζει στην οθόνη το μήνυμα χρησιμοποιώντας την μέθοδο println() και τις System.out που ορίζουν, η μεν πρώτη μία κλάση που παρέχει Σφέτσος Παναγιώτης, Αλγοριθμική και Προγραμματισμός, 14

15 πρόσβαση στα μέσα του Συστήματος, ενώ η δεύτερη την δέσμη εξόδου στην οθόνη. System.out.println("Hello Java"); Η εντολή τελειώνει με το σύμβολο semicolon (;). Όλες οι εντολές της java τελειώνουν με το σύμβολο αυτό. Το πρώτο άγκιστρο κλείνει την main(), ενώ το δεύτερο την κλάση Hello. Όταν το πρόγραμμα είναι μικρό περιέχει συνήθως μία κλάση. Στην περίπτωση αυτή θα πρέπει το όνομα του πηγαίου κώδικα να είναι απόλυτα ίδιο με το όνομα της κλάσης. Προσέξτε για μία ακόμη φορά τον τρόπο σύνταξης των στοιχείων του προγράμματος καθώς η java τα λαμβάνει σοβαρά υπόψη και επιστρέφει λάθος αν δεν ακολουθήσουμε τους κανόνες σύνταξης. Αν κάνουμε κάποιο συντακτικό λάθος θα το διορθώσουμε χρησιμοποιώντας ξανά τον κειμενογράφο. Ο κύκλος Γράψε - διόρθωσε, Μεταγλώττισε, Εκτέλεσε.. 1. Γράψε το πρόγραμμα στον κειμενογράφο ή στο περιβάλλον 2. Αποθήκευσε το πρόγραμμα με την εντολή Save As 3. Μεταγλώττισε το πρόγραμμα με την εντολή javac ή μέσα στο περιβάλλον 4. Αν υπάρχουν συντακτικά λάθη πηγαίνουμε στο βήμα 1 για διορθώσεις. 5. Εκτέλεσε το πρόγραμμα με την εντολή java ή μέσα στο περιβάλλον 6. Αν υπάρχουν λάθη πηγαίνουμε στο βήμα 1, ενώ αν εκτελείται σωστά τότε τελειώνουμε Παραλλαγή του προγράμματος Hello Στην παραλλαγή αυτή (που θα εκτελεσθεί στο Dos - console) θα περάσουμε με παράμετρο το δεύτερο συνθετικό όνομα της εμφάνισης του μηνύματος. Προσέξτε την σύνταξη της args. Η πρώτη παράμετρος κατέχει την θέση 0 στη λίστα των παραμέτρων. /* Αυτό είναι ένα απλό πρόγραμμα στη Java Το όνομα του αρχείου είναι Hello.java */ class Hello { // Το πρόγραμμα αρχίζει με μία κλήση στη main() Σφέτσος Παναγιώτης, Αλγοριθμική και Προγραμματισμός, 15

16 public static void main(string args[]) { System.out.println("Hello " + args[0]); } } Αν εκτελέσουμε το πρόγραμμα θα πάρουμε το αποτέλεσμα: C:\>javac Hello.java C:\>java Hello Java (πέρασμα της λέξης Java σαν πρώτη παράμερο) Hello Java Σφέτσος Παναγιώτης, Αλγοριθμική και Προγραμματισμός, 16

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

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

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

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

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δρ. Κόννης Γιώργος Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής Προγραμματισμός Στόχοι 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 στην

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

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

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

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου

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

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi ee.duth.

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth. Το πρόγραμμα HelloWorld.java Σχόλια στη Java HelloWorld Παύλος Εφραιμίδης pefraimi ee.duth.gr Java Το πρόγραμμα HelloWorld 1 Java Το πρόγραμμα HelloWorld 2 Σχόλια στη Java ΗγλώσσαJava υποστηρίζει

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

public void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);

public void printstatement() { System.out.println(Employee:  + name +  with salary:  + salary); Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή Στο εργαστήριο αυτό θα μάθουμε για τη χρήση συναρτήσεων με σκοπό την κατασκευή αυτόνομων τμημάτων προγραμμάτων που υλοποιούν μία συγκεκριμένη διαδικασία, τα οποία

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

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

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

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

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

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

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

Σκοπός του μαθήματος

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

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

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

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

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

Σενάριο 14: Προγραμματίζοντας ένα Ρομπότ ανιχνευτή

Σενάριο 14: Προγραμματίζοντας ένα Ρομπότ ανιχνευτή Σενάριο 14: Προγραμματίζοντας ένα Ρομπότ ανιχνευτή Ταυτότητα Σεναρίου Τίτλος: Προγραμματίζοντας ένα Ρομπότ ανιχνευτή Γνωστικό Αντικείμενο: Πληροφορική Διδακτική Ενότητα: Ελέγχω-Προγραμματίζω τον Υπολογιστή

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

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

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

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

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

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

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

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

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

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

Δομές Δεδομένων. Σημειώσεις από το εργαστήριο για τον χειρισμό του προγράμματος Eclipse. 5ο εξάμηνο. v1.0

Δομές Δεδομένων. Σημειώσεις από το εργαστήριο για τον χειρισμό του προγράμματος Eclipse. 5ο εξάμηνο. v1.0 Δομές Δεδομένων 5ο εξάμηνο Σημειώσεις από το εργαστήριο για τον χειρισμό του προγράμματος Eclipse v1.0 Τις σημειώσεις κράτησαν και διαμόρφωσαν σε word οι: Κονδύλη Γαλήνη, ΑΜ 5576 Μάλλιου Χριστίνα, ΑΜ 5413

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

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

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

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

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

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

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

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

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

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

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

ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ Η ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΟ ΛΥΚΕΙΟ Εισαγωγή Η μεγάλη ανάπτυξη και ο ρόλος που

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

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Πως θα κατασκευάσω το πρώτο πρόγραμμα; Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να γίνει εξοικείωση το μαθητών με τον ΗΥ και το λειτουργικό σύστημα. - Επίδειξη του My Computer

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

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραµµατισµό ( ιάλεξη 2) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Περιεχόµενα Εισαγωγικές Έννοιες - Ορισµοί Ο κύκλος ανάπτυξης προγράµµατος Παραδείγµατα Πότε χρησιµοποιούµε υπολογιστή?

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

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

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Ηλ. Γκρίνιας Τ. Ε. Ι. Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Αλγόριθμοι Ορισμός: ο αλγόριθμος είναι μια σειρά από πεπερασμένα βήματα που καθορίζουν

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΜΟΝΤΕΛΑ ΣΥΣΤΗΜΑΤΟΣ Διδάσκων: Γ. Χαραλαμπίδης, Επ. Καθηγητής

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

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

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

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

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Εντολές ελέγχου συγκρίσεων επιλογής ή διακλαδώσεων ( if switch) Μία από τις σημαντικότερες

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

ΕΠΛ233 Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA

ΕΠΛ233 Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA 2 «Μονάδα Μετάφρασης» 2 «Μονάδα Μετάφρασης» Όταν δημιουργείται ένα αρχείο πηγαίου κώδικα στην Java, το αρχείο καλείται µονάδα µετάφρασης (compilation unit)

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

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Nα κατασκευάσουν πίνακες από δεδομένα. Να κατασκευάσουν συναρτήσεις με πίνακες. Να κάνουν χρήση

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

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

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Τηλ/νιών Τομέας Προγ/σμού & Τεχνολογίας Λογισμικού Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Δρ. Νικόλαος Θ. Λιόλιος Καθηγητής Φεβρουάριος 2012 1. Εισαγωγή Το Visual

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ ΕΦΑΡΜΟΓΩΝ JAIN-SIP-PROXY και SIP-COMMUNICATOR Εισαγωγή Αυτές οι οδηγίες περιγράφουν τα βήματα για να εγκαταστήσουμε τις εφαρμογές JAIN- SIP-Proxy και SIP-Communicator.

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο Με τι ασχολείται ο προγραμματισμός; Ο προγραμματισμός ασχολείται με την διατύπωση του αλγορίθμου σε κατανοητή μορφή από τον Η/Υ, δηλ. τη δημιουργία του προγράμματος, του συνόλου των εντολών που πρέπει

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

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

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

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

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

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας ρ. Πάνος Φιτσιλής Περιεχόµενα Βασικές έννοιες αντικειµενοστεφούς τρόπου ανάπτυξης Τι είναι κλάση Τι είναι αντικείµενο 2 Βασικές

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

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

Σενάριο 13. Προγραμματίζοντας ένα Ρομπότ

Σενάριο 13. Προγραμματίζοντας ένα Ρομπότ Σενάριο 13. Προγραμματίζοντας ένα Ρομπότ Ταυτότητα Σεναρίου Τίτλος: Προγραμματίζοντας ένα Ρομπότ Γνωστικό Αντικείμενο: Πληροφορική Διδακτική Ενότητα: Ελέγχω-Προγραμματίζω τον Υπολογιστή Τάξη: Γ Γυμνασίου

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

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

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

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

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

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

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

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

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

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

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++ ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++ Α. ΠΡΙΝ ΤΗΝ ΕΓΚΑΤΑΣΤΑΣΗ Το πρόγραμμα BloodShed Dev-C++ είναι ένα ολοκληρωμένο περιβάλλον ανάπτυξης* κώδικα για γλώσσες

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

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

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

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

Π ρ ο γ ρ α μ μ α τ ι σ μ ό ς Β α σ ι κ έ ς έ ν ν ο ι ε ς Ι σ τ ο ρ ι κ ή α ν α δ ρ ο μ ή Η έννοια του προγράμματος Ιστορική αναδρομή

Π ρ ο γ ρ α μ μ α τ ι σ μ ό ς Β α σ ι κ έ ς έ ν ν ο ι ε ς Ι σ τ ο ρ ι κ ή α ν α δ ρ ο μ ή Η έννοια του προγράμματος Ιστορική αναδρομή Προγραμματισμός Βασικές έννοιες Ιστορική αναδρομή Η έννοια του προγράμματος Η περιγραφή της λύσης ενός προβλήματος, ως γνωστόν, γίνεται με τη βοήθεια ενός αλγορίθμου. Έτσι οι εντολές ενός προγράμματος

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Βήματα προς τη δημιουργία εκτελέσιμου κώδικα Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Βιβλιογραφία "C Προγραμματισμός", Deitel & Deitel, Πέμπτη Έκδοση, Εκδόσεις

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

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

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

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

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

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

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

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 6: Αφαιρετικότητα, Βιβλιοθήκες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Αφαιρετικότητα -Βιβλιοθήκες (packages) Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός

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

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

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

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

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

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

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

Εισαγωγή στο προγραμματιστικό περιβάλλον ANSI

Εισαγωγή στο προγραμματιστικό περιβάλλον ANSI Εργαστήριο 1ο Εισαγωγή στο προγραμματιστικό περιβάλλον ANSI Σε αυτό το κεφάλαιο θα ασχοληθούμε με την περιγραφή της διαδικασίας μεταγλώττισης ενός προγράμματος C κάνοντας χρήση του μεταγλωττιστή gcc σε

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

Προγραμματισμός Ι. Πολλαπλά Αρχεία. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Πολλαπλά Αρχεία. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Πολλαπλά Αρχεία Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Πολλαπλά Αρχεία Όταν γράφουμε μεγάλα προγράμματα θέλουμε να έχουμε ανεξάρτητα κομμάτια κώδικα

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Λύσεις Θεμάτων Επαναληπτικών Εξετάσεων Ενιαίου Λυκείου 2015

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Λύσεις Θεμάτων Επαναληπτικών Εξετάσεων Ενιαίου Λυκείου 2015 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Λύσεις Θεμάτων Επαναληπτικών Εξετάσεων Ενιαίου Λυκείου 2015 Θέμα Α Α1. 1. Λάθος 2. Σωστό 3. Σωστό 4. Λάθος 5. Λάθος Α2. α. Σελίδα 209 σχολικού βιβλίου:

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

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

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

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

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης ΚΕΦΑΛΑΙΟ 1ο 3ο 1. Συμπληρώστε τα κενά με τη λέξη που λείπει. α. Ένα πρόβλημα το χωρίζουμε σε άλλα απλούστερα, όταν είναι ή όταν έχει τρόπο επίλυσης. β. Η επίλυση ενός προβλήματος προϋποθέτει την του. γ.

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

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008 Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει

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

1.Puzzle. ΕΠΙΜΕΛΕΙΑ: ΓΕΩΡΓΙΑ ΚΛΩΣΤΡΑΚΗ Σελίδα 1

1.Puzzle. ΕΠΙΜΕΛΕΙΑ: ΓΕΩΡΓΙΑ ΚΛΩΣΤΡΑΚΗ Σελίδα 1 1.Puzzle Μόλις ανοίξω το πρόγραμμα επιλέγω την εντολή Browse. Στη συνέχεια αναζητώ την εικόνα που έχω αποθηκεύσει σε ένα φάκελο (στην επιφάνεια εργασίας ή στα έγγραφά μου ή στο σκληρό μου δίσκο). Αφού

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εισαγωγή Κώστας Στεργίου Τι είναι ο Η/Υ; Ένας ηλεκτρονικός υπολογιστής (Η/Υ) είναι

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

ANDROID Προγραμματισμός Εφαρμογών

ANDROID Προγραμματισμός Εφαρμογών ANDROID Προγραμματισμός Εφαρμογών Παναγιώτης Κρητιώτης ΑΜ 1607 Περιεχόμενα Εισαγωγή Βασικά Στοιχεία Χαρακτηριστικά Αρχιτεκτονική Εργαλεία Προγραμματισμού Eclipse IDE Android SDK - ADT Plugin Προσομοιωτής

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 1) Πότε χρησιμοποιείται η δομή επανάληψης

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

Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word

Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word Επειδή οι μεταγενέστερες εκδόσεις του Word δεν περιλαμβάνουν στο μενού τη δυνατότητα δημιουργίας πολλαπλών

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

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

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

Εντολές της LOGO (MicroWorlds Pro)

Εντολές της LOGO (MicroWorlds Pro) Εντολές της LOGO (MicroWorlds Pro) Εντολές εμφάνισης (εξόδου) και αριθμητικές πράξεις δείξε Εμφανίζει στην οθόνη έναν αριθμό, το αποτέλεσμα πράξεων, μια λέξη ή μια λίστα (ομάδα) λέξεων. δείξε 200 200 δείξε

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

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ Μ. Γρηγοριάδου Ρ. Γόγουλου Ενότητα: Η Διδασκαλία του Προγραμματισμού Περιεχόμενα Παρουσίασης

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

Σενάριο 15: Ενεργός Μετεωρολογικός Χάρτης

Σενάριο 15: Ενεργός Μετεωρολογικός Χάρτης Σενάριο 15: Ενεργός Μετεωρολογικός Χάρτης Ταυτότητα Σεναρίου Τίτλος : Ενεργός Μετεωρολογικός Χάρτης Γνωστικό Αντικείμενο: Εφαρμογές Πληροφορικής-Υπολογιστών Διδακτική Ενότητα: Διερευνώ - Δημιουργώ Ανακαλύπτω,

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

SPSS Statistical Package for the Social Sciences

SPSS Statistical Package for the Social Sciences SPSS Statistical Package for the Social Sciences Ξεκινώντας την εφαρμογή Εισαγωγή εδομένων Ορισμός Μεταβλητών Εισαγωγή περίπτωσης και μεταβλητής ιαγραφή περιπτώσεων ή και μεταβλητών ΣΤΑΤΙΣΤΙΚΗ Αθανάσιος

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

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

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

Οδηγός Εγκατάστασης και Εγχειρίδιο Χρήσης του λογισμικού. «Ταξίδι στο Χρόνο με Νόημα» Ιστορία Γ, Δ, Ε & ΣΤ Δημοτικού

Οδηγός Εγκατάστασης και Εγχειρίδιο Χρήσης του λογισμικού. «Ταξίδι στο Χρόνο με Νόημα» Ιστορία Γ, Δ, Ε & ΣΤ Δημοτικού Οδηγός Εγκατάστασης και Εγχειρίδιο Χρήσης του λογισμικού «Ταξίδι στο Χρόνο με Νόημα» Ιστορία Γ, Δ, Ε & ΣΤ Δημοτικού 2 ΤΑΞΙΔΙ ΣΤΟ ΧΡΟΝΟ ΜΕ ΝΟΗΜΑ Οδηγός Εγκατάστασης και Χρήσης του λογισμικού Συντελεστές:

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

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών ΕΠΛ362: Τεχνολογία Λογισμικού ΙΙ (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Software Engineering, 9/E, Ian Sommerville, 2011) Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών Οι διαφάνειες αυτές

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

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο Στο φετινό εργαστήριο του μαθήματος, έχετε τη δυνατότητα να δουλέψετε σε 2 περιβάλλοντα. Ένα σε περιβάλλον UNIX μέσω απομακρυσμένης σύνδεσης σε

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

Κεφάλαιο 10. Υποπρογράμματα

Κεφάλαιο 10. Υποπρογράμματα Κεφάλαιο 10 Υποπρογράμματα 10.1 Γενικός διδακτικός σκοπός Ο γενικός σκοπός του κεφαλαίου είναι να καταστούν ικανοί οι μαθητές να χρησιμοποιούν υποπρογράμματα για τη δημιουργία συνθέτων προγραμμάτων. 194

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

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει;

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει; ΜΑΘΗΜΑ 7 Κλήση αλγορίθμου από αλγόριθμο Αναδρομή Σ χ ο λ ι κ ο Β ι β λ ι ο ΥΠΟΚΕΦΑΛΑΙΟ 2.2.7: ΕΝΤΟΛΕΣ ΚΑΙ ΔΟΜΕΣ ΑΛΓΟΡΙΘΜΟΥ ΠΑΡΑΓΡΑΦΟI 2.2.7.5: Κλήση αλγορίθμου από αλγόριθμο 2.2.7.6: Αναδρομή εισαγωγη

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

POWERPOINT 2003. Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων.

POWERPOINT 2003. Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων. POWERPOINT 2003 1. Τι είναι το PowerPoint (ppt)? Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων. 2. Τι δυνατότητες έχει? Δημιουργία παρουσίασης. Μορφοποίηση παρουσίασης. Δημιουργία γραφικών. Δημιουργία

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΙΛΟΓΗΣ 1) Ποιοι είναι οι τελεστές σύγκρισης και

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

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

Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΚΦΩΝΗΣΕΙΣ 1 Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 ο ΕΚΦΩΝΗΣΕΙΣ Α. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη

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

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

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

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

Οικονοµικό Πανεπιστήµιο Αθηνών. Τµήµα Πληροφορικής. Φθινοπωρινό Εξάµηνο 2015. Δοµές Δεδοµένων - Εργασία 2. Διδάσκων: E. Μαρκάκης

Οικονοµικό Πανεπιστήµιο Αθηνών. Τµήµα Πληροφορικής. Φθινοπωρινό Εξάµηνο 2015. Δοµές Δεδοµένων - Εργασία 2. Διδάσκων: E. Μαρκάκης Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα Πληροφορικής Φθινοπωρινό Εξάµηνο 2015 Δοµές Δεδοµένων - Εργασία 2 Διδάσκων: E. Μαρκάκης Ταξινόµηση και Ουρές Προτεραιότητας Σκοπός της 2 ης εργασίας είναι η εξοικείωση

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

Ξεκινώντας με το MIT Αρρ Inventor. 1 η Εργασία

Ξεκινώντας με το MIT Αρρ Inventor. 1 η Εργασία Ξεκινώντας με το MIT Αρρ Inventor 1 η Εργασία Απαιτήσεις 1. Σύνδεση στο Διαδίκτυο (διότι οι εφαρμογές δημιουργούνται online) 2. Εγκατεστημένος ο Browser Google Chrome 3. Υπαρκτός λογαριασμός Gmail 4. Κατεβάστε

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

Β.1. i. Να εξηγήσετε τι εννοούμε με τον όρο μεταφερσιμότητα των προγραμμάτων. Μονάδες 3

Β.1. i. Να εξηγήσετε τι εννοούμε με τον όρο μεταφερσιμότητα των προγραμμάτων. Μονάδες 3 ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΘΕΜΑ 1 ο ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΕΜΠΤΗ 31 MAΪΟΥ 2007 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΔΙΑΔΙΚΑΣΙΕΣ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ Διδάσκων: Γ. Χαραλαμπίδης,

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

Οι περιπτώσεις χρήσης

Οι περιπτώσεις χρήσης 1 Ελληνικό Ανοικτό Πανεπιστήµιο Οι περιπτώσεις χρήσης ρ. Πάνος Φιτσιλής 2 Περιεχόµενα Το µοντέλο των περιπτώσεων χρήσης Τα διαγράµµατα των περιπτώσεων χρήσης Λεκτική περιγραφή των περιπτώσεων χρήσης Τρόπος

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

Σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών ΕΚΤ

Σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών ΕΚΤ Σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών ΕΚΤ 1 Λειτουργικές απαιτήσεις Το σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών στοχεύει στο να επιτρέπει την πλήρως ηλεκτρονική υποβολή αιτήσεων από υποψήφιους

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

Βάσεις δεδομένων (Access)

Βάσεις δεδομένων (Access) Βάσεις δεδομένων (Access) Όταν εκκινούμε την Access εμφανίζεται το παρακάτω παράθυρο: Για να φτιάξουμε μια νέα ΒΔ κάνουμε κλικ στην επιλογή «Κενή βάση δεδομένων» στο Παράθυρο Εργασιών. Θα εμφανιστεί το

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

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ 1ΗΣ ΣΕΛΙΔΑΣ ΘΕΜΑ Α ΑΝΑΚΕΦΑΛΑΙΩΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ Γ' ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΕΜΠΤΗ 26 ΑΠΡΙΛΙΟΥ 2012 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΘΕΜΑ 1 ο Α. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη Σωστό,

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

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να αναπτύξουν ένα πρόγραμμα όπου θα επαναλάβουν τα βήματα ανάπτυξης μιας παραθυρικής εφαρμογής.

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

ΕΠΛ 034: Εισαγωγήστον ΠρογραµµατισµόγιαΗΜΥ

ΕΠΛ 034: Εισαγωγήστον ΠρογραµµατισµόγιαΗΜΥ ΕΠΛ 034: Εισαγωγήστον ΠρογραµµατισµόγιαΗΜΥ Αχιλλέας Αχιλλέως, Τµήµα Πληροφορικής, Πανεπιστήµιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 2 ΠρογραµµατισµόςΗ/Υ Θέµατα ιάλεξης οµή Προγράµµατος C Μεθοδολογία

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

Χειµερινό Εξάµηνο 2013

Χειµερινό Εξάµηνο 2013 Προγραµµατισµός Χειµερινό Εξάµηνο 2013 Προγραµµατισµός Εισαγωγή Περιεχόµενο : γλώσσα προγραµµατισµού: C++ µέθοδοι προγραµµατισµού προγραµµατιστικές αρχές δοµηµένος προγραµµατισµός, αφαιρετικότητα, υλοποίηση,

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

ΘΕΜΑ 1 ο ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

ΘΕΜΑ 1 ο ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΘΕΜΑ 1 ο ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΣΑΒΒΑΤΟ 31 MAΪΟΥ 2008 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ

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

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ GRS-1

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ GRS-1 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ GRS-1 Σελίδα 1 ΓΕΝΙΚΑ - ΕΙΣΑΓΩΓΗ Το GRS-1 της TOPCON διαθέτει λειτουργικό σύστημα Windows CE NET 6.1 παρέχοντας την δυνατότητα εγκατάστασης οποιασδήποτε εφαρμογής και λογισμικού έκδοσης

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