C++ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Paul Deitel. Harvey Deitel. Εκδόσεις: Μ. Γκιούρδας ΕΝΑΤΗ ΕΚ ΟΣΗ. Deitel & Associates, Inc. Deitel & Associates, Inc.

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

Download "C++ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Paul Deitel. Harvey Deitel. Εκδόσεις: Μ. Γκιούρδας ΕΝΑΤΗ ΕΚ ΟΣΗ. Deitel & Associates, Inc. Deitel & Associates, Inc."

Transcript

1 C++ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΝΑΤΗ ΕΚ ΟΣΗ Paul Deitel Deitel & Associates, Inc. Harvey Deitel Deitel & Associates, Inc. Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής Τηλ.: Αθήνα,

2 Τίτλος Πρωτοτύπου: C++ How to Program - Ninth Edition ISBN ISBN Copyright 2014, 2012, 2010 Pearson Education, Inc. Upper Saddle River, New Jersey Αποκλειστικότητα για την Ελληνική Γλώσσα Εκδόσεις: Μόσχος Γκιούρδας Ζωοδόχου Πηγής Τηλ.: Αθήνα, ISBN: Επιμέλεια κειμένων: Μιχαήλ Μεταξάς Desktop Publishing: Κ. Καλαϊτζής, τηλ.: Εκτύπωση: Red Notos Print ΕΠΕ, τηλ.: Βιβλιοδεσία: ΣΤΑΜΟΥ Εκδόσεις - Γραφικές Τέχνες ΕΠΕ, τηλ.: Αναδημοσίευση του βιβλίου σε οποιαδήποτε μορ φή, ολόκληρου ή μέ ρους, καθώς και των περιεχομένων προ γραμ μά των, δεν επιτρέπεται χωρίς την έγγραφη εξου σιο δό τη ση του εκδότη.

3 Στη μνήμη του Dennis Ritchie, δημιουργό της γλώσσας προγραμματισμού C μίας από τις βασικές γλώσσες που αποτέλεσε έμπνευση για τη δημιουργία της C++. Paul και Harvey Deitel

4 Περιεχόμενα Πρόλογος xxi 1 Εισαγωγή στους υπολογιστές και τη C Εισαγωγή Οι υπολογιστές και το Internet στη βιομηχανία και την έρευνα Υλικό και λογισμικό Ο νόμος του Μουρ Οργάνωση υπολογιστών Ιεραρχία δεδομένων Γλώσσες μηχανής, γλώσσες συμβολομετάφρασης και γλώσσες υψηλού επιπέδου C Γλώσσες προγραμματισμού Εισαγωγή στην τεχνολογία αντικειμένων Τυπικό περιβάλλον ανάπτυξης της C οκιμή εφαρμογής C Λειτουργικά συστήματα Windows Ένα ιδιωτικό λειτουργικό σύστημα Linux Ένα λειτουργικό σύστημα ανοιχτού κώδικα Το Mac OS X και το ios της Apple για συσκευές iphone, ipad και ipod Touch Το Android της Google Το Internet και το World Wide Web Ορισμένοι βασικοί όροι της ανάπτυξης λογισμικού Το C++11 και οι βιβλιοθήκες boost ανοιχτού κώδικα Οι τελευταίες εξελίξεις στις τεχνολογίες πληροφορικής Πόροι στο web 33 2 Εισαγωγή στον προγραμματισμό C++, στην είσοδο/έξοδο και στους τελεστές Εισαγωγή Πρώτο πρόγραμμα στη C++: Προβολή μιας γραμμής κειμένου Τροποποίηση του πρώτου προγράμματος C Ακόμα ένα πρόγραμμα C++: Πρόσθεση ακεραίων Έννοιες μνήμης Αριθμητική 49

5 viii ΠΕΡΙΕΧΟΜΕΝΑ 2.7 Λήψη αποφάσεων: Τελεστές ισότητας και σχεσιακοί τελεστές Ανακεφαλαίωση 57 3 Εισαγωγή στις κλάσεις, τα αντικείμενα και τις συμβολοσειρές Εισαγωγή Ορισμός κλάσης με συνάρτηση μέλους Ορισμός συνάρτησης-μέλους με μια παράμετρο Μέλη δεδομένων, συναρτήσεις set και συναρτήσεις get Αρχικοποίηση αντικειμένων με μεθόδους κατασκευής Τοποθέτηση κλάσης σε ξεχωριστό αρχείο για ανακύκλωση ιαχωρισμός της διεπαφής από την υλοποίηση Επικύρωση δεδομένων με συναρτήσεις set Ανακεφαλαίωση 97 4 Εντολές ελέγχου: Μέρος 1 Τελεστές εκχώρησης, ++ και Εισαγωγή Αλγόριθμοι Ψευδοκώδικας ομές ελέγχου Εντολή επιλογής if Εντολή διπλής επιλογής if else Εντολή επανάληψης while ιαμόρφωση αλγόριθμων: Επανάληψη που ελέγχεται από μετρητή ιαμόρφωση αλγόριθμων: Επανάληψη που ελέγχεται από τιμή-φρουρό ιαμόρφωση αλγόριθμων: Ένθετες προτάσεις ελέγχου Τελεστές εκχώρησης Τελεστές αύξησης και μείωσης Ανακεφαλαίωση Εντολές ελέγχου: Μέρος 2 Λογικοί τελεστές Εισαγωγή Τα βασικά στοιχεία της επανάληψης που ελέγχεται από μετρητή Εντολή επανάληψης for Παραδείγματα χρήσης της εντολής for Εντολή επανάληψης do while Εντολή πολλαπλών επιλογών switch Εντολές break και continue Λογικοί τελεστές Σύγχυση μεταξύ των τελεστών ισότητας (==) και εκχώρησης (=) Περίληψη δομημένου προγραμματισμού Ανακεφαλαίωση Συναρτήσεις και εισαγωγή στην αναδρομή Εισαγωγή Τα στοιχεία ενός προγράμματος C++ 203

6 ΠΕΡΙΕΧΟΜΕΝΑ ix 6.3 Συναρτήσεις της βιβλιοθήκης μαθηματικών Ορισμοί συναρτήσεων με πολλαπλές παραμέτρους Πρωτότυπα συναρτήσεων και συμμόρφωση ορισμάτων Αρχεία κεφαλίδας της Πρότυπης βιβλιοθήκης της C Μελέτη περίπτωσης: Παραγωγή τυχαίων αριθμών Μελέτη περίπτωσης: Παιχνίδι τύχης, παρουσίαση του τύπου απαρίθμησης (enum) Τυχαίοι αριθμοί στο πρότυπο C Κλάσεις αποθήκευσης και διάρκεια αποθήκευσης Κανόνες εμβέλειας Στοίβα κλήσεων συναρτήσεων και εγγραφές ενεργοποίησης Συναρτήσεις με κενές λίστες παραμέτρων Εμβόλιμες συναρτήσεις Αναφορές και παράμετροι αναφορών Προεπιλεγμένα ορίσματα Ο μοναδιαίος τελεστής ανάλυσης εμβέλειας Υπερφόρτωση συναρτήσεων Πρότυπα συναρτήσεων Αναδρομή Παράδειγμα χρήσης της αναδρομής: Σειρά Fibonacci Αναδρομή εναντίον επανάληψης Ανακεφαλαίωση Πρότυπα κλάσεων array και vector Σύλληψη εξαιρέσεων Εισαγωγή Πίνακες ήλωση πινάκων Παραδείγματα χρήσης πινάκων ήλωση πίνακα και χρήση βρόχου για αρχικοποίηση των στοιχείων του Αρχικοποίηση πίνακα σε μια δήλωση με μια λίστα αρχικοποίησης Καθορισμός του μεγέθους ενός πίνακα με μια σταθερά και ορισμός των στοιχείων του πίνακα με πράξεις Άθροιση των στοιχείων ενός πίνακα Χρήση γραφήματος ράβδου για γραφική απεικόνιση των δεδομένων ενός πίνακα Χρήση των στοιχείων ενός πίνακα σαν μετρητές Χρήση πινάκων για σύνοψη αποτελεσμάτων έρευνας Στατικοί τοπικοί πίνακες και αυτόματοι τοπικοί πίνακες Πρόταση for για περιοχές Μελέτη Υπόθεσης: Χρήση πίνακα για αποθήκευση βαθμών στην κλάση GradeBook Ταξινόμηση και αναζήτηση σε πίνακες Πίνακες πολλαπλών διαστάσεων Μελέτη περίπτωσης: Χρήση πίνακα δύο διαστάσεων στην κλάση GradeBook Εισαγωγή στο πρότυπο κλάσης vector από την Πρότυπη βιβλιοθήκη της C Ανακεφαλαίωση 320

7 x ΠΕΡΙΕΧΟΜΕΝΑ 8 είκτες Εισαγωγή Ορισμοί και Αρχικοποίηση Μεταβλητών εικτών Τελεστές εικτών ιοχέτευση Ορισμάτων σε Συναρτήσεις Μέσω Αναφοράς με είκτες Ενσωματωμένοι Πίνακες Χρήση του const με είκτες Μη Σταθερός είκτης προς Μη Σταθερά δεδομένα Μη Σταθερός είκτης προς Σταθερά δεδομένα Σταθερός είκτης σε Μη Σταθερά εδομένα Σταθερός είκτης προς Σταθερά εδομένα Τελεστής sizeof Εκφράσεις εικτών και Αριθμητική εικτών Σχέση Μεταξύ εικτών και Ενσωματωμένων Πινάκων Ακολουθίες Χαρακτήρων που Βασίζονται σε είκτες Ανακεφαλαίωση Κλάσεις: Μια Βαθύτερη Ματιά, Πρόκληση Εξαιρέσεων Εισαγωγή Μελέτη Περίπτωσης Κλάσης Time Εμβέλεια Κλάσης και Προσπέλαση Μελών Κλάσης Συναρτήσεις Προσπέλασης και Βοηθητικές Συναρτήσεις Μελέτη Περίπτωσης Κλάσης Time: Μέθοδοι Κατασκευής με Προεπιλεγμένα Ορίσματα Μέθοδοι Καταστροφής Πότε Καλούνται οι Μέθοδοι Κατασκευής και οι Μέθοδοι Καταστροφής Μελέτη Περίπτωσης Κλάσης Time: Μια Έξυπνη Παγίδα - Επιστροφή Αναφοράς σε private Μέλος εδομένων Προεπιλεγμένη Εκχώρηση Ιδιότητας Μέλους Αντικείμενα const και Συναρτήσεις Μελών const Σύνθεση: Αντικείμενα ως Μέλη Κλάσεων Συναρτήσεις και Κλάσεις friend Χρήση του είκτη this static Μέλη Κλάσεων Ανακεφαλαίωση Υπερφόρτωση Τελεστών: Κλάση string Εισαγωγή Χρήση των Υπερφορτωμένων Τελεστών της Κλάσης string της Πρότυπης βιβλιοθήκης Βασικά Στοιχεία της Υπερφόρτωσης Τελεστών Υπερφόρτωση υαδικών Τελεστών Υπερφόρτωση των υαδικών Τελεστών Εισαγωγής Ροής και Εξαγωγής Ροής Υπερφόρτωση Μοναδιαίων Τελεστών Υπερφόρτωση των Μοναδιαίων Τελεστών Αύξησης και Μείωσης, ++ και

8 ΠΕΡΙΕΧΟΜΕΝΑ xi 10.8 Μελέτη εργασίας: Μια Κλάση Date υναμική ιαχείριση Μνήμης Μελέτη εργασίας: Η Κλάση Array Χρήση της Κλάσης Array Ορισμός της Κλάσης Array Τελεστές ως Μέλη Κλάσης και ως Συναρτήσεις που εν Είναι Μέλη Μετατροπή Μεταξύ Τύπων Μέθοδοι Κατασκευής explicit και Τελεστές Μετατροπής Υπερφόρτωση του Τελεστή Κλήσης Συνάρτησης () Ανακεφαλαίωση Αντικειμενοστραφής προγραμματισμός: Κληρονομικότητα Εισαγωγή Βασικές Κλάσεις και Παραγόμενες Κλάσεις Σχέση Μεταξύ Βασικών Κλάσεων και Παραγόμενων Κλάσεων ημιουργία και Χρήση μιας Κλάσης CommissionEmployee ημιουργίας μιας κλάσης BasePlusCommissionEmployee Χωρίς Χρήση Κληρονομικότητας ημιουργία μιας Ιεραρχίας Κληρονομικότητας CommissionEmployee-BasePlusCommissionEmployee Ιεραρχία Κληρονομικότητας CommissionEmployee BasePlusCommission- Employee με protected εδομένα Ιεραρχία Κληρονομικότητας CommissionEmployee BasePlusCommission- Employee με private εδομένα Μέθοδοι Κατασκευής και Μέθοδοι Καταστροφής σε Παραγόμενες Κλάσεις public, protected και private Κληρονομικότητα Μηχανική Λογισμικού με Κληρονομικότητα Ανακεφαλαίωση Αντικειμενοστραφής προγραμματισμός: Πολυμορφισμός Εισαγωγή Εισαγωγή στον Πολυμορφισμό: Πολυμορφικό Βιντεοπαιχνίδι Σχέσεις Μεταξύ Αντικειμένων σε μια Ιεραρχία Κληρονομικότητας Ενεργοποίηση Συναρτήσεων Βασικής Κλάσης από Αντικείμενα Παραγόμενης Κλάσης είκτες Παραγόμενης Κλάσης είχνουν σε Αντικείμενα Βασικής Κλάσης Κλήσεις Συναρτήσεων Μελών Παραγόμενης Κλάσης Μέσω εικτών Βασικής Κλάσης Εικονικές Συναρτήσεις και Εικονικές Μέθοδοι Καταστροφής Πεδία Τύπων και Προτάσεις switch Αφαιρετικές Κλάσεις και Καθαρές Εικονικές Συναρτήσεις Μελέτη Εργασίας: Σύστημα Μισθοδοσίας Με Πολυμορφισμό ημιουργία Αφαιρετικής Βασικής Κλάσης Employee ημιουργία Απτής Παραγόμενης Κλάσης SalariedEmployee ημιουργία Απτής Παραγόμενης Κλάσης CommissionEmployee 542

