Σπουδαίες ιδέες στην Επιστήµη των Υπολογιστών

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

Download "Σπουδαίες ιδέες στην Επιστήµη των Υπολογιστών"

Transcript

1

2 Alan W. Biermann Σπουδαίες ιδέες στην Επιστήµη των Υπολογιστών Μια προσιτή εισαγωγή Μετάφραση - Επιστηµονική επιµέλεια: Στ. Νικολόπουλος Λ. Παληός Πανεπιστηµιακές Εκδόσεις Κρήτης Ιδρυτική δωρεά Παγκρητικής Ενώσεως Αµερικής Ηράκλειο 2008

3 ΠΑΝΕΠΙΣΤΗΜΙΑΚΕΣ ΕΚ ΟΣΕΙΣ ΚΡΗΤΗΣ Ι ΡΥΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΡΕΥΝΑΣ Ηράκλειο Κρήτης: Τ.Θ. 1527, Τηλ , , Fax: Αθήνα: Μάνης 5, Τηλ Fax: ΣΕΙΡΑ: ΠΑΝΕΠΙΣΤΗΜΙΑΚΗ ΒΙΒΛΙΟΘΗΚΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ Διευθυντές Σειράς: Γεώργιος Φρ. Γεωργακόπουλος, Ιωάννης Παπαδόγγονας Τίτλος πρωτοτύπου: c 1990, 1997: c για την ελληνική γλώσσα: Μετάφραση - Επιστηµονική επιµέλεια: Επιµέλεια κειµένου, σελιδοποίηση, επιµέλεια έκδοσης: Στοιχειοθεσία: Εφαρµογή L A TEX: Σχεδίαση σχηµάτων: Σχεδίαση εξωφύλλου: Great Ideas in Computer Science. A Gentle Introduction, 2nd edition Massachusetts Institute of Technology MIT Press 1997, Πανεπιστηµιακές Εκδόσεις Κρήτης Σταύρος Νικολόπουλος, Λεωνίδας Παληός Ιωάννης Παπαδόγγονας (ΠΕΚ) Σοφία Βλάχου David James McClurkin Νίκος αλαµάγκας Θεόδωρος Μίχος Βάσω Αβραµοπούλου ISBN

4 Στους γονείς µου, David και Ruth Biermann

5 Περιεχόµενα Πρόλογος µεταφραστών - επιµελητών Πρόλογος δεύτερης έκδοσης Πρόλογος xi xiii xv Πανεπιστηµιακές σπουδές στην ΕπιστήµηΥπολογιστών: Μια εισαγωγή xix Φήµες... xix ΣπουδέςστηνΕπιστήµη Υπολογιστών... xx Ειδικό λογισµικό για τη διευκόλυνση της µελέτης... xxi Μια προσέγγιση για αναγνώστες µε περιορισµένο µαθηµατικό υπόβαθρο... xxii 1 Εισαγωγήστον προγραµµατισµό: Κωδικοποίηση δένδρων απόφασης Καλάνέα (A) ένδρα απόφασης(b) Ταπρώτα βήµατα στον προγραµµατισµό (B) Ανάγνωση και αποθήκευσηδεδοµένων(b) Προγραµµατισµός δένδρων απόφασης(b) Ο συµβολισµός βέλουςκαι οι χρήσειςτου (C) Σύνοψη(B) ιαχ είρισηκειµένου και σχεδίαση αλγορίθµων Τιείναι ηδιαχείριση κειµένου; (A) Σχεδίαση αλγορίθµων και προγραµµάτων για διαχείριση κειµένου (B) Τύποι δεδοµένων: συµβολοσειρές και ακέραιοι (B) Περισσότερα γιατηδιαχείριση κειµένου (B) Προγραµµατισµός λειτουργιών επεξεργασίας κειµένου (B) Πρώτες προσπάθειες χρήσης βρόχων (B) Κατασκευή του επεξεργαστή κειµένου (B) Σχεδίασηενόςπρογράµµατοςσυνοµιλίας (C) Σύνοψητης TurboPascal (C) Σύνοψη (B) Αριθµητικοίυπολογισµοί και µελέτη συναρτήσεων Υπολογισµός αριθµητικών ποσοτήτων(a) Απλοί υπολογισµοί(b) Συναρτήσεις (B) Επαναληπτικοί βρόχοι και µελέτησυναρτήσεων(b) Εύρεση βέλτιστης τιµής(b) Καταχώριση πληροφοριών σε πίνακες(b)... 85

6 viii Περιεχόµενα 3.7 Υπολογισµός αθροισµάτων, ελαχίστων και µεγίστων (B) Πρότυπα κώδικα (B) Τοποθέτηση πραγµάτων σε σειρά και ένα ιδιαίτερο χαρακτηριστικό των συναρτήσεων (B) Τοποθέτηση των συναρτήσεωνσεσειρά (C) Σύνοψη (B) Καθοδικός προγραµµατισµός, υποπρογράµµατα, εφαρµογή βάσης δεδοµένων Ένα αστυνοµικό πρόβληµα (A) Καθοδικός προγραµµατισµός και ένα πρόγραµµα βάσης δεδοµένων (B) Υποπρογράµµατα (B) Υποπρογράµµατα µε εσωτερικές µεταβλητές (B) Υποπρογράµµατα µε πίνακες ως παραµέτρους (B) Παραδείγµατα επικοινωνίας υποπρογραµµάτων (B) Αποθήκευση και εκτύπωση των γεγονότων µιας βάσης δεδοµένων (B) Αναπαράσταση ερωτήσεων και εύρεση των απαντήσεών τους (B) Σύνθεση του προγράµµατος βάσης δεδοµένων και προσθήκη σχολίων (B) Μια άλλη εφαρµογή: σχεδίαση εικόνας µε την Pascal (C) Αναδροµή (C) Αντικειµενοστρεφής προγραµµατισµός (C) Σύνοψη (B) Προσοµοίωση Προβλέποντας τοµέλλον(a) Κερδίζοντας έναν αγώνα ταχύτητας αυτοκινήτων (B) Αποφεύγονταςένανλοιµό (C) Παρατηρώντας την εξέλιξηενόςείδους(c) Τιµορφή θα έχει;(c) Σύνοψη(A) Τεχ νολογία λογισµικού Ο πραγµατικόςκόσµος(a) ιδάγµατα από προγραµµατιστικά έργα µεγάλης κλίµακας (B) Μεθοδολογίεςτεχνολογίας λογισµικού (B) Ο κύκλος ζωής ενός προγράµµατος(b) Σύνοψη(B) Ηλεκτρικά κυκλώµατα Πώς λειτουργούνοιυπολογιστές;(a) Η δοµή του υπολογιστή(b) Κυκλώµατα υπολογισµού απλών συναρτήσεων (B) Κυκλώµατα υπολογισµού σύνθετων συναρτήσεων (B) Ηλεκτρονόµοι(B) Τοδυαδικό σύστηµααρίθµησης (B) Τα κυκλώµατα για την πρόσθεση δύο ψηφίων (B) Τοκύκλωµα πρόσθεσης(b) Αποθήκευση αλφαριθµητικών χαρακτήρων στη µνήµη (C) Τρανζίστορ και ολοκλήρωση πολύ µεγάλης κλίµακας (B) Σύνοψη (B)...212

7 Περιεχόµενα ix 8 Αρχ ιτεκτονική υπολογιστών Η δοµή ενός υπολογιστή (A) Παράδειγµα αρχιτεκτονικής: ο υπολογιστής P88 (B) Προγραµµατίζοντας τονυπολογιστήp88 (B) Σύνοψη(B) Μεταγλώττιση «Μεταφράζοντας» την Pascal στη γλώσσα του υπολογιστή (A) Συντακτικοί κανόνεςπαραγωγής(b) Απόδοση σηµασιολογικού περιεχοµένου στους κανόνες παραγωγής (B) Η σηµαντική της Pascal (B) Η µεταγλώττιση προγραµµάτων που περιέχουν βρόχους (C) Γλώσσες προγραµµατισµού (B) Σύνοψη(B) Εικονικά υπολογιστικά περιβάλλοντα Χρησιµοποιήστε τηφαντασία σας (A) Ένα εικονικό υπολογιστικό περιβάλλον (B) Τουλισµικό (A) Τολειτουργικό σύστηµα(b) Ο χρονοµερισµός ενδράσει (B) Αρχεία (B) Εξερευνώντας τοσύστηµα αρχείων (B) Ο διερµηνέας εντολών (B) ιεκδίκηση µνήµηςκαι σελιδοποίηση (C) Σύνοψη (B) Επικοινωνία υπολογιστών Οι δυνατότητεςπου παρέχειτο ιαδίκτυο (A) Στρώµατα καιτοπικάδίκτυα (B) ίκτυα ευρείας περιοχής(b) Το στρώµα του διαδικτυακού πρωτοκόλλου(b) Περισσότερα γιατηδιευθυνσιοδότηση(c) Άλλες εφαρµογές (A) Εξερευνώντας το ιαδίκτυο (A) Προβλήµατα (C) Σύνοψη (B) Χρόνος εκτέλεσης προγράµµατος Περιορισµοί στην επιστήµη των υπολογιστών (A) Χρόνος εκτέλεσης προγράµµατος(a) Ευχερείς υπολογισµοί (B) υσχερείς υπολογισµοί(b) Μερικά πρακτικά προβλήµατα µε πολύ δαπανηρές λύσεις (B) Αναγνώριση ευεπίλυτων και δυσεπίλυτων προβληµάτων (B) Προσεγγιστικές λύσεις σε δυσεπίλυτα προβλήµατα (C) Σύνοψη(B) Παράλληλοι υπολογισµοί Χρησιµοποιώντας πολλούς επεξεργαστές µαζί (A) Παράλληλοιυπολογισµοί (B) Επικοινωνία µεταξύεπεξεργαστών(b) Παράλληλοι υπολογισµοί σε κορεσµένο υπολογιστή(b) Παραλλαγές στην αρχιτεκτονική του παράλληλου υπολογιστή (B)

8 x Περιεχόµενα 13.6 Πολυσυνδετική αρχιτεκτονική(c) Εκµάθηση βαρών σε πολυσυνδετικές µηχανές (C) Σύνοψη(B) Μη επιλυσιµότητα εν αρκείηταχύτητα (A) Ύπαρξη µηυπολογίσιµων συναρτήσεων (B) Προγράµµατα που διαβάζουν προγράµµατα (B) Επίλυση του προβλήµατος τερµατισµού (B) Παραδείγµατα µη επιλύσιµων προβληµάτων (B) Απόδειξηµηεπιλυσιµότητας (C) Σύνοψη(B) Τεχνητή νοηµοσύνη Τοόραµα (A) Αναπαράστασητης γνώσης (B) Κατανόηση(B) Εκµάθηση(B) Πλαίσια (B) Μια εφαρµογή: επεξεργασία φυσικής γλώσσας (B) Συλλογισµός (B) Παίγνια (B) Παίγνια: Παρατηρήσεις ιστορικού χαρακτήρα (C) Έµπειρα συστήµατα (B) Σηµερινή κατάσταση Προοπτικές(B) Σύνοψη (A) Παράρτηµα Α 427 Παράρτηµα Β 431 Βιβλιογραφία 437 Ευρετήριο 439

9 Πρόλογος µεταφραστών - επιµελητών Με χαρά παρουσιάζουµε, µέσω των Πανεπιστηµιακών Εκδόσεων Κρήτης, το βιβλίο µε τίτλο Σπουδαίεςιδέες στην Επιστήµη των Υπολογιστών: Μια προσιτή εισαγωγή,πουαποτελεί την ελληνική µετάφραση του βιβλίου Great Ideas in Computer Science: A Gentle Introduction,τουAlanW.Biermann. Το βιβλίο καλύπτει µε απλό, κατανοητό, αλλά ταυτόχρονα και επιστηµονικό τρόπο τους κυριότερους τοµείς µελέτης της επιστήµης των υπολογιστών, οι οποίοι έχουν συµβάλει στην έως τώρα εξελικτική της πορεία και αποτελούν τη βάση για την περαιτέρω ανάπτυξη και παρουσία της στον χώρο των επιστηµών του µέλλοντος. Παρουσιάζονται οι θεµελιώδεις ιδέες της επιστήµης και καλύπτονται τοµείς όπως οι γλώσσες προγραµ- µατισµού και η δηµιουργία µεταγλωττιστών, η αρχιτεκτονική υπολογιστών, η θεωρία αλγορίθµων και οι επεκτάσεις της σε όλο το υπολογιστικό φάσµα, τα δίκτυα υπολογιστών, τα κατανεµηµένα συστήµατα πληροφοριών και βάσεων δεδοµένων, οι παράλληλοι υπολογισµοί και η λειτουργία των παραλλήλων υπολογιστών, η αυτοµατοποίηση του τυπικού συλλογισµού και της λογικής, η τεχνητή νοηµοσύνη. Το βιβλίο απευθύνεται σε διδάσκοντες και φοιτητές πανεπιστηµιακών και πολυτεχνικών τµηµάτων πληροφορικής και σε φοιτητές τµηµάτων θετικών και οικονοµικών σχολών. Επιπρόσθετα, λόγωτου ιδιαίτερου τρόπου αντιµετώπισης των επιστηµονικών θεµάτων που πραγµατεύεται, µπορεί κάλλιστα να αποτελέσει βασικό εγχειρίδιο για φοιτητές θεωρητικών επιστηµών, αλλά και χρήσιµο οδηγό για οποιονδήποτε επιθυµεί να προσεγγίσει µε απλό τρόπο την επιστήµη των υπολογιστών. Το εγχείρηµα της µετάφρασης και της επιστηµονικής επιµέλειας ενός τεχνικού εγχειριδίου δεν είναι εύκολο έργο.το έργο αυτό γίνεται ακόµη πιο δύσκολο όταν τεχνικές έννοιες περιγράφονται και επεξηγούνται σε ένα απλουστευµένο πλαίσιο µάθησης και µεταφοράς της γνώσης. Ένα τέτοιοέργο είχαµε να φέρουµε εις πέρας και εµείς. Εργαστήκαµε µε γνώµονα να µεταφέρουµε πιστά το πνεύµα του συγγραφέα, και να αποδώσουµε µε δόκιµους αλλά και εύχρηστους όρους την ορολογία του πρωτοτύπου θα έχουµε επιτύχει εάν η προσπάθειά µας συµβάλει στην ευρύτερη και καλύτερη κατανόηση των πεδίων της επιστήµης των υπολογιστών. Θα θέλαµε να ευχαριστήσουµε θερµά τον ιευθυντή των Πανεπιστηµιακών Εκδόσεων Κρήτης, κ. Στέφανο Τραχανά, για την ανάθεση του έργου, καθώς και όλους όσους εργάστηκαν για την έκδοση αυτή. Σταύρος. Νικολόπουλος Λεωνίδας Παληός Ιωάννινα, Μάιος 2007

