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

Μέγεθος: 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Δημιουργία μιας εφαρμογής Java με το NetBeans

Δημιουργία μιας εφαρμογής Java με το NetBeans Δημιουργία μιας εφαρμογής Java με το NetBeans Για να δημιουργήσετε μια εφαρμογή Java πρέπει να ακολουθήσετε τα εξής βήματα : Αρχικά πρέπει να δημιουργηθεί ένα project το οποίο θα περιέχει όλα τα αρχεία

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

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

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

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 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 στην

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

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

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

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

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

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δρ. Κόννης Γιώργος Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής Προγραμματισμός Στόχοι 1 Να περιγράψουμε τις έννοιες του Υπολογιστικού Προβλήματος και του Προγράμματος/Αλγορίθμου

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> 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 υποστηρίζει

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εργαστήριο 1-1 η Άσκηση - Ανάλυση

Εργαστήριο 1-1 η Άσκηση - Ανάλυση Εργαστήριο 1-1 η Άσκηση - Ανάλυση Εκφώνηση: Δημιουργείστε εφαρμογή σε Java Swing με χρήση του IDE NetBeans όπου θα παρουσιάζεται ποιο κουμπί πατήθηκε. Η εφαρμογή θα μοιάζει ως εξής: Πρώτο Βήμα: Αρχική

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

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

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

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

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java Εξάμηνο Μάθημα Τίτλος 2017 2018 Εαρινό Αντικειμενοστραφής Προγραμματισμός Ι Ύλη εργαστηρίου, Ασκήσεις Java Ημερομηνία Εργαστήριο 5 ο Α. Ύλη εργαστηρίου 5.1 Έννοιες αντικειμενοστραφούς προγραμματισμού,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Οδηγίες εγκατάστασης και χρήσης Java σε προσωπικό υπολογιστή

Οδηγίες εγκατάστασης και χρήσης Java σε προσωπικό υπολογιστή Οδηγίες εγκατάστασης και χρήσης Java σε προσωπικό υπολογιστή Οι οδηγίες που ακολουθούν περιγράφουν την εγκατάσταση και τη χρήση (compile & run) της Java για τον προσωπικό σας υπολογιστή. Windows (10, 8.1,

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

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

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

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

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

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

1. Ξεκινώντας. 1.1 Τι είναι η Java. PDF created with FinePrint pdffactory Pro trial version

1. Ξεκινώντας. 1.1 Τι είναι η Java. PDF created with FinePrint pdffactory Pro trial version 1. Ξεκινώντας Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να περιγράψετε τα κύρια χαρακτηριστικά της γλώσσας Java Να περιγράψετε τη Java Virtual Machine Να περιγράψετε πώς λειτουργεί ο μηχανισμός «συλλογής

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

Ειδικά Θέματα Προγραμματισμού

Ειδικά Θέματα Προγραμματισμού Ειδικά Θέματα Προγραμματισμού Ενότητα 1: Εισαγωγή Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

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

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

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

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

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

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

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

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ. ΚΑΤΕΥΘΥΝΣΗ ΔΙΟΙΚΗΣΗΣ ΤΟΥΡΙΣΤΙΚΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΙ ΕΠΙΧΕΙΡΗΣΕΩΝ ΦΙΛΟΞΕΝΙΑΣ Πληροφορική I "Προγραμματισμός" B. Φερεντίνος

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

Εισαγωγή στην Πληροφορική

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 10 ο Υποπρογράµµατα Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,

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

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα Περιεχόμενα Πρόλογος... 9 Κεφάλαιο 1: Δομή και λειτουργία του υπολογιστή... 11 Κεφάλαιο 2: Χρήση Λ.Σ. DOS και Windows... 19 Κεφάλαιο 3: Δίκτυα Υπολογιστών και Επικοινωνίας... 27 Κεφάλαιο 4: Unix... 37

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

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

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

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

HelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1

HelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1 HelloWorld Παύλος Εφραιμίδης Java Το πρόγραμμα HelloWorld 1 Το πρόγραμμα HelloWorld.java Σχόλια στη Java /** * The HelloWorld class */ class HelloWorld { public static void main(string[] args) { System.out.println("Hello

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 10 ΟΥ ΚΕΦΑΛΑΙΟΥ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Πως ορίζεται ο τμηματικός προγραμματισμός; Τμηματικός προγραμματισμός

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #2 2 Γενικά Στο Εργαστήριο αυτό θα αναλύσουμε τη χρήση της βασικής εντολής ελέγχου ροής

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

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

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

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

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

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

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

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

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

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

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

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. AeppAcademy.com facebook.com/aeppacademy Γεια. Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. Καλή Ανάγνωση & Καλή Επιτυχία

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

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

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

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

. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014 .. Μεθοδολογία Προγραμματισμού Abstract Κλάσεις και Interfaces Νικόλαος Πεταλίδης Τμήμα Μηχανικών Η/Υ ΤΕΙ Κεντρικής Μακεδονίας Εισαγωγή Εαρινό Εξάμηνο 2014 Ν. Πεταλίδης (ΤΕΙ Κεντρικής Μακεδονίας) Μεθοδολογία

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

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

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

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

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

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

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

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

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

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

ΑΛΓΟΡΙΘΜΟΙ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

ΑΛΓΟΡΙΘΜΟΙ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Έλεγχος πληρότητας: Πρέπει να καταχωρούνται στα δεδομένα ο αριθμός της αίθουσας καθώς και ο όροφος στον οποίο βρίσκεται ώστε να μην υπάρχουν αμφιβολίες σε ποια αίθουσα αντιστοιχεί το εμβαδόν που υπολογίστηκε.

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

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

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

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

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

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

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

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

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

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

Μάριος Αγγελίδης Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1

Μάριος Αγγελίδης Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1 Ενότητα 1 Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1 Τι είναι αλγόριθμος Σύμφωνα με το σχολικό βιβλίο: Ορισμός: Μια πεπερασμένη σειρά ενεργειών, αυστηρά

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ 1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ Τάξη: Γ Μάθημα: Πληροφορική Εξεταστέα ύλη: Παρ11.1 & 11.2 Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών που περιγράφει τη διαδικασία

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

Πληροφορική 2. Τεχνολογία Λογισμικού

Πληροφορική 2. Τεχνολογία Λογισμικού Πληροφορική 2 Τεχνολογία Λογισμικού 1 2 Κρίση Λογισμικού (1968) Στην δεκαετία του 1970 παρατηρήθηκαν μαζικά: Μεγάλες καθυστερήσεις στην ολοκλήρωση κατασκευής λογισμικών Μεγαλύτερα κόστη ανάπτυξης λογισμικού

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

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

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

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

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

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

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

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

Visual Flowchart Γενικά

Visual Flowchart Γενικά Visual Flowchart 3.020 -Γενικά Το Visual Flowchart ή «Data-Flow Visual Programming Language 3.020» (http://www. emu8086.com/fp) είναι ένα περιβάλλον ανάπτυξης και εκτέλεσης αλγορίθμων απευθείας σε μορφή

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

Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795

Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795 Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795 Περιεχόμενα Εισαγωγή Εγκατάσταση Δημιουργία νέου project Java Editor Perspectives Δημιουργία source folders Προσθήκη νέου αρχείου στο project Εισάγωντας

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

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

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

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

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

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

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