9 xii ΠΕΡΙΕΧΟΜΕΝΑ ημιουργία Έμμεσης Απτής Παραγόμενης Κλάσης BasePlusCommissionEmployee Παρουσίαση Πολυμορφικής Επεξεργασίας (Προαιρετικό) Πολυμορφισμός, Εικονικές Συναρτήσεις και υναμική Σύνδεση Με Κρυφό Τρόπο Μελέτη Εργασίας: Σύστημα Μισθοδοσίας Με Πολυμορφισμό και Πληροφορίες Τύπων Κατά την Εκτέλεση με Μετατροπή σε Κατώτερους Τύπους, dynamic_cast, typeid και type_info Ανακεφαλαίωση Είσοδος/Έξοδος Ροής: Μια Βαθύτερη Ματιά Εισαγωγή Ροές Κλασικές Ροές Εναντίον Τυπικών Ροών Αρχεία Κεφαλίδας Βιβλιοθήκης iostream Κλάσεις και Αντικείμενα Ροής Εισόδου/Εξόδου Έξοδος Ροής Έξοδος Μεταβλητών char * Έξοδος Χαρακτήρων με τη Συνάρτηση Μέλους put Είσοδος Ροής Συναρτήσεις μελών get και getline istream Συναρτήσεις Μελών peek, putback και ignore Είσοδος/Έξοδος με Ασφαλείς Τύπους Μη Μορφοποιημένη Είσοδος/Έξοδος με read, write και gcount Εισαγωγή στους Χειριστές Ροής Ολοκληρωμένη Βάση Ροής: dec, oct, hex και setbase Ακρίβεια Κινητής Υποδιαστολής (precision, setprecision) Πλάτος Πεδίου (width, setw) Χειριστές Ροής Εξόδου που Καθορίζονται από τον Χρήστη Καταστάσεις Μορφής Ροής και Χειριστές Ροής Τελικά Μηδενικά και Υποδιαστολές (showpoint) Στοίχιση (left, right και internal) Πλήρωση (fill, setfill) Ολοκληρωμένη Βάση Ροής (dec, oct, hex, showbase) Αριθμοί Κινητής Υποδιαστολής - Επιστημονικές και Σταθερές Παραστάσεις (scientific, fixed) Έλεγχος Κεφαλαίων/Πεζών (uppercase) Καθορισμός Μορφής Boole (boolalpha) Ορισμός και Επαναφορά της Κατάστασης Μορφής μέσω Συναρτήσεων Μελών flags Καταστάσεις Σφάλματος Ροής Σύνδεση μιας Ροής Εξόδου με μια Ροή Εισόδου Ανακεφαλαίωση Επεξεργασία Αρχείων Εισαγωγή Αρχεία και Ροές 600

10 ΠΕΡΙΕΧΟΜΕΝΑ xiii 14.3 ημιουργία Αρχείου Σειριακής Προσπέλασης Ανάγνωση εδομένων από Αρχείο Σειριακής Προσπέλασης Ενημέρωση Αρχείων Σειριακής Προσπέλασης Αρχεία Τυχαίας Προσπέλασης ημιουργία Αρχείου Τυχαίας Προσπέλασης Εγγραφή εδομένων με Τυχαίο Τρόπο σε Αρχείο Τυχαίας Προσπέλασης Ανάγνωση εδομένων με Τυχαίο Τρόπο από Αρχείο Τυχαίας Προσπέλασης Μελέτη Εργασίας: Πρόγραμμα Επεξεργασίας Συναλλαγών Σειριοποίηση Αντικειμένων Ανακεφαλαίωση Περιέκτες και Επαναληπτές Πρότυπης Βιβλιοθήκης Εισαγωγή Εισαγωγή στους Περιέκτες Εισαγωγή στους Επαναληπτές Εισαγωγή στους Αλγόριθμους Περιέκτες Ακολουθίας Περιέκτης Ακολουθίας vector Περιέκτης Ακολουθίας list Περιέκτης Ακολουθίας deque Περιέκτες Συσχέτισης Περιέκτης Συσχέτισης multiset Περιέκτης Συσχέτισης set Περιέκτης Συσχέτισης multimap Περιέκτης Συσχέτισης map Προσαρμογείς Περιεκτών Προσαρμογέας stack Προσαρμογέας queue Προσαρμογέας priority_queue Κλάση bitset Ανακεφαλαίωση Αλγόριθμοι Πρότυπης Βιβλιοθήκης Εισαγωγή Ελάχιστες Απαιτήσεις Επαναληπτών Αλγόριθμοι fill, fill_n, generate και generate_n equal, mismatch και lexicographical_compare remove, remove_if, remove_copy και remove_copy_if replace, replace_if, replace_copy και replace_copy_if Μαθηματικοί Αλγόριθμοι Βασικοί Αλγόριθμοι Αναζήτησης και Ταξινόμησης swap, iter_swap και swap_ranges copy_backward, merge, unique και reverse inplace_merge, unique_copy και reverse_copy Πράξεις Συνόλων lower_bound, upper_bound και equal_range 719

11 xiv ΠΕΡΙΕΧΟΜΕΝΑ Heapsort min, max, minmax και minmax_element Αντικείμενα Συναρτήσεων Εκφράσεις Λάμδα Περίληψη Αλγόριθμων Πρότυπης Βιβλιοθήκης Ανακεφαλαίωση Χειρισμός εξαιρέσεων: Μια Καλύτερη Ματιά Εισαγωγή Παράδειγμα: Χειρισμός Απόπειρας ιαίρεσης ιά του Μηδενός Επανάληψη Πρόκλησης Εξαίρεσης Ανάλυση Στοίβας Πότε Χρησιμοποιούμε Χειρισμό Εξαιρέσεων Μέθοδοι Κατασκευής, Μέθοδοι Καταστροφής και Χειρισμός Εξαιρέσεων Εξαιρέσεις και Κληρονομικότητα Επεξεργασία Αποτυχιών του new Η κλάση unique_ptr και υναμική Κατανομή Μνήμης Ιεραρχία Εξαιρέσεων Πρότυπης Βιβλιοθήκης Ανακεφαλαίωση Εισαγωγή στα Προσαρμοσμένα Πρότυπα Εισαγωγή Πρότυπα Κλάσεων Πρότυπο Συνάρτησης για Χειρισμό Αντικειμένου Εξειδίκευσης Προτύπου Κλάσης Παράμετροι Χωρίς Τύπο Προεπιλεγμένα Ορίσματα για Παραμέτρους Τύπων Προτύπων Υπερφόρτωση Προτύπων Συναρτήσεων Ανακεφαλαίωση Προσαρμοσμένες Προτυποποιημένες ομές εδομένων Εισαγωγή Αυτοαναφερόμενες κλάσεις Συνδεδεμένες λίστες Στοίβες Ουρές έντρα Ανακεφαλαίωση Αναζήτηση και Ταξινόμηση Εισαγωγή Αλγόριθμοι Αναζήτησης Γραμμική Αναζήτηση υαδική Αναζήτηση Ταξινόμηση Αλγόριθμοι Ταξινόμηση Παρεμβολής 832

12 ΠΕΡΙΕΧΟΜΕΝΑ xv Ταξινόμηση επιλογής Ταξινόμηση Συγχώνευσης (Μια Αναδρομική Υλοποίηση) Ανακεφαλαίωση Η Κλάση string και Επεξεργασία Ροών Ακολουθιών Χαρακτήρων Εισαγωγή Εκχώρηση και Συνένωση string Συγκρίσεις Ακολουθιών Χαρακτήρων Υπο-Ακολουθίες Χαρακτήρων Εναλλαγή string Χαρακτηριστικά Ακολουθιών Χαρακτήρων Εύρεση Υπο-Ακολουθιών Χαρακτήρων και Χαρακτήρων σε string Αντικατάσταση Χαρακτήρων σε string Εισαγωγή Χαρακτήρων σε string Μετατροπή σε Ακολουθίες Χαρακτήρων char * Επαναληπτές Επεξεργασία Ροών Ακολουθιών Χαρακτήρων Συναρτήσεις Αριθμητικής Μετατροπής της C Ανακεφαλαίωση Bit, Χαρακτήρες, Ακολουθίες Χαρακτήρων C και struct Εισαγωγή Ορισμοί ομών typedef Παράδειγμα: Ανακάτεμα Φύλων και Προσομοίωση Μοιράσματος Τράπουλας Τελεστές Bitwise Πεδία Bit Βιβλιοθήκη Χειρισμού Χαρακτήρων Συναρτήσεις Χειρισμού Ακολουθιών χαρακτήρων C Συναρτήσεις Μετατροπής Ακολουθιών Χαρακτήρων C Συναρτήσεις Αναζήτησης της Βιβλιοθήκης Χειρισμού Ακολουθιών Χαρακτήρων C Συναρτήσεις Μνήμης της Βιβλιοθήκης Χειρισμού Ακολουθιών Χαρακτήρων C Ανακεφαλαίωση Άλλα Θέματα Εισαγωγή Τελεστής const_cast mutable Μέλη Κλάσεων Χώροι Ονομάτων Λέξεις-Κλειδιά Τελεστών είκτες σε Μέλη Κλάσεων (.* και ->*) Πολλαπλή Κληρονομικότητα Πολλαπλή Κληρονομικότητα και virtual Κλάσεις Βάσης Ανακεφαλαίωση 959

13 xvi ΠΕΡΙΕΧΟΜΕΝΑ 24 Πρόσθετα Χαρακτηριστικά της C Εισαγωγή Έξυπνοι δείκτες Μέτρηση Αναφορών shared_ptr Παρατηρητής weak_ptr: shared_ptr Πολλαπλά νήματα Αρχεία Κεφαλίδων Επεξεργασίας Πολλαπλών Νημάτων στη C Εκτέλεση Προγραμμάτων Επεξεργασίας Πολλαπλών Νημάτων Επισκόπηση των Παραδειγμάτων Αυτής της Ενότητας Παράδειγμα: Σειριακή Εκτέλεση ύο Απαιτητικών Εργασιών Παράδειγμα: Πολυνηματική Εκτέλεση ύο Απαιτητικών Εργασιών Προδιαγραφές εξαιρέσεων noexcept και ο Τελεστής noexcept Θεωρία Μετακίνησης Αναφορές rvalue Κλάση με υνατότητα Μετακίνησης Array Αλγόριθμοι move και move_backward Συναρτήσεις μελών περιέκτη emplace static_assert decltype constexpr Προεπιλεγμένες Ειδικές Συναρτήσεις Μελών Variadic Πρότυπα tuple Πρότυπο κλάσης initializer_list Κληρονομημένες Μέθοδοι Κατασκευής με Πολλαπλή Κληρονομικότητα Κανονικές εκφράσεις με τη Βιβλιοθήκη regex Παράδειγμα Κανονικών Εκφράσεων Επικύρωση Εισόδου Χρήστη με Κανονικές εκφράσεις Αντικατάσταση και ιαχωρισμός Ακολουθιών Χαρακτήρων Ακατέργαστες Σταθερές Ακολουθιών Ανακεφαλαίωση Μελέτη Περίπτωσης ATM, Αντικειμενοστραφής Σχεδίαση με την UML Εισαγωγή Εισαγωγή στην Αντικειμενοστραφή Ανάλυση και Σχεδίαση Εξέταση του Εγγράφου Απαιτήσεων ΑΤΜ Αναγνώριση των Κλάσεων του Εγγράφου Απαιτήσεων ATM Αναγνώριση Ιδιοτήτων Κλάσεων Αναγνώριση Καταστάσεων και ραστηριοτήτων Αντικειμένων Αναγνώριση Πράξεων Κλάσεων Ένδειξη Συνεργασίας Μεταξύ Αντικειμένων Ανακεφαλαίωση 1054

14 ΠΕΡΙΕΧΟΜΕΝΑ xvii 26 Μελέτη Περίπτωσης ATM, Υλοποίηση Αντικειμενοστραφούς Σχεδίασης με την UML Εισαγωγή Έναρξη Προγραμματισμού των Κλάσεων του Συστήματος ATM Ενσωμάτωση Κληρονομικότητας στο Σύστημα ATM Υλοποίηση Μελέτης Περίπτωσης ATM Η Κλάση ATM Η Κλάση Screen Η Κλάση Keypad Η Κλάση CashDispenser Η Κλάση DepositSlot Η Κλάση Account Η Κλάση BankDatabase Η Κλάση Transaction Η Κλάση BalanceInquiry Η Κλάση Withdrawal Η Κλάση Deposit οκιμαστικό Πρόγραμμα ATMCaseStudy.cpp Ανακεφαλαίωση 1104 A Προτεραιότητα και Προσεταιριστικότητα Τελεστών 1107 B Σύνολο Χαρακτήρων ASCII 1109 Γ Θεμελιώδεις Τύποι 1110 Αριθμητικά Συστήματα Εισαγωγή Σύντμηση υαδικών Αριθμών σε Οκταδικούς και εκαεξαδικούς Αριθμούς Μετατροπή Οκταδικών και εκαεξαδικών Αριθμών σε υαδικούς Μετατροπή από υαδικό, Οκταδικό ή εκαεξαδικό σε εκαδικό Μετατροπή Από εκαδικό σε υαδικό, Οκταδικό ή εκαεξαδικό Αρνητικοί υαδικοί Αριθμοί: Συμπλήρωμα του ύο 1120 E Προεπεξεργαστής 1125 Ε.1 Εισαγωγή 1126 Ε.2 Η Οδηγία Προεπεξεργαστή #include 1126 Ε.3 Η Οδηγία Προεπεξεργαστή #define: Συμβολικές Σταθερές 1127 Ε.4 Η Οδηγία Προεπεξεργαστή #define: Μακροεντολές 1127