10 Πρόλογος δεύτερης έκδοσης Ηδεύτερηαυτή έκδοση του βιβλίου περιλαµβάνει νέα κεφάλαια σχετικά µε την προσο- µοίωση, τα λειτουργικά συστήµατα και τα δίκτυα. ύο κεφάλαια της αρχικής έκδοσης, τα οποία αφορούσαν τη θεωρία τρανζίστορ και την ολοκλήρωση πολύ µεγάλης κλίµακας, έχουν παραληφθεί, ενώ πολλά από τα αρχικά κεφάλαια έχουν αναθεωρηθεί. Το έργο αυτό είναι προϊόν συλλογικής και πολυετούς προσπάθειας, στην οποία έχουν συµβάλει αρκετοί συντελεστές. Πολλές διευκρινήσεις προτάθηκαν από φίλους, διδάσκοντες, και µεταπτυχιακούς φοιτητές που συµµετείχαν στη διδασκαλία του µαθήµατος. Θα ήθελα να ευχαριστήσωιδιαίτερα τον Dietolf Ramm, ο οποίος συνέταξε το κεφάλαιο σχετικά µε τα δίκτυα. Σηµαντική ήτανεπίσης η συµβολή των Eric Anderson,Curry Guinn, Mark Holliday, Sally Mason, Peter Wu, Mimi Lee, Benjamin Hardekopf, καθώς και των ανώνυµων κριτών που επιλέχθηκαν από τον εκδοτικό οίκο. Το συνοδευτικό λογισµικό αναπτύχθηκε από τους Josh Carter, Chris Connelly, Amr Fahmy, Curry Guinn, D.J. Miller, David Pennock, Steve Wolfman, και Peter Wu. Η ανάπτυξη του λογισµικού υποστηρίχθηκε οικονοµικά από το Πανεπιστήµιο Duke και το Εθνικό Ίδρυµα Επιστη- µώντωνηπα (NSF), µέσω των επιχορηγήσεων USE , DUE και DUE Θα ήθελα επίσης να ευχαριστήσωθερµά για τη συµβολή τους σε αυτήν την έκδοση την Anna Drozdowski, διαχειρίστρια των υπολογιστικών συστηµάτων του Τµήµατός µας επί σειρά ετών, και την πάντα ενθουσιώδη βοηθό µου Denita Thomas, η οποία σχεδίασε πολλά από τα σχήµατα και στοιχειοθέτησε πολλά από τα κεφάλαια του βιβλίου.

11 Πρόλογος Το βιβλίο αυτό αφορά τους υπολογιστές τι είναι, πώς λειτουργούν, τι µπορούν και τι δεν µπορούν να κάνουν. Απευθύνεται σε αναγνώστες που θέλουν να είναι σε θέση να κατανοούν θέµατα που αφορούν, π.χ., τα δίκτυα υπολογιστών ή την τεχνητή νοηµοσύνη, σε αναγνώστες των οποίων η εργασία απαιτεί επεξεργασία δεδοµένων και θέλουν να γνωρίζουν τις σχετικές δυνατότητες των υπολογιστών,καθώς και σεαναγνώστες πουπαρατηρούν την ευρύτατη διείσδυση των υπολογιστών σε όλες τις πτυχές της κοινωνικής ζωής και αναρωτιούνται για τις ενδεχόµενες επιπτώσεις της. Απευθύνεται σε γιατρούς, δικηγόρους, κληρικούς, εκπαιδευτικούς, στελέχη επιχειρήσεων, σπουδαστές, και όλους όσους έχουν την περιέργεια να γνωρίσουν τους υπολογιστές. Απευθύνεται επίσης σε φοιτητές της επιστήµης υπολογιστών, αλλά και σε επαγγελµατίες του κλάδου αυτού των οποίων ηβασικήεκπαίδευσηπιθανόν να µην έχει καλύψειόλους τους σηµαντικούς τοµείς του αντικειµένου, και οι οποίοι θα ήθελαν να διευρύνουν τις γνώσεις τους. Όταν το 1985 µου ζητήθηκε να καταστρώσωένα µάθηµα επιστήµης υπολογιστών για φοιτητές ανθρωπιστικών επιστηµών, έκρινα ότι όφειλα να παρουσιάσω όσο καλύτερα µπορούσα τα µεγάλα διανοητικά επιτεύγµατα του συγκεκριµένου κλάδου. Πρόκειται για τις «σπουδαίες ιδέες»πουπροσελκύουντοενδιαφέρονόλωνόσωνπροσεγγίζουν το γνωστικό αυτό αντικείµενο, και που συναποτελούν τον πυρήνα τηςεπιστήµηςυπολογιστών. Ηπρώτηκαιπιοσηµαντική από αυτές τις ιδέες είναι η έννοια του αλγορίθµου µια διαδικασία ή «συνταγή» η οποία µπορεί να δοθεί σε έναν άνθρωπο ή σε µια µηχανή µε σκοπό την εκτέλεση κάποιας εργασίας. Οι υπόλοιπες σπουδαίες ιδέες περιστρέφονται γύρωαπό αυτήν τη θεµελιώδη έννοια παρέχουν µεθόδους για την κωδικοποίηση αλγορίθµων σε µορφή αναγνωρίσιµη από τους υπολογιστές, και περιγράφουν τι µπορεί και τι δεν µπορεί να κωδικοποιηθεί σε µορφή κατάλληλη για να εκτελεστεί από αυτούς. Υποδεικνύουν µε ποιον τρόπο έννοιες της καθηµερινής ζωής µπορούν να αναπαρασταθούν από την ηλεκτρική τάση και το ρεύµα µέσα σε έναν υπολογιστή, και µε ποιον τρόπο µπορούν να κατασκευαστούν µηχανισµοί που να εκτελούν αυτούς τους υπολογισµούς. Επιπλέον, καταδεικνύουν µε ποιον τρόπο µπορούν να µεταφραστούν γλώσσες προσιτές στον άνθρωπο στις γλώσσες πουχρησιµοποιούν οι µηχανές, προκειµένου να αξιοποιηθούν οι δυνατότητες των µηχανών αυτών. Αποκαλύπτουν ακόµη µε ποιον τρόπο «ανθρώπινου» τύπου συλλογιστικές διεργασίες µπορούν να προγραµµατιστούν ώστε να εκτελεστούν από έναν υπολογιστή, και µας βοηθούν να κατανοήσουµε ποιες µπορεί να είναι οι έσχατες δυνατότητες των µηχανών. Πιθανόν αυτές οι σπουδαίες ιδέες να φαίνονται υπερβολικά περίπλοκες και εξειδικευ- µένες για να τις κατανοήσει κάποιος µη ειδικός. Κατάκανόνα, ένας φοιτητής της επιστή- µης υπολογιστών θα πρέπει να µελετήσει επί αρκετά χρόνια µαθηµατικά και µαθήµατα υπολογιστών για να τις εµπεδώσει, και δεν θα έπρεπε να περιµένει κανείς από τον µέσο αναγνώστη να µπορεί να τις κατανοήσει διαβάζοντας ένα και µόνο βιβλίο. Προκειµένου να συµπτυχθεί ένα τέτοιο «πρόγραµµα σπουδών» σε έναν τόµο κατανοητό από κάποιο ευρύτερο αναγνωστικό κοινό, οι βασικές έννοιες έχουν αναδιατυπωθεί σηµαντικά από

12 xvi Πρόλογος αρκετές πλευρές οι επουσιώδεις λεπτοµέρειες έχουν παραλειφθεί, ενώ και η ορολογία που χρησιµοποιείται έχει επιλεγεί προσεκτικά. Ας εξετάσουµε, παραδείγµατος χάριν, την τυπική ύλη που καλύπτει το µάθηµα του προγραµµατισµού σε ένα πρόγραµµα σπουδών της επιστήµης υπολογιστών. Οι φοιτητές διδάσκονται όλα τα χαρακτηριστικά του συντακτικού κάποιας γλώσσας προγραµµατισµού, πολλές λεπτοµέρειες υλοποίησης και µια πλειάδα εφαρµογών. Καθώς ο διαθέσι- µος χρόνος του µαθήµατος δεν αφήνει περιθώρια για τίποτε άλλο, αυτοί που θα ήθελαν να αποκτήσουν µια ευρύτερη θεώρηση του γνωστικού αντικειµένου, πέραν του αµιγούς προγραµµατισµού, δενέχουναυτήντηδυνατότητα. Στο βιβλίο αυτό, αντίθετα, εισάγονται λίγα µόνο στοιχεία της Pascal, και όλα τα προγράµµατα περιορίζονται σε αυτές τις λίγες δοµές. Καθώς οι περισσότερες και οι σηµαντικότερες έννοιες του προγραµµατισµού µπορούν να διδαχθούν σε αυτό το περιορισµένο πλαίσιο, η σύγχυση που µπορεί να προκαλέσει στον αναγνώστη η µεγάλη ποικιλία στο συντακτικό των γλωσσών προγραµµατισµού µειώνεται. Ένα δεύτερο παράδειγµα αφορά τη σχεδίασηµεταγωγικών κυκλωµάτων, η διδασκαλία της οποίας περιλαµβάνει συνήθως διεξοδική µελέτη της άλγεβρας Boole εξισώσεις, ελαχιστοποίηση και σύνθεση κυκλωµάτων. Εντούτοις, ακόµη και χωρίς καµία αναφορά στην άλγεβρα Boole, ο ενδιαφερόµενος αναγνώστης µπορεί να διδαχθεί τις βασικές αρχές, οι οποίες θα του επιτρέψουν να καταπιαστεί µε ένα πρόβληµα σχεδιασµού, να συντάξει έναν πίνακα αληθείας για την επιθυµητή συµπεριφορά, και να δηµιουργήσει ένα κύκλωµα το οποίο, χωρίς να είναι το ελάχιστο δυνατό, θα εκτελεί τον ζητούµενο υπολογισµό. Το όλο ζήτηµα της ελαχιστοποίησης κυκλώµατων στο οποίο δίνουν τόση έµφαση οι ηλεκτρολόγοι µηχανικοί δεν χρειάζεται να απασχολεί καθόλου τον αναγνώστη που επιθυµεί απλώς να αποκτήσει κάποιες γνώσεις για τους υπολογιστές. Η ίδια προσέγγιση έχει εφαρµοστεί σε όλα τα θέµατα της επιστήµης των υπολογιστών. Έτσι, η γλώσσα προγραµµατισµού Pascalπαρουσιάζεται χω ρίς δείκτες, η µεταγλώττιση κώδικα χωρίς τη βελτιστοποίησή του, η θεωρία υπολογισιµότητας χωρίς τις µηχανές Turing, η τεχνητή νοηµοσύνη χωρίς τη LISP, κ.ο.κ. Ηπροσέγγιση αυτή έχει επιλεγεί ούτως ώστε ο αναγνώστης να µπορέσει, µέσω ενός µόνο βιβλίου, να έλθει σε επαφή µε τον πυρήνα των σπουδαίων ιδεών της επιστήµης υπολογιστών: να µάθει να συντάσσει διάφορα προγράµµατα σε Pascal, να σχεδιάσει µεταγωγικά κυκλώµατα, να µελετήσει αρχιτεκτονικές Von Neumann και παράλληλες αρχιτεκτονικές, να προσοµοιώσει έναν µεταγλωττιστή για να δει πώς λειτουργεί, να εξετάσει τους µηχανισµούς ενός λειτουργικού συστήµατος, να µάθει να χαρακτηρίζει τους διάφορους υπολογισµούς ως ευχερείς και δυσχερείς, να κατανοήσει την έννοια της µη υπολογισιµότητας, και να γνωρίσει πολλές από τις βασικές έννοιες της τεχνητής νοηµοσύνης. Τα πρώτα κεφάλαια πραγµατεύονταιθέµαταπουέχουνστόχονα διεγείρουντο ενδιαφέρον του αναγνώστη, ενώ κάθε κεφάλαιο που αφορά τον προγραµµατισµό ξεκινάει µε ένα υπολογιστικό πρόβληµα, και παρουσιάζει τα θέµατα µελέτης µέσωµιας µεθόδου επίλυσης αυτού του προβλήµατος. Η ορολογία έχειεπίσηςεπιλεγεί ώστε να απευθύνεται στον µέσο αναγνώστη. Παραδείγµατος χάριν, οι επιστήµονες υπολογιστών συνηθίζουν να χρησιµοποιούν στη θέση του όρου «αντιγραφή» («copy») της καθοµιλούµενης τον όρο «µετακίνηση» («move»), ο οποίος ως εκ τούτου είναι πιθανό να προκαλέσει σύγχυση. Για τον λόγο αυτό, η χρήση του συγκεκριµένου όρου έχει αποφευχθεί, εκτός φυσικά από τις περιπτώσεις όπου είναι η µόνη κατάλληλη λέξη. εκάδες άλλοι τέτοιοι συνήθεις όροι που θα µπορούσαν να προκαλέσουν σύγχυση έχουν επίσης αποκλειστεί, ήέχουνοριστείπροσεκτικά στα σηµεία όπου είναι απολύτως αναγκαίοι. Ο µαθηµατικός συµβολισµός δεν θα µπορούσε να αποφευχθεί, αφού είναι τελείως απαραίτητος για τη µελέτη της επιστήµης υπολογιστών. Ωστόσο, τα σχετικά ολιγάριθµα σύµβολα πουεισάγονται εξηγούνται λεπτοµερώς και χρησιµοποιούνται επανειληµµένα, ώστε ακόµη και ο αναγνώστης χωρίς µαθηµατική εµπειρία να µπορέσει να εξοικειωθεί µε αυτά. Τέλος, ο αναγνώστης ίσως να αναρωτηθεί κατά πόσο οι σπουδαίες ιδέες που παρου-

13 Πρόλογος xvii σιάζονται σε αυτό τοβιβλίοσυµπίπτουνµεεκείνεςπου θα επέλεγαν άλλοι συγγραφείς. Ουσιαστικά, ενώ θα περίµενε κανείς µια κάποια διάσταση απόψεων, υπάρχει αξιοση- µείωτη οµοθυµία όσον αφορά τα «συστατικά στοιχεία» της επιστήµης υπολογιστών. Οι περισσότεροι ειδικοί του κλάδου θα είχαν πιθανότατα συµφωνήσει µε την επιλογή των κεντρικών εννοιών σε αυτό το βιβλίο. Ας εξετάσουµε ενδεικτικά το «γνωστικό πλαίσιο της επιστήµης υπολογιστών», όπως περιγράφεται στην αναφορά της Οµάδας Εργασίας για τον Πυρήνα της Επιστήµης Υπολογιστών (Task Force on the Core of Computer Science) 1 µε τίτλο «Computing as a Discipline» («η υπολογιστική ως επιστηµονικός κλάδος»). Η αναφορά αυτή παρουσιάζει µια γενική εικόνα του κλάδου και περιλαµβάνει υποδείξεις σχετικά µε την εκπαίδευση στην επιστήµη υπολογιστών. Μεταξύ άλλων, η αναφορά περιγράφει τα εξήςεννέα επιµέρους γνωστικά αντικείµενα, τα οποία κατά τους συγγραφείς καλύπτουν τον πυρήνα της επιστήµης: 1. Αλγόριθµοι και δοµές δεδοµένων 2. Γλώσσες προγραµµατισµού 3. Αρχιτεκτονική 4. Αριθµητικοί και συµβολικοί υπολογισµοί 5. Λειτουργικά συστήµατα 6. Τεχνολογία λογισµικού 7. Βάσεις δεδοµένων και συστήµατα ανάκτησης πληροφοριών 8. Τεχνητή νοηµοσύνη και ροµποτική 9. Επικοινωνία ανθρώπου-µηχανής Το βιβλίο πραγµατεύεται σε εισαγωγικό επίπεδο τα περισσότερα από τα γνωστικά αυτά αντικείµενα. Αν και δεν ισχυρίζοµαι ότι τα καλύπτει όλα ισοµερώς και πλήρως, ωστόσο προσεγγίζει την ουσία των περισσότερων από αυτά και παρουσιάζει κάποιες από τις σηµαντικότερες έννοιές τους. Κάποιοι διδάσκοντες ίσως κρίνουν ότι η ύλη του συγγράµατος υπερβαίνει αυτήν που µπορεί να διδαχθεί σε ένα εξαµηνιαίο µάθηµα. Σε αυτήν την περίπτωση, η διδασκαλία µπορεί να περιοριστεί, π.χ. στα πρώτα 2/3 του βιβλίου, και να ολοκληρωθεί µε µία ή δύο διαλέξεις αφιερωµένες σε προχωρηµένα θέµατα στο τέλος του εξαµήνου, ώστε να διαµορφωθεί ένα µάθηµα επικεντρωµένο στον προγραµµατισµό και στον µηχανισµό λειτουργίας του υπολογιστή. Ένας άλλος τρόπος σύµπτυξης της ύλης είναι να παρουσιαστούν τα κυκλώµατα, η αρχιτεκτονική και οι µεταγλωττιστές σε µία ενιαία διάλεξη, και να διατεθούν οι µισές περίπου διαλέξεις για τη µελέτη των κεφαλαίων 10 έως 15. Υπάρχει και ένας τρίτος εναλλακτικός τρόπος διδασκαλίας του βιβλίου, ο οποίος αφορά φοιτητές που έχουν ήδηδιδαχθεί προγραµµατισµό. Σε αυτήν την περίπτωση, η διδασκαλία µπορεί να ξεκινήσει από τοκεφάλαιο 7 και να συνεχιστεί µέχρι το τέλος. Προσωπικά, έχωχρησιµοποιήσειπολλέςπαραλλαγέςαυτών των εναλλακτικών τρόπων διδασκαλίας. Συνήθως παραλείπω την αναδροµή ή τις ενότητες µε την ένδειξη «C» από τα κεφάλαια που αναφέρονται στη µεταγλώττιση και τη µη υπολογισιµότητα, καθώς παρουσιάζουν υψηλότερο βαθµό δυσκολίας για τους φοιτητές µου. Θα ήθελα να εκφράσωτις θερµές µου ευχαριστίες σε όσους συνέβαλαν στην ολοκλήρωση αυτού του βιβλίου. Θέλω πρωτίστως να ευχαριστήσω το Τµήµα Επιστήµης Υπολογιστών του Πανεπιστηµίου Duke, το οποίο µου προσέφερε ένα εξαιρετικό περιβάλλον εργασίας και απεριόριστη υποστήριξη στις ακαδηµαϊκές µου αναζητήσεις κατά τη διάρκεια των τελευταίων είκοσι ετών. Θα ήθελα επίσης να ευχαριστήσω τους εκατοντάδες φοιτητές µου σε αυτό το µάθηµα, οι οποίοι δίδαξαν στον καθηγητή τους ότι δεν ήταν δυνατόν να συµπεριλάβει στο βιβλίο αυτό όλα όσα θα ήθελε. Με έπεισαν ότι, εάν ήθελα το τελικό αποτέλεσµα να είναι κατανοητό, θα έπρεπε να αφαιρέσωµεγάλο µέρος της ύλης που τόσο αγαπούσα, και µε έκαναν να καταλάβωτη σηµασία του λεξιλογίου: 1 Peter J. Denning (Chairman), Douglas E. Comer, David Gries, Michael C. Mulder, Allen Tucher, A. Joe Turner, Paul R. Young, «Computing as a Discipline», Communications of the ACM,τόµος 32, τεύχος 1, Ιανουάριος 1989 επίσης, στο Computer, τόµος 22, τεύχος 2, Φεβρουάριος 1989.

14 xviii Πρόλογος αν και θεωρούσα ότι οι όροι που χρησιµοποιούσα ήταν απλοί και µη τεχνικοί, ωστόσο αυτοί δεν είχαν το ίδιο νόηµα για τους φοιτητές µου. Όλοι αυτοί οι υποµονετικοί νέοι άνθρωποι έχουν συνεισφέρει στη διαµόρφωση αυτού του βιβλίου όσο και εγώ. Ιδιαίτερα εκτιµώ τις προσπάθειες του Craig Singer, ο οποίος υπήρξε ένας εξαίρετος βοηθός καθηγητού στο µάθηµά µου για δύο χρόνια, και των Michael Hines και Jothy Rosenberg, οι οποίοι δίδαξαν επίσης το µάθηµα. Όλοι τους προσέγγισαν µε ευαισθησία τις δυσκολίες των φοιτητών, και διατύπωσαν εξαιρετικές υποδείξεις για τη βελτίω ση της παρουσίασης της ύλης. Μια προκαταρκτική έκδοση του βιβλίου εστάλη για κριτική ανάγνωση σε καθηγητές άλλων ιδρυµάτων κατά το ακαδηµαϊκό έτος Θα ήθελα να ευχαριστήσω, για τα πολλά χρήσιµα σχόλιά τους, τους Shan Chi (Πανεπιστήµιο Northwestern), David Frisque (Πανεπιστήµιο του Michigan), Rhys Price Jones (Κολέγιο Oberlin), Emily Moore (Κολέγιο Grinnel), Richard E. Pattis (Πανεπιστήµιο της Washington), Harvey Lee Shapiro (Κολέγιο Lewis and Clark), Jill Smudski (τότε στο Πανεπιστήµιο της Pennsylvania), και οκτώ ανώνυµους κριτές. Με βάση αυτές τις κρίσεις και την εµπειρία από τη διδασκαλία στην τάξη, το βιβλίο αναδιοργανώθηκε και γράφηκε εκ νέου. Η νέα µορφή του βιβλίου χρησιµοποιήθηκε για πρώτη φορά στην τάξη το χειµερινό εξάµηνο του ακαδηµαϊκού έτους , και θα ήθελα και πάλι να εκφράσωτις ευχαριστίες µου στους φοιτητές µου, οι οποίοι συµπλήρωσαν ερωτηµατολόγια που µε βοήθησαν να εντοπίσω αδύνατα σηµεία στην παρουσίαση των θεµάτων, καθώς και στον βοηθό καθηγητού Albert Nigrin, για τη βοήθειά του. Θα ήθελα επίσης να ευχαριστήσω ιδιαίτερα την Elina Kaplan, η οποία εργάστηκε αµέτρητες ώρες σε κάποια από τα πρώτα κεφάλαια προκειµένου να βρειτρόπουςβελτίωσηςτηςπαρουσίασης.ηόποιααπλότητα και σαφήνεια αυτών των κεφαλαίων οφείλεται εν πολλοίς στην Elina. Πολλοί άλλοι έχουν συµβάλει στο τελικό αποτέλεσµα διαβάζοντας κεφάλαια και προτείνοντας βελτιώσεις. Μεταξύ αυτών συγκαταλέγονται οι Heidi Brubaker, Dania Egedi, Linda Fineman, Chris Gandy, Curry Guinn, Tim Gegg-Harrison, Barry Koster, Anselmo Lastra, Ken Lang, Albert Nigrin, Lorrie Tomek, Tom Truscott και Doreen Yen. Ιδιαίτερα σηµαντικές ήταν οι διορθώσεις και οι υποδείξεις των David M. Gordon, Henry Greenside, Donald Loveland, και Charlie Martin. Πολλοί άλλοι φίλοι διατύπωσαν παρατηρήσεις και σχόλια σε διάφορα κεφάλαια. Το βιβλίο οφείλει κατά µεγάλο µέρος την «προσωπικότητά» του στον Matt Evans, ο οποίος σχεδίασε τα σκίτσα που εµφανίζονται στην αρχή κάθε κεφαλαίου. Εκτιµώ απεριόριστα την προσπάθειά του. Είµαι επίσης υπόχρεος στην Ann Davis, η οποία στοιχειοθέτησε το κείµενο από το χειρόγραφό µου. Η επιµέλεια και η προσοχή που επέδειξε συνέβαλαν σηµαντικά στο έργο της παραγωγής του βιβλίου. Θα ήθελα επίσης να ευχαριστήσω την Marie Cunninghan για τη στοιχειοθέτηση κάποιων κεφαλαίων, και την Denita Thomas για τη σύνταξη του ευρετηρίου. Ο Barry Koster σχεδίασε πρόθυµα πολλά από τα σχήµατα, και ο Eric Smith µε βοήθησε σε πολλές περιπτώσεις στη βιβλιογραφική εργασία. Οφείλωεπίσης εγκάρδιες ευχαριστίες στους Robert Prior, Harry Stanton και τα άλλα στελέχη του εκδοτικού οίκου The MIT Press, που κατανόησαν από την πρώτη στιγµή το όραµα του βιβλίου µου και υποστήριξαν µε θέρµη τις προσπάθειές µου. Τέλος, θα ήθελα να ευχαριστήσωτη σύζυγό µου Alice, την κόρηµουjennifer, και τον γιο µου David, για την ενθουσιώδη ενθάρρυνσή τους σε αυτή µου την προσπάθεια.

15 Πανεπιστηµιακές σπουδές στην Επιστήµη Υπολογιστών: Μια εισαγωγή Φήµες Γύρωαπό τους υπολογιστές κυκλοφορούν πολλές φήµες, και αναρωτιέται κανείς τι θα πρέπει να πιστέψει απ όλα αυτά. Λέγεται ότι στο µέλλον οι υπολογιστές θα διεκπεραιώνουν όλες τις γραφειοκρατικές εργασίες, και µάλιστα ότι θα µπορούν να αντικαταστήσουν ορισµένους άρτια εκπαιδευµένους επαγγελµατίες. Λέγεται ότι οι υπολογιστές έχουν αρχίσει να προσοµοιώνουν τη λειτουργία του ανθρώπινου εγκεφάλου, να δηµιουργούν έργα τέχνης, να αποδεικνύουν θεωρήµατα, να µαθαίνουν, και να εκφέρουν αξιολογικές κρίσεις. Λέγεται ότι οι υπολογιστές θα διεισδύσουν σε κάθε πτυχή της ζωής µας, ρυθµίζοντας τις επικοινωνίες, διαχειριζόµενοι πληροφορίες,και παρέχοντας ψυχαγωγία.λέγεται ότι ακόµη και τα πολιτικά µας συστήµατα θα αλλάξουν: σε µέχρι πρότινος κλειστές κοινωνίες, οι υπολογιστές θα απειλήσουν την υπάρχουσα τάξη πραγµάτων,επιτρέποντας την παγκόσµια επικοινωνία, ενώ στις ελεύθερες κοινωνίες θα φέρουν αύξηση της παρακολούθησης και του ελέγχου των πολιτών. Από την άλλη πλευρά, υπάρχουν δύσπιστοι οι οποίοι επισηµαίνουν ότι η επιστήµη των υπολογιστών έχει πολλούς περιορισµούς και ότι η σηµασία των µηχανών έχει υπερεκτιµηθεί. Κάποιεςαπόαυτές τις φήµες ευσταθούν, και µας δίνουν µια σωστή ένδειξη των επερχόµενων εξελίξεων. Κάποιες άλλες είναι εκτός πραγµατικότητας, και προκαλούν αβάσι- µες ανησυχίες για το µέλλον. Άλλες πάλι εγείρουν ερωτήµατα για τα οποία ενδέχεται να συζητάµε επί χρόνια χωρίς να καταλήξουµε σε καµία απάντηση. Σε κάθε περίπτωση, το σίγουρο είναι ότι πολλά από τα ζητήµατα που αφορούν τους υπολογιστές είναι ιδιαίτερα σηµαντικά, και αξίζει τον κόπο να προσπαθήσουµε να τα κατανοήσουµε. Στόχος αυτού του βιβλίου είναι να βοηθήσει τον αναγνώστη να κατανοήσει τους υπολογιστές και την επιστήµη των υπολογιστών. Ξεκινά από τη µελέτη του προγραµµατισµού, διότι ο έλεγχοςκαιο χειρισµός των υπολογιστών είναι απαραίτητα στοιχεία για την κατανόησή τους. Στη συνέχεια, ξεναγεί τον αναγνώστη στο εσωτερικό του υπολογιστή, εξερευνώντας τις στοιχειώδεις λειτουργίες του, από τη µετάδοση των ηλεκτρικών σηµάτων µέσω των κυκλωµάτων έως την αρχιτεκτονική και το λογισµικό που τον καθοδηγεί. Τέλος, το βιβλίο διερευνά τους περιορισµούς που διέπουν την εκτέλεση υπολογισµών, και τα όρια τηςεπιστήµηςσύµφωνα µε τις τρέχουσες απόψεις. Συνοπτικά, το βιβλίο προσπαθεί να προσφέρει µια πλήρη εισαγωγή στο γνωστικό αυτό αντικείµενο, µε έµφαση στους θεµελιώδεις µηχανισµούς στους οποίους βασίζεται η λειτουργία τω ν υπολογιστών. Στο πλαίσιο αυτό, παρουσιάζει πολλές από τις «σπουδαίες ιδέες» της επιστήµης υπολογιστών, δηλαδή τα διανοητικά πρότυπα που χρησιµοποιούν οι επιστήµονες στην εργασία τους, τα οποία θα επιτρέψουν και στον αναγνώστη να κατανοήσει τους υπολογιστές.