15 xviii ΠΕΡΙΕΧΟΜΕΝΑ Ε.5 Μεταγλώττιση υπό Συνθήκη 1129 Ε.6 Οι Οδηγίες Προεπεξεργαστή #error και #pragma 1130 Ε.7 Οι Τελεστές # και ## 1131 Ε.8 Προκαθορισμένες Συμβολικές Σταθερές 1131 Ε.9 ιαβεβαιώσεις 1132 Ε.10 Ανακεφαλαίωση 1132 ΣΤ Θέματα Παλαιού Κώδικα C 1137 ΣΤ.1 Εισαγωγή 1138 ΣΤ.2 Ανακατεύθυνση Εισόδου/Εξόδου σε UNIX/Linux/Mac OS X και Windows 1138 ΣΤ.3 Λίστες Ορισμάτων Μεταβλητού Μήκους 1139 ΣΤ.4 Χρήση Ορισμάτων Γραμμής Εντολών 1141 ΣΤ.5 Σημειώσεις για τη Μεταγλώττιση Προγραμμάτων Πολλαπλών Πηγαίων Αρχείων 1143 ΣΤ.6 Τερματισμός Προγράμματος με exit και atexit 1145 ΣΤ.7 Προσδιοριστικό Τύπου volatile 1146 ΣΤ.8 Καταλήξεις και Ακέραιες Σταθερές και Σταθερές Κινητής Υποδιαστολής 1146 ΣΤ.9 Χειρισμός Σημάτων 1147 ΣΤ.10 υναμική Κατανομή Μνήμης: Οι Συναρτήσεις calloc και realloc 1149 ΣΤ.11 Μεταβίβαση Ελέγχου Χωρίς Συνθήκη με τη goto 1150 ΣΤ.12 Ενώσεις 1151 ΣΤ.13 Προδιαγραφές Σύνδεσης 1154 ΣΤ.14 Ανακεφαλαίωση 1155 Ζ UML 2: Πρόσθετοι Τύποι διαγραμμάτων 1161 Ζ.1 Εισαγωγή 1161 Ζ.2 Πρόσθετοι Τύποι ιαγραμμάτων 1161 H Χρήση του προγράμματος εκσφαλμάτωσης Visual Studio Πρόγραμμα εκσφαλμάτωσης 1163 Η.1 Εισαγωγή 1164 Η.2 Σημεία διακοπής και η εντολή Continue 1164 Η.3 Τα παράθυρα Locals και Watch 1169 Η.4 Έλεγχος εκτέλεσης με τις εντολές Step Into, Step Over, Step Out και Continue 1172 Η.5 Το παράθυρο Autos 1174 Η.6 Ανακεφαλαίωση 1175 Θ Χρήση του Προγράμματος Εκσφαλμάτωσης GNU C Θ.1 Εισαγωγή 1177 Θ.2 Σημεία ιακοπής και οι Εντολές run, stop, continue και print 1177 Θ.3 Οι Εντολές print και set 1184 Θ.4 Έλεγχος Εκτέλεσης με τις Εντολές step, finish και next 1186 Θ.5 Η Εντολή watch 1188 Θ.6 Ανακεφαλαίωση 1191

16 ΠΕΡΙΕΧΟΜΕΝΑ xix Ι Χρήση του προγράμματος εκσφαλμάτωσης Xcode 1192 Ι.1 Εισαγωγή 1193 Ι.2 Σημεία ιακοπής και η Εντολή Continue program execution 1193 Ι.3 Παράθυρο Auto 1198 Ι.4 Έλεγχος Εκτέλεσης με τις Εντολές Step Into, Step Over και Step Out 1201 Ι.5 Ανακεφαλαίωση 1202 ΙΑ οκιμή Προγράμματος C++ σε Mac OS X 1203 Ευρετήριο 1209 [Σημείωση: Οι δοκιμές προγραμμάτων για Windows και Linux περιλαμβάνονται στο Κεφάλαιο 1].