16 xx Πανεπιστηµιακές σπουδές στην Επιστήµη Υπολογιστών: Μια εισαγωγή Σπουδές στην Επιστήµη Υπολογιστών ΗΕπιστήµηΥπολογιστών συνίσταται στη µελέτη κάποιων συνταγών και των τρόπων εφαρµογής τους. Ο όρος «συνταγή» αναφέρεται σε κάποια διαδικασία ή µέθοδο για την εκτέλεση µιας εργασίας. Η επιστήµη µελετά τα διάφορα είδη συνταγών, τις ιδιότητές τους, τις γλώσσες καταγραφής τους, τις µεθόδους δηµιουργίας τους, και τον σχεδιασµό µηχανών για την αποτελεσµατική διεκπεραίωσή τους. Βέβαια, οι επιστήµονες των υπολογιστών δεν θέλουν να συγχέονταιµετουςσεφ µαγειρικής, και για τον λόγοαυτόέχουν ένα δικό τους όνοµα για τις συνταγές τις ονοµάζουν αλγορίθµους. Για να κατανοήσει κανείς την επιστήµη υπολογιστών, θα πρέπει να µελετήσει συνταγές (ή, αλλιώς, αλγορίθµους). Το πρώτο θέµα µελέτης είναι το πώς επινοούµε και καταγράφουµε αυτές τις συνταγές. Παραδείγµατος χάριν, πιθανόν να θέλουµε να καταστρώσουµε µια συνταγή για τη θεραπεία κάποιας ασθένειας, ή για την ταξινόµηση κάποιων πουλιών µε βάση τα µορφολογικά χαρακτηριστικά τους, ή για τη διαµόρφωση ενός προγράµµατος αποταµίευσης. Θα χρειαστεί, κατ αρχάς, να µελετήσουµε κάποιες ενδεικτικές συνταγές, ώστε να δούµε πώς είναι δοµηµένες, και στη συνέχεια να εξασκηθούµε στη σύνταξη δικών µας συνταγών. Η προσπάθεια αυτή απαιτεί κάποια εµπειρία στον εντοπισµό των ουσιωδών στοιχείων των καταστάσεων του πραγµατικού κόσµου, και στην οργάνωση της γνώσης αυτής σε µια ακολουθία βηµάτων που οδηγούν στην επίτευξη του στόχου µας. Από τη στιγµή που θα έχουµε επινοήσει µια µέθοδο για την επίλυση κάποιου προβλή- µατος, θα πρέπει να την κωδικοποιήσουµε σε µια υπολογιστική γλώσσα προκειµένου να διαβιβάσουµε τις «επιθυµίες» µας στον υπολογιστή. Εποµένως, είναι απαραίτητο να µάθουµε να χειριζόµαστε µια υπολογιστική γλώσσα και να µετατρέπουµε τα βήµατα µιας συνταγής σε εντολές που µπορούν να εκτελεστούν από έναν υπολογιστή. Το βιβλίο αυτό εισάγει τον αναγνώστη στη γλώσσα προγραµµατισµού Pascal, η οποία είναι αφ ενός εύκολη στην εκµάθησή της και αφ ετέρου επαρκής για την περιγραφή των ενδεικτικών προγραµµάτων του βιβλίου. Οσυνδυασµόςτηςδηµιουργίαςµιαςσυνταγήςκαιτηςκωδικοποίησήςτηςσεκάποια υπολογιστική γλώσσα ονοµάζεται προγραµµατισµός, καιαποτελεί το αντικείµενο µελέτης του πρώτου τµήµατος του βιβλίου, των κεφαλαίων 1 έως 6. Στα κεφάλαια αυτά παρουσιάζονται διάφοροι τύποι προβληµάτων, οι αντίστοιχες µέθοδοι επίλυσής τους, και ο κώδικας Pascal, δηλαδή το πρόγραµµα, που απαιτείται για την επίλυσή τους. Το τελευταίο από αυτά τα κεφάλαια πραγµατεύεται τα προβλήµατα που ανακύπτουν όταν οι τεχνικές που παρουσιάζονται στα πρώτα πέντε κεφάλαια εφαρµόζονται στην ανάπτυξη προγραµµάτων εµπορικής κλίµακας. Αν και µετά τη µελέτη των κεφαλαίων του προγραµµατισµού ο αναγνώστης θα είναι σε θέση να δηµιουργεί χρήσιµα προγράµµατα, πιθανόν να εξακολουθεί να αντιµετωπίζει τον υπολογιστή σαν ένα µαγικό κουτί που εκτελεί αποτελεσµατικά εντολές. Για να γίνει κατανοητό γιατί οι υπολογιστές λειτουργούν όπως λειτουργούν, ποιοι είναι οι περιορισµοί τους, και ποιες βελτιώσεις µπορούν να αναµένονται στο µέλλον, το δεύτερο τµήµα του βιβλίου πραγµατεύεται το πώς και γιατί οι υπολογιστές είναι σε θέση να εκτελούν υπολογισµούς. Στο κεφαλαίο 7 παρουσιάζονται µεθόδοι σχεδίασης ηλεκτρικών κυκλωµάτων και εξετάζεται η εφαρµογή των µεθόδων αυτών στη σχεδίαση υπολογιστικών µηχανισµών. Παραδείγµατος χάριν, περιγράφεται ο τρόπος κατασκευής ενός κυκλώµατος για πρόσθεση αριθµών. Στο κεφάλαιο 8 περιγράφεται ηαρχιτεκτονικήτωνυπολογιστώνκαιη δοµή ενός τυπικού υπολογιστή. Το κεφάλαιο 9 πραγµατεύεται τη µετάφραση µιας γλώσσας προγραµµατισµού υψηλού επιπέδου, όπως είναι η Pascal, σε γλώσσα µηχανής, έτσι ώστε οι εντολές της να µπορούν να εκτελεστούν από έναν υπολογιστή κάποιας δεδοµένης αρχιτεκτονικής. Το παράδειγµα που παρατίθεται στο τέλος του κεφαλαίου9 διατρέχει τα κύρια βήµατα επεξεργασίας µιας εντολής της Pascal, από τη µετάφρασή της σε

17 Σπουδές στην Επιστήµη Υπολογιστών xxi γλώσσα µηχανής µέχρι τη λεπτοµερή λειτουργία των υπολογιστικών κυκλωµάτων. Στο κεφάλαιο 10 εισάγονται έννοιες σχετικές µε τα λειτουργικά συστήµατα, δηλαδή τα προγράµµατα που γεφυρώνουν το χάσµα µεταξύ του χρήστη και των πολλών υλισµικών και λογισµικών στοιχείων του υπολογιστή. Τα προγράµµατα αυτά επιτρέπουν στον χρήστη να χρησιµοποιεί εύκολα τις υπολογιστικές υπηρεσίες που ο ίδιος επιθυµεί. Το κεφάλαιο 11 αποτελεί µια εισαγωγή στα δίκτυα υπολογιστών και τις έννοιες που σχετίζονται µε την επικοινωνία µεταξύ υπολογιστικών συστηµάτων. Τα τελευταία κεφάλαια του βιβλίου ασχολούνταιµε τους περιορισµούς των υπολογιστών και τα όρια της επιστήµης. Το κεφάλαιο 12 πραγµατεύεται προβλήµατα που αφορούν τον χρόνο εκτέλεσης των προγραµµάτων, και υπολογισµούς µε µεγάλες χρονικές απαιτήσεις. Στο κεφάλαιο 13 περιγράφεται ένας τρόπος επίσπευσης της επίλυσης υπολογιστικών προβληµάτων, µέσωτης χρήσης παράλληλων αρχιτεκτονικών. Το κεφάλαιο 14 µελετά την ύπαρξη των λεγόµενων µη υπολογίσιµων συναρτήσεων, και τέλος το κεφάλαιο 15 αποτελεί µια εισαγωγή στο πεδίο της τεχνητής νοηµοσύνης. Ειδικό λογισµικό για τη διευκόλυνση της µελέτης Για την καλύτερη εµπέδωση των εννοιών που παρουσιάζονται στο βιβλίο, έχουν αναπτυχθεί ειδικά προγράµµατα τα οποία µπορείτε να αποκτήσετε µέσωτου ιαδικτύου. Τα προγράµµατα αυτά είναι αναρτηµένα στον δικτυότοπο του εκδοτικού οργανισµού The MIT Press και στην ιστοσελίδα του συγγραφέα στο Τµήµα Επιστήµης Υπολογιστών του Πανεπιστηµίου Duke. 2 Στα προγράµµατα που µπορείτε να αναζητήσετε και να δοκιµάσετε περιλαµβάνονται τα εξής: ύο προγράµµατα που αφορούν το κεφάλαιο περί προσοµοίωσης. Το πρώτο είναι µια προσοµοίωση ενός αγώνα ταχύτητας αυτοκινήτων που σας επιτρέπει να περιγράψετε µια στρατηγική για να διατρέξετε την πίστα και να ελέγξετε την επίδοσή σας. Το δεύτερο είναι µια προσοµοίωση της βιολογικής εξέλιξης, που σας επιτρέπει να µελετήσετε διαδοχικές γενιές κάποιων απλώνόντωνκαθώςαυτά εξελίσσονται σε ένα εικονικό περιβάλλον. Ένα συνοδευτικό πρόγραµµα για τα κεφάλαια που αφορούν το υλισµικό και το λογισµικό του υπολογιστή, το οποίο ονοµάζεται «This-is-how-a-computer-works», και σας δίνει τη δυνατότητα να δείτε τις διεργασίες που πραγµατοποιούνται σε έναν εικονικό υπολογιστή, καθώς αυτός µεταγλωττίζει και εκτελεί ένα µικρό πρόγραµµα. Η απεικόνιση είναι αρκετά λεπτοµερής, δίνοντας στον χρήστη την ευκαιρία να παρακολουθήσει τους µεταγωγείς στον κεντρικό επεξεργαστή να ανοιγοκλείνουν και το ηλεκτρικό ρεύµα να διατρέχει τα καλώδια κατά τη διάρκεια του υπολογισµού. Τέλος, το Κεφάλαιο 10 συνοδεύεται από ένα λειτουργικό σύστηµα γραµµένο σε Pascal, το οποίο µπορείτε να µελετήσετε, να εκτελέσετε και να τροποποιήσετε εάν το επιθυµείτε. Τα περισσότερα από τα υπόλοιπα προγράµµατα που αναφέρονται στο βιβλίο παρατίθενται αυτούσια στο κείµενο. 2 Σ.τ.Ε.: Όπως µας ενηµέρωσε ο συγγραφέας, τα συγκεκριµένα προγράµµατα δεν είναι διαθέσιµα στην παρούσα φάση. Παρ όλα αυτά,κρίναµε ότι θα έπρεπε να διατηρήσουµε τις αναφορέςτου συγγραφέα σε αυτά, για το ενδεχόµενο να αναρτηθούν στο ιαδίκτυο στο µέλλον.

18 xxii Πανεπιστηµιακές σπουδές στην Επιστήµη Υπολογιστών: Μια εισαγωγή Μια προσέγγιση για αναγνώστες µε περιορισµένο µαθηµατικό υπόβαθρο Καθώς οι γνώστες της επιστήµης υπολογιστών χρησιµοποιούν συνήθως τη δική τους ορολογία και ειδικό µαθηµατικό συµβολισµό, οι δυσκολίες στην επικοινωνία οδηγούν τους διδάσκοντες στο συµπέρασµα ότι ο µέσος άνθρωπος δεν είναι σε θέση να κατανοήσει αυτό το αντικείµενο. Για τον λόγο αυτό, τα σχετικά βιβλία και µαθήµατα πανεπιστη- µιακών τµηµάτων συχνά παρακάµπτουν τα θεµελιώδη ζητήµατα, και επικεντρώνονται αντ αυτών στη διδασκαλία της χρήσης προγραµµάτων λογισµικού, και στην ιστορική και κοινωνιολογική διάσταση της υπολογιστικής επιστήµης. Το βιβλίο αυτό έχει γραφτεί µε την πεποίθηση ότι οποιοσδήποτε νοήµων άνθρωπος µπορεί να κατανοήσει όλες τις θεµελιώδεις έννοιες της επιστήµης υπολογιστών, εάν αυτές εισαχθούν και εξηγηθούν µε τον κατάλληλο τρόπο. εν έχει παραλειφθεί κανένα σηµαντικό θέµα, όσο «δύσκολο» και αν θεωρείται. Ωστόσο, έχει καταβληθεί σηµαντική προσπάθεια να αποφευχθούν οι επουσιώδεις λεπτοµέρειες και η εξειδικευµένη ορολογία, εκτός από τις περιπτώσεις που ήταν δυνατόν να δοθούν σαφείς καιπλήρειςορισµοί. Επειδή κάποιοι αναγνώστες ίσως να µην επιθυµούν να µελετήσουνόλατα κεφάλαια, το βιβλίο έχει σχεδιαστεί έτσι ώστε να ευνοεί την επιλεκτική µελέτη. Οι αναγνώστες ενθαρρύνονται να επιλέξουν όποιο κεφάλαιο επιθυµούν κάθε φορά, και να το µελετήσουν για όσο τους κινεί το ενδιαφέρον. Φυσικά, τα περισσότερα κεφάλαια χρησιµοποιούν έννοιες από τα προηγούµενα και, όπως είναι ευνόητο, όπου συµβαίνει αυτό η κατανόηση θα είναι ελλιπέστερη. Τα κεφάλαια του προγραµµατισµού (1 έως 5) αλληλοεξαρτώνται σε σηµαντικό βαθµό, ενώ το κεφάλαιο περί αρχιτεκτονικής (8) θα πρέπει να µελετηθεί πριν από το κεφάλαιο για τη µεταγλώττιση (9). Επίσης, κάποια από τα απαιτητικότερα κεφάλαια (12 έως 15) χρησιµοποιούν στοιχεία προγραµµατισµού από τα πρώτα κεφάλαια (1 έως 5). Αν εξαιρέσουµε αυτούς τους περιορισµούς, όλα τα άλλα θέµαταπιθανόταταµπορούννα µελετηθούνµεοποιαδήποτεσειρά χωρίς ιδιαίτερες γνωστικές απώλειες. Οι ενότητες των κεφαλαίων έχουν ταξινοµηθεί σε τρεις κατηγορίες, που δηλώνονται µε τα λατινικά γράµµατα A, B και C, έτσι ώστε οι αναγνώστες να µπορούν να πάρουν µια «γεύση» για πολλά ζητήµατα, και να εντρυφήσουν µόνο σε ό,τι επιλέξουν. Οι ενότητες µε την ένδειξη A περιλαµβάνουν µόνο εισαγωγικές έννοιες και απαιτούν µικρή προσπάθεια από τον αναγνώστη. Μελετώντας κανείς µόνο τις ενότητες αυτές, µπορεί να αποκτήσει µια γενική εικόνα του βιβλίου µέσα σε λίγες ώρες. Οι ενότητες µε την ένδειξη Bπεριλαµβάνουντηνκύρια ύλη του βιβλίου, και ίσως απαιτούν σηµαντική προσπάθεια και χρόνο ο αναγνώστης, όµως, που θα µελετήσει µια τέτοια ενότητα θα κατανοήσει σε βάθος την ουσία του αντικειµένου που αυτή πραγµατεύεται. Τέλος, οι ενότητες µε την ένδειξη C απαντούν σε ερωτήµατα που µπορεί ναγεννηθούν σε προσεκτικούς αναγνώστες και συµπληρώνουν την ύλη των κύριων τµηµάτων του βιβλίου.

19

20

21 1 Εισαγωγή στον προγραµµατισµό: Κωδικοποίηση δένδρων απόφασης 1.1 Καλά νέα (A) Παλαιότερα, πριν από την εµφάνιση των υπολογιστών,η διεκπεραίωση κάθε εργασίας απαιτούσε την εκτέλεσή της από εµάς τους ίδιους. Σήµερα, όµως, µε τους υπολογιστές, µπορούµε πλέον να εκτελούµε πολλές εργασίες απλώς καταγράφοντας τις ενέργειες που πρέπει να γίνουν. Την υλοποίηση των ενεργειών αναλαµβάνει να την φέρει σε πέρας ένας υπολογιστής. Για παράδειγµα, εάν θέλουµε να προσθέσουµε αριθµούς, να αναζητήσουµε κάποια δεδοµένα, να συντάξουµε και να εκτυπώσουµε ένα έγγραφο, να στείλουµε µηνύµατα σε συναδέλφους, να ελέγξουµε µια βιοµηχανική διεργασία, ή να φέρουµε σε πέρας άλλες εργασίες, µπορούµε να συντάξουµε ένα σύνολο οδηγιών, δηλαδή µια ακολουθία από ενέργειες που πρέπει να γίνουν, και να αναθέσουµε την εκτέλεσή τους σε έναν υπάκουο και ακούραστο υπολογιστή. Μπορούµε επίσης να µοιράσουµε αυτό το σύνολο οδηγιών σε πολλούς υπολογιστές, οι οποίοι θα συνεργαστούν για την υλοποίησή τους. Ακόµη και όταν χρειαστεί οι υπολογιστές να εργαστούν χωρίς την επίβλεψή µας, θα συνεχίσουν να εκτελούν τις ίδιες εργασίες,ακολουθώνταςπιστάτις εντολές που τους έχουµε δώσει. Ηπροετοιµασίακαιησύνταξη ενός τέτοιου συνόλου οδηγιών ονοµάζεται προγραµ- µατισµός (programming), και οδηγεί σε «πολλαπλασιασµό εργασίας» ο οποίος αλλάζει ριζικά τις δοµές της ανθρώπινης κοινωνίας. ίνει τη δυνατότητα σε ένα µόνο άτοµο να παραγάγει µε τη βοήθεια των υπολογιστών απεριόριστο πλήθος αποτελεσµάτων καταβάλλοντας πεπερασµένη προσπάθεια (για τη δηµιουργία του σχετικού υπολογιστικού προγράµµατος). Γίνεται λοιπόν φανερό ότι η παραγωγικότητά µας δεν είναι πλέον συνάρτηση µόνον του πλήθους των απασχολούµενων προσώπων είναι συνάρτηση και του πλήθους των διαθέσιµων υπολογιστών. Τα καλά νέα, όµως, δεντελειώνουν εδώ: οι υπολογιστές είναι πλέον σχετικά φθηνοί και επιπλέον το κόστος τους συνεχώς µειώνεται. Πριν από τρεις δεκαετίες, υπολογιστές µε µνήµη λέξεις και χρόνο εκτέλεσης εντολών 1 µικροδευτερόλεπτο (µsec) κόστιζαν 1 εκατοµµύριο δολάρια. Σήµερα µπορούµε να αγοράσουµε έναν υπολογιστή µε εκατονταπλάσια µνήµη και ταχύτητα, µε λίγες χιλιάδες δολάρια. Πληρώνοντας ποσό ίσο µε τον µισθό ενός ανειδίκευτου εργάτη, µπορούµε να αποκτήσουµε έναν υπολογιστή που έχει τη δυνατότητα να διεκπεραιώνει ορισµένες εργασίες ταχύτερα από χίλιους ανθρώπους µαζί. Με τη µελέτη του προγραµµατισµού µέσα από τις σελίδες αυτού του βιβλίου θα κατανοήσουµε πώς µπορεί να επιτευχθεί αυτός ο πολλαπλασιασµός της εργασίας µέσω των υπολογιστών. Θα µελετήσουµε θεµελιώδεις δοµές πληροφοριών και τεχνικές επε-

22 2 1. Εισαγωγή στον προγραµµατισµό: Κωδικοποίηση δένδρων απόφασης ξεργασίας µε στόχο να αναπτύξουµε την ικανότητά µας να επισηµαίνουµε και να απο- µονώνουµε την ουσία των προβληµάτων, και να µεταγράφουµετα προβλήµατα αυτάσε κώδικα µηχανής ώστε οι εργασίεςµαςναγίνονται αυτόµατα. εν θα µελετήσουµε τον προγραµµατισµό µε τον συνήθη τρόπο, δηλαδή µέσωτης εκµάθησης όλων των λεπτοµερειών µιας συγκεκριµένης γλώσσας προγραµµατισµού. εν θα αναφερθούµε, για παράδειγµα, στο σύνολο των κανόνων για την τοποθέτηση των σηµείων στίξης, ή στη γενικότερη µορφή κάθε γλωσσικής δοµής, ούτε θα εξετάσουµε το µέγιστο πλήθος χαρακτήρων που επιτρέπονται στα ονόµατα µεταβλητών, ή τα µέγιστα επιτρεπόµενα µεγέθη αριθµών και συµβολοσειρών. Αντίθετα, θα προσπαθήσουµε να αποκοµίσουµε όλη την απόλαυση που πηγάζει από τη µελέτη και τη δηµιουργία απλών προγραµµάτων, παρακάµπτοντας κατά το δυνατόν την κουραστική εµµονή στη συντακτική ακρίβεια και την εξαντλητική περιγραφή. Στα παραδείγµατακαι στις ασκήσειςχρησιµοποιούµε τη γλώσσα προγραµµατισµού Pascal. Ωστόσο, θα περιοριστούµε σε ένα υποσύνολο των στοιχείων της γλώσσας αυτής, ώστε ο φόρτος της εκµάθησής της από τον αναγνώστη να παραµείνει σε λογικά πλαίσια. Εάν καλύπταµε το σύνολο των δυνατοτήτων της Pascal, δεν θα µας έµενε καθόλου χρόνος να αναφερθούµε στο κεντρικό θέµα αυτού του βιβλίου, τις σπουδαίες ιδέες στην επιστήµη των υπολογιστών. Μιας και στο βιβλίο αυτό δίνονται µόνον οι έννοιες που είναι απαραίτητες για την κατανόηση των παρατιθέµενων προγραµµάτων και για τη δηµιουργία προγραµµάτων ανάλογηςδυσκολίας, συνιστάται σε όσους σκοπεύουν να δηµιουργήσουν πιο πολύπλοκα προγράµµατα να προµηθευτούν ένα εγχειρίδιο της Pascal ως βιβλίο µελέτης και αναφοράς. Αφού πρόκειται να µελετήσουµε προγραµµατισµό, θα πρέπει προφανώς να προγραµ- µατίσουµε κάτι. Θα ήταν καλό να γράψουµε προγράµµατα που να περιλαµβάνουν κάποιες χρήσιµες δοµές επεξεργασίας πληροφοριών. Θα ήταν επίσης σκόπιµο και χρήσιµο να γράψουµε πολλά είδη προγραµµάτων, φροντίζοντας όµως να έχουν αρκετά απλή δοµή ώστε να µπορεί να τα κατανοήσει και να τα συντάξει εύκολα ένας αρχάριος. Θα θέλαµε ακόµη να εξοικειωθούµε µε ορισµένες θεµελιώδεις έννοιες που είναι απαραίτητες για µια πιο προχωρηµένη µελέτη. Με βάση αυτά, επιλέγουµε ως πρώτο πεδίο της µελέτης µας τα δένδρα απόφασης (decision trees). Τα δένδρα αυτά µπορούν να χρησιµοποιηθούν για ταξινόµηση αντικειµένων σε κατηγορίες, για τυπική αξιολόγηση προσώπων υπό τη µορφή συνέντευξης και για πολλά άλλα πράγµατα. Αρχικά θα µελετήσουµε τα δένδρα απόφασης, και στη συνέχεια θα µάθουµε πώς να συντάσσουµε προγράµµατα γι αυτά. 1.2 ένδρα απόφασης (B) Ας υποθέσουµε ότι θέλουµε να αποφασίσουµε ποιο βιβλίο να υποδείξουµε σε κάποιον που ενδιαφέρεται να αρχίσει σπουδές στην επιστήµη των υπολογιστών. Ένας καλός τρόπος να καταλήξουµε σε µια απόφαση είναι να απευθύνουµε στον ενδιαφερόµενο µια σειρά από ερωτήσεις µέσω των οποίων θα καταλήξουµε στο κατάλληλο βιβλίο. Η πρώτη ερώτηση θα µπορούσε να αφορά τον προτιµώµενο τρόπο προσέγγισης των θεµάτων της επιστήµης των υπολογιστών, π.χ. αν θα ήθελε να ακολουθήσει µια µαθηµατική προσέγγιση. ιατυπώνουµε, λοιπόν, τη σχετική ερώτηση και στη συνέχεια δηλώνουµε µε βέλη την κατεύθυνση που θα ακολουθήσουµε για την επόµενη ερώτηση: Δένδρο απόφασης για υπόδειξη βιβλίου:

23 1.2. ένδρα απόφασης 3 Στη συνέχεια, ανάλογα µε την πρώτη απάντηση, αποφασίζουµε τι ερωτήσεις θα πρέπει να τεθούν αµέσως µετά: Δένδρο απόφασης για υπόδειξη βιβλίου: Ας υποθέσουµε ότι µετά από δύο ερωτήσεις είµαστε σε θέση να υποδείξουµε το κατάλληλο βιβλίο. Στην περίπτωση αυτή, το δένδρο απόφασης µπορεί να συµπληρωθεί ως εξής: Δένδρο απόφασης για υπόδειξη βιβλίου: Ακολουθώντας µια διαδροµή στο δένδρο απόφασης, µπορούµε να καταστρώσουµε έναν ενδεικτικό «διάλογο». Εάν το συγκεκριµένο πρόσωπο έχει µαθηµατικό προσανατολισµό µε ενδιαφέρον στα θεωρητικά θέµατα, η διαδροµή διά µέσου του δένδρου έχει ως εξής: Επιλογή βιβλίου µε θέµα την επιστήµη των υπολογιστών: Ερώτηση του δένδρου απόφασης: Απάντηση: Ερώτηση του δένδρου απόφασης: Απάντηση: Υπόδειξη του δένδρου απόφασης: Επιθυµείτε µια µαθηµατική προσέγγιση; Ναι Σας ενδιαφέρει ο προγραµµατισµός ή τα θεωρητικά θέµατα; Θεωρητικά θέµατα Μια καλή επισκόπηση δίδεται στο βιβλίο Algorithmics του D. Harel. Το παραπάνωδένδρο µάς οδηγεί στην τελική απόφαση µετά από δύο µόνο διαδοχικές ερωτήσεις. Εύκολα όµως µπορεί να φανταστεί κανείς ένα µεγάλο δένδρο µε πολλές ερωτήσεις και µεγάληποικιλία συνιστώµενων βιβλίω ν στο τέλος των διαφόρων διαδρο- µών. Είναι επίσης προφανές ότι δένδρα αυτού τουτύπουµπορούν να χρησιµοποιηθούν

24 4 1. Εισαγωγή στον προγραµµατισµό: Κωδικοποίηση δένδρων απόφασης για παροχή συµβουλών σχεδόν για οποιοδήποτε ζήτηµα, από την υπόδειξη µιας θεραπευτικής αγωγής µέχρι την πρόβλεψη του µέλλοντος. Ιδού µερικά παραδείγµατα: Δένδρο απόφασης για την παροχή ιατρικής συµβουλής: Δένδρο απόφασης για πρόβλεψη του µέλλοντος: Τα δένδρα απόφασης µπορούν επίσης να χρησιµοποιηθούν για την ταξινόµηση διαφόρων πραγµάτων σε κατηγορίες. Ας υποθέσουµε ότι γνωρίζουµε τα ταξινοµικά χαρα-

25 1.2. ένδρα απόφασης 5 κτηριστικά των διαφόρων ειδών γλάρων και επιθυµούµε να προσδιορίσουµε µε ακρίβεια το είδος οποιουδήποτε ατόµου µε βάση τα χαρακτηριστικά του. Θα µπορούσαµε να κατασκευάσουµε ένα δένδρο της παρακάτωµορφής: Δένδρο απόφασης για ταξινόµηση γλάρων: Μπορούµε ακόµη να κατασκευάσουµε έναν οδηγό για τη συµπλήρωση της φορολογικής µας δήλωσης, µε τη µορφή δένδρου απόφασης. Ας δούµε τι µορφή θα είχε ένα µικρό τµήµα του: Οδηγός για τη συµπλήρωση φορολογικής δήλωσης: Τι θα λέγατε να κατασκευάσουµε ένα δένδρο απόφασης για ένα παιγνίδι; Ένα καλό παράδειγµα είναι το απλό παιγνίδι Nim, το οποίο έχει τους εξής κανόνες: Το παιγνίδι παίζεται από δύο παίκτες. Ο πρώτος παίκτης µπορεί να τοποθετήσει από ένα έως τρία Χστοαριστερό άκρο µιας οριζόντιας σειράς από τετράγωνα, την οποία θα ονοµάζουµε πίνακα. Ο αντίπαλος µπορεί να τοποθετήσει από ένα έως τρία Ο στα αµέσως επόµενα τετράγωνα του πίνακα. Αυτή η διαδοχή κινήσεων επαναλαµβάνεται συνεχώς, µέχρι να συµπληρωθεί ο πίνακας από αριστερά προς τα δεξιά µε Χ και Ο. Νικητής είναι ο παίκτης που θα καταφέρει να τοποθετήσει το δικό του σύµβολο στο τελευταίο τετράγωνο

26 6 1. Εισαγωγή στον προγραµµατισµό: Κωδικοποίηση δένδρων απόφασης του πίνακα. Για παράδειγµα, ας θεωρήσουµε ένα παιγνίδι Nim µε πίνακα µήκους επτά τετραγώνων: Έστωότι ο πρώτος παίκτης παίζει τρία Χ: Ας υποθέσουµε ότι ο δεύτερος παίκτης παίζει δύο Ο: Τότε ο πρώτος παίκτης µπορεί να κερδίσει το παιγνίδι τοποθετώντας δύο Χ στα δύο τελευταία τετράγωνα: Ας δούµε τώρα ένα δένδρο απόφασης που θα παίξει τον ρόλο του δεύτερου παίκτη για ένα παιγνίδι Nim µε επτά τετράγωνα: Δένδρο απόφασης για το παιγνίδι Nim:

27 1.3. Τα πρώτα βήµατα στον προγραµµατισµό 7 Στη φύση, τα δένδρα φυτρώνουν από το έδαφος και αναπτύσσονται απλώνοντας τα κλαδιά τους προς τον ουρανό. Τα δένδρα αυτού του κεφαλαίου, για λόγους καλύτερης εποπτείας, αναπτύσσονται από τα αριστερά προς τα δεξιά. Οι διαδροµές που θα εξετάσουµε σε αυτά τα δένδρα ξεκινούν από το ακραίο αριστερό παραλληλόγραµµο, τη ρίζα (root node), και συνεχίζονται προς τα δεξιά. Σε κάθε κόµβο (node) του δένδρου υποβάλλεται µια ερώτηση στον χρήστη, και µε βάση την απάντηση που δίνεται επιλέγεται οεπόµενοςκλάδοςπουθα ακολουθηθεί. Η διαδροµή συνεχίζεται προς τα δεξιά µέχρι την άφιξη σε κάποιον τερµατικό κόµβο ή φύλλο (leaf node), δηλαδή έναν κόµβο που δεν έχει διακλαδώσεις προςταδεξιά.αυτόςοκόµβοςπεριέχει ένα µήνυµα το οποίο δίνει το αποτέλεσµα της ακολουθίας των ερωταποκρίσεων και σηµατοδοτεί το τέλος της διαδικασίας. Τέτοια δένδρα απόφασης έχουν πληθώρα εφαρµογών σε δραστηριότητες που απαιτούν επεξεργασία πληροφοριών, όπως είναι η παροχή συµβουλών, η ταξινόµηση αντικειµένων, η διδασκαλία, ακόµη και η ψυχαγωγία (παιχνίδια). Ο στόχος µας στο κεφάλαιο αυτό είναι η σύνταξη προγραµµάτων τα οποία θα καταγράφουν τη δοµή κάποιου δένδρου απόφασης, θα κατευθύνουν τον χρήστη στις σωστές διαδροµές και θα εκτυπώνουν τα αποτελέσµατα. Η ικανότητα σχεδιασµού και προγραµµατισµού τέτοιων δένδρων είναι ένα σηµαντικό προσόν για ένα µεγάλο πλήθος εφαρµογών. Ασκήσεις 1. Συµπληρώστε ένα από τα ηµιτελή δένδρα απόφασης αυτής της ενότητας. 2. Σχεδιάστε ένα πλήρες δένδρο απόφασης που να υποδύεται τον δεύτερο παίκτη σε ένα παιγνίδι Nim µε εννέα τετράγωνα. 3. Εντοπίστε ένα πρόβληµα σε κάποιον τοµέα των προσωπικών σας ενδιαφερόντων και σχεδιάστε ένα δένδρο απόφασης που να επιλύει το πρόβληµα αυτό. 1.3 Τα πρώτα βήµατα στον προγραµµατισµό (B) Ένα πρόγραµµα (computer program) είναι µια ακολουθία εντολών που µπορεί να εκτελέσει ένας υπολογιστής. Πρόκειται για µια αλληλουχία ενεργειών τις οποίες θα φέρει σε πέρας ο υπολογιστής και, εποµένως, θα πρέπει να είναι γραµµένες σε γλώσσα κατανοητή από τον υπολογιστή. Τα περισσότερα προγράµµατα αυτού του βιβλίου είναι γραµ- µένα στην Pascal, µια γλώσσα αρκετά διαδεδοµένη και εύχρηστη. Ένα πρόγραµµα ή ένα τµήµα προγράµµατος ονοµάζεται επίσης κώδικας (code). Στο βιβλίο αυτό χρησιµοποιούµε και τους δύο όρους. Ας δούµε ένα παράδειγµα προγράµµατος γραµµένου σε Pascal. program FirstCode; writeln(' Σπουδαίες ιδέες '); writeln(' στην '); writeln('επιστήµη των υπολογιστών'); readln; end. Εάν θέλουµε να πραγµατοποιηθούν οι ενέργειες που περιγράφονται στο παραπάνω πρόγραµµα, εκτελούµε (ή τρέχουµε, όπω ς επίσης λέγεται) το πρόγραµµα στον υπολογιστή. Για την εκτέλεση του προγράµµατος απαιτούνται τα εξής: ένας υπολογιστής, λογισµικό (software) που επιτρέπει στον υπολογιστήµαςνα«καταλαβαίνει» και να επεξεργάζεται προγράµµατα Pascal,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διδακτική της Πληροφορικής ΙΙ

Διδακτική της Πληροφορικής ΙΙ Διδακτική της Πληροφορικής ΙΙ Ομάδα Γ Βότσης Ευστάθιος Γιαζιτσής Παντελής Σπαής Αλέξανδρος Τάτσης Γεώργιος Προβλήματα που αντιμετωπίζουν οι αρχάριοι προγραμματιστές Εισαγωγή Προβλήματα Δυσκολίες Διδακτικό

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

Κωδικοποίηση δένδρων απόφασης

Κωδικοποίηση δένδρων απόφασης 1 Εισαγωγή στον προγραµµατισµό: Κωδικοποίηση δένδρων απόφασης 1.1 Καλά νέα (A) Παλαιότερα, πριν από την εµφάνιση των υπολογιστών,η διεκπεραίωση κάθε εργασίας απαιτούσε την εκτέλεσή της από εµάς τους ίδιους.

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ ΥΠΟΥΡΓΕΙΟ ΠΑΙ ΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ Α ΛΥΚΕΙΟΥ ΟΚΤΏΒΡΙΟΣ 2005 ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ - Α ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ Το µάθηµα της Πληροφορικής στην Α Λυκείου έχει ως γενικό

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

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

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

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

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

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

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

http://kesyp.didefth.gr/ 1

http://kesyp.didefth.gr/ 1 248_Τµήµα Εφαρµοσµένων Μαθηµατικών Πανεπιστήµιο Κρήτης, Ηράκλειο Προπτυχιακό Πρόγραµµα Σκοπός του Τµήµατος Εφαρµοσµένων Μαθηµατικών είναι η εκαπαίδευση επιστηµόνων ικανών όχι µόνο να υπηρετήσουν και να

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

Αγαπητές/οί συνάδελφοι, σε αυτό το τεύχος σας προτείνουµε µερικά ενδιαφέροντα βιβλία που αφορούν βασικές αρχές της Συµβουλευτικής.

Αγαπητές/οί συνάδελφοι, σε αυτό το τεύχος σας προτείνουµε µερικά ενδιαφέροντα βιβλία που αφορούν βασικές αρχές της Συµβουλευτικής. Αγαπητές/οί συνάδελφοι, σε αυτό το τεύχος σας προτείνουµε µερικά ενδιαφέροντα βιβλία που αφορούν βασικές αρχές της Συµβουλευτικής. Arist Von Schlippe, Jochen Schweitzer επιµέλεια: Βιργινία Ιωαννίδου µετάφραση:

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

κεφάλαιο Βασικές Έννοιες Επιστήμη των Υπολογιστών

κεφάλαιο Βασικές Έννοιες Επιστήμη των Υπολογιστών κεφάλαιο 1 Βασικές Έννοιες Επιστήμη 9 1Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ Στόχοι Στόχος του κεφαλαίου είναι οι μαθητές: να γνωρίσουν βασικές έννοιες και τομείς της Επιστήμης. Λέξεις κλειδιά Επιστήμη

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ 1.1 Να δοθεί ο ορισμός του προβλήματος καθώς και τρία παραδείγματα

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

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

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

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

Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa.

Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa. Πληροφορική 1 Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa.gr/~organosi/ 2 Η δομή του μαθήματος Εισαγωγή στην

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

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

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

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

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

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

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

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

ΚΡΥΠΤΟΓΡΑΦΙΑ Α. ΑΠΟ ΤΟ ΒΙΒΛΙΟ «Η ΦΥΣΗ ΚΑΙ Η ΔΥΝΑΜΗ ΤΩΝ ΜΑΘΗΜΑΤΙΚΩΝ» ΚΡΥΠΤΟΓΡΑΦΙΑ Α. ΑΠΟ ΤΟ ΒΙΒΛΙΟ «Η ΦΥΣΗ ΚΑΙ Η ΔΥΝΑΜΗ ΤΩΝ ΜΑΘΗΜΑΤΙΚΩΝ» - Κρυπτογραφία είναι - Κρυπτανάλυση είναι - Με τον όρο κλειδί. - Κρυπτολογία = Κρυπτογραφία + Κρυπτανάλυση - Οι επιστήµες αυτές είχαν

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΟΙΚΟΝΟΜΙΑΣ ΔΙΟΙΚΗΣΗΣ και ΠΛΗΡΟΦΟΡΙΚΗΣ. ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ και ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΟΔΗΓΟΣ ΜΕΤΑΒΑΤΙΚΩΝ ΔΙΑΤΑΞΕΩΝ 2014 2015

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΟΙΚΟΝΟΜΙΑΣ ΔΙΟΙΚΗΣΗΣ και ΠΛΗΡΟΦΟΡΙΚΗΣ. ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ και ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΟΔΗΓΟΣ ΜΕΤΑΒΑΤΙΚΩΝ ΔΙΑΤΑΞΕΩΝ 2014 2015 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΟΙΚΟΝΟΜΙΑΣ ΔΙΟΙΚΗΣΗΣ και ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ και ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΟΔΗΓΟΣ ΜΕΤΑΒΑΤΙΚΩΝ ΔΙΑΤΑΞΕΩΝ 2014 2015 Επιτροπή προπτυχιακών σπουδών: Κ. Βασιλάκης Κ. Γιαννόπουλος

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

Θεωρητικές αρχές σχεδιασµού µιας ενότητας στα Μαθηµατικά. Ε. Κολέζα

Θεωρητικές αρχές σχεδιασµού µιας ενότητας στα Μαθηµατικά. Ε. Κολέζα Θεωρητικές αρχές σχεδιασµού µιας ενότητας στα Μαθηµατικά Ε. Κολέζα Α. Θεωρητικές αρχές σχεδιασµού µιας µαθηµατικής ενότητας: Βήµατα για τη συγγραφή του σχεδίου Β. Θεωρητικό υπόβαθρο της διδακτικής πρότασης

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

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

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

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

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

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

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

Εισαγωγή στην Επιστήµη των Η/Υ

Εισαγωγή στην Επιστήµη των Η/Υ Εισαγωγή στην Επιστήµη των Η/Υ Εισαγωγή στην Επιστήµη των Η/Υ Εισαγωγή Καθ. Κ. Κουρκουµπέτης Σηµείωση: Οι διαφάνειες βασίζονται σε µεγάλο βαθµό σε αυτές που συνοδεύονται µε το προτεινόµενο σύγγραµµα. 1

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

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

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

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

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

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

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

Εισαγωγή στην έννοια του Αλγορίθμου

Εισαγωγή στην έννοια του Αλγορίθμου Εισαγωγή στην έννοια του Αλγορίθμου ΟΜΑΔΑ ΑΝΑΠΤΥΞΗΣ Νίκος Μιχαηλίδης, Πληροφορικός ΠΕ19 ΣΧΟΛΕΙΟ 2 ο Πρότυπο Πειραματικό Γυμνάσιο Θεσσαλονίκης Θεσσαλονίκη, 24 Φεβρουαρίου 2015 1. Συνοπτική περιγραφή της

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

Γεώργιος Φίλιππας 23/8/2015

Γεώργιος Φίλιππας 23/8/2015 MACROWEB Προβλήματα Γεώργιος Φίλιππας 23/8/2015 Παραδείγματα Προβλημάτων. Πως ορίζεται η έννοια πρόβλημα; Από ποιους παράγοντες εξαρτάται η κατανόηση ενός προβλήματος; Τι εννοούμε λέγοντας χώρο ενός προβλήματος;

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

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

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

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

Σχόλια και υποδείξεις για το Σχέδιο Μαθήματος

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

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

Τμήμα Πληροφορικής & Τηλεπικοινωνιών Μεταπτυχιακό Πρόγραμμα Σπουδών Ακαδημαϊκό Έτος 2013-14. ΠΜΣ ΚΑΤΕΥΘΥΝΣΗ 6 η

Τμήμα Πληροφορικής & Τηλεπικοινωνιών Μεταπτυχιακό Πρόγραμμα Σπουδών Ακαδημαϊκό Έτος 2013-14. ΠΜΣ ΚΑΤΕΥΘΥΝΣΗ 6 η Τμήμα Πληροφορικής & Τηλεπικοινωνιών Μεταπτυχιακό Πρόγραμμα Σπουδών Ακαδημαϊκό Έτος 2013-14 ΠΜΣ ΚΑΤΕΥΘΥΝΣΗ 6 η Νέες Τεχνολογίες Πληροφορικής και Τηλεπικοινωνιών Εργασία στο Μαθήμα Σχεδίαση Εκπαιδευτικού

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

Η διάρκεια πραγματοποίησης της ανοιχτής εκπαιδευτικής πρακτικής ήταν 2 διδακτικές ώρες

Η διάρκεια πραγματοποίησης της ανοιχτής εκπαιδευτικής πρακτικής ήταν 2 διδακτικές ώρες ΣΧΟΛΕΙΟ Η εκπαιδευτική πρακτική αφορούσε τη διδασκαλία των μεταβλητών στον προγραμματισμό και εφαρμόστηκε σε μαθητές της τελευταίας τάξης ΕΠΑΛ του τομέα Πληροφορικής στα πλαίσια του μαθήματος του Δομημένου

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

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης Περιεχόμενα Δομές δεδομένων 37. Δομές δεδομένων (θεωρητικά στοιχεία)...11 38. Εισαγωγή στους μονοδιάστατους πίνακες...16 39. Βασικές επεξεργασίες στους μονοδιάστατους πίνακες...25 40. Ασκήσεις στους μονοδιάστατους

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

ΑΝΑΖΗΤΗΣΗ ΣΕ ΗΛΕΚΤΡΟΝΙΚΕΣ ΒΙΒΛΙΟΘΗΚΕΣ

ΑΝΑΖΗΤΗΣΗ ΣΕ ΗΛΕΚΤΡΟΝΙΚΕΣ ΒΙΒΛΙΟΘΗΚΕΣ ΑΝΑΖΗΤΗΣΗ ΣΕ ΗΛΕΚΤΡΟΝΙΚΕΣ ΒΙΒΛΙΟΘΗΚΕΣ Μία από τις πιο σηµαντικές υπηρεσίες που προσφέρει το διαδίκτυο στην επιστηµονική κοινότητα είναι η αποµακρυσµένη πρόσβαση των χρηστών σε ηλεκτρονικές βιβλιοθήκες

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

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

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

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

a = 10; a = k; int a,b,c; a = b = c = 10;

a = 10; a = k; int a,b,c; a = b = c = 10; C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 4 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

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

ιαφάνειες παρουσίασης #1

ιαφάνειες παρουσίασης #1 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 Επιμέλεια: Ομάδα Διαγωνισμάτων από το Στέκι των Πληροφορικών Θέμα Α A1. Να γράψετε στο τετράδιό σας τους

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

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

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

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

Προσφερόμενα Διπλώματα (Προσφερόμενοι Τίτλοι)

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

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

Σηµειώσεις στις σειρές

Σηµειώσεις στις σειρές . ΟΡΙΣΜΟΙ - ΓΕΝΙΚΕΣ ΕΝΝΟΙΕΣ Σηµειώσεις στις σειρές Στην Ενότητα αυτή παρουσιάζουµε τις βασικές-απαραίτητες έννοιες για την µελέτη των σειρών πραγµατικών αριθµών και των εφαρµογών τους. Έτσι, δίνονται συστηµατικά

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

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

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

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

ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD

ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD Σε ορισµένες περιπτώσεις είναι ιδιαίτερα χρήσιµη η δηµιουργία ιστοσελίδων ενηµερωτικού περιεχοµένου οι οποίες στη συνέχεια µπορούν να δηµοσιευθούν σε κάποιο τόπο

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

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού Μάρα Νικολαϊδου Δραστηριότητες Διαδικασιών Παραγωγής Λογισµικού Καθορισµός απαιτήσεων και εξαγωγή προδιαγραφών

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

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

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

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

ΣΗΜΕΙΩΣΕΙΣ ΓΡΑΦΙΣΤΙΚΗ ΜΕ Η/Υ 1. Του Αποστόλου Παπαποστόλου Επίκουρου Καθηγητή του ΤΕΙ Αθήνας

ΣΗΜΕΙΩΣΕΙΣ ΓΡΑΦΙΣΤΙΚΗ ΜΕ Η/Υ 1. Του Αποστόλου Παπαποστόλου Επίκουρου Καθηγητή του ΤΕΙ Αθήνας ΣΗΜΕΙΩΣΕΙΣ ΓΡΑΦΙΣΤΙΚΗ ΜΕ Η/Υ 1 Του Αποστόλου Παπαποστόλου Επίκουρου Καθηγητή του ΤΕΙ Αθήνας ΕΙΣΑΓΩΓΗ Οι γραφικές παραστάσεις µε υπολογιστές έχουν προχωρήσει πολύ από τότε που οι ε- πιστήµονες που δούλευαν

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

4.4 Ερωτήσεις διάταξης. Στις ερωτήσεις διάταξης δίνονται:

4.4 Ερωτήσεις διάταξης. Στις ερωτήσεις διάταξης δίνονται: 4.4 Ερωτήσεις διάταξης Στις ερωτήσεις διάταξης δίνονται:! µία σειρά από διάφορα στοιχεία και! µία πρόταση / κανόνας ή οδηγία και ζητείται να διαταχθούν τα στοιχεία µε βάση την πρόταση αυτή. Οι ερωτήσεις

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

Διδακτικές Τεχνικές (Στρατηγικές)

Διδακτικές Τεχνικές (Στρατηγικές) Διδακτικές Τεχνικές (Στρατηγικές) Ενδεικτικές τεχνικές διδασκαλίας: 1. Εισήγηση ή διάλεξη ή Μονολογική Παρουσίαση 2. Συζήτηση ή διάλογος 3. Ερωταποκρίσεις 4. Χιονοστιβάδα 5. Καταιγισμός Ιδεών 6. Επίδειξη

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

723 Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών ΤΕΙ Λάρισας

723 Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών ΤΕΙ Λάρισας 723 Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών ΤΕΙ Λάρισας Το Τμήμα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών του ΤΕΙ Λάρισας ιδρύθηκε με το Προεδρικό Διάταγμα 200/1999 (ΦΕΚ 179 06/09/99), με πρώτο

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

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

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

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

ΘΕΜΑ: Οδηγίες για τη διδασκαλία των Μαθηµατικών Γ/σίου και Γεν. Λυκείου.

ΘΕΜΑ: Οδηγίες για τη διδασκαλία των Μαθηµατικών Γ/σίου και Γεν. Λυκείου. Να διατηρηθεί µέχρι... ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ENIAIOΣ ΙΟΙΚΗΤΙΚΟΣ ΤΟΜΕΑΣ Π/ΘΜΙΑΣ & /ΘΜΙΑΣ ΕΚΠ/ΣΗΣ /ΝΣΗ ΣΠΟΥ ΩΝ /ΘΜΙΑΣ ΕΚΠ/ΣΗΣ ΤΜΗΜΑ Α' Αν. Παπανδρέου 37, 15180 Μαρούσι Πληροφορίες : Αν. Πασχαλίδου Τηλέφωνο

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

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

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2012 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ: ΚΑΤΕΥΘΥΝΣΗ: ΜΑΘΗΜΑ: ΘΕΜΑ Α Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ (2ος Κύκλος) ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ηµεροµηνία: Κυριακή 22 Απριλίου 2012 ΕΚΦΩΝΗΣΕΙΣ Α1. Να γράψετε στο τετράδιό

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

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές 1 ο Εξάμηνο Σπουδών Χειμερινό Εξάμηνο 2012/13 Τμήμα Εφαρμοσμένων Μαθηματικών, Πανεπιστήμιο Κρήτης Διδάσκων: Χαρμανδάρης Ευάγγελος, email: vagelis@tem.uoc.gr, Ιστοσελίδα

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΠΑΙΔΑΓΩΓΙΚΗ ΣΧΟΛΗ ΦΛΩΡΙΝΑΣ ΤΜΗΜΑ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΔΙ.ΜΕ.Π.Α Β ΦΑΣΗ: ΔΙΔΑΚΤΙΚΗ ΤΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΠΑΙΔΑΓΩΓΙΚΗ ΣΧΟΛΗ ΦΛΩΡΙΝΑΣ ΤΜΗΜΑ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΔΙ.ΜΕ.Π.Α Β ΦΑΣΗ: ΔΙΔΑΚΤΙΚΗ ΤΩΝ ΜΑΘΗΜΑΤΙΚΩΝ Φοιτητής: Παύλου Νικόλαος, Α.Ε.Μ: 2245, Ε Εξάμηνο Σχολείο: 1 ο Πειραματικό

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

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

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

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

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

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

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

Πειραματιζόμενοι με αριθμούς στο περιβάλλον του Microworlds Pro: διαθεματική προσέγγιση περί «πολλαπλασίων και διαιρετών»

Πειραματιζόμενοι με αριθμούς στο περιβάλλον του Microworlds Pro: διαθεματική προσέγγιση περί «πολλαπλασίων και διαιρετών» Πειραματιζόμενοι με αριθμούς στο περιβάλλον του Microworlds Pro: διαθεματική προσέγγιση περί «πολλαπλασίων και διαιρετών» μια Νίκος Δαπόντες Φυσικός Δευτεροβάθμιας Εκπαίδευσης Το περιβάλλον Microworlds

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

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/ Τεχνητή Νοημοσύνη 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΟΙΚΗΣΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΟΙΚΗΣΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ ΚΑΙ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ (Β ΕΞΑΜΗΝΟ) ιδάσκων: Επ. Καθηγητής Γρηγόρης Χονδροκούκης ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

iii ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος

iii ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος iii ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος xi 1 Αντικείμενα των Πιθανοτήτων και της Στατιστικής 1 1.1 Πιθανοτικά Πρότυπα και Αντικείμενο των Πιθανοτήτων, 1 1.2 Αντικείμενο της Στατιστικής, 3 1.3 Ο Ρόλος των Πιθανοτήτων

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

Εισαγωγή στην Επιστήµη των Η/Υ

Εισαγωγή στην Επιστήµη των Η/Υ Εισαγωγή στην Επιστήµη των Η/Υ Καθ. Κ. Κουρκουµπέτης Οι διαφάνειες βασίζονται σε µεγάλο βαθµό σε αυτές που συνοδεύονται µε το προτεινόµενο σύγγραµµα. 1 Εισαγωγή στην Επιστήµη των Η/Υ Εισαγωγή 2 ΚΕΦΑΛΑΙΟ

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

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

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

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

1η Οµάδα Ασκήσεων. ΑΣΚΗΣΗ 1 (Θεωρία)

1η Οµάδα Ασκήσεων. ΑΣΚΗΣΗ 1 (Θεωρία) ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟ ΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ KAI THΛΕΠΙΚΟΙΝΩΝΙΩΝ ΤΟΜΕΑΣ ΘΕΩΡΗΤΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ /5/007 η Οµάδα Ασκήσεων ΑΣΚΗΣΗ (Θεωρία). α) Έστω fl() x η παράσταση

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

ΕΠΛ 003.3: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Για οικονομολόγους

ΕΠΛ 003.3: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Για οικονομολόγους ΕΠΛ 003.3: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Για οικονομολόγους Στόχοι 1 Να εξετάσουμε γιατί η Πληροφορική είναι χρήσιμη στην οικονομική επιστήμη. Να μάθουμε πώς χρησιμοποιείται η Πληροφορική

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

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

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

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

7.5 ΑΡΑΙΕΣ ΜΗΤΡΕΣ 290 7.5.1 Κατασκευή αραιών µητρών... 290 7.5.2 Πράξεις και συναρτήσεις αραιών µητρών... 294 7.5.3 Συναρτήσεις για γραφήµατα...

7.5 ΑΡΑΙΕΣ ΜΗΤΡΕΣ 290 7.5.1 Κατασκευή αραιών µητρών... 290 7.5.2 Πράξεις και συναρτήσεις αραιών µητρών... 294 7.5.3 Συναρτήσεις για γραφήµατα... Κ. Π Α Π Α Ρ Ρ Ι Ζ Ο Σ M A T L A B 6. 5 Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α Π Ρ Ο Λ Ο Γ Ο Σ............. v Κ Ε Φ Α Λ Α Ι Ο 1 Β Α Σ Ι Κ Ε Σ Λ Ε Ι Τ Ο Υ Ρ Γ Ι Ε Σ Τ Ο Υ M A T L A B 1 1.1 ΠΡΑΞΕΙΣ ΚΑΙ ΑΡΙΘΜΗΤΙΚΕΣ ΠΑΡΑΣΤΑΣΕΙΣ

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΠΑΙΔΑΓΩΓΙΚΟ ΤΜΗΜΑ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΠΑΙΔΑΓΩΓΙΚΟ ΤΜΗΜΑ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΠΡΑΚΤΙΚΗ ΑΣΚΗΣΗ ΜΑΘΗΜΑΤΙΚΩΝ-Β ΦΑΣΗ ΘΕΜΑ ΔΙΔΑΣΚΑΛΙΑΣ: ΣΤΡΑΤΗΓΙΚΕΣ ΔΙΑΧΕΙΡΙΣΗΣ ΑΡΙΘΜΩΝ-19 ο ΚΕΦΑΛΑΙΟ ΣΧΟΛΕΙΟ: 2 ο ΠΕΙΡΑΜΑΤΙΚΟ ΦΛΩΡΙΝΑΣ

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

Το µάθηµα Ηλεκτρονική ηµοσίευση

Το µάθηµα Ηλεκτρονική ηµοσίευση Τµήµα Αρχειονοµίας Βιβλιοθηκονοµίας Ιόνιο Πανεπιστήµιο Το µάθηµα Ηλεκτρονική ηµοσίευση Σαράντος Καπιδάκης Επικοινωνία Σαράντος Καπιδάκης Εργαστήριο Ψηφιακών Βιβλιοθηκών και Ηλεκτρονικής ηµοσίευσης sarantos@ionio.gr

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

Είναι το ηλεκτρικό ρεύµα διανυσµατικό µέγεθος;

Είναι το ηλεκτρικό ρεύµα διανυσµατικό µέγεθος; Είναι το ηλεκτρικό ρεύµα διανυσµατικό µέγεθος; Για να εξετάσουµε το κύκλωµα LC µε διδακτική συνέπεια νοµίζω ότι θα πρέπει να τηρήσουµε τους ορισµούς που δώσαµε στα παιδιά στη Β Λυκείου. Ας ξεκινήσουµε

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

Πρώτο Κεφάλαιο Φάσεις & Μοντέλα ένταξης των ΤΠΕ στην Εκπαίδευση...13 1.1 Εκπαιδευτική Τεχνολογία: η προϊστορία της πληροφορικής στην εκπαίδευση 14

Πρώτο Κεφάλαιο Φάσεις & Μοντέλα ένταξης των ΤΠΕ στην Εκπαίδευση...13 1.1 Εκπαιδευτική Τεχνολογία: η προϊστορία της πληροφορικής στην εκπαίδευση 14 Περιεχόµενα Πρώτο Κεφάλαιο Φάσεις & Μοντέλα ένταξης των ΤΠΕ στην Εκπαίδευση....13 1.1 Εκπαιδευτική Τεχνολογία: η προϊστορία της πληροφορικής στην εκπαίδευση 14 1.1.1 Ορισµός της εκπαιδευτικής τεχνολογίας...14

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΕΡΕΥΝΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΙΝΣΤΙΤΟΥΤΟ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΠΟΛΙΤΙΚΗΣ Γώγουλος Γ., Κοτσιφάκης Γ., Κυριακάκη Γ., Παπαγιάννης Α., Φραγκονικολάκης Μ., Χίνου Π. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ

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

6 Εισαγωγή στα Συστήματα Ηλεκτρικής Ενέργειας

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

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

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Δρ.

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Δρ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Πληροφορική Ι ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Δρ. Γκόγκος Χρήστος Επιστήμη των υπολογιστών Computer Science (CS) ή Information

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

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

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

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

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB)

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB) ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΜΕΘΟΔΟΙ ΕΠΙΛΥΣΗΣ ΜΕ Η/Υ 1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB) Ν.Δ. Λαγαρός Μ. Φραγκιαδάκης Α. Στάμος Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

INFO. Copyright ECDL Ελλάς, Σεπτέµβριος 2004 ΤΟ ΠΕΡΙΕΧΟΜΕΝΟ ΑΥΤΟΥ ΤΟΥ ΕΝΤΥΠΟΥ ΑΦΟΡΑ ΑΠΟΚΛΕΙΣΤΙΚΑ ΤΑ ΕΞΕΤΑΣΤΙΚΑ ΚΕΝΤΡΑ ECDL

INFO. Copyright ECDL Ελλάς, Σεπτέµβριος 2004 ΤΟ ΠΕΡΙΕΧΟΜΕΝΟ ΑΥΤΟΥ ΤΟΥ ΕΝΤΥΠΟΥ ΑΦΟΡΑ ΑΠΟΚΛΕΙΣΤΙΚΑ ΤΑ ΕΞΕΤΑΣΤΙΚΑ ΚΕΝΤΡΑ ECDL INFO ECDL Expert Ένα ολοκληρωµένο Πρόγραµµα Πιστοποίησης γνώσεων πληροφορικής και δεξιοτήτων χρήσης Η/Υ ΠΡΟΧΩΡΗΜΕΝΟΥ ΕΠΙΠΕ ΟΥ Copyright ECDL Ελλάς, Σεπτέµβριος 2004 ΤΟ ΠΕΡΙΕΧΟΜΕΝΟ ΑΥΤΟΥ ΤΟΥ ΕΝΤΥΠΟΥ ΑΦΟΡΑ

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

Σημείωση: Το σύμβολο Χ που εμφανίζεται στο Σχήματα δηλώνει τις χώρες που συμμετείχαν στην έρευνα PISA και αποφάσισαν να μην θέσουν σε κυκλοφορία το

Σημείωση: Το σύμβολο Χ που εμφανίζεται στο Σχήματα δηλώνει τις χώρες που συμμετείχαν στην έρευνα PISA και αποφάσισαν να μην θέσουν σε κυκλοφορία το 2 Όλοι σχεδόν οι 15χρονοι νέοι έχουν ήδη χρησιμοποιήσει ηλεκτρονικό υπολογιστή. Αλλά τα αγόρια το έκαναν για μεγαλύτερο διάστημα και συχνότερα από τα κορίτσια Γενικά, όλοι, σχεδόν, οι 15χρονοι νέοι (99,31%)

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

ΠΡΟΒΛΗΜΑΤΑ ΕΛΑΧΙΣΤΟΠΟΙΗΣΗΣ

ΠΡΟΒΛΗΜΑΤΑ ΕΛΑΧΙΣΤΟΠΟΙΗΣΗΣ ΠΡΟΒΛΗΜΑΤΑ ΕΛΑΧΙΣΤΟΠΟΙΗΣΗΣ Ελαχιστοποίηση κόστους διατροφής Ηεπιχείρηση ζωοτροφών ΒΙΟΤΡΟΦΕΣ εξασφάλισε µια ειδική παραγγελίααπό έναν πελάτη της για την παρασκευή 1.000 κιλών ζωοτροφής, η οποία θα πρέπει

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

ΠΡΟΓΡΑΜΜΑ ΓΑΛΛΙΚΩΝ ΣΠΟΥΔΩΝ ΓΑΛ 102 Προφορικός λόγος 6 ΓΑΛ 103 Γραπτός λόγος I 6 ΓΑΛ 170 e-french 6 ΓΑΛ 100-299 Μάθημα περιορισμένης επιλογής 6

ΠΡΟΓΡΑΜΜΑ ΓΑΛΛΙΚΩΝ ΣΠΟΥΔΩΝ ΓΑΛ 102 Προφορικός λόγος 6 ΓΑΛ 103 Γραπτός λόγος I 6 ΓΑΛ 170 e-french 6 ΓΑΛ 100-299 Μάθημα περιορισμένης επιλογής 6 πρώτο δεύτερο ΠΡΟΓΡΑΜΜΑ ΓΑΛΛΙΚΩΝ ΣΠΟΥΔΩΝ ΓΑΛ 102 Προφορικός λόγος ΓΑΛ 103 Γραπτός λόγος I ΓΑΛ 170 e-french ΓΑΛ 100-299 Μάθημα περιορισμένης επιλογής ΓΑΛ 104 Γραπτός λόγος II ΓΑΛ 111 Φωνητική ΓΑΛ 1 Από

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

ΟΔΗΓΙΕΣ ΓΙΑ ΤΗ ΔΗΛΩΣΗ ΜΑΘΗΜΑΤΩΝ ΓΙΑ ΤΟ 2011-12 ΧΕΙΜΕΡΙΝΟ. Για να πραγματοποιήσετε την δήλωσή σας μεταβαίνετε στο σύνδεσμο:

ΟΔΗΓΙΕΣ ΓΙΑ ΤΗ ΔΗΛΩΣΗ ΜΑΘΗΜΑΤΩΝ ΓΙΑ ΤΟ 2011-12 ΧΕΙΜΕΡΙΝΟ. Για να πραγματοποιήσετε την δήλωσή σας μεταβαίνετε στο σύνδεσμο: ΟΔΗΓΙΕΣ ΓΙΑ ΤΗ ΔΗΛΩΣΗ ΜΑΘΗΜΑΤΩΝ ΓΙΑ ΤΟ 2011-12 ΧΕΙΜΕΡΙΝΟ Για να πραγματοποιήσετε την δήλωσή σας μεταβαίνετε στο σύνδεσμο: https://e-gram.teilam.gr/unistudent Ειδικά οι πρωτοετείς μεταβαίνουν στον σύνδεσμο

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

Εξ αποστάσεως υποστήριξη του έργου των Εκπαιδευτικών μέσω των δικτύων και εργαλείων της Πληροφορικής

Εξ αποστάσεως υποστήριξη του έργου των Εκπαιδευτικών μέσω των δικτύων και εργαλείων της Πληροφορικής Εξ αποστάσεως υποστήριξη του έργου των Εκπαιδευτικών μέσω των δικτύων και εργαλείων της Πληροφορικής Ε. Κολέζα, Γ. Βρέταρος, θ. Δρίγκας, Κ. Σκορδούλης Εισαγωγή Ο εκπαιδευτικός κατά τη διάρκεια της σχολικής

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

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη Επιλογή και επανάληψη Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως, ότι στο

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

ΠΑΡΑΡΤΗΜΑ VΙ - Ο ΗΓΙΕΣ ΥΠΟΒΟΛΗΣ ΠΡΟΤΑΣΗΣ

ΠΑΡΑΡΤΗΜΑ VΙ - Ο ΗΓΙΕΣ ΥΠΟΒΟΛΗΣ ΠΡΟΤΑΣΗΣ ΠΑΡΑΡΤΗΜΑ VΙ - Ο ΗΓΙΕΣ ΥΠΟΒΟΛΗΣ ΠΡΟΤΑΣΗΣ Έκδοση Εγγράφου: 1.0 Επιχειρησιακό Πρόγραµµα «Εκπαίδευση & ια Βίου Μάθηση» (ΕΚ. ι.βι.μ) Κενή σελίδα 2 Πίνακας περιεχοµένων 1 Εισαγωγή... 6 1.1 ηµιουργία πρότασης...

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

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 1: Εισαγωγή Ποιος είμαι εγώ! Ναύπλιο, 4/1976-9/1993 Williamsburg, VA, USA, 7/2004-7/2006 2 Πάτρα, 9/1993-6/2004 Μυτιλήνη, 10/2006-2/2007 Βόλος, 2/2007 - Ο Υπεύθυνος των

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

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

1. ΓΕΝΙΚΟΙ ΚΑΝΟΝΕΣ ΚΑΙ ΠΡΟΥΠΟΘΕΣΕΙΣ ΛΗΨΗΣ ΠΤΥΧΙΟΥ 1. ΓΕΝΙΚΟΙ ΚΑΝΟΝΕΣ ΚΑΙ ΠΡΟΥΠΟΘΕΣΕΙΣ ΛΗΨΗΣ ΠΤΥΧΙΟΥ Ισχύει ένα πρόγραμμα σπουδών από τον Οκτώβριο του 2013. Για να πάρει κάποιος πτυχίο από το 2014 κι έπειτα απαιτείται να πληροί όλους τους παρακάτω όρους:

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

Φρ. Κουτελιέρης. Επίκουρος Καθηγητής Παν/µίου Ιωαννίνων ΠΛΗΡΟΦΟΡΙΚΗ Ι

Φρ. Κουτελιέρης. Επίκουρος Καθηγητής Παν/µίου Ιωαννίνων ΠΛΗΡΟΦΟΡΙΚΗ Ι Φρ. Κουτελιέρης Επίκουρος Καθηγητής Παν/µίου Ιωαννίνων ΠΛΗΡΟΦΟΡΙΚΗ Ι Πληροφορική Ι Ακαδ. Έτος 2008-9 1/30 ΚΕΦΑΛΑΙΟ 2 Πληροφορική Ι Ακαδ. Έτος 2008-9 2/30 1. Εισαγωγή 3. Ανάπτυξη αλγορίθµου 4. οµηµένος

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

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος Εισαγωγή στους Αλγόριθµους Αλγόριθµοι Τι είναι αλγόριθµος; Τι µπορεί να υπολογίσει ένας αλγόριθµος; Πως αξιολογείται ένας αλγόριθµος; Παύλος Εφραιµίδης pefraimi@ee.duth.gr Αλγόριθµοι Εισαγωγικές Έννοιες

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

Β Εξάµηνο Τίτλος Μαθήµατος Θ Φ Α.Π Ε Φ.E. Π.Μ Προαπαιτούµενα

Β Εξάµηνο Τίτλος Μαθήµατος Θ Φ Α.Π Ε Φ.E. Π.Μ Προαπαιτούµενα ΤΕΙ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε. ΣΥΝΟΠΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΑΝΑ ΕΞΑΜΗΝΟ Α Εξάµηνο Τίτλος Μαθήµατος Θ Φ Α.Π Ε Φ.Ε Π.Μ Προαπαιτούµενα Κ10 ΜΑΘΗΜΑΤΙΚΗ ΑΝΑΛΥΣΗ

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

Κεφάλαιο 5ο: Εντολές Επανάληψης

Κεφάλαιο 5ο: Εντολές Επανάληψης Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 5ο: Εντολές Επανάληψης Η διαδικασία της επανάληψης είναι ιδιαίτερη συχνή, αφού πλήθος προβληµάτων µπορούν να επιλυθούν µε κατάλληλες

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

Δραστηριότητα: Εγκλεισμός

Δραστηριότητα: Εγκλεισμός Δραστηριότητα: Εγκλεισμός Ηλικίες στις οποίες έχει χρησιμοποιηθεί με επιτυχία: Προαπαιτούμενες Ικανότητες: Χρόνος: Εστίαση Μέγεθος Ομάδας 11 - ενήλικες Καμία Τι είναι αλγόριθμος Αλγόριθμοι αναζήτησης:

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

Σχολείο Δεύτερης Ευκαιρίας. Ιωαννίνων. Αριθμητικός Γραμματισμός. Εισηγήτρια : Σεντελέ Καίτη

Σχολείο Δεύτερης Ευκαιρίας. Ιωαννίνων. Αριθμητικός Γραμματισμός. Εισηγήτρια : Σεντελέ Καίτη Σχολείο Δεύτερης Ευκαιρίας Ιωαννίνων Αριθμητικός Γραμματισμός Εισηγήτρια : Σεντελέ Καίτη ΘΕΜΑ ΕΙΣΗΓΗΣΗΣ «Προγραμματισμός-Οργάνωση και υλοποίηση μιας διδακτικής ενότητας στον Αριθμητικό Γραμματισμό» ΠΡΟΣΘΕΣΗ

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

ΚΕΦΑΛΑΙΟ 5. Παρουσιάσεις

ΚΕΦΑΛΑΙΟ 5. Παρουσιάσεις Κεφάλαιο 1 Κεφάλαιο 5 Εισαγωγικές έννοιες πληροφορικής. Χρήση Η/Υ και Γραφικό περιβάλλον επικοινωνίας ΚΕΦΑΛΑΙΟ 5 Η επιτυχία ή αποτυχία µιας παρουσίασης εξαρτάται από ένα µεγάλο αριθµό παραγόντων και σχεδόν

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

Κεφάλαιο 4ο: Εντολές επιλογής

Κεφάλαιο 4ο: Εντολές επιλογής Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 4ο: Εντολές επιλογής Μέχρι τώρα παρατηρήσαµε ότι τα προβλήµατα που αντιµετωπίσαµε είχαν σειριακή κίνηση, δηλαδή η µία εντολή

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

Μεταγλωττιστής. Μεταφραστές. Γλώσσες. Είδη Μεταγλωττιστών. Μεταγλωττιστής Τελικό πρόγραµµα (object program) Εισαγωγή Αρχικό πρόγραµµα (source program)

Μεταγλωττιστής. Μεταφραστές. Γλώσσες. Είδη Μεταγλωττιστών. Μεταγλωττιστής Τελικό πρόγραµµα (object program) Εισαγωγή Αρχικό πρόγραµµα (source program) Μεταφραστές Εισαγωγή (source program) Τελικό πρόγραµµα (object program) Γιώργος Μανής Γλώσσες Είδη Μεταγλωττιστών Αρχική γλώσσα Γλώσσα υλοποίησης Τελική γλώσσα Απλοί µεταγλωττιστές Αντίστροφοι µεταγλωττιστές

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

4.3. Γραµµικοί ταξινοµητές

4.3. Γραµµικοί ταξινοµητές Γραµµικοί ταξινοµητές Γραµµικός ταξινοµητής είναι ένα σύστηµα ταξινόµησης που χρησιµοποιεί γραµµικές διακριτικές συναρτήσεις Οι ταξινοµητές αυτοί αναπαρίστανται συχνά µε οµάδες κόµβων εντός των οποίων

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

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

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

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