17 Πρόλογος Η κυριότερη αξία της γλώσσας είναι η καθαρότητα Γαληνός Καλώς ήρθατε στη γλώσσα προγραμματισμού C++. Αυτό το βιβλίο παρουσιάζει τεχνολογίες αιχμής για σπουδαστές επιστήμης της πληροφορικής, προγραμματιστές λογισμικού και επαγγελματίες πληροφορικής. Το βιβλίο έχει προσαρμοστεί κατάλληλα για σειρές εισαγωγικών μαθημάτων που βασίζονται στις προτάσεις εκπαιδευτικών προγραμμάτων δύο μεγάλων επαγγελματικών οργανισμών, του ACM και του IEEE. Εάν δεν το έχετε κάνει ήδη, διαβάστε στο οπισθόφυλλο περιγραφές για την ουσία του βιβλίου. Σ αυτόν τον πρόλογο, παρέχουμε περισσότερες λεπτομέρειες για φοιτητές, καθηγητές και επαγγελματίες προγραμματιστές. Το κέντρο αυτού του βιβλίου είναι η προσέγγιση ενεργού κώδικα της Deitel. Παρουσιάζουμε έννοιες στο πλαίσιο ολοκληρωμένων λειτουργικών προγραμμάτων και όχι μόνο αποσπασμάτων κώδικα. Κάθε παράδειγμα κώδικα ακολουθείται από ένα ή περισσότερα δείγματα εκτέλεσης. ιαβάστε πριν ξεκινήσετε το άρθρο στη σελίδα ώστε να μάθετε πώς μπορείτε να ρυθμίσετε τον υπολογιστή σας, προκειμένου να μπορείτε να εκτελέσετε τα εκατοντάδες παραδείγματα κώδικα. Μπορείτε να βρείτε τον πηγαίο κώδικα στη διεύθυνση com/books/chtp7/ και Χρησιμοποιήστε τον πηγαίο κώδικα που παρέχουμε, ώστε να εκτελέσετε όλα τα προγράμματα τη στιγμή που θα μελετάτε. Πιστεύουμε ότι αυτό το βιβλίο και τα υλικά υποστήριξής του θα σας προσφέρουν μια ενημερωτική, απαιτητική και διασκεδαστική εισαγωγή στη C. Καθώς διαβάζετε το βιβλίο, εάν έχετε απορίες, στείλτε μας ένα στη διεύθυνση απαντούμε άμεσα. Για ενημερώσεις για το βιβλίο, επισκεφτείτε τη σελίδα συμμετέχετε στις κοινότητές μας στο Facebook ( ακολουθήστε μας στο Twitter και βρείτε μας στο Google+ (gplus.to/deitel) ή εγγραφείτε στο newsletter Deitel Buzz Online (www. deitel.com/newsletter/subscribe.html). Το Πρότυπο της C++11 Το νέο πρότυπο της C++11, το οποίο δημοσιεύτηκε το 2011, μας κινητοποίησε να γράψουμε αυτό το βιβλίο, μέσα στο οποίο θα βρείτε όλα τα νέα χαρακτηριστικά της C++11 με την ένδειξη 11 στο περιθώριο της σελίδας. είτε μερικά απ' τα βασικά χαρακτηριστικά της C++11 σ αυτήν την έκδοση: Ακολουθεί το νέο πρότυπο C++11. Αναλυτική κάλυψη των νέων χαρακτηριστικών της C++11 (Εικ. 1). Ο κώδικας έχει ελεγχθεί διεξοδικά σε τρεις δημοφιλείς μεταγλωττιστές C++11. Έχουμε δοκιμάστε τα παραδείγματα κώδικα σε GNU C++ 4.7, Microsoft Visual C και Apple LLVM in Xcode 4.5. Έξυπνοι δείκτες. Οι έξυπνοι δείκτες σας βοηθούν να αποφεύγετε σφάλματα διαχείρισης δυναμικής μνήμης παρέχοντας πρόσθετες λειτουργίες πέραν αυτών των ενσωματωμένων δεικτών. Μιλάμε για τον unique_ptr στο Κεφάλαιο 17 και για τους shared_ptr και weak_ptr στο Κεφάλαιο 24.

18 xxii ΠΡΟΛΟΓΟΣ Χαρακτηριστικά της C++11 στο βιβλίο all_of αλγόριθμος any_of αλγόριθμος array περιέκτης auto για εξαγωγή συμπεράσματος για τον τύπο begin/end συναρτήσεις cbegin/cend συναρτήσεις μελών περιεκτών copy_if αλγόριθμος copy_n αλγόριθμος crbegin/crend συναρτήσεις μελών περιεκτών decltype default συναρτήσεις μελών deleted συναρτήσεις μελών enum σε εμβέλεια explicit τελεστές μετατροπής final κλάσεις final συναρτήσεις μελών find_if_not αλγόριθμος forward_list περιέκτης insert συναρτήσεις μελών περιέκτη is_heap αλγόριθμος is_heap_until αλγόριθμος long long int τύπος min και max αλγόριθμοι με παραμέτρους initializer_list minmax αλγόριθμος minmax_element αλγόριθμος move αλγόριθμος move_backward αλγόριθμος noexcept none_of αλγόριθμος nullptr override λέξη-κλειδί Rvalue αναφορές shared_ptr έξυπνος δείκτης shrink_to_fit vector/ deque συνάρτηση μέλους static_assert αντικείμενα για ονόματα αρχείων string αντικείμενα για ονόματα αρχείων swap συνάρτηση που δεν είναι μέλος tuple variadic πρότυπο unique_ptr έξυπνος δείκτης weak_ptr έξυπνος δείκτης Αμετάβλητα κλειδιά σε περιέκτες συσχέτισης Ανάθεση μεθόδων κατασκευής Αρχικές τιμές σε λίστα σε κλήσεις μεθόδων κατασκευής Αρχικοποίηση λίστας με pair βασικής τιμής Αρχικοποίηση λίστας με αντικείμενα pair Αρχικοποίηση λίστας τιμών επιστροφής ιόρθωση μεταγλωττιστή για το >> σε πρότυπους τύπους Εκφράσεις Λάμδα Επαναληπτές επιστροφής Καθορισμός του τύπου σταθερών μιας απαρίθμησης Κανονικές εκφράσεις Κληρονομικότητα μεθόδων κατασκευής βασικών κλάσεων Λέξεις-κλειδιά, νέο στοιχείο στη C++11 Λίστα, που αρχικοποιεί ένα vector Λίστα που αρχικοποιεί έναν δυναμικά κατανεμημένο πίνακα Μέθοδοι κατασκευής μεταφοράς Μη αιτιοκρατική παραγωγή τυχαίων αριθμών Μη προσημασμένος long long int Ορίσματος προεπιλεγμένου τύπου σε πρότυπα συναρτήσεων Πρόταση for περιοχής Συναρτήσεις αριθμητικών μετατροπών Τελεστές εκχώρησης μεταφοράς Τιμές αρχικοποίησης εντός κλάσης Τύποι επιστροφής συναρτήσεων for Εικ. 1 Ένα δείγμα των χαρακτηριστικών της C++11 σ αυτό το βιβλίο. Έγκαιρη κάλυψη περιεκτών, επαναληπτών και αλγόριθμων της Πρότυπης βιβλιοθήκης, σε συνδυασμό με τις δυνατότητες της C++11. Μεταφέραμε την εξέταση των περιεκτών, των επαναληπτών και των αλγόριθμων της Πρότυπης βιβλιοθήκης απ' το Κεφάλαιο 22 της προηγούμενης έκδοσης στα Κεφάλαια 15 και 16 και την εμπλουτίσαμε με πρόσθετες δυνατότητες της C++11. Η μεγάλη πλειοψηφία των αναγκών μας για δομές δεδομένων μπορεί να εκπληρωθεί με την επαναχρησιμοποίηση των δυνατοτήτων της Πρότυπης βιβλιοθήκης. Θα σας δείξουμε πώς να κατασκευάζετε τις δικές σας προσαρμοσμένες δομές δεδομένων στο Κεφάλαιο 19. Κεφάλαιο 24, C++11: Πρόσθετα Θέματα. Σ αυτό το κεφάλαιο, παρουσιάζουμε πρόσθετα θέματα της C++11. Το νέο πρότυπο C++11 υπάρχει απ' το 2011, αλλά δεν υποστηρίζεται πλήρως από όλους τους μεταγλωττιστές C++. Εάν οι τρεις κύριοι μεταγλωττιστές, που χρησιμοποιούμε έχουν υλοποιήσει ένα συγκεκριμένο χαρακτηριστικό της C++11 (τουλάχιστον όσο γράφουμε αυτό το βιβλίο), τότε ενσωματώνουμε μια συζήτηση γι αυτό το χαρακτηριστικό στο βιβλίο μ' ένα παράδειγμα ενεργού κώδικα. Εάν κάποιος απ αυτούς τους μεταγλωττιστές δεν έχει υλοποιήσει αυτό το χαρακτηριστικό, προσθέτουμε μια επικεφαλίδα με πλάγια και έντονη γραφή και μια σύντομη περιγραφή του χαρακτηριστικού. Πολλές απ αυτές τις περιγραφές επεκτείνονται στο Κεφάλαιο 24, το οποίο αναπτύσσει τις

19 ΠΡΟΛΟΓΟΣ xxiii κανονικές εκφράσεις, τους έξυπνους δείκτες shared_ptr και weak_ptr, τη θεωρία μετακίνησης κ.ά. Παραγωγή τυχαίων αριθμών, προσομοίωση και παιχνίδια. Προκειμένου τα προγράμματα να γίνουν πιο ασφαλή, προσθέσαμε μια μελέτη των νέων μη αιτιοκρατικών δυνατοτήτων παραγωγής τυχαίων αριθμών της C++11. Αντικειμενοστραφής προγραμματισμός Προσέγγιση σε αντικείμενα από νωρίς. Το βιβλίο παρουσιάζει τις βασικές έννοιες και την ορολογία της τεχνολογίας αντικειμένων στο Κεφάλαιο 1. Θα αναπτύξετε τις πρώτες προσαρμοσμένες κλάσεις σας και τα δικά σας αντικείμενα στο Κεφάλαιο 3. Η παρουσίαση των αντικειμένων και των κλάσεων από νωρίς θέτει τις βάσεις ώστε να σκέφτεστε τα αντικείμενα αμέσως και να είστε σε θέση να τα εξουσιάσετε. 1 Το string της Πρότυπης βιβλιοθήκης C++. Η C++ προσφέρει δύο τύπους ακολουθιών χαρακτήρων: τα αντικείμενα της κλάσης string (τα οποία ξεκινάμε να χρησιμοποιούμε στο Κεφάλαιο 3) και τις ακολουθίες χαρακτήρων C. Έχουμε αντικαταστήσει τις περισσότερες εμφανίσεις των ακολουθιών χαρακτήρων C με στιγμιότυπα της κλάσης string της C++, ώστε τα προγράμματα να γίνονται πιο ανθεκτικά και να εξαλείφουμε πολλά προβλήματα ασφάλειας, που προκαλούν οι ακολουθίες χαρακτήρων C. Συνεχίζουμε την περιγραφή των ακολουθιών χαρακτήρων C αργότερα στο βιβλίο, ώστε να σας προετοιμάσουμε για την επεξεργασία παλαιότερου κώδικα, που θα συναντήσετε. Σε νέα προγράμματα, θα πρέπει να προτιμάτε τα αντικείμενα string. Το array της Πρότυπης βιβλιοθήκης C++. Η βασική μελέτη των πινάκων χρησιμοποιεί τώρα το πρότυπο κλάσης array της Πρότυπης βιβλιοθήκης αντί για τον ενσωματωμένο πίνακα C που βασίζεται σε δείκτες. Εξακολουθούμε να εξετάζουμε τους ενσωματωμένους πίνακες, επειδή παραμένουν χρήσιμοι στη C++ και επειδή έτσι θα μπορείτε να διαβάσετε παλαιότερο κώδικα. Η C++ προσφέρει τρεις τύπους πινάκων: array και vector (ξεκινάμε μ αυτά από το Κεφάλαιο 7) και τους πίνακες C που βασίζονται σε δείκτες (Κεφάλαιο 8). Όπου χρειάζεται, χρησιμοποιούμε το πρότυπο κλάσης array αντί για πίνακες C. Σε νέα προγράμματα, θα πρέπει να προτιμάτε τα αντικείμενα της κλάσης array. Κατασκευή πολύτιμων κλάσεων. Ένας βασικός στόχος αυτού του βιβλίου είναι να σας προετοιμάσει να κατασκευάζετε πολύτιμες κλάσεις. Στη μελέτη περίπτωσης του Κεφαλαίου 10, θα κατασκευάσετε τη δική σας προσαρμοσμένη κλάση Array και στις ασκήσεις του Κεφαλαίου 18 θα την μετατρέψετε σε πρότυπο κλάσης. Θα εκτιμήσετε πραγματικά την έννοια της κλάσης. Το Κεφάλαιο 10 ξεκινά με μια δοκιμή του προτύπου κλάσης string, ώστε να μπορείτε να δείτε μια κομψή χρήση της υπερφόρτωσης τελεστών προτού υλοποιήσετε την δική σας προσαρμοσμένη κλάση με υπερφορτωμένους τελεστές. Μελέτες περιπτώσεων στον αντικειμενοστραφή προγραμματισμό. Παρέχουμε μελέτες περιπτώσεων που εκτείνονται σε πολλαπλές ενότητες και κεφάλαια και καλύπτουν όλο τον κύκλο ζωής της ανάπτυξης λογισμικού. Μεταξύ αυτών είναι η κλάση GradeBook στα Κεφάλαια 3 7, η κλάση Time στο Κεφάλαιο 9 και η κλάση Employee στο Κεφάλαια Το Κεφάλαιο 12 περιέχει ένα αναλυτικό διάγραμμα και εξήγηση του πώς η C++ υλοποιεί τον πολυμορφισμό, τις virtual συναρτήσεις και τη δυναμική σύνδεση στο παρασκήνιο. Προαιρετική μελέτη περίπτωσης: Χρήση της UML για ανάπτυξη αντικειμενοστραφούς σχεδίου και υλοποίηση ενός ΑΤΜ με τη C++. Η γλώσσα UML (Unified Modeling Language ) είναι η γλώσσα γραφικών, που θέτει το πρότυπο στη βιομηχανία για τη μοντελοποίηση αντικειμενοστραφών συστημάτων. Παρουσιάζουμε την UML στα πρώτα κεφάλαια. Τα Κεφάλαια 25 και 26 περιλαμβάνουν μια 1. Για μαθήματα που απαιτούν μια προσέγγιση αντικειμένων σε μεταγενέστερο επίπεδο, διαβάστε το βιβλίο C++ How to Program, Late Objects Version, το οποίο ξεκινά με έξι κεφάλαια για τα βασικά του προγραμματισμού (δύο για εντολές ελέγχου) και συνεχίζει με επτά κεφάλαια που παρουσιάζουν σταδιακά τις έννοιες του αντικειμενοστραφούς προγραμματισμού.

20 xxiv ΠΡΟΛΟΓΟΣ προαιρετική μελέτη περίπτωσης για την αντικειμενοστραφή σχεδίαση με UML. Σχεδιάζουμε και υλοποιούμε το λογισμικό για ένα απλό σύστημα αυτόματων τραπεζικών συναλλαγών ATM. Αναλύουμε ένα τυπικό έγγραφο απαιτήσεων, το οποίο καθορίζει το σύστημα υπό κατασκευή. Προσδιορίζουμε τις κλάσεις που απαιτούνται για την υλοποίηση αυτού του συστήματος, τις ιδιότητες που πρέπει να έχουν οι κλάσεις, τις συμπεριφορές, που πρέπει να επιδεικνύουν οι κλάσεις και καθορίζουμε πώς πρέπει οι κλάσεις να αλληλεπιδρούν μεταξύ τους, ώστε να πληρούν τις απαιτήσεις του συστήματος. Από το σχέδιο παράγουμε μια πλήρη υλοποίηση σε C++. Οι φοιτητές συχνά αναφέρουν ότι η μελέτη περίπτωσης τους βοηθά να συνδέσουν όλα τα κομμάτια του παζλ και να καταλάβουν πραγματικά τον προσανατολισμό στα αντικείμενα. Χειρισμός εξαιρέσεων. Ενσωματώνουμε βασικά στοιχεία χειρισμού εξαιρέσεων νωρίς στο βιβλίο. Οι καθηγητές μπορούν εύκολα να αντλήσουν πιο αναλυτικό υλικό από το Κεφάλαιο 17, Χειρισμός Εξαιρέσεων: Μια Βαθύτερη Ματιά. Προσαρμοσμένες δομές δεδομένων που βασίζονται σε πρότυπα. Παρέχουμε μια πλούσια μελέτη των δομών δεδομένων σε πολλά κεφάλαια ανατρέξτε στο κομμάτια για τις δομές δεδομένων στον πίνακα εξαρτήσεων κεφαλαίων (Εικ. 6). Τρία προγραμματιστικά δόγματα. Εξετάζουμε τον δομημένο προγραμματισμό, τον αντικειμενοστραφή προγραμματισμό και τον γενικό προγραμματισμό. Παιδαγωγικά στοιχεία Πλούσια κάλυψη των βασικών σημείων της C++. Συμπεριλαμβάνουμε μια αναλυτική εξέταση των εντολών ελέγχου και της ανάπτυξης αλγόριθμων σε δύο κεφάλαια. Το Κεφάλαιο 2 παρέχει μια απλή εισαγωγή στον προγραμματισμό στη C++. Παραδείγματα. Έχουμε συμπεριλάβει πολλά παραδείγματα προγραμμάτων απ' την επιστήμη των υπολογιστών, τις επιχειρήσεις, την προσομοίωση, τα παιχνίδια και άλλα θέματα (Εικ. 2). Παραδείγματα BasePlusCommissionEmployee κλάση BinarySearch δοκιμαστικό πρόγραμμα ClientData κλάση CommissionEmployee κλάση Date κλάση Employee κλάση explicit μέθοδος κατασκευής fibonacci συνάρτηση fill αλγόριθμοι generate αλγόριθμοι GradeBook κλάση map πρότυπο κλάσης maximum πρότυπο συνάρτησης multiset πρότυπο κλάσης new που προκαλεί bad_alloc σε περίπτωση αποτυχίας PhoneNumber κλάση priority_queue κλάση προσαρμογέα queue κλάση προσαρμογέα SalariedEmployee κλάση SalesPerson κλάση set πρότυπο κλάσης shared_ptr πρόγραμμα Stack κλάση stack κλάση προσαρμογέα string εκχώρηση και συνένωση string συνάρτηση μέλους substr Time κλάση unique_ptr αντικείμενο που διαχειρίζεται δυναμικά κατανεμημένη μνήμη vector πρότυπο κλάσης Εικ. 2 είγμα των παραδειγμάτων του βιβλίου (Μέρος 1 από 2).

21 ΠΡΟΛΟΓΟΣ xxv Παραδείγματα Άθροισμα ακέραιων με την πρόταση for Αλγόριθμοι αναζήτησης και ταξινόμησης της Πρότυπης βιβλιοθήκης Αναδρομική συνάρτηση factorial Ανακάτεμα και μοίρασμα φύλων Αρχεία τυχαίας προσπέλασης Αρχικοποίηση πίνακα σε δήλωση ημιουργία και διάσχιση δυαδικών δέντρων Ειδικεύσεις προτύπων συναρτήσεων του προτύπου συνάρτησης printarray Είσοδος από αντικείμενο istringstream Εκφράσεις Λάμδα Επανάληψη που ελέγχεται από μετρητή Επικύρωση εισόδου χρήστη με κανονικές εκφράσεις Κλάση Author Λύση επαναληπτικού παραγοντικού Μαθηματικοί αλγόριθμοι της Πρότυπης βιβλιοθήκης Μελέτη περίπτωσης κλάσης Array Μεταγλώττιση και σύνδεση Μετατροπή αντικειμένων string σε ακολουθίες χαρακτήρων C Μπαρμπούτι, προσομοίωση Ξετύλιγμα στοίβας Παραγωγή τυχαίων αριθμών Παρουσίαση πολυμορφισμού Πράξεις ανατοκισμού με το for Προ-αύξηση και μετα-αύξηση Πρόγραμμα ανάλυσης δημοσκόπησης Πρόγραμμα εκτύπωσης διαγραμμάτων ράβδου Πρόγραμμα κλάσης string Πρότυπης βιβλιοθήκης Πρόγραμμα πληροφοριών πίστωσης Πρόγραμμα ταξινόμησης συγχώνευσης Πρόγραμμα τραπεζικού λογαριασμού Ρίψη ζαριού φορές Σειριακά αρχεία Σύγκριση ακολουθιών χαρακτήρων Υποβιβασμός τύπων και πληροφορίες τύπου εκτέλεσης Χειρισμός συνδεδεμένης λίστας Χειριστής ροής showbase Εικ. 2 είγμα των παραδειγμάτων του βιβλίου (Μέρος 2 από 2). Κοινό. Τα παραδείγματα απευθύνονται σε φοιτητές επιστήμης υπολογιστών, τεχνολογίας πληροφορικής, μηχανικής λογισμικού και οργάνωσης επιχειρήσεων, αρχικού και μέσου επιπέδου, με στόχο την εκμάθηση της C++. Το βιβλίο χρησιμοποιείται επίσης από επαγγελματίες προγραμματιστές. Ερωτήσεις επανάληψης και απαντήσεις. Εκτεταμένες ερωτήσεις επανάληψης και απαντήσεις, για αυτοεξέταση. Ενδιαφέρουσες, διασκεδαστικές και απαιτητικές ασκήσεις. Κάθε κεφάλαιο ολοκληρώνεται μ' ένα ουσιώδες σύνολο ασκήσεων, όπου συμπεριλαμβάνεται μια απλή ανακεφαλαίωση των σημαντικών όρων και εννοιών, η αναγνώριση των σφαλμάτων σε δείγματα κώδικα, η σύνταξη προτάσεων προγραμμάτων, η δημιουργία μικρών τμημάτων κλάσεων και συναρτήσεων μελών ή μη μελών της C++, η δημιουργία ολόκληρων προγραμμάτων και η υλοποίηση μεγάλων έργων. Η Εικόνα 3 περιέχει ένα δείγμα των ασκήσεων του βιβλίου, μέσα συμπεριλαμβανομένων των ασκήσεων Κάντε τη διαφορά, οι οποίες σας ενθαρρύνουν να χρησιμοποιείτε υπολογιστές και το Internet για έρευνα και για επίλυση σημαντικών κοινωνικών προβλημάτων. Ελπίζουμε ότι θα προσεγγίσετε αυτές τις ασκήσεις με τις δικές σας αξίες, απόψεις και πεποιθήσεις. Ασκήσεις Bubble Sort The Twelve Days of Christmas, τραγούδι Ανακάτεμα και μοίρασμα φύλων Απλή Αποκρυπτογράφηση Απλή Κρυπτογράφηση Απόκριση σε επείγουσα ανάγκη Αύξηση βάσης χρηστών του Facebook Εικ. 3 είγμα των ασκήσεων του βιβλίου (Μέρος 1 από 2).

22 xxvi ΠΡΟΛΟΓΟΣ Ασκήσεις Αύξηση παγκόσμιου πληθυσμού Αφηρημένη κλάση για το αποτύπωμα του άνθρακα: Πολυμορφισμός Γεννήτρια σταυρόλεξων Γλώσσα SMS ιάσχιση λαβύρινθου: Τυχαία παραγωγή λαβύρινθων Έλεγχος phishing Έλεγχος spam Εναλλακτικές λύσεις φορολόγησης: ο «δίκαιος φόρος» Επιβολή ιδιωτικότητας με κρυπτογραφία Κατανάλωση βενζίνης Κατασκευάστε τον δικό σας μεταγλωττιστή Κατασκευάστε τον δικό σας υπολογιστή Κορακίστικα Κόσκινο του Ερατοσθένη Κουίζ για την υπερθέρμανση του πλανήτη Κρεμάλα Κρυπτογραφήματα Κώδικας Μορς Μαγειρική με πιο υγιεινά υλικά Μάντεψε τον αριθμό Μπαρμπούτι, τροποποίηση Νόμοι του De Morgan Ο λαγός και η χελώνα, προσομοίωση Οδηγίες με υποβοήθηση από τον υπολογιστή Οδηγίες με υποβοήθηση από τον υπολογιστή: ιάφοροι τύποι προβλημάτων Οδηγίες με υποβοήθηση από τον υπολογιστή: επίπεδα δυσκολίας Οδηγίες με υποβοήθηση από τον υπολογιστή: Μείωση κόπωσης φοιτητών Οδηγίες με υποβοήθηση από τον υπολογιστή: Παρακολούθηση επιδόσεων φοιτητών Οκτώ βασίλισσες Ορθογραφικός έλεγχος Παραγωγή λέξεων από αριθμού τηλεφώνου Πιστωτικά όρια Πολυμορφικό πρόγραμμα τράπεζας με ιεραρχία λογαριασμών Προχωρημένος χειρισμός ακολουθιών Πυθαγόρειες τριάδες Πύργοι του Ανόι Ρίψη ζαριών Σειρά Fibonacci Σύστημα κρατήσεων αεροπορικών θέσεων Σύστημα μισθοδοσίας, τροποποίηση Υπολογισμός μισθών Υπολογιστής μισθού Υπολογιστής στόχου καρδιακού παλμού Εικ. 3 είγμα των ασκήσεων του βιβλίου (Μέρος 2 από 2). Εικόνες και σχήματα. Πίνακες, σχέδια, διαγράμματα UML, προγράμματα και έξοδοι προγραμμάτων σε όλο το βιβλίο. είτε ένα δείγμα των σχεδίων και των διαγραμμάτων του βιβλίου στην Εικ. 4. Σχέδια και διαγράμματα Σχέδια και διαγράμματα βασικού κειμένου CommunityMember ιεραρχία κληρονομικότητας do while εντολή επανάληψης, διάγραμμα δραστηριοτήτων UML Employee διαγράμματα κλάσεων UML για ιεραρχία for εντολή επανάληψης, διάγραμμα δραστηριοτήτων UML GradeBook διαγράμματα κλάσεων if εντολή μίας επιλογής, διάγραμμα δραστηριοτήτων if else πρόταση διπλής επιλογής, διάγραμμα δραστηριοτήτων public, protected και private κληρονομικότητα Shape ιεραρχία κληρονομικότητας switch εντολή πολλαπλών επιλογών, διάγραμμα δραστηριοτήτων while εντολή επανάληψης, διάγραμμα δραστηριοτήτων UML Αναδρομικές κλήσεις στη συνάρτηση fibonacci Αριθμητικά διαγράμματα δεικτών Εικ. 4 είγμα των σχεδίων και των διαγραμμάτων του βιβλίου (Μέρος 1 από 2).

23 ΠΡΟΛΟΓΟΣ xxvii Σχέδια και διαγράμματα Γραφική αναπαράσταση δυαδικού δέντρου Γραφική αναπαράσταση λίστας Γραφική αναπαράσταση της πράξης insertatback Γραφική αναπαράσταση της πράξης insertatfront Γραφική αναπαράσταση της πράξης removefromback Γραφική αναπαράσταση της πράξης removefromfront ιαγράμματα ιεραρχίας κληρονομικότητας ιπλά συνδεδεμένη λίστα ύο αυτοαναφερόμενα αντικείμενα κλάσης σε σύνδεση Ιεραρχία δεδομένων Ιεραρχία προτύπων εισόδου/ εξόδου ροής Κυκλική, διπλά συνδεδεμένη λίστα Κυκλική, μονά συνδεδεμένη λίστα Λειτουργία κλήσεων συναρτήσεων virtual Μεταγλώττιση και σύνδεση για πολλαπλά αρχεία πηγαίου κώδικα Πέρασμα μέσω τιμής και μέσω αναφορά, ανάλυση προγράμματος Προτάσεις ακολουθίας, επιλογής και επανάληψης μίας εισόδου και μίας εξόδου Σειρά αποτίμησης πολυωνύμου δεύτερου βαθμού Στοίβα κλήσεων συναρτήσεων και εγγραφές ενεργοποίησης Μελέτη Περίπτωσης: Σχέδια και διαγράμματα ATM ιάγραμμα ακολουθίας που μοντελοποιεί την εκτέλεση μιας συναλλαγής Withdrawal ιάγραμμα ακολουθίας που μοντελοποιεί την εκτέλεση της συναλλαγής Deposit ιάγραμμα δραστηριοτήτων για μια συναλλαγή BalanceInquiry ιάγραμμα δραστηριοτήτων για μια συναλλαγή Deposit ιάγραμμα δραστηριοτήτων για μια συναλλαγή Withdrawal ιάγραμμα επικοινωνίας που εκτελεί ερώτηση υπολοίπου ιάγραμμα επικοινωνίας του ATM που εκτελεί ερώτηση υπολοίπου ιάγραμμα κατάστασης για το ATM ιάγραμμα κλάσεων για το μοντέλο του συστήματος ATM ιάγραμμα κλάσεων για το σύστημα ATM με την κλάση Deposit ιάγραμμα κλάσεων που δείχνει μια συσχέτιση μεταξύ κλάσεων ιάγραμμα κλάσεων, που δείχνει σχέσεις σύνθεσης ιάγραμμα κλάσεων που δείχνει τις σχέσεις σύνθεσης μιας κλάσης Car ιάγραμμα χρήσης για μια τροποποιημένη εκδοχή του συστήματος ATM, η οποία επιτρέπει στους χρήστες να μεταφέρουν χρήματα μεταξύ λογαριασμών ιάγραμμα χρήσης για το σύστημα ATM από την πλευρά του χρήστη Κλάσεις με ιδιότητες Κλάσεις στο σύστημα ATM με ιδιότητες και πράξεις Εικ. 4 είγμα των σχεδίων και των διαγραμμάτων του βιβλίου (Μέρος 2 από 2). VideoNotes. Το συνοδευτικό website περιλαμβάνει πολλές ώρες βίντεο VideoNotes, στα οποία ο Paul Deitel εξηγεί αναλυτικά τα βασικά προγράμματα των κυριότερων κεφαλαίων. Έχουμε δημιουργήσει έναν πίνακα μετάβασης, που κάνει την αντιστοίχιση κάθε VideoNote με την αντίστοιχη εικόνα στο βιβλίο ( Άλλα χαρακτηριστικά είκτες. Παρέχουμε αναλυτική κάλυψη των δυνατοτήτων των ενσωματωμένων δεικτών και της στενής σχέσης μεταξύ των ενσωματωμένων δεικτών, των ακολουθιών χαρακτήρων C και των ενσωματωμένων πινάκων. Οπτική παρουσίαση της αναζήτησης και της ταξινόμησης, με μια απλή εξήγηση του Big O. Πρόσθετη ύλη στο Internet. Στο συνοδευτικό website θα βρείτε πολλές πρόσθετες πληροφορίες και συμβουλές.

24 xxviii ΠΡΟΛΟΓΟΣ Παραρτήματα για προγράμματα εκσφαλμάτωσης. Παρέχουμε τρία παραρτήματα για προγράμματα εκσφαλμάτωσης: Το Παράρτημα H, Χρήση του προγράμματος εκσφαλμάτωσης Visual Studio, Παράρτημα Θ, Χρήση του προγράμματος εκσφαλμάτωσης GNU C++ και Παράρτημα Ι, Χρήση του προγράμματος εκσφαλμάτωσης Xcode. Ασφαλής Προγραμματισμός στη C++ Είναι δύσκολο να κατασκευάζουμε ισχυρά συστήματα που μπορούν να αντισταθούν σε επιθέσεις από ιούς, σκουλήκια και άλλες μορφές κακόβουλου λογισμικού. Σήμερα, μέσα από το Internet, τέτοιες επιθέσεις μπορούν να γίνουν άμεσα και με παγκόσμιο βεληνεκές. Η ενσωμάτωση στοιχείων ασφάλειας στο λογισμικό απ' την αρχή του κύκλου ανάπτυξης μπορεί να μειώσει σημαντικά τα τρωτά σημεία. Το κέντρο συντονισμού CERT ( δημιουργήθηκε με σκοπό την ανάλυση και την άμεση απόκριση σε επιθέσεις. Το CERT Computer Απόκριση σε επείγουσα ανάγκη Team εκδίδει και προωθεί πρότυπα ασφαλούς κωδικοποίησης, ώστε να βοηθήσει προγραμματιστές της C και άλλους να υλοποιούμε ανθεκτικά συστήματα που αποφεύγουν πρακτικές προγραμματισμού που αφήνουν τα συστήματα ανοιχτά σε επιθέσεις. Τα πρότυπα του CERT εξελίσσονται, καθώς πάντα προκύπτουν νέα θέματα ασφάλειας. Θα θέλαμε να ευχαριστήσουμε τον Robert C. Seacord, ιευθυντή ασφαλούς προγραμματισμού στο CERT στο Ίδρυμα μηχανικής λογισμικού (SEI) του πανεπιστημίου Carnegie Mellon και αναπληρωτής καθηγητής στη σχολή Επιστήμης υπολογιστών του ίδιου πανεπιστημίου. Ο κύριος Seacord συνεργάστηκε ως τεχνικός επιμελητής σε βιβλίο μας για τον προγραμματισμό στη C, όπου παρείχε συγκεκριμένες συστάσεις για τη συμμόρφωσή μας με το πρότυπο ασφαλούς προγραμματισμού CERT C Secure Coding Standard. Έχουμε κάνει το ίδιο γι αυτό το βιβλίο και ακολουθούμε το πρότυπο CERT C++ Secure Coding Standard, για το οποίο θα μάθετε περισσότερα στο: Με χαρά συνειδητοποιήσαμε ότι προτείνουμε ήδη πολλές απ αυτές τις πρακτικές προγραμματισμού στα βιβλία μας. Αναβαθμίσαμε τον κώδικα και τις περιγραφές μας σύμφωνα μ αυτές τις πρακτικές, όπως ταιριάζει σε ένα εκπαιδευτικό βιβλίο εισαγωγικού και μεσαίου επιπέδου. Όταν θα κατασκευάζετε επαγγελματικά συστήματα με τη C++, ανατρέξτε στο βιβλίο Secure Coding in C and C++, Second Edition (Robert Seacord, Addison-Wesley Professional). Ύλη στο Internet Η συνοδευτική δικτυακή τοποθεσία του βιβλίου περιέχει διάφορα στοιχεία και συμβουλές σε αρχεία PDF, μεταξύ των οποίων θα βρείτε: Εκτεταμένα βίντεο VideoNotes παρακολουθήστε και ακούστε τον Paul Deitel να εξηγεί βασικά παραδείγματα κώδικα από τα κεφάλαια του βιβλίου. Κατασκευάστε τον δικό σας μεταγλωττιστή, περιγραφή της άσκησης απ' το Κεφάλαιο 19 (θα το βρείτε στο συνοδευτικό website και στο οκιμή του προγράμματος του Κεφαλαίου 1 για Mac OS X.

25 ΠΡΟΛΟΓΟΣ xxix Πίνακας Εξαρτήσεων Ο πίνακας στην Εικ. 6 παρουσιάζει την προτεινόμενη σειρά μεταξύ των κεφαλαίων, ώστε οι καθηγητές να μπορούν να οργανώσουν καλύτερα το πρόγραμμά τους. Το βιβλίο είναι κατάλληλο για εισαγωγικά μαθήματα πληροφορικής και γλωσσών προγραμματισμού. Το διάγραμμα δείχνει την αρθρωτή οργάνωση του βιβλίου. ιδασκαλική Προσέγγιση Το βιβλίο περιέχει μια πλούσια συλλογή από παραδείγματα. Εστιάζουμε στην καλή σχεδίαση λογισμικού και τονίζουμε την καθαρότητα των προγραμμάτων. Προσέγγιση ενεργού κώδικα. Το βιβλίο περιέχει πολλά παραδείγματα ενεργού κώδικα οι περισσότερες νέες έννοιες παρουσιάζονται μέσα σε πλήρως λειτουργικές εφαρμογές C++, ενώ ακολουθούν μία ή περισσότερες εκτελέσεις με την είσοδο και την έξοδο κάθε προγράμματος. Στις λίγες περιπτώσεις που χρησιμοποιούμε απόσπασμα κώδικα, για να εξασφαλίσουμε ότι ο κώδικας είναι σωστός, τον έχουμε δοκιμάσει μέσα σε ένα πλήρως λειτουργικό πρόγραμμα και κατόπιν τον αντιγράψαμε και τον επικολλήσαμε στο βιβλίο. Σκίαση σύνταξης. Για μεγαλύτερη ευκολία στην ανάγνωση, τονίζουμε τον κώδικα περίπου όπως κάνουν τα περισσότερα πακέτα εργαλείων ανάπτυξης λογισμικού. Οι συμβάσεις που χρησιμοποιούμε για τη σύνταξη του κώδικα σ αυτό το βιβλίο είναι οι εξής: τα σχόλια εμφανίζονται έτσι οι εντολές εμφανίζονται έτσι οι σταθερές τιμές εμφανίζονται έτσι όλος ο άλλος κώδικας προβάλλεται με ειδική γραμματοσειρά Επισήμανση κώδικα. Τοποθετούμε γκρι ορθογώνια γύρω από σημαντικό κώδικα. Χρήση γραμματοσειρών για λόγους έμφασης. Χρησιμοποιούμε έντονη γραφή για τους σημαντικούς όρους και την αναφορά σελίδας στο ευρετήριο για κάθε σημαντική εμφάνιση ενός όρου για εύκολη αναφορά. Χρησιμοποιούμε διαφορετικές γραμματοσειρές για τον κώδικα στα προγράμματα και μέσα στο κείμενο για να τον διακρίνετε καλύτερα. Στόχοι. Στην αρχή κάθε κεφαλαίου παραθέτουμε μια λίστα με τους εκπαιδευτικούς στόχους κάθε κεφαλαίου. Συμβουλές προγραμματισμού. Έχουμε προσθέσει συμβουλές προγραμματισμού που θα σας βοηθήσουν να εστιάσετε σε σημαντικά σημεία της ανάπτυξης λογισμικού. Αυτές οι συμβουλές και πρακτικές είναι ότι καλύτερο έχουμε συνδυάσει από επτά δεκαετίες εμπειρίας στον προγραμματισμό και στην διδασκαλία. Καλή Πρακτική Προγραμματισμού Οι Καλές Πρακτικές Προγραμματισμού επισείουν την προσοχή σε τεχνικές, που θα σας βοηθήσουν να παράγετε προγράμματα που είναι πιο καθαρά, πιο κατανοητά και πιο εύκολα συντηρήσιμα. Κοινό Σφάλμα Προγραμματισμού Οι σπουδαστές που μαθαίνουν μια γλώσσα τείνουν να κάνουν συγκεκριμένα κάποια σφάλματα πιο συχνά. Η έμφαση σ αυτά τα Κοινά Σφάλματα Προγραμματισμού μειώνει την πιθανότητα να επαναλαμβάνονται.

26 xxx ΠΡΟΛΟΓΟΣ Εικ. 6 ιάγραμμα εξαρτήσεων κεφαλαίων Εισαγωγή 1 Εισαγωγή στους υπολογιστές και τη C++ [Σημείωση: Τα βέλη που δείχνουν σ' ένα κεφάλαιο υποδεικνύουν τις εξαρτήσεις του συγκεκριμένου κεφαλαίου]. Εισαγωγή στον προγραμματισμό, τις κλάσεις και τα αντικείμενα 2 Eισαγωγή στον προγραμματισμό στη C++, στην είσοδο/έξοδο και στους τελεστές 3 Εισαγωγή στις κλάσεις, τα αντικείμενα και τις ακολουθίες χαρακτήρων Εντολές ελέγχου, μέθοδοι και πίνακες 4 Εντολές ελέγχου: Μέρος 1 Εκχώρηση και τελετές ++ και -- 5 Εντολές ελέγχου: Μέρος 2 Λογικοί τελεστές 6 Συναρτήσεις και εισαγωγή στην αναδρομή 7 Πρότυπα κλάσεων array και vector Σύλληψη εξαιρέσεων Παλαιότερα θέματα της C 22 Bit, χαρακτήρες, ακολουθίες χαρακτήρων C και struct Αντικειμενοστραφής σχεδίαση με την UML 25 (Προαιρετικό) Αντικειμενοστραφής σχεδίαση με την UML 26 (Προαιρετικό) Υλοποίηση αντικειμενοστραφούς σχεδίου Ροές, αρχεία και ακολουθίες χαρακτήρων 13 Είσοδος/Έξοδος ροής: Μια βαθύτερη ματιά Η κλάση string Επεξεργασία και επεξεργασία αρχείων ροών ακολουθιών χαρακτήρων: Μια βαθύτερη ματιά 8 είκτες Αντικειμενοστραφής προγραμματισμός 9 Κλάσεις: Μια βαθύτερη ματιά Πρόκληση εξαιρέσεων 10 Υπερφόρτωση τελεστών η κλάση string 11 OOP: Κληρονομικότητα 12 OOP: Πολυμορφισμός 17 Χειρισμός εξαιρέσεων: Μια βαθύτερη ματιά Άλλα Θέματα και χαρακτηριστικά της C Άλλα θέματα 24 C++11: Πρόσθετα χαρακτηριστικά ομές δεδομένων 15 Περιέκτες και επαναλήπτες της Πρότυπης βιβλιοθήκης 16 Οι αλγόριθμοι της Πρότυπης βιβλιοθήκης Αναδρομή 18 Εισαγωγή στα προσαρμοσμένα πρότυπα 19. Προσαρμοσμένες προτυποιημένες δομές δεδομένων 20 Αναζήτηση και ταξινόμηση 1. Μπορείτε να διαβάσετε το μεγαλύτερο μέρος του Κεφαλαίου 13 μετά το Κεφάλαιο 7. Ένα μικρό κομμάτι προϋποθέτει τη γνώση των Κεφαλαίων 11 και 18.

27 ΠΡΟΛΟΓΟΣ xxxi Υπόδειξη Αποτροπής Σφάλματος Όταν σχεδιάσαμε αρχικά αυτό το είδος συμβουλής, σκεφτόμασταν ότι θα περιέχουν προτάσεις για την επισήμανση ατελειών και την αφαίρεσή τους απ' τα προγράμματα. Πολλές μάλιστα από τις συμβουλές περιγράφουν πλευρές της C, που εμποδίζουν τις ατέλειες να φτάσουν στα προγράμματα εξ αρχής. Υπόδειξη Βέλτιστης Απόδοσης Συμπεριλάβαμε Υποδείξεις Βέλτιστης Απόδοσης, που επισημάνουν τις ευκαιρίες για βελτίωση της απόδοσης των προγραμμάτων, δηλαδή της πιο γρήγορης εκτέλεσης ή της ελαχιστοποίησης της ποσότητας μνήμης που καταλαμβάνουν. Υπόδειξη Φορητότητας Συμπεριλάβαμε Υποδείξεις Φορητότητας για να σας βοηθήσουμε να γράψετε φορητό κώδικα και να δείτε πώς η C επιτυγχάνει υψηλό βαθμό φορητότητας. Παρατήρηση Μηχανικής Λογισμικού Οι Παρατηρήσεις Μηχανικής Λογισμικού επισημαίνουν αρχιτεκτονικά και σχεδιαστικά ζητήματα, που επηρεάζουν την κατασκευή συστημάτων λογισμικού, ιδιαίτερα για μεγάλα έργα. Κουκκίδες σύνοψης. Παρουσιάζουμε μια περίληψη ανά ενότητα με κουκκίδες σε κάθε κεφάλαιο. Ευρετήριο. Έχουμε συμπεριλάβει ένα εκτεταμένο ευρετήριο, το οποίο είναι ιδιαίτερα χρήσιμο όταν χρησιμοποιείτε το βιβλίο ως αναφορά. Η σελίδα όπου ορίζονται οι όροι επισημαίνονται με έντονη γραφή. Απόκτηση του Λογισμικού που Χρησιμοποιείται στο Βιβλίο Έχουμε γράψει τα παραδείγματα κώδικα του βιβλίου χρησιμοποιώντας τα παρακάτω εργαλεία ανάπτυξης της C++: Το δωρεάν Visual Studio Express 2012 της Microsoft για Windows Desktop, το οποίο περιλαμβάνει τη Visual C++ και άλλα εργαλεία ανάπτυξης της Microsoft. Εκτελείται σε Windows 7 και 8 και διατίθεται για λήψη στη διεύθυνση Το δωρεάν GNU C++ (gcc.gnu.org/install/binaries.html) της GNU, το οποίο είναι προεγκατεστημένο στα περισσότερα συστήματα Linux και μπορεί επίσης να εγκατασταθεί σε συστήματα με Mac OS X και Windows. Το δωρεάν Xcode της Apple, το οποίο μπορούν να λάβουν οι χρήστες του OS X απ' το Mac App Store. Βοηθήματα για τον Καθηγητή Μόνο πιστοποιημένοι καθηγητές μπορούν να βρουν τα παρακάτω βοηθήματα στο Κέντρο Ερευνών για Καθηγητές της Pearson Education ( Το λυσάρι περιέχει λύσεις για τις περισσότερες απ' τις ασκήσεις κάθε κεφαλαίου. Έχουμε προσθέσει πολλές ασκήσεις Κάντε τη διαφορά και για τις περισσότερες παρέχουμε τις λύσεις. Σας παρακαλούμε μην μας γράφετε ζητώντας πρόσβαση στο Κέντρο Πόρων για Καθηγητές της Pearson. Η πρόσβαση επιτρέπεται μόνο σε καθηγητές πανεπιστημίων που διδάσκουν αυτό το βιβλίο. Οι καθηγητές μπορούν να αποκτήσουν τα διαπιστευτήρια πρόσβασης μέσα απ' τους αντιπροσώπους της Pearson. Εάν δεν είστε επίσημο μέλος του σώματος καθηγητών, απευθυνθείτε στον αντιπρόσωπο

Περιεχόμενα. Λίγα λόγια για αυτή την έκδοση... 23

Περιεχόμενα. Λίγα λόγια για αυτή την έκδοση... 23 Περιεχόμενα Λίγα λόγια για αυτή την έκδοση...... 23 Κεφάλαιο 1 Εισαγωγή... 25 O στόχος του βιβλίου και σε ποιους απευθύνεται... 27 Πώς να διαβάσετε αυτό το βιβλίο... 27 Εκπαίδευση από απόσταση... 29 Ιστορική

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

Περιεχόμενα. Πρόλογος... 21

Περιεχόμενα. Πρόλογος... 21 Περιεχόμενα Πρόλογος... 21 Κεφάλαιο 1: Εισαγωγή στον προγραμματισμό... 25 Εισαγωγή...27 Πώς να διαβάσετε αυτό το βιβλίο...27 Η δομή των κεφαλαίων...28 Γιατί να μάθω προγραμματισμό;...31 Γιατί να μάθω C;...31

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

Οδηγός των Ελληνικών Microsoft WINDOWS 7

Οδηγός των Ελληνικών Microsoft WINDOWS 7 Οδηγός των Ελληνικών Microsoft WINDOWS 7 Chris Fehily Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2010 www.mgiurdas.gr Τίτλος

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

Περιεχόμενα. Περιεχόμενα

Περιεχόμενα. Περιεχόμενα Περιεχόμενα xv Περιεχόμενα 1 Αρχές της Java... 1 1.1 Προκαταρκτικά: Κλάσεις, Τύποι και Αντικείμενα... 2 1.1.1 Βασικοί Τύποι... 5 1.1.2 Αντικείμενα... 7 1.1.3 Τύποι Enum... 14 1.2 Μέθοδοι... 15 1.3 Εκφράσεις...

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

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0 ΤΙ ΕΙΝΑΙ ΤΟ ADVANCED Οι Advanced θεματικές ενότητες είναι κατάλληλες για άτομα που επιθυμούν να συνεχίσουν σπουδές στο χώρο

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

C++ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. P. J. Deitel. H. M. Deitel. Εκδόσεις: Μ. Γκιούρδας ΕΚΤΗ ΕΚ ΟΣΗ. Deitel & Associates, Inc. Deitel & Associates, Inc.

C++ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. P. J. Deitel. H. M. Deitel. Εκδόσεις: Μ. Γκιούρδας ΕΚΤΗ ΕΚ ΟΣΗ. Deitel & Associates, Inc. Deitel & Associates, Inc. C++ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΚΤΗ ΕΚ ΟΣΗ P. J. Deitel Deitel & Associates, Inc. H. M. Deitel Deitel & Associates, Inc. Απόδοση: Ε. Γκαγκάτσιου Ηλεκτρονικός Μηχανικός Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74

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

Περιεχόμενα. Πρόλογος... 17

Περιεχόμενα. Πρόλογος... 17 Περιεχόμενα Πρόλογος... 17 Κεφάλαιο 1: Εισαγωγή... 19 Πώς να διαβάσετε αυτό το βιβλίο... 20 Η γλώσσα C Ιστορική αναδρομή... 22 Τα χαρακτηριστικά της C... 23 C Μια δομημένη γλώσσα... 23 C Μια γλώσσα για

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

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

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

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος του συγγραφέα... 13 Πρόλογος του καθηγητή Τιμολέοντα Σελλή... 15 ΚΕΦΑΛΑΙΟ 1: Εργαλεία γλωσσών προγραμματισμού...17 1.1 Γλώσσες προγραμματισμού τρίτης γεννεάς... 18 τι είναι η γλώσσα

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

Adobe Dreamweaver CS3

Adobe Dreamweaver CS3 i Adobe Dreamweaver CS3 Βήμα προς Βήμα Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2007 www.mgiurdas.gr Τίτλος Πρωτοτύπου:

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

Adobe FLASH Professional CC

Adobe FLASH Professional CC Adobe FLASH Professional CC ΒHΜΑ ΠΡΟΣ ΒHΜΑ Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2014 www.mgiurdas.gr Τίτλος Πρωτοτύπου:

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

Πλήρες Εγχειρίδιο. της C++ 8 η ΕΚΔΟΣΗ. Εκδόσεις: Μ. Γκιούρδας. Siddhartha Rao. Απόδοση: Μαίρη Γκλα βά

Πλήρες Εγχειρίδιο. της C++ 8 η ΕΚΔΟΣΗ. Εκδόσεις: Μ. Γκιούρδας. Siddhartha Rao. Απόδοση: Μαίρη Γκλα βά Πλήρες Εγχειρίδιο της C++ 8 η ΕΚΔΟΣΗ Siddhartha Rao Απόδοση: Μαίρη Γκλα βά Μαθηματικός, MSc Computer Sci ence Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2017 www.mgiurdas.gr

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

Dreamweaver. Adobe ΒHΜΑ ΠΡΟΣ ΒHΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού

Dreamweaver. Adobe ΒHΜΑ ΠΡΟΣ ΒHΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Adobe Dreamweaver CC ΒHΜΑ ΠΡΟΣ ΒHΜΑ Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 Τηλ.: 210 3630219 106 81 Αθήνα, 2014 www.mgiurdas.gr Τίτλος Πρωτοτύπου: Adobe

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

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

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

HTML5, CSS και JavaScript

HTML5, CSS και JavaScript Μάθετε HTML5, CSS και JavaScript Όλα σε Ένα 2 Η ΕΚ ΟΣΗ Julie C. Meloni Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc. Computer Science Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.:

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

Acrobat 9. Adobe. Βήμα προς Βήμα. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Μαίρη Γκλα βά

Acrobat 9. Adobe. Βήμα προς Βήμα. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Μαίρη Γκλα βά Adobe Acrobat 9 Βήμα προς Βήμα Απόδοση: Μαίρη Γκλα βά Μαθηματικός, MSc Computer Sci ence Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2009 www.mgiurdas.gr Τίτλος Πρωτοτύπου:

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο

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

Περιεχόμενα. 2 Αριθμητικά συστήματα

Περιεχόμενα. 2 Αριθμητικά συστήματα Περιεχόμενα Πρόλογος 1 Εισαγωγή 1.1 Το μοντέλο Turing 1.2 Το μοντέλο von Neumann 1.3 Συστατικά στοιχεία υπολογιστών 1.4 Ιστορικό 1.5 Κοινωνικά και ηθικά ζητήματα 1.6 Η επιστήμη των υπολογιστών ως επαγγελματικός

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

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

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30 ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 1.1 Τι είναι Πληροφορική;...11 1.1.1 Τι είναι η Πληροφορική;...12 1.1.2 Τι είναι ο Υπολογιστής;...14 1.1.3 Τι είναι το Υλικό και το

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

Γενικά (για τις γραπτές εξετάσεις)

Γενικά (για τις γραπτές εξετάσεις) Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #12 η : Επανάληψη Γαβαλάς Δαμιανός dgavalas@aegean.gr Γενικά (για τις γραπτές εξετάσεις) Δεν υπάρχει αυστηρά ορισμένη «ύλη εξετάσεων» (καθώς δεν έχετε

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

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

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

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

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

επιφάνεια πυριτίου Αναφορά στο Εκπαιδευτικό Υλικό : 5. Αναφορά στο Εργαστήριο :

επιφάνεια πυριτίου Αναφορά στο Εκπαιδευτικό Υλικό : 5. Αναφορά στο Εργαστήριο : 2. Α/Α Διάλεξης : 1 1. Τίτλος : Εισαγωγή στην Ψηφιακή Τεχνολογία 2. Μαθησιακοί Στόχοι : Λογικές Πύλες και η υλοποίησή τους με τρανζίστορ. Κατασκευή ολοκληρωμένων κυκλωμάτων. 3. Θέματα που καλύπτει : Λογικές

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

Πρόλογος... xiii ΜΕΡΟΣ 1 1 Εισαγωγή στο Excel Βασικές λειτουργίες του Excel... 21

Πρόλογος... xiii ΜΕΡΟΣ 1 1 Εισαγωγή στο Excel Βασικές λειτουργίες του Excel... 21 Πρόλογος... xiii ΜΕΡΟΣ 1 1 Εισαγωγή στο Excel...3 1.1 Τι νέο υπάρχει στο Excel 2016...4 1.1.1 Νέες λειτουργίες του Excel 2016...4 1.2 Διάφοροι τρόποι εκκίνησης του Excel...6 1.3 Εξοικείωση με το περιβάλλον

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

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

1 Εισαγωγή στην Πληροφορική ΠΕΡΙΕΧΟΜΕΝΑ Χρήση Ηλεκτρονικού Υπολογιστή 1 Εισαγωγή στην Πληροφορική 1.1 Βασικές Έννοιες της Πληροφορικής Εισαγωγή 17 Τι είναι ο Ηλεκτρονικός Υπολογιστής 18 Υλικό Λογισµικό 19 Ιστορική Εξέλιξη των Η/Υ

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

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού Πρόλογος...21 μέρος A Εισαγωγή στην Τεχνολογία Λογισμικού 1 Εισαγωγή στην Τεχνολογία Λογισμικού 1.1 Το λογισμικό...25 1.1.1 Ο ρόλος και η σημασία του λογισμικού...26 1.1.2 Οικονομική σημασία του λογισμικού...28

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

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ii ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1. Εισαγωγή - Βασικές έννοιες....1 1.1 Εσωτερική παράσταση δεδομένων....2 1.1.1 Παράσταση θέσης....3 1.1.2 Μετατροπές μεταξύ συστημάτων διαφορετικών βάσεων....5 1.1.3 Οι αριθμητικές

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

Standard Template Library (STL) C++ library

Standard Template Library (STL) C++ library Τ Μ Η Μ Α Μ Η Χ Α Ν Ι Κ Ω Ν Η / Υ Κ Α Ι Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Standard Template Library (STL) C++ library Δομές Δεδομένων Μάριος Κενδέα kendea@ceid.upatras.gr Εισαγωγή Η Standard Βιβλιοθήκη προτύπων

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

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

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

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

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP Εισαγωγή... 1 Σε Ποιους Απευθύνεται το Βιβλίο... 1 Η Οργάνωση του Βιβλίου... 2 Ο Πηγαίος Κώδικας του Βιβλίου... 3 Συμβάσεις που Χρησιμοποιούνται σε Αυτό το Βιβλίο... 3 Μέρος Ι: Εγκατάσταση και ιαμόρφωση

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

Δομές Δεδομένων. Λουκάς Γεωργιάδης. http://www.cs.uoi.gr/~loukas/courses/data_structures/ email: loukas@cs.uoi.gr

Δομές Δεδομένων. Λουκάς Γεωργιάδης. http://www.cs.uoi.gr/~loukas/courses/data_structures/ email: loukas@cs.uoi.gr Δομές Δεδομένων http://www.cs.uoi.gr/~loukas/courses/data_structures/ Λουκάς Γεωργιάδης email: loukas@cs.uoi.gr Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δεδομένα: Σύνολο από πληροφορίες που

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

Photoshop CC. Adobe ΒΗΜΑ ΠΡΟΣ ΒΗΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc.

Photoshop CC. Adobe ΒΗΜΑ ΠΡΟΣ ΒΗΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc. Adobe Photoshop CC ΒΗΜΑ ΠΡΟΣ ΒΗΜΑ Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc. Computer Science Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2014 www.mgiurdas.gr

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

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2520

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2520 ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2520 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ Πέμπτο ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ Αντικειμενοστρεφής Προγραμματισμός ΑΥΤΟΤΕΛΕΙΣ ΔΙΔΑΚΤΙΚΕΣ

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

ΠΕΡΙΕΧΟΜΕΝΑ Χρήση Ηλεκτρονικού Υπολογιστή

ΠΕΡΙΕΧΟΜΕΝΑ Χρήση Ηλεκτρονικού Υπολογιστή ΠΕΡΙΕΧΟΜΕΝΑ Χρήση Ηλεκτρονικού Υπολογιστή ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στην Πληροφορική 1.1 Βασικές Έννοιες Τι είναι ο Ηλεκτρονικός Υπολογιστής 15 Ιστορική Ανασκόπηση 16 Γενιές Υπολογιστών 20 Κατηγορίες Υπολογιστών

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

Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α

Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α 1 Windows 8.1 1.1 Βασικές Έννοιες Πληροφορικής και Επικοινωνιών Εισαγωγή 19 Τι είναι ο Ηλεκτρονικός Υπολογιστής 20 Κατηγορίες Υπολογιστών 21 Κύρια μέρη ενός Προσωπικού Υπολογιστή

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

Περιεχόμενα ΜΕΡΟΣ 1. Πρόλογος... xiii. 1 Εισαγωγή στο Excel Βασικές λειτουργίες του Excel... 23

Περιεχόμενα ΜΕΡΟΣ 1. Πρόλογος... xiii. 1 Εισαγωγή στο Excel Βασικές λειτουργίες του Excel... 23 Περιεχόμενα Πρόλογος... xiii ΜΕΡΟΣ 1 1 Εισαγωγή στο Excel...3 1.1 Τι νέο υπάρχει στο Excel 2016...4 1.1.1 Νέες λειτουργίες του Excel 2016...4 1.2 Διάφοροι τρόποι εκκίνησης του Excel...6 1.3 Εξοικείωση

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

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

Δομές Δεδομένων. Λουκάς Γεωργιάδης.

Δομές Δεδομένων. Λουκάς Γεωργιάδης. Δομές Δεδομένων http://www.cs.uoi.gr/~loukas/courses/data_structures/ Λουκάς Γεωργιάδης email: loukas@cs.uoi.gr Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δομή Δεδομένων: Μέθοδος αποθήκευσης

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

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

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

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

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

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

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

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

Αντικειµενοστρεφής Προγραµµατισµός 16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής

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

Τίτλος Πακέτου Certified Computer Expert-ACTA

Τίτλος Πακέτου Certified Computer Expert-ACTA Κωδικός Πακέτου ACTA - CCE - 002 Τίτλος Πακέτου Certified Computer Expert-ACTA Εκπαιδευτικές Ενότητες Επεξεργασία Κειμένου - Word Δημιουργία Εγγράφου Προχωρημένες τεχνικές επεξεργασίας κειμένου & αρχείων

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

Δομές Δεδομένων Standard Template Library (STL) 23/3/2017 ΜΠΟΜΠΟΤΑΣ ΑΓΟΡΑΚΗΣ

Δομές Δεδομένων Standard Template Library (STL) 23/3/2017 ΜΠΟΜΠΟΤΑΣ ΑΓΟΡΑΚΗΣ Δομές Δεδομένων Standard Template Library (STL) 23/3/2017 ΜΠΟΜΠΟΤΑΣ ΑΓΟΡΑΚΗΣ mpompotas@ceid.upatras.gr Εισαγωγή - STL Η Standard Βιβλιοθήκη προτύπων (STL) είναι μια βιβλιοθήκη λογισμικού για την C++ Δημιουργήθηκε

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

Περιεχόμενα ΜΕΡΟΣ ΠΡΩΤΟ. Πρόλογος... 13

Περιεχόμενα ΜΕΡΟΣ ΠΡΩΤΟ. Πρόλογος... 13 Περιεχόμενα Πρόλογος... 13 ΜΕΡΟΣ ΠΡΩΤΟ Κεφ. 1 Περί προγραμματισμού και γλωσσών προγραμματισμού Προγράμματα και Λειτουργικά Συστήματα... 17 Γλώσσες προγραμματισμού και εργαλεία ανάπτυξης προγραμμάτων...

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

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C# Εισαγωγή σε αντικειμενοστραφή concepts Και λίγη C# Κλάσεις Κλάση: τύπος δεδομένων που αποτελεί συλλογή πεδίων, ορισμών συναρτήσεων/μεθόδων και ορισμών άλλων τύπων δεδομένων. Αντίστοιχο σκεπτικό με struct

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

Photoshop CS6. Adobe ΒHΜΑ ΠΡΟΣ ΒHΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc.

Photoshop CS6. Adobe ΒHΜΑ ΠΡΟΣ ΒHΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc. Adobe Photoshop CS6 ΒHΜΑ ΠΡΟΣ ΒHΜΑ Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc. Computer Science Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2013

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

Περιεχόμενα. Προλεγόμενα... ix Κεφάλαιο 1 Εισαγωγή Κεφάλαιο 2 Δεδομένα και εκφράσεις Κεφάλαιο 3 Λογικές συνθήκες και δομές ελέγχου...

Περιεχόμενα. Προλεγόμενα... ix Κεφάλαιο 1 Εισαγωγή Κεφάλαιο 2 Δεδομένα και εκφράσεις Κεφάλαιο 3 Λογικές συνθήκες και δομές ελέγχου... Προλεγόμενα... ix Κεφάλαιο 1 Εισαγωγή... 1 1.1 Εισαγωγικά στοιχεία για τους υπολογιστές 2 1.2 Αλγόριθμοι, προγράμματα, προγραμματισμός 16 1.3 Η Python 25 1.4 Ο διερμηνευτής της Python 28 1.5 Το περιβάλλον

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

#define, 70, 575 #elif, 580 #else, 580 #endif, 580 #error, 584 #if, 580 #ifdef, 583 #ifndef, 580, 583 #include, 70, 227, 574 #undef, 579

#define, 70, 575 #elif, 580 #else, 580 #endif, 580 #error, 584 #if, 580 #ifdef, 583 #ifndef, 580, 583 #include, 70, 227, 574 #undef, 579 Ευρετήριο Η γλώσσα C σε βάθος # #define, 70, 575 #elif, 580 #else, 580 #endif, 580 #error, 584 #if, 580 #ifdef, 583 #ifndef, 580, 583 #include, 70, 227, 574 #undef, 579 A abs(), 625 AND, 64 ASCII πίνακας

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Paul Deitel. Harvey Deitel. Εκδόσεις: Μ. Γκιούρδας ΕΒ ΟΜΗ ΕΚ ΟΣΗ. Deitel & Associates, Inc. Deitel & Associates, Inc.

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Paul Deitel. Harvey Deitel. Εκδόσεις: Μ. Γκιούρδας ΕΒ ΟΜΗ ΕΚ ΟΣΗ. Deitel & Associates, Inc. Deitel & Associates, Inc. C ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΒ ΟΜΗ ΕΚ ΟΣΗ Paul Deitel Deitel & Associates, Inc. Harvey Deitel Deitel & Associates, Inc. Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74

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

Χρήστος Στασινός. ουλεύοντας με τη. Microsoft Access ΑΘΗΝΑ

Χρήστος Στασινός. ουλεύοντας με τη. Microsoft Access ΑΘΗΝΑ Χρήστος Στασινός ουλεύοντας με τη Microsoft Access ΑΘΗΝΑ Κάθε γνήσιο αντίγραφο έχει την υπογραφή του συγγραφέα Έκδοση 1η, Copyright 1998 Έκδοση 2η, Copyright 2007 ISBN: 978-960-8105-97-3 ΕΚΔΟΣΕΙΣ ΝΕΩΝ

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

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

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

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

Διαγράμματα Κλάσεων στη Σχεδίαση

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

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

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

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

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

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

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

1.1 Βασικές Έννοιες της Πληροφορικής Εισαγωγή 21 Τι είναι ο Ηλεκτρονικός Υπολογιστής 22 Υλικό (Hardware) - Λογισµικό (Software) 23 Ιστορική Εξέλιξη

1.1 Βασικές Έννοιες της Πληροφορικής Εισαγωγή 21 Τι είναι ο Ηλεκτρονικός Υπολογιστής 22 Υλικό (Hardware) - Λογισµικό (Software) 23 Ιστορική Εξέλιξη Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α Μαθαίνετε Εύκολα Microsoft Office 2003 1 Εισαγωγή στην Πληροφορική 1.1 Βασικές Έννοιες της Πληροφορικής Εισαγωγή 21 Τι είναι ο Ηλεκτρονικός Υπολογιστής 22 Υλικό (Hardware) - Λογισµικό

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

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

ΥΠΟΧΡΕΩΤΙΚΕΣ ΓΝΩΣΕΙΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΡΟΣ ΙΙ Κωδικός Πακέτου ACTA CCU/2-012 Τίτλος Πακέτου Εκπαιδευτικές Ενότητες ΥΠΟΧΡΕΩΤΙΚΕΣ ΓΝΩΣΕΙΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΡΟΣ ΙΙ Χρήση Η/Υ και ιαχείριση Αρχείων - Windows Περιβάλλον Η/Υ - Βασικές Λειτουργίες και Ρυθµίσεις

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

JOOMLA! Οπτικός Οδηγός τoυ Ελληνικού. Εκδόσεις: Μ. Γκιούρδας MARNI DERR TANYA SYMES. εύτερη έκδοση. Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού

JOOMLA! Οπτικός Οδηγός τoυ Ελληνικού. Εκδόσεις: Μ. Γκιούρδας MARNI DERR TANYA SYMES. εύτερη έκδοση. Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Οπτικός Οδηγός τoυ Ελληνικού JOOMLA! εύτερη έκδοση MARNI DERR TANYA SYMES Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2012

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

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

Γλώσσες Προγραμματισμού Το έργο υλοποιείται στο πλαίσιο του υποέργου 2 με τίτλο «Ανάπτυξη έντυπου εκπαιδευτικού υλικού για τα νέα Προγράμματα Σπουδών» της Πράξης «Ελληνικό Ανοικτό Πανεπιστήμιο» η οποία έχει ενταχθεί στο Επιχειρησιακό

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

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ Πρόλογος... 11 Μέρος Α: Στοιχεία Αλγοριθμικής... 15 1 Επίλυση προβλημάτων με Η/Υ... 19 1.1 Εισαγωγή... 19 1.2 Αλγόριθμοι-αλγοριθμικά προβλήματα... 20 1.3 Το μαθηματικό μοντέλο... 26

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

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

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

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

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

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

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

Περιεχόμενα. Πρόλογος 15

Περιεχόμενα. Πρόλογος 15 Περιεχόμενα Πρόλογος 15 1 Δημιουργία προγραμμάτων Java 25 Ορισμός βασικής ορολογίας προγραμματισμού 26 Σύγκριση διαδικαστικού και αντικειμενοστρεφούς προγραμματισμού 29 Διαδικαστικός προγραμματισμός 29

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

Adobe Premiere Pro CS6

Adobe Premiere Pro CS6 Adobe Premiere Pro CS6 ΒHΜΑ ΠΡΟΣ ΒHΜΑ Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2013 www.mgiurdas.gr Τίτλος Πρωτοτύπου:

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

8 FORTRAN 77/90/95/2003

8 FORTRAN 77/90/95/2003 ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ 1: Εισαγωγή... 17 1.1. Ανασκόπηση της ιστορίας των υπολογιστών... 18 1.2. Πληροφορία και δεδομένα... 24 1.3. Ο Υπολογιστής... 26 1.4. Δομή και λειτουργία του υπολογιστή... 28 1.5.

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ΠΕΡΙΕΧΟΜΕΝΟ ΤΟΥ ΜΑΘΗΜΑΤΟΣ Αρχές

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

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ii ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1. Εντολές εκχώρησης (αντικατάστασης)....1 1.1 Εισαγωγή...4 1.1.1 Χρήση ΛΣ και IDE της Turbo Pascal....4 1.1.2 Αίνιγμα...6 1.2 Με REAL...7 1.2.1 Ερώτηση...9 1.2.2 Επίλυση δευτεροβάθμιας

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

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

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Νέο Πρόγραμμα

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

Στοιχειώδης προγραμματισμός σε C++

Στοιχειώδης προγραμματισμός σε C++ Στοιχειώδης προγραμματισμός σε C++ Σύντομο Ιστορικό. Το πρόγραμμα Hello World. Ο τελεστής εξόδου. Μεταβλητές και δηλώσεις τους. Αντικείμενα, μεταβλητές, σταθερές. Ο τελεστής εισόδου. Θεμελιώδεις τύποι.

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

Οδηγός της C ΓΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΕΣ. Paul Deitel. Harvey Deitel. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Αγαμέμνων Μήλιος

Οδηγός της C ΓΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΕΣ. Paul Deitel. Harvey Deitel. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Αγαμέμνων Μήλιος Οδηγός της C ΓΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΕΣ Paul Deitel Deitel & Associates, Inc. Harvey Deitel Deitel & Associates, Inc. Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74

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

- Επιστημονικός Υπεύθυνος Ενεργείας: Θεόδωρος Γ. Εξαρχάκος Καθηγητής του Πανεπιστημίου Αθηνών Πρόεδρος του Παιδαγωγικού Ινστιτούτου «Αναμόρφωση / εκ

- Επιστημονικός Υπεύθυνος Ενεργείας: Θεόδωρος Γ. Εξαρχάκος Καθηγητής του Πανεπιστημίου Αθηνών Πρόεδρος του Παιδαγωγικού Ινστιτούτου «Αναμόρφωση / εκ Ενέργεια 1.1.α: Έργο No 15: «Προγράμματα Βιβλία» - Επιστημονικός Υπεύθυνος Ενεργείας: Θεόδωρος Γ. Εξαρχάκος Καθηγητής του Πανεπιστημίου Αθηνών Πρόεδρος του Παιδαγωγικού Ινστιτούτου «Αναμόρφωση / εκ νέου

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

xvi Προσέγγιση δομεσ δεδομενων και αλγοριθμοι

xvi Προσέγγιση δομεσ δεδομενων και αλγοριθμοι Πρόλογος Το εφαλτήριο για τη συγγραφή αυτού του βιβλίου ήταν η πολύχρονη εμπειρία μου στη διδασκαλία του μαθήματος «Αλγόριθμοι και Δομές Δεδομένων» (κωδ. ECE 250) το οποίο εντάσσεται στο πρόγραμμα σπουδών

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

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

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

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

Πίνακας Περιεχοµένων Πρόλογος Κεφάλαιο Βασικές εισαγωγικές έννοιες

Πίνακας Περιεχοµένων Πρόλογος Κεφάλαιο Βασικές εισαγωγικές έννοιες Πίνακας Περιεχοµένων Πρόλογος...vii Κεφάλαιο 1:Βασικές εισαγωγικές έννοιες...1 1.1 Η δοµή του µεταγλωττιστή...2 1.2 Η διαδικασία µεταγλώττισης...3 1.2.1 Η Λεξική Ανάλυση...6 1.2.2 Η Συντακτική Ανάλυση...6

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

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή Στόχοι και αντικείμενο ενότητας Η έννοια του Τελεστή #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Εκφράσεις Προτεραιότητα Προσεταιριστικότητα Χρήση παρενθέσεων Μετατροπές Τύπων Υπονοούμενες και ρητές μετατροπές

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο ΚΕΦΑΛΑΙΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 1 ο ΚΕΦΑΛΑΙΟ 1) Τι είναι πρόβλημα (σελ. 3) 2) Τι είναι δεδομένο, πληροφορία, επεξεργασία δεδομένων (σελ. 8) 3) Τι είναι δομή ενός προβλήματος (σελ. 8)

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

ΧΡΗΣΗ Η/Υ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ

ΧΡΗΣΗ Η/Υ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ ΧΡΗΣΗ Η/Υ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ 1. ΠΕΡΙΒΑΛΛΟΝ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ 1.1. Βασικές Λειτουργίες και Ρυθµίσεις 1.1.1 Εκκίνηση, Τερµατισµός, Επανεκκίνηση του Η/Υ ακολουθώντας τις κατάλληλες διαδικασίες 1.1.2

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

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

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

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

CS4 Professional. ActionScript 3.0 για το Adobe Flash. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Μαίρη Γκλα βά

CS4 Professional. ActionScript 3.0 για το Adobe Flash. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Μαίρη Γκλα βά ActionScript 3.0 για το Adobe Flash CS4 Professional Απόδοση: Μαίρη Γκλα βά Μαθηματικός, MSc Computer Sci ence Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2009 www.mgiurdas.gr

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

1.1 Βασικές Έννοιες της Πληροφορικής Εισαγωγή 21 Τι είναι ο Ηλεκτρονικός Υπολογιστής 22 Υλικό - Λογισµικό 23 Ιστορική Εξέλιξη των Η/Υ 23 Γενιές

1.1 Βασικές Έννοιες της Πληροφορικής Εισαγωγή 21 Τι είναι ο Ηλεκτρονικός Υπολογιστής 22 Υλικό - Λογισµικό 23 Ιστορική Εξέλιξη των Η/Υ 23 Γενιές Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α Μαθαίνετε Εύκολα MS OFFICE 2007 1 Εισαγωγή στην Πληροφορική 1.1 Βασικές Έννοιες της Πληροφορικής Εισαγωγή 21 Τι είναι ο Ηλεκτρονικός Υπολογιστής 22 Υλικό - Λογισµικό 23 Ιστορική Εξέλιξη

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

Επεξεργασία Κειμένου. Προχωρημένο Επίπεδο. Εξεταστέα Ύλη 3.0. Έκδοση 1.0

Επεξεργασία Κειμένου. Προχωρημένο Επίπεδο. Εξεταστέα Ύλη 3.0. Έκδοση 1.0 Επεξεργασία Κειμένου Προχωρημένο Επίπεδο Εξεταστέα Ύλη 3.0 Έκδοση 1.0 Copyright 1997-2018 Ίδρυμα ECDL Όλα τα δικαιώματα είναι κατοχυρωμένα. Απαγορεύεται η αναπαραγωγή εν όλω ή εν μέρει του παρόντος σε

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

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ Επανάληψη για τις Τελικές εξετάσεις (Διάλεξη 24) Εισαγωγή Το μάθημα EPL032 έχει ως βασικό στόχο την επίλυση προβλημάτων πληροφορικής με την χρήση της γλώσσας προγραμματισμού C. Επομένως πρέπει: Nα κατανοήσετε

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ❶ Προετοιµασία για το 1 ο Εργαστήριο

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

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος...

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος... Περιεχόμενα Πρόλογος...11 Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών... 13 1.1 Εισαγωγή στους υπολογιστές... 15 1.2 Μονάδες μέτρησης... 27 1.3 Οι βασικές λειτουργίες ενός ηλεκτρονικού υπολογιστή...

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

Περιεχόμενα. Πρόλογος 15

Περιεχόμενα. Πρόλογος 15 Περιεχόμενα Πρόλογος 15 1 Δημιουργία προγραμμάτων Java 25 Εκμάθηση ορολογίας προγραμματισμού 26 Σύγκριση των εννοιών του διαδικαστικού και του αντικειμενοστραφούς 29 Διαδικαστικός προγραμματισμός 29 Αντικειμενοστραφής

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

Τα Microsoft Windows XP και Microsoft Office Word είναι σήµατα κατατεθέντα της Microsoft Corporation.

Τα Microsoft Windows XP και Microsoft Office Word είναι σήµατα κατατεθέντα της Microsoft Corporation. Κ. Ξαρχάκος -. Καρολίδης Microsoft Office Word 2003 Θεωρία & Πράξη Copyright 2005 Βλαχοθανάση 30 117 44 Αθήνα Τηλ./Φαξ: 210 9024407 Μεσολογγίου 7 106 81 Αθήνα Τηλ.: 210 3303297 Φαξ: 210 3303298 ISBN: 960

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

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

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

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

ActionScript 3.0 για το Adobe Flash. CS5 Professional ΒHΜΑ ΠΡΟΣ ΒHΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Χρυσούλα Απ. Κουτρούμπα Ηλεκτρ.

ActionScript 3.0 για το Adobe Flash. CS5 Professional ΒHΜΑ ΠΡΟΣ ΒHΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Χρυσούλα Απ. Κουτρούμπα Ηλεκτρ. ActionScript 3.0 για το Adobe Flash CS5 Professional ΒHΜΑ ΠΡΟΣ ΒHΜΑ Απόδοση: Χρυσούλα Απ. Κουτρούμπα Ηλεκτρ. Μηχανικός Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2011

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής. Ακαδημαϊκό Έτος 2007-2008

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής. Ακαδημαϊκό Έτος 2007-2008 Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ακαδημαϊκό Έτος 2007-2008 ΠΑΡΑΔΟΤΕΟ: Έκθεση Προόδου Υλοποίησης του Μαθήματος Εισαγωγή στην Επιστήμη των Υπολογιστών Διδάσκοντες: Θ.Ανδρόνικος - Μ.Στεφανιδάκης Περιεχόμενα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών Ακαδηµαϊκό έτος 2010 2011, Χειµερινό εξάµηνο Παρασκευή - 17/12/10 (08:30-11:30)

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

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

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

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

Ο Οδηγός γρήγορης εκκίνησης

Ο Οδηγός γρήγορης εκκίνησης Ο Οδηγός γρήγορης εκκίνησης του Microsoft PowerPoint 2013 έχει διαφορετική εμφάνιση από προηγούμενες εκδόσεις. Γι αυτό το λόγο, δημιουργήσαμε αυτόν τον οδηγό για να ελαχιστοποιήσουμε την καμπύλη εκμάθησης.

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ «ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ» ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ «ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ» ΗΜΕΡ.ΑΝΑΘΕΣΗΣ: Δευτέρα 21 Δεκεμβρίου 2015 ΗΜΕΡ.ΠΑΡΑΔΟΣΗΣ: Δευτέρα 25 Ιανουαρίου 2016 Διδάσκοντες:

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

Πρόβλημα 37 / σελίδα 207

Πρόβλημα 37 / σελίδα 207 Πρόβλημα 37 / σελίδα 207 2.5. Ôåóô áõôïáîéïëüãçóçò Δίνονται οι παρακάτω ομάδες προτάσεων. Σε κάθε μία από αυτές, να κάνετε τις απαραίτητες διορθώσεις ώστε να ισχύουν οι προτάσεις 1. Η αναπαράσταση

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

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

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

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

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

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

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

PHP, MySQL. και Apache Όλα σε Ένα. Μάθετε. Εκδόσεις: Μ. Γκιούρδας. Julie C. Meloni. 5 η Έκδοση

PHP, MySQL. και Apache Όλα σε Ένα. Μάθετε. Εκδόσεις: Μ. Γκιούρδας. Julie C. Meloni. 5 η Έκδοση Μάθετε PHP, MySQL και Apache Όλα σε Ένα Julie C. Meloni 5 η Έκδοση Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc. Computer Science Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.:

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

Ανάπτυξη και Σχεδίαση Λογισμικού

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

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