343 Ειςαγωγι ςτον Προγραμματιςμό

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

Download "343 Ειςαγωγι ςτον Προγραμματιςμό"

Transcript

1 343 Ειςαγωγι ςτον Προγραμματιςμό Τμιμα Μακθματικϊν Πανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ Χάρθσ Παπαδόπουλοσ 207δ, B όροφοσ charis@cs.uoi.gr Ωρεσ Γραφείου: Πζμπτθ 11-13

2 Τμιματα Εργαςτθρίων Εργαςτήριο (μεγάλο): Εργαςτιριο Η/Υ 1 ο όροφο δίπλα από το Αναγνωςτιριο Τα εργαςτιρια κα ξεκινιςουν Δευτζρα 24 Οκτωβρίου και Σρίτη 25 Οκτωβρίου Εργαςτήρια Δευτζρα (14:00-20:15) Α1 Δευτζρα 14:00-15: Α2 Δευτζρα 15:15-16: Α3 Δευτζρα 16:30-17: Α4 Δευτζρα 17:45-19: Α5 Δευτζρα 19:00-20: Εργαςτήριο Σρίτη (14:00-15:15) Β1 Σρίτη 14:00-15: Αλλαγζσ ΔΕΝ επιτρζπονται! Διάρκεια Εργαςτηρίου: 1h:15m

3 Τελικι Βακμολογία Επιτυχήσ παρακολοφθηςη των υποχρεωτικϊν εργαςτθρίων μια (1) το πολφ απουςία ςτα 5 ή 6 εργαςτθριακά μακιματα Ζνα (1) τεςτ (Τ1) με βάροσ 15% του ςυνολικοφ βακμοφ. Ανάπτυξθ Κϊδικα ςτο Εργαςτιριο Ζνα (1) quiz (Q2) με βάροσ 15% του ςυνολικοφ βακμοφ. Ερωτιςεισ Πολλαπλϊν Επιλογϊν Όςοι απουςιάςουν ςε ζνα τεςτ ι quiz: μθδενίηεται το 15% Παλαιότεροι φοιτητζσ: μποροφν να λάβουν μζροσ ςτα τεςτ ι ςτα quiz Σελική βαθμολογία (με επιτυχι παρακολοφκθςθ εργαςτθρίων): TB = max 15% Τ1 + 15% Q2 + 70% ΓρΕξ ΓρΕξ

4 1 ο Τεςτ Το 1 ο quiz κα διεξαχκεί τθν Δευτζρα 21 Νοεμβρίου Για όλα τα τμιματα!! 14:00-21:00 ςτα ακόλουκα τμιματα: Ϊρεσ Α. Μ. 14:00-14:45 ΤΜΗΜΑ Α1 15:00-15:45 ΤΜΗΜΑ Α2 16:00-16:45 ΤΜΗΜΑ Α3 17:00-17:45 ΤΜΗΜΑ Α4 18:00-18:45 ΤΜΗΜΑ Α5 19:00-19:45 ΤΜΗΜΑ Β1 Αν λείψετε: Δεν μετράει ωσ απουςία Μθδενίηεται το 15% 20:00-20:45 ΤΜΗΜΑ δεν ανικουν Α1-Α5,Β1 6-4

5 Θ: διάλεξη (θεωρία) Ε: Εργαστήριο Ημερολόγιο Μακιματοσ Q: Σεστ quiz Οκτώβριος 2015 Δ Σ Σ Π Π Θ Θ Θ 24 Ε 25 Ε Εβδομάδα Θζματα Υλη βιβλιογραφίασ Πα, 7 Οκτωβρίου Πα, 14 Οκτωβρίου Πα, 21 Οκτωβρίου Δε, Σρ, Οκτ Εισαγωγικά μαθήματος & Δυαδική αναπαράσταση Είσοδος/Έξοδος δεδομένων, τύποι δεδομένων & μεταβλητών Προεπεξεργαστής, αριθμητικοί και λογικοί τελεστές 1 ο Εργαστήριο *1+: 1.1, Παράρτθμα 3 *2+: Κεφ. 1, Β, Δ *1+: 1.2, 1.3, 1.4, 1.5, Παράρτθμα 1 *2+: Κεφ. 2, Γ *1+: 2.1, Παράρτθμα 2 *2+: 4.11, 4.12, Α, ΣΤ Νοέμβριος 2015 Δ Σ Σ Π Π Θ 7 Ε 8 Ε Θ 14 Ε Θ 21 Σ Θ Πα, 4 Νοεμβρίου Δε, Σρ, 7-8 Νοε Πα, 11 Νοεμβρίου Δε, Σρ, Νοε Πα, 18 Νοεμβρίου Ροή ελέγχου: if/else, switch, for, while, do-while και ροή ελέγχου if/else 2 ο Εργαστήριο υναρτήσεις, εμβέλεια μεταβλητών και αναδρομή 3 ο Εργαστήριο Επανάληψη με Παραδείγματα [1]: 2.2, 2.3 *2+: Κεφ. 4, Κεφ. 5 [1]: 3.1, 3.2, 3.3, 4.1, 4.2, 13.1, 13.2 *2+: Κεφ. 6 [1]: 5.1, 5.2, 5.4 *2+: Κεφ Ε 29 Ε 30 Δεκέμβριος 2015 Δ Σ Σ Π Π 1 2 Θ 5 E 6 Ε Θ 12 Q Θ Ιανουάριος 2016 Δ Σ Σ Π Π Θ Δε, 21 Νοε Πα, 25 Νοεμβρίου Δε, Σρ, Νοε Πα, 2 Δεκεμβρίου Δε, Σρ, 5-6 Δεκ Πα, 9 Δεκεμβρίου Δε, 12 Δεκ Πα, 16 Δεκεμβρίου Πα, 13 Ιανουαρίου 1 ο Test (Ανάπτυξη κώδικα) Πίνακες (μονοδιάστατοι και πολυδιάστατοι) 4 ο Εργαστήριο Εφαρμογές σε ταξινομήσεις και αναζήτηση στοιχείων 5 ο Εργαστήριο Αλφαριθμητικά και υμβολοσειρές 2 ο Quiz (Ερωτήσεις πολλαπλών επιλογών) Εγγραφές, δομές και χρήση αρχείων Επανάληψη [1]: 5.1, 5.2, 5.4 *2+: Κεφ. 7 *1+: Παράρτθμα 4, 9.1, 9.2, 9.3 *2+: 6.7, 6.8, Κεφ. 18 [1]: 6.1, 12.1, 12.2, 12.4 [2]: Κεφ. 21, [1]: 5.3, 13.3 *2+: 7.7, 7.8, 8.6, Κεφ. 19

6 Θ: διάλεξη (θεωρία) Ε: Εργαστήριο Ημερολόγιο Μακιματοσ Q: Σεστ quiz Οκτώβριος 2015 Δ Σ Σ Π Π Θ Θ Θ 24 Ε 25 Ε Εβδομάδα Θζματα Υλη βιβλιογραφίασ Πα, 7 Οκτωβρίου Πα, 14 Οκτωβρίου Πα, 21 Οκτωβρίου Δε, Σρ, Οκτ Εισαγωγικά μαθήματος & Δυαδική αναπαράσταση Είσοδος/Έξοδος δεδομένων, τύποι δεδομένων & μεταβλητών Προεπεξεργαστής, αριθμητικοί και λογικοί τελεστές 1 ο Εργαστήριο *1+: 1.1, Παράρτθμα 3 *2+: Κεφ. 1, Β, Δ *1+: 1.2, 1.3, 1.4, 1.5, Παράρτθμα 1 *2+: Κεφ. 2, Γ *1+: 2.1, Παράρτθμα 2 *2+: 4.11, 4.12, Α, ΣΤ Νοέμβριος 2015 Δ Σ Σ Π Π Θ 7 Ε 8 Ε Θ 14 Ε Θ 21 Σ Θ Πα, 4 Νοεμβρίου Δε, Σρ, 7-8 Νοε Πα, 11 Νοεμβρίου Δε, Σρ, Νοε Πα, 18 Νοεμβρίου Ροή ελέγχου: if/else, switch, for, while, do-while και ροή ελέγχου if/else 2 ο Εργαστήριο υναρτήσεις, εμβέλεια μεταβλητών και αναδρομή 3 ο Εργαστήριο Επανάληψη με Παραδείγματα [1]: 2.2, 2.3 *2+: Κεφ. 4, Κεφ. 5 [1]: 3.1, 3.2, 3.3, 4.1, 4.2, 13.1, 13.2 *2+: Κεφ. 6 [1]: 5.1, 5.2, 5.4 *2+: Κεφ Ε 29 Ε 30 Δεκέμβριος 2015 Δ Σ Σ Π Π 1 2 Θ 5 E 6 Ε Θ 12 Q Θ Ιανουάριος 2016 Δ Σ Σ Π Π Θ Δε, 21 Νοε Πα, 25 Νοεμβρίου Δε, Σρ, Νοε Πα, 2 Δεκεμβρίου Δε, Σρ, 5-6 Δεκ Πα, 9 Δεκεμβρίου Δε, 12 Δεκ Πα, 16 Δεκεμβρίου Πα, 13 Ιανουαρίου 1 ο Test (Ανάπτυξη κώδικα) Πίνακες (μονοδιάστατοι και πολυδιάστατοι) 4 ο Εργαστήριο Εφαρμογές σε ταξινομήσεις και αναζήτηση στοιχείων 5 ο Εργαστήριο Αλφαριθμητικά και υμβολοσειρές 2 ο Quiz (Ερωτήσεις πολλαπλών επιλογών) Εγγραφές, δομές και χρήση αρχείων Επανάληψη [1]: 5.1, 5.2, 5.4 *2+: Κεφ. 7 *1+: Παράρτθμα 4, 9.1, 9.2, 9.3 *2+: 6.7, 6.8, Κεφ. 18 [1]: 6.1, 12.1, 12.2, 12.4 [2]: Κεφ. 21, [1]: 5.3, 13.3 *2+: 7.7, 7.8, 8.6, Κεφ. 19

7 Ενότθτα 8 ΤΝΑΡΣΗΕΙ: ΠΡΟΚΑΘΟΡΙΜΕΝΕ ΤΝΑΡΣΗΕΙ 5-7

8 Προκακοριςμζνεσ Συναρτιςεισ Δυο ειδϊν ςυναρτιςεισ: Αυτζσ που επιςτρζφουν κάποια τιμι Αυτζσ που δεν επιςτρζφουν κάποια τιμι (void) Οι βιβλιοκικεσ περιζχουν ςυναρτιςεισ για να τισ χρθςιμοποιιςουμε Πρζπει να ανοίξουμε τθν κατάλλθλθ βιβλιοκικθ με #include, π.χ.: <cmath>, <cstdlib> ( απλζσ "C" βιβλιοκικεσ) <iostream> (για cout, cin) 5-8

9 Προκακοριςμζνεσ Συναρτιςεισ Μακθματικζσ ςυναρτιςεισ: Βρίςκονται ςτθ βιβλιοκικθ <cmath> Οι περιςςότερεσ επιςτρζφουν μια τιμι Συςτατικά: sqrt: theroot: theroot = sqrt(9.0); όνομα ςυνάρτθςθσ μεταβλθτι που ανακζτουμε τθν απάντθςθ (απάντθςθ = επιςτρεφόμενθ τιμι) 9.0: όριςμα τθσ ςυνάρτθςθσ sqrt(9.0): κλιςθ τθσ ςυνάρτθςθσ Είςοδοσ: 9.0 Επεξεργαςία: υπολογιςμόσ τετραγωνικισ ρίηασ Ζξοδοσ: 3.0 που ανατίκεται ςτθ μεταβλθτι theroot 5-9

10 Κλιςθ Συνάρτθςθσ φνταξη υναρτήςεων που επιςτρζφουν μια τιμή όλνκα_ζπλάξηεζεο( Λίζηα_Οξηζκάηωλ ) όπου Λίζηα_Οξηζκάηωλ: όξηζκα1, όξηζκα2,..., όξηζκαν (Ν 0) Παράδειγμα side = sqrt(area); cout << "2.5 εηο ηελ 3.0 = " << pow(2.5, 3.0) ; Η κλιςθ μπορεί να είναι μζροσ μιασ ζκφραςθσ: bonus = sqrt(sales)/10; 5-10

11 #include <iostream> #include <cmath> Παράδειγμα με ςυν/ςθ int main( ) const double COST_PER_SQ_MT = 10.50; double budget, area, lengthside; cout << "Δώζε ην δηαζέζηκν πνζό "; cin >> budget; area = budget/cost_per_sq_mt; lengthside = sqrt(area); Παράδειγμα Δώζε ην δηαζέζηκν πνζό 25 Γηα ηελ ηηκή ηωλ κπνξώ λα θηηάμω ζθπιόζπηην κε 1.54 κέηξα ζε θάζε πιεπξά. cout.setf(ios::fixed); cout.setf(ios::showpoint); cout.precision(2); cout << "Γηα ηελ ηηκή ηωλ " << budget << endl << " κπνξώ λα θηηάμω ζθπιόζπηην κε << lengthside << " κέηξα ζε θάζε πιεπξά.\n"; return 0; 5-11

12 Περιςςότερεσ Προκακοριςμζνεσ Συναρτιςεισ #include <cstdlib> Περιζχει ςυναρτιςεισ όπωσ: abs() // απόλυτθ τιμι ενόσ int labs() // απόλυτθ τιμι ενόσ long int rand() // τυχαίοσ ακζραιοσ #include <cmath> Περιζχει ςυναρτιςεισ όπωσ: pow(, ) floor() sqrt() // δφναμθ α β // ςτρογγυλοποίθςθ προσ τα κάτω // τετραγωνικι ρίηα δζχεται δφο ορίςματα 5-12

13 Πίνακασ Μακθματικϊν Συναρτιςεων Υπάρχουν ΠΟΛΛΕΣ άλλεσ ςυναρτιςεισ (τριγωνομετρικζσ, αλφαρικμθτικζσ,...) ΠΑΡΑΡΣΗΜΑ

14 Προκακοριςμζνεσ ςυναρτιςεισ void Δεν επιςτρζφουν τιμι Εκτελοφν οριςμζνεσ ενζργειεσ αλλά δεν ςτζλνουν κάποια απάντθςθ Όταν τισ καλοφμε αποτελοφν μια εντολι: exit(1); // τερματίηει το πρόγραμμα Διλωςθ: void exit(int n) ζχει ζνα όριςμα τφπου int Κατά ςφμβαςθ: με όριςμα 1 υπάρχει ςφάλμα κατά τθν εκτζλεςθ με όριςμα 0 όλεσ οι υπόλοιπεσ περιπτϊςεισ ΓΕΝΙΚΑ: προςοχι ςτισ μετατροπζσ τφπου ςτα ορίςματα 5-14

15 Γεννιτριεσ τυχαίων αρικμϊν Επιςτρζφουν "τυχαία επιλεγμζνουσ" αρικμοφσ rand() δεν δζχεται ορίςματα Επιςτρζφει ακζραιο μεταξφ 0 & RAND_MAX RAND_MAX: ςτακερά βιβλιοκικθσ <cstdlib> εξαρτάται από το ςφςτθμα, ~32767 Κλιμάκωςθ Επιτρζπει επιλογι τυχαίων από μικρότερο διάςτθμα rand() % 6 Επιςτρζφει τυχαία τιμι μεταξφ 0 & 5 Μετατόπιςθ rand() % Μετατοπίηει το φάςμα μεταξφ 1 & 6 (π.χ., ρίψθ ηαριοφ) 5-15

16 Γεννιτρια Συνάρτθςθ (seed) Ψευδοτυχαίοι αρικμοί Πολλζσ κλιςεισ τθσ rand() παράγουν τθν ίδια ακολουκία αρικμϊν Χριςθ τθσ γεννιτριασ ςυνάρτθςθσ (seed) για διαφορετικζσ τιμζσ: srand(seed_value); void ςυνάρτθςθ Δζχεται ζνα όριςμα, ακζραιο αρικμό "seed" Οποιαδιποτε seed τιμι, ακόμα και τον χρόνο ςυςτιματοσ: srand( time(0) ); time() επιςτρζφει τον χρόνο ςυςτιματοσ ςαν αρικμθτικι τιμι Βιβλιοκικθ <time> περιζχει ςυναρτιςεισ time() 5-16

17 Παραδείγματα Τυχαίοσ double ςτο * ] (RAND_MAX rand())/static_cast<double>(rand_max) Μετατροπι τφπων για να πάρουμε double αρικμό Τυχαίοσ ακζραιοσ μεταξφ 1 & 6: rand() % "%" υπόλοιπο διαίρεςθσ Τυχαίοσ ακζραιοσ μεταξφ 10 & 20: rand() %

18 Παραδείγματα 10 όμοιεσ ακολουκίεσ τυχαίων ακεραίων cout << "1st:\n"; srand(99); for(i=0; i< 10; i++) cout << (rand() % 11) << endl; cout << "2nd:\n"; srand(99); for(i=0; i< 10; i++) cout << (rand() % 11) << endl; Παράδειγμα 1st: nd:

19 char ans; cin >> month >> day; srand(month*day); cout << "Weather for today:\n"; do prediction = rand() % 3; switch (prediction) case 0: cout << "sunny! \n"; break; case 1: cout << "cloudy!\n"; break; case 2: cout << "stormy!\n"; break; default: cout << "Program is not working.\n"; cout << "Next day?(y/n): "; cin >> ans; while (ans == 'y' ans == 'Y'); Παράδειγμα Give month day: 2 14 sunny! Next day?(y/n): y sunny! Next day?(y/n): y stormy! Next day?(y/n): y cloudy! Next day?(y/n): n 5-19

20 Ενότθτα 9 ΤΝΑΡΣΗΕΙ: ΟΡΙΖΟΜΕΝΕ ΑΠΟ ΣΟΝ ΠΡΟΓΡΑΜΜΑΣΙΣΗ 5-20

21 Συναρτιςεισ οριηόμενεσ από εςάσ Γράφετε τισ δικζσ ςασ ςυναρτιςεισ Χωρίηετε το πρόγραμμα ςε κομμάτια Δομθμζνοσ Προγραμματιςμόσ Επαναχρθςιμοποίθςθ ςυναρτιςεων Πιο εφκολο ςτθν κατανόθςθ Ο οριςμόσ των ςυναρτιςεων μπορεί να γίνει: είτε ςτο ίδιο αρχείο είτε ςε διαφορετικό αρχείο για να τισ χρθςιμοποιιςουν και άλλοι 5-21

22 Συςτατικά για τον οριςμό ςυναρτιςεων 3 βαςικά ςυςτατικά ❶ Δήλωςη υνάρτηςησ (ι πρωτότυπο ςυν/ςθσ) Πλθροφορία για τον μεταφραςτι ❷ Οριςμόσ υνάρτηςησ Ο κϊδικασ τθσ ςυνάρτθςθσ για το τί ακριβϊσ κάνει ❸ Κάλεςμα υνάρτηςησ Μεταφζρει τον ζλεγχο ςτθν ςυνάρτθςθ 5-22

23 Διλωςθ (πρωτότυπο) ςυνάρτθςθσ Διλωςθ για τον μεταφραςτι Καταλαβαίνει ότι πρόκειται για ςυνάρτθςθ Τοποκετείται πριν το πρϊτο κάλεςμα τθσ ςυνάρτθςθσ Συνικωσ (ςχεδόν πάντα) πριν τον οριςμό τθσ int main() φνταξη Δήλωςησ υνάρτηςησ επηζηξεθόκελνο_ηύπνο όλνκα_ζπλάξηεζεο( Λίζηα_Οξηζκάηωλ ); όπου Λίζηα_Οξηζκάηωλ: όξηζκα1, όξηζκα2,..., όξηζκαν (Ν 0) Παράδειγμα double totalweight( int number, double weight ); // Επηζηξέθεη ην ζπλνιηθό βάξνο ηεκαρίωλ // πνπ ην θαζέλα δπγίδεη weight void showresults( double fdegrees, double cdegrees ); // Εθηππώλεη κήλπκα πνπ ιέεη όηη νη fdegrees // Φαξελάηη ηζνδπλακνύλ κε cdegrees Κέιζηνπο 5-23

24 Κεφαλίδα ςυν/ςθσ Οριςμόσ Συνάρτθςθσ Κϊδικασ τθσ ςυνάρτθςθσ για το τί κα εκτελεί όπωσ ακριβϊσ κάναμε μζςα ςτθ main() Παράδειγμα υπολογιςμόσ ςυνολικοφ κόςτουσ (#αντικειμζνων*ποςό) + 5% φόροσ Σϊμα ςυν/ςθσ double totalcost( int numberparameter, double priceparameter ) const double TAXRATE = 0.05; double subtotal; subtotal = priceparameter * numberparameter; return (subtotal + subtotal * TAXRATE); Εντολι return: επιςτρζφει τθν ζκφραςθ και τερματίηει τθν εκτζλεςθ τθσ ςυν/ςθσ 5-24

25 Τοποκζτθςθ Οριςμοφ Συνάρτθςθσ Μετά τθν ςυνάρτθςθ main() ΟΧΙ "μζςα" ςτθ main()! Οι ςυναρτιςεισ είναι "ιςοδφναμεσ" Καμία ςυν/ςθ δεν αποτελεί κομμάτι κάποιασ άλλθσ ςυν/ςθσ Η εντολι return Επιςτρζφει δεδομζνα ςε αυτόν που κάλεςε τθν ςυν/ςθ 5-25

26 Κλιςθ Συνάρτθςθσ Όπωσ και ςτισ προκακοριςμζνεσ ςυναρτιςεισ: bill = totalcost( number, price ); Η ςυν/ςθ totalcost() επιςτρζφει double Ανατίκεται ςτθ μεταβλθτι bill Ορίςματα είναι: number, price Μποροφν να είναι εκφράςεισ, μεταβλθτζσ, ςτακερζσ ι και ςυνδυαςμόσ αυτϊν Στο κάλεςμα ςυν/ςθσ, ζνα όριςμα ονομάηεται και "τυπικι παράμετροσ" Μθν ςυγχζεται τα ορίςματα των ςυναρτιςεων: Ορίςματα ςε λάκοσ ςειρά οδθγοφν ςε λάκοσ αποτζλεςμα 5-26

27 #include <iostream> using namespace std; double totalcost(int numberparameter, double priceparameter); //ππνινγηζκόο ζπλνιηθνύ θόζηνπο (#αληηθεηκέλωλ*πνζό) + 5% θόξνο int main( ) double price, bill; int number; Διλωςθ ςυν/ςθσ (μθν ξεχνάτε το ; ςτο τζλοσ) cout << "Enter the number of items: "; cin >> number; cout << "Enter the price"; cin >> price; bill = totalcost(number, price); cout << "Final bill: " << bill << endl; return 0; double totalcost(int numberparameter, double priceparameter) const double TAXRATE = 0.05; double subtotal; subtotal = priceparameter * numberparameter; return (subtotal + subtotal*taxrate); Κλιςθ ςυν/ςθσ Κεφαλίδα ςυν/ςθσ Σϊμα ςυν/ςθσ Οριςμόσ ςυν/ςθσ 5-27

28 Κλιςθ ςυναρτιςεων από ςυναρτιςεισ Ήδθ το κάνουμε αυτό: θ main() είναι ςυνάρτθςθ Η μοναδικι απαίτθςθ: Η διλωςθ τθσ ςυνάρτθςθσ πρζπει να εμφανίηεται πρϊτα Ο οριςμόσ τθσ ςυνάρτθςθσ πρζπει να εμφανίηεται Μετά τον οριςμό τθσ main() Συχνά ςυναρτιςεισ καλοφν άλλεσ ςυναρτιςεισ Μια ςυνάρτθςθ μπορεί επίςθσ να καλεί τον εαυτό τθσ "Αναδρομι" 5-28

29 Παράδειγμα ςτρογγυλοποίθςθσ Θζλουμε να ςτρογγυλοποιιςουμε ζναν αρικμό ςτο πλθςιζςτερο ακζραιο τμιμα 2.4 2, Οι ςυν/ςεισ floor() και ceil() επιςτρζφουν τον αμζςωσ προθγοφμενο ι επόμενο ακζραιο αρικμό ceil (2.4) 3 floor(2.9) 2 Αν προςκζςουμε 0.5 ςτον αρικμό και ηθτιςουμε το floor(): floor( ) 2 floor( ) 3 int round(double number) return static_cast<int>(floor(number + 0.5)); 5-29

30 #include <iostream> #include <cmath> int round(double number); int main( ) double doublevalue; char ans; do cout << "Enter a double value: "; cin >> doublevalue; cout << "Rounded is " << round(doublevalue) << endl; cout << "Again? (y/n): "; cin >> ans; while (ans == 'y' ans == 'Y'); return 0; int round(double number) return static_cast<int>(floor(number + 0.5)); 5-30

31 #include <iostream> char mystery(int a, int b); Τι εκτυπϊνει το πρόγραμμα; int main( ) cout << mystery( 10,9 ) << "ow\n"; return 0; char mystery(int a, int b) if( a > b ) return 'W'; else return 'H'; Γράψτε μια διλωςθ και ζναν οριςμό ςυν/ςθσ που παίρνει τρια ορίςματα, όλα int, και επιςτρζφει το άκροιςμά τουσ. Γράψτε μια διλωςθ και ζναν οριςμό ςυν/ςθσ που παίρνει ζνα όριςμα, τφπου double. Η ςυν/ςθ επιςτρζφει τον χαρακτιρα 'Θ' αν το όριςμα είναι κετικό και 'Α' αν το όριςμα είναι αρνθτικό. 5-31

32 Συναρτιςεισ που επιςτρζφουν μια λογικι τιμι Αντί να ζχουμε if ( (( rate >= 10 ) && ( rate < 20 )) ( rate == 0) )... Θα μποροφςαμε if ( appropriate(rate) )... Αρκεί να ορίςουμε και να δθλϊςουμε τθν ςυν/ςθ: bool appropriate(int rate) return ( (( rate >= 10 ) && ( rate < 20 )) ( rate == 0) ); 5-32

33 Οριςμόσ ςυναρτιςεων τφπου void Συν/ςεισ τφπου void δεν επιςτρζφουν τιμι 2 βαςικζσ διαφορζσ: λζξθ void & δεν απαιτεί τθν εντολι return void showresults ( double fdegrees, double cdegrees ) cout.setf(ios::fixed); cout.setf(ios::showpoint); cout.precision(1); cout << fdegrees << " βαζκνί θαξελάηη είλαη ηζνδύλακνη κε " << cdegrees << " βαζκνύο θέιζηνπο \n"; showresults ( 2.5, 0.3 ) ; 5-33

34 #include <iostream> void icecreamdivision(int number, double totalweight); int main( ) int number; double totalweight; cout << "Enter the customers: "; cin >> number; cout << "Enter weight of ice cream : "; cin >> totalweight; icecreamdivision(number, totalweight); return 0; void icecreamdivision(int number, double totalweight) double portion; if (number == 0) cout << "Cannot divide among zero customers.\n"; return; portion = totalweight/number; cout << "Each one receives " << portion; Μπορείτε να ζχετε εντολή return μζςα ςε ςυν/ςη void. 5-34

35 int main( ) friendly( ); shy( 6 ); cout << " Ξαλά: \n"; shy( 2 ); friendly( ); cout << "Τέινο \n"; return 0; Παραδείγματα void friendly( ) cout << "Γεηα ζαο \n"; void shy( int a ) if (a < 5 ) return ; cout << "Αληίν \n"; 5-35

36 Ενότθτα 10 ΤΝΑΡΣΗΕΙ: ΚΑΝΟΝΕ ΕΜΒΕΛΕΙΑ 5-36

37 Τοπικζσ μεταβλθτζσ Τοπικζσ Μεταβλθτζσ: δθλϊνονται μζςα ςε μια ςυνάρτθςθ Εμβζλεια: μζςα ςε αυτι τθν ςυνάρτθςθ double totalcost( int numberparameter, double priceparameter ) const double TAXRATE = 0.05; τοπικι ςτακερά double subtotal; τοπικι μεταβλθτι subtotal = priceparameter * numberparameter; return (subtotal + subtotal * TAXRATE); Αν μια μεταβλθτι είναι τοπικι τότε μπορείτε να ζχετε μια άλλθ μεταβλθτι με το ίδιο όνομα ςε μια άλλθ ςυνάρτθςθ δυο διαφορετικζσ μεταβλθτζσ με το ίδιο όνομα 5-37

38 #include <iostream> double estimate(int minpeas, int maxpeas, int podcount); int main( ) int maxcount, mincount, podcount; double averagepea, yield; cout << "Enter minimum and maximum and number of pods: "; cin >> mincount >> maxcount >> podcount; cout << "Enter the average weight: "; cin >> averagepea; yield = estimate(mincount, maxcount, podcount) * averagepea; cout << "Average weight = " << averagepea << endl << "Estimated average = " << yield << endl; return 0; double estimate(int minpeas, int maxpeas, int podcount) double averagepea; // Επηζηξέθεη κηα εθηίκεζε // γηα ηε κέζε ζνδεηά κπηδειηώλ // ειάρηζηνο-κέγηζηνο αξηζκόο // κπηδειηώλ ζε έλαλ θαξπό averagepea = (maxpeas + minpeas)/2.0; return (podcount * averagepea); 5-38

39 Κακολικζσ μεταβλθτζσ Οι τοπικζσ μεταβλθτζσ ζχουν εμβζλεια μόνο μζςα ςτθ ςυνάρτθςθ που ορίηονται Μεταβλθτζσ που δεν ορίηονται μζςα ςε μια ςυνάρτθςθ ονομάηονται κακολικζσ Δθλϊνονται ςτθν αρχι του προγράμματοσ: ζξω από το ςϊμα όλων των ςυναρτιςεων μποροφν να χρθςιμοποιθκοφν ςε οποιαδιποτε ςυν/ςθ Συνικθσ τακτικι: Δθλϊνονται μετά τισ οδθγίεσ include <... > και τθν οδθγία using

40 #include <iostream> #include <cmath> const double PI = ; double area(double radius); // εκβαδόλ θύθινπ double volume(double radius); // όγθνο ζθαίξαο int main( ) double radius, area, volume; cout << "Enter a radius \n"; cin >> radiusofboth; area = area(radius); volume = volume(radius); cout << "Area = " << area<< "\nvolume = " << volume << "\n"; return 0; double area(double radius) return (PI * pow(radius, 2)); // θαζνιηθή κεηαβιεηή double volume(double radius) return ((4.0/3.0) * PI * pow(radius, 3)); 5-40

41 Μπλοκ Σφνκετθ εντολι (μπλοκ): τμιμα εντολϊν μζςα ςε, - Μεταβλθτι που δθλϊνεται μζςα ςε μπλοκ ζχει εμβζλεια μόνο ςε αυτό το μπλοκ τοπικι μεταβλθτι του μπλοκ Ο οριςμόσ τθσ μεταβλθτισ ιςχφει από τθν διλωςθ τθσ μεταβλθτισ μζχρι τθν - Οι ςυναρτιςεισ είναι μπλοκ for(int i = 0; i < 10; i++) cout << i ; cout << ", "; while(1) cout << "give a number:" ; int num; cin >> num; if( num == 0 ) break; else cout "non-zero!! \n"; 5-41

42 Κανόνεσ εμβζλειασ Εμφωλιαςμζνα μπλοκ (και ςυναρτιςεισ) Οι κανόνεσ ιςχφουν και για κακολικζσ και τοπικζσ μεταβλθτζσ Κανόνασ εμβζλειασ Αν ζνα όνομα μεταβλθτισ χρθςιμοποιείται ςε δυο μπλοκ (το ζνα μζςα ςτο άλλο) τότε είναι δυο διαφορετικζσ μεταβλθτζσ με το ίδιο όνομα Η εςωτερικι μεταβλθτι δεν μπορεί να προςπελαςτεί από το ζξω μπλοκ Η εξωτερικι μεταβλθτι δεν μπορεί να προςπελαςτεί από το μζςα μπλοκ Οποιαδιποτε αλλαγι δεν επθρεάηει τθν άλλθ μεταβλθτι Παράδειγμα int x = 0; cout << x; int x = 1; cout << x; 5-42

43 Παράδειγμα εμβζλειασ int x = 1; cout << x << endl; cout << x; int x = 2; cout << x << endl; cout << x; int x = 3; cout << x << endl; cout << x << endl; cout << x << endl; 5-43

44 Παράδειγμα εμβζλειασ #include <iostream> int x = 1; void funa( ); void funb( ); int main( ) int x = 5; funa(); funb(); funa(); funb(); cout << x << " "; void funa( ) int x = 25; x++; cout << x << " "; void funb( ) x *= 10; cout << x << " "; 5-44

45 Ενότθτα 11 ΤΝΑΡΣΗΕΙ: ΑΝΑΔΡΟΜΙΚΕ ΤΝΑΡΣΗΕΙ 5-45

46 Αναδρομικζσ ςυναρτιςεισ Αναδρομι Συναρτιςεισ που καλοφν το εαυτό τουσ Πρζπει να λφνουν τθν βαςικι περίπτωςθ χωρίσ αναδρομι Διαιροφν το πρόβλθμα ςε Βαςικι περίπτωςθ που λφνουν «εφκολα» Σε άλλεσ περιπτϊςεισ που μοιάηουν με το αρχικό πρόβλθμα και τότε Καλοφν ζνα αντίγραφο του εαυτοφ τουσ για τθν λφςθ τουσ (αναδρομι) Κάποια ςτιγμι φτάνει ςτθν βαςικι περίπτωςθ και τθν επιλφει Περνάει επιμζρουσ αποτελζςματα προσ τα επάνω και τελικά φτάνει ςτθν λφςθ του όλου προβλιματοσ 5-46

47 Παράδειγμα αναδρομισ: Παραγοντικό (n!) Παραγονικό 5! = 5 * 4 * 3 * 2 * 1 Παρατθροφμε 5! = 5 * 4! 4! = 4 * 3!... Γενικά: n! = n * (n-1)! με 1! = 0! = 1 Μποροφν να υπολογιςτοφν αναδρομικά Βάςθ αναδρομισ (1! = 0! = 1). Μετά γυρίηουμε πίςω 2! = 2 * 1! = 2 * 1 = 2; 3! = 3 * 2! = 3 * 2 = 6; 4! = 4 * 3! = 4 * 6 =

48 #include <iostream> int factorial(int n); Παραγοντικό int main( ) for(int i = 1; i <= 20; i++) cout << "Factorial ( " << i << " ) = " << factorial(i); return 0; int factorial(int n) if( n <= 1 ) return 1; else return factorial(n-1) * n; 5-48

49 Η ςειρά Fibonacci Η ςειρά Fibonacci 0, 1, 1, 2, 3, 5, 8... Κάκε αρικμόσ είναι άκροιςμα των δφο προθγουμζνων fib( n ) = fib( n - 1 ) + fib( n - 2 ) Αναδρομικόσ οριςμόσ Βάςθ: fib(0) = 0 και fib(1) =

50 Η ςειρά Fibonacci Η ςειρά Fibonacci 0, 1, 1, 2, 3, 5, 8... Κάκε αρικμόσ είναι άκροιςμα των δφο προθγουμζνων fib( n ) = fib( n - 1 ) + fib( n - 2 ) f( 3 ) return f( 2 ) + f( 1 ) return f( 1 ) + f( 0 ) return 1 return 1 return

51 #include <iostream> int fibonacci(int n); int main( ) cout << "Enter a number: "; cin >> num; Fibonacci cout << "Fibonacci ( " << num << " ) = " << fibonacci(num); return 0; int fibonacci(int n) if( n <= 1 ) return n; else return fibonacci( n - 1 ) + fibonacci( n - 2 ); 5-51

52 Κάκετοι αρικμοί Στόχοσ: εμφάνιςε τα ψθφία του αρικμοφ κάκετα, ζνα ςε κάκε γραμμι Παράδειγμα: writevertical(1234); Επικυμθτό Αποτζλεςμα:

53 Αναδρομικόσ οριςμόσ Διάςπαςε το πρόβλθμα ςε 2 περιπτϊςεισ Βάςθ: αν n < 10 Γράψε το αρικμό n ςτθν οκόνθ Αναδρομικι περίπτωςθ: αν n >= 10: 1- Γράψε όλα τα ψθφία κάκετα εκτόσ από το τελευταίο 2- Γράψε το τελευταίο ψθφίο Παράδειγμα: παράμετροσ 1234: 1 θ ενζργεια: εμφανίηει τα 1, 2, 3 κάκετα 2 θ ενζργεια: εμφανίηει το

54 Οριςμόσ τθσ writevertical( ) void writevertical(int n) if (n < 10) //Base case cout << n << endl; else //Recursive step writevertical(n/10); cout << (n%10) << endl; Αναδρομικι περίπτωςθ: αν n >= 10: 1- Γράψε όλα τα ψθφία κάκετα εκτόσ από το τελευταίο 2- Γράψε το τελευταίο ψθφίο 5-54

55 Ανάλυςθ τθσ writevertical( ) Παράδειγμα εκτζλεςθσ: writevertical(123); writevertical(12); (123/10) writevertical(1); (12/10) cout << 1 << endl; cout << 2 << endl; cout << 3 << endl; Τα δείχνουν ποιον υπολογιςμό εκτελεί θ ςυν/ςθ Προςζξτε τισ δυο πρϊτεσ κλιςεισ ξανά (αναδρομι) Η τελευταία κλιςθ (1) εκτυπϊνει και "τερματίηει" 5-55

56 Μθν ξεχνάτε τθν βάςθ τθσ αναδρομισ Θεωριςτε ζναν άλλο τρόπο οριςμοφ τθσ ςυν/ςθσ: void newwritevertical(int n) newwritevertical(n/10); cout << (n%10) << endl; Φαίνεται "λογικι" ςυνάρτθςθ Του λείπει όμωσ θ βαςικι περίπτωςθ!! Η αναδρομι δεν ςταματάει ποτζ! Ατζρμονη αναδρομή 5-56

57 Θα μποροφςατε και χωρίσ αναδρομι void writevertical(int n) int nstens = 1; int leftendpiece = n; while (leftendpiece > 9) leftendpiece = leftendpiece/10; nstens = nstens*10; for (int i=nstens; i > 0; i = i/10) cout << (n/i) << endl; n = n%i; void writevertical(int n) if (n < 10) cout << n << endl; else writevertical(n/10); cout << (n%10) << endl; 5-57

58 Ενότθτα 12 ΤΝΑΡΣΗΕΙ: ΠΑΡΑΜΕΣΡΟΙ 5-58

59 Παράμετροι κλιςθσ με τιμι Στθν κλιςθ τθσ ςυνάρτθςθσ τοποκετοφνται αντίγραφα των τιμϊν Ουςιαςτικά είναι ςαν τοπικζσ μεταβλθτζσ Αν αλλάξουν τιμι, τότε "τοπικζσ" μεταβολζσ Η ςυνάρτθςθ δεν ζχει πρόςβαςθ ςτθ "πραγματικι παράμετρο" Αυτι είναι θ εξ'οριςμοφ κλιςθ ςε όλα τα παραδείγματα ωσ τϊρα 5-59

60 #include <iostream> const double RATE = ; //Επξώ αλα 15 ιεπηά. double fee(int hoursworked, int minutesworked); //Χξεώζεηο γηα hoursworked θαη minutesworked int main( ) Δεν αλλάηει θ τιμι int hours, minutes; τθσ μεταβλθτισ double bill; minutes από τθν cout << "Enter the hours and minutes:\n"; κλιςθ τθσ fee( ) cin >> hours >> minutes; bill = fee(hours, minutes); cout << "For " << hours << " and " << minutes << ", your bill is " << bill << endl; return 0; double fee(int hoursworked, int minutesworked) int quarterhours; minutesworked = hoursworked*60 + minutesworked; quarterhours = minutesworked/15; return (quarterhours*rate); 5-60

61 Τυπικό ςφάλμα Κλαςικό λάκοσ: Διλωςθ παραμζτρου "ξανά" μζςα ςε ςυν/ςθ: double fee(int hoursworked, int minutesworked) int quarterhours; // local variable int minutesworked; // NO! Σφάλμα ςτον μεταφραςτι: "Redefinition error " Παράμετροι με τιμι είναι ςαν "τοπικζσ μεταβλθτζσ" Αλλά θ ςυν/ςθ τισ ζχει δθλωμζνεσ "αυτόματα" 5-61

62 Παράμετροι κλιςθσ με αναφορά Χρθςιμοποιοφνται για να ζχουν πρόςβαςθ ςτισ πραγματικζσ παραμζτρουσ Τα δεδομζνα που καλεί κάποιοσ μπορεί να αλλάξουν κατά το κάλεςμα μιασ ςυν/ςθσ! Συνικωσ χρθςιμοποιοφνται για είςοδο/διάβαςμα Αυτόσ που καλεί κζλει τισ τιμζσ που κα διαβάςει θ ςυν/ςθ Δθλϊνονται με & μετά τον τφπο ςτθ λίςτα παραμζτρων void getinput( double& receiver ) cout << " Δώζε ηηκή: \n"; cin >> receiver; int main() double number;... getinput( number );

63 int main( ) int firstnum, secondnum; getnumbers(firstnum, secondnum); swapvalues(firstnum, secondnum); showresults(firstnum, secondnum); void getnumbers(int& input1, int& input2) cout << "Enter two integers: "; cin >> input1 >> input2; void swapvalues(int& variable1, int& variable2) int temp; temp = variable1; variable1 = variable2; variable2 = temp; void showresults(int output1, int output2) cout << "Αληίζηξνθα:"<< output1 << " " << output2 << endl; 5-63

64 Μθχανιςμόσ κλιςθσ με αναφορά Τι πραγματικά περνάμε ςαν αναφορά; Μια αναφορά ςτθν πραγματικι παράμετρο όταν κάλεςε τθν ςυνάρτθςθ Αναφζρεται ςτθν κζςθ μνιμθσ τθσ πραγματικισ παραμζτρου Καλείται ςυχνά ωσ "διεφκυνςθ", που είναι ζνα μοναδικό νοφμερο που δείχνει ςε διακριτι κζςθ μνιμθσ void getnumbers( int& input1, int& input2 ); getnumbers( first, second) first second 1010 input input2 5-64

65 Στακερζσ Παράμετροι αναφοράσ Οι παράμετροι με αναφορά εγκυμονοφν κινδφνουσ Τα δεδομζνα μποροφν να αλλάξουν Μερικζσ φορζσ είναι επικυμθτό, άλλεσ όχι Για να "προςτατεφςουμε" τα δεδομζνα, περνϊντασ παράλλθλα παραμζτρουσ με αναφορά: Χριςθ τθσ δεςμευμζνθσ λζξθσ const void sendconstref( const int &par1, const int &par2 ); Οι παράμετροι γίνονται "μόνο για διάβαςμα" (read-only) από τθν ςυνάρτθςθ Δεν επιτρζπονται αλλαγζσ ςτο ςϊμα τθσ ςυν/ςθσ 5-65

66 Μικτζσ λίςτεσ παραμζτρων Συνδυαςμόσ παραμζτρων ςτο κάλεςμα τθσ ςυν/ςθσ Η λίςτα παραμζτρων μπορεί να περιζχει παραμζτρουσ με τιμι και παραμζτρουσ με αναφορά Η ςειρά των οριςμάτων ςτθ λίςτα είναι ΣΗΜΑΝΤΙΚΗ: void mixedcall(int & par1, int par2, double & par3); Όταν καλοφμε τθ ςυν/ςθ: mixedcall(arg1, arg2, arg3); arg1 integer, παράμετροσ με αναφορά arg2 integer, παράμετροσ με τιμι arg3 double, παράμετροσ με αναφορά 5-66

67 #include <iostream> void dostuff(int par1value, int& par2ref); int main( ) int n1, n2; n1 = 1; n2 = 2; dostuff(n1, n2); cout << "n1 κεηά = " << n1 << endl; cout << "n2 κεηά = " << n2 << endl; return 0; void dostuff(int par1value, int& par2ref) par1value = 111; cout << "par1value ζηε ζπλ/ζε= "<< par1value << endl; par2ref = 222; cout << "par2ref ζηε ζπλ/ζε= " << par2ref << endl; 5-67

68 #include <iostream> Τι εκτυπϊνει; void figuremeout(int& x, int y, int &z); int main( ) int a = 10, b = 20, c = 30; figuremeout(a, b, c); cout << a << " " << b << " " << c << endl; return 0; void figuremeout(int& x, int y, int &z) cout << x << " " << y << " " << z << endl; x = 1; y = 2; z = 3; cout << x << " " << y << " " << z << endl; 5-68

69 Ενότθτα 13 ΤΝΑΡΣΗΕΙ: ΤΠΕΡΦΟΡΣΩΗ 5-69

70 Υπερφόρτωςθ Συναρτιςεισ με το ίδιο όνομα Διαφορετικι λίςτα παραμζτρων Δυο διαφορετικζσ δθλϊςεισ ςυναρτιςεων Τπογραφή ςυνάρτηςησ Όνομα ςυνάρτθςθσ & λίςτα παραμζτρων Μοναδικά για κάκε οριςμό ςυνάρτθςθσ Επιτρζπει ίδια ενζργεια ςε διαφορετικά δεδομζνα 5-70

71 Παράδειγμα Υπερφόρτωςθσ: Μζςοσ Όροσ Υπολογίηει το μζςο όρο 2 αρικμϊν: double average(double n1, double n2) return ((n1 + n2) / 2.0); Υπολογίηει το μζςο όρο 3 αρικμϊν: double average(double n1, double n2, double n3) return ((n1 + n2 + n3) / 3.0); Κδιο όνομα, δυο ςυναρτιςεισ 5-71

72 Παράδειγμα Υπερφόρτωςθσ: Μζςοσ Όροσ Ποια ςυνάρτθςθ καλείται; Εξαρτάται από το ίδιο το κάλεςμα: avg = average(5.2, 6.7); Καλεί "δφο-παραμζτρων average()" avg = average(6.5, 8.5, 4.2); Καλεί" τριϊν-παραμζτρων average()" Ο μεταφραςτισ επιλφει τζτοια κζματα βαςιηόμενοσ ςτθν υπογραφι ςτο κάλεςμα "Ταιριάηει" το κάλεςμα με τθν αντίςτοιχθ ςυν/ςθ 5-72

73 Επίλυςθ Υπερφόρτωςθσ 1 ον : Απόλυτο ταίριαςμα Κοιτάηει για ίδια υπογραφι όπου δεν απαιτείται κάποια μετατροπι τφπου 2 ον : Συμβατό ταίριαςμα Κοιτάηει για "ςυμβατι" υπογραφι όπου μια αυτόματθ μετατροπι τφπου είναι δυνατι: 1 οσ προϊκθςθ (π.χ., int double) δεν χάνονται δεδομζνα 2 οσ αποκοπι (π.χ., double int) πικανι απϊλεια δεδομζνων Ομοιότθτεσ ςτα ίδια επίπεδα ςφάλμα ςτο μεταφραςτι void f(int n, double m); void f(double n, int m); f(33, 44); 5-73

74 Αυτόματθ μετατροπι τφπου και Υπερφόρτωςθ Οι τυπικοί αρικμθτικοί τφποι φτιάχνουν ςυνικωσ τφπουσ "double" Επιτρζπει "οποιοδιποτε" αρικμθτικό τφπο int double float double char double *αργότερα κα το δοφμε! Αποφεφγει υπερφόρτωςθ για διαφορετικοφσ αρικμθτικοφσ τφπουσ 5-74

75 Αυτόματθ μετατροπι τφπου και Υπερφόρτωςθ double kmlgas(double klm, double liters) return (klm/liters); Παραδείγματα : a = kmlgas(5, 20); Μετατρζπει 5 & 20 ςε doubles, και μετά περνάει τιμζσ a = kmlgas (5.8, 20.2); Δεν χρειάηεται μετατροπι a = kmlgas (5, 2.4); Μετατρζπει το 5 ςε 5.0, και μετά περνάει τιμζσ ςτθ ςυν/ςθ 5-75

76 Προεπιλεγμζνα Ορίςματα Κατά τθν κλιςθ επιτρζπει τθν αποφυγι μερικϊν οριςμάτων Στθ διλωςθ/οριςμό ςυνάρτθςθσ: void showvolume( int length, int width = 1, int height = 1 ); Τα τελευταία 2 ορίςματα είναι προεπιλεγμζνα (defaulted) Πικανά καλζςματα: showvolume(2, 4, 6); //τιμζσ ςε όλα τα ορίςματα showvolume(3, 5); //height προεπιλεγμζνο ςε 1 showvolume(7); //width & height προεπιλεγμζνα ςε

77 #include <iostream> using namespace std; Προκακοριςμζνα ορίςματα void showvolume(int length, int width = 1, int height = 1); //Returns the volume of a box. int main( ) showvolume(4, 6, 2); showvolume(4, 6); showvolume(4); Ζνα προκακοριςμζνο όριςμα δεν πρζπει να δίνεται ςτο κυρίωσ ςϊμα τθσ ςυν/ςθσ return 0; void showvolume(int length, int width, int height) cout << "Volume of a box with \n" << "Length = " << length << ", Width = " << width << endl << "and Height = " << height << " is " << length*width*height << endl; 5-77

78 Συναρτιςεισ (ςφνοψθ) Όταν πρόκειται να γράψουμε μια ςυν/ςθ: 1. Κακορίηουμε τον επιςτρεφόμενο τφπο Πχ. int 2. Δίνουμε όνομα ςτθν ςυν/ςθ Πχ. square 3. Δθλϊνουμε τα ορίςματα (τι κα πρζπει να δζχεται θ ςυν/ςθ ωσ είςοδο) Πχ. (int y) 4. Γράφουμε τθν διλωςθ τθσ ςυν/ςθσ Πχ. int square(int y); 5. Υλοποιοφμε τθν μζκοδο ζχοντασ υπόψιν τθν εντολι return Πχ. int square(int y) int result; result = y*y; return result; 5-78

79 Βιβλιογραφία Καλι Μελζτθ [1] W. Savitch, Πλιρθσ C++, Εκδόςεισ Τηιόλα, 2011 [2+ Η. Deitel and P. Deitel, C++ Προγραμματιςμόσ 6θ Εκδοςθ, Εκδόςεισ Μ. Γκιοφρδασ, 2013 Υλη βιβλιογραφίασ [1]: 3.1, 3.2, 3.3, 4.1, 4.2, 13.1, 13.2 [2]: Κεφ

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό 343 Ειςαγωγι ςτον Προγραμματιςμό Τμιμα Μακθματικϊν Πανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2017-2018 Χάρθσ Παπαδόπουλοσ 207δ, B όροφοσ e-mail: charis@cs.uoi.gr Ωρεσ Γραφείου: Πζμπτθ 11-13 Σελίδα Μακιματοσ:

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

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό 343 Ειςαγωγι ςτον Προγραμματιςμό Τμιμα Μακθματικϊν Πανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2013-2014 Χάρθσ Παπαδόπουλοσ 207δ, B όροφοσ e-mail: charis@cs.uoi.gr Ωρεσ Γραφείου: Δευτζρα 11-13 & Παραςκευι 11-13

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

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό Ενότητα: Συναρτήσεις, εμβέλεια μεταβλητών και αναδρομή Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος Τμήμα: Μαθηματικών 343 Ειςαγωγι ςτον Προγραμματιςμό Τμιμα Μακθματικϊν

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

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό 343 Ειςαγωγι ςτον Προγραμματιςμό Τμιμα Μακθματικϊν Πανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2016-2017 Χάρθσ Παπαδόπουλοσ 207δ, B όροφοσ e-mail: charis@cs.uoi.gr Ωρεσ Γραφείου: Πζμπτθ 11-13 Τμιματα Εργαςτθρίων

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

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό 343 Ειςαγωγι ςτον Προγραμματιςμό Τμιμα Μακθματικϊν Πανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2017-2018 Χάρθσ Παπαδόπουλοσ 207δ, B όροφοσ e-mail: charis@cs.uoi.gr Ωρεσ Γραφείου: Πζμπτθ 11-13 Θ: διάλεξη (θεωρία)

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

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό 343 Ειςαγωγι ςτον Προγραμματιςμό Τμιμα Μακθματικϊν Πανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2013-2014 Χάρθσ Παπαδόπουλοσ 207δ, B όροφοσ e-mail: charis@cs.uoi.gr Ωρεσ Γραφείου: Δευτζρα 11-13 & Παραςκευι 11-13

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

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό Ενότητα: Επανάληψη σε συναρτήσεις Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος Τμήμα: Μαθηματικών 343 Ειςαγωγι ςτον Προγραμματιςμό Τμιμα Μακθματικϊν Πανεπιςτιμιο

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

Δομθμζνοσ Προγραμματιςμόσ. Βαγγζλθσ Οικονόμου Εργαςτιριο 9

Δομθμζνοσ Προγραμματιςμόσ. Βαγγζλθσ Οικονόμου Εργαςτιριο 9 Δομθμζνοσ Προγραμματιςμόσ Βαγγζλθσ Οικονόμου Εργαςτιριο 9 Συναρτιςεισ Αφαιρετικότθτα ςτισ διεργαςίεσ Συνάρτθςεισ Διλωςθ, Κλιςθ και Οριςμόσ Εμβζλεια Μεταβλθτών Μεταβίβαςθ παραμζτρων ςε ςυναρτιςεισ Συναρτιςεισ

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

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό 343 Ειςαγωγι ςτον Προγραμματιςμό Τμιμα Μακθματικϊν Πανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2016-2017 Χάρθσ Παπαδόπουλοσ 207δ, B όροφοσ e-mail: charis@cs.uoi.gr Ωρεσ Γραφείου: Πζμπτθ 11-13 Θ: διάλεξη (θεωρία)

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

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό 343 Ειςαγωγι ςτον Προγραμματιςμό Σμιμα Μακθματικϊν Πανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2016-2017 Χάρθσ Παπαδόπουλοσ 207δ, B όροφοσ e-mail: charis@cs.uoi.gr Ωρεσ Γραφείου: Πζμπτθ 11-13 Θ: διάλεξη (θεωρία)

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

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό 343 Ειςαγωγι ςτον Προγραμματιςμό Σμιμα Μακθματικϊν Πανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2018-2019 Χάρθσ Παπαδόπουλοσ 207δ, B όροφοσ e-mail: charis@cs.uoi.gr Ωρεσ Γραφείου: Σρίτθ 11-13 Ενότθτεσ 1-24 ΕΠΑΝΑΛΗΨΗ

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

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό 343 Ειςαγωγι ςτον Προγραμματιςμό Τμιμα Μακθματικϊν Πανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2017-2018 Χάρθσ Παπαδόπουλοσ 207δ, B όροφοσ e-mail: charis@cs.uoi.gr Ωρεσ Γραφείου: Πζμπτθ 11-13 Θ: διάλεξη (θεωρία)

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

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό Ενότητα: Επανάληψη Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος Τμήμα: Μαθηματικών 343 Ειςαγωγι ςτον Προγραμματιςμό Σμιμα Μακθματικϊν Πανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό

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

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8 Δείκτεσ Διαχείριςθ Μνιμθσ Βαγγζλθσ Οικονόμου Διάλεξθ 8 Δείκτεσ Κάκε μεταβλθτι ςχετίηεται με μία κζςθ ςτθν κφρια μνιμθ του υπολογιςτι. Κάκε κζςθ ςτθ μνιμθ ζχει τθ δικι τθσ ξεχωριςτι διεφκυνςθ. Με άμεςθ

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

5 ΜΕΘΟΔΟΙ - ΠΑΡΑΜΕΤΡΟΙ

5 ΜΕΘΟΔΟΙ - ΠΑΡΑΜΕΤΡΟΙ 5 ΜΕΘΟΔΟΙ - ΠΑΡΑΜΕΤΡΟΙ Να γραφεί πρόγραμμα, το οποίο κα δίνει τισ τιμζσ 5 και 6 ςε δφο μεταβλθτζσ a και b και κα υπολογίηει και κα εμφανίηει το άκροιςμά τουσ sum. ΛΟΓΙΚΟ ΔΙΑΓΡΑΜΜΑ a 5 b 6 sum a+b sum ΑΛΓΟΡΙΘΜΟ

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

17. Πολυδιάςτατοι πίνακεσ

17. Πολυδιάςτατοι πίνακεσ Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων 17. Πολυδιάςτατοι πίνακεσ Ιωάννθσ Κατάκθσ Πολυδιάςτατοι πίνακεσ o Μζχρι τϊρα μιλοφςαμε για μονοδιάςτατουσ πίνακεσ ι int age[5]= 31,28,31,30,31; o Για παράλλθλουσ

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

16. Πίνακεσ και Συναρτήςεισ

16. Πίνακεσ και Συναρτήςεισ Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων 16. Πίνακεσ και Συναρτήςεισ Ιωάννθσ Κατάκθσ Σιμερα o Κλιςθ με τιμι o Κλιςθ με αναφορά o Πίνακεσ και ςυναρτιςεισ o Παραδείγματα Ειςαγωγι o Στισ προθγοφμενεσ

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

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;.. Επιλογή - Επανάληψη Η εντολή if-else Ο τελεστής παράστασης συνθήκης H εντολή switch Η εντολές for και while Η εντολή do-while Η εντολές break - continue - goto Μαθηματικές συναρτήσεις Λέξεις κλειδιά στη

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

ΕΡΓΑΣΗΡΙΑΚΗ ΑΚΗΗ 4.1

ΕΡΓΑΣΗΡΙΑΚΗ ΑΚΗΗ 4.1 ΕΡΓΑΣΗΡΙΑΚΗ ΑΚΗΗ 4. Να γίνει πρόγραμμα το οποίο να επιλφει το Διαγώνιο Σφςτθμα: A ι το ςφςτθμα : ι ςε μορφι εξιςώςεων το ςφςτθμα : Αλγόρικμοσ m(). Διαβάηουμε τθν τιμι του ( θ διάςταςθ του Πίνακα Α )..

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

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό 343 Ειςαγωγι ςτον Προγραμματιςμό Σμιμα Μακθματικϊν Πανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2016-2017 Χάρθσ Παπαδόπουλοσ 207δ, B όροφοσ e-mail: charis@cs.uoi.gr Ωρεσ Γραφείου: Πζμπτθ 11-13 Σμιματα Εργαςτθρίων

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

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό 343 Ειςαγωγι ςτον Προγραμματιςμό Σμιμα Μακθματικϊν Πανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2017-2018 Χάρθσ Παπαδόπουλοσ 207δ, B όροφοσ e-mail: charis@cs.uoi.gr Ωρεσ Γραφείου: Πζμπτθ 11-13 Θ: διάλεξη (θεωρία)

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

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό Ενότητα: Εφαρμογές σε ταξινομήσεις και αναζήτηση στοιχείων Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος Τμήμα: Μαθηματικών 343 Ειςαγωγι ςτον Προγραμματιςμό Τμιμα

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

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

Η γλώςςα προγραμματιςμού C Η γλώςςα προγραμματιςμού C Οι εντολζσ επανάλθψθσ (while, do-while, for) Γενικά για τισ εντολζσ επανάλθψθσ Συχνά ςτο προγραμματιςμό είναι επικυμθτι θ πολλαπλι εκτζλεςθ μιασ ενότθτασ εντολϊν, είτε για ζνα

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

Παράςταςη ςυμπλήρωμα ωσ προσ 1

Παράςταςη ςυμπλήρωμα ωσ προσ 1 Δρ. Χρήστος Ηλιούδης Θζματα διάλεξησ ΣΤ1 Προςθεςη αφαίρεςη ςτο ΣΤ1 2 ή ΣΤ1 Ονομάηουμε ςυμπλιρωμα ωσ προσ μειωμζνθ βάςθ R ενόσ μθ προςθμαςμζνου αρικμοφ Χ = ( Χ θ-1 Χ θ-2... Χ 0 ) R ζναν άλλον αρικμό Χ'

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

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό 343 Ειςαγωγι ςτον Προγραμματιςμό Τμιμα Μακθματικϊν Πανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2013-2014 Χάρθσ Παπαδόπουλοσ 207δ, B όροφοσ e-mail: charis@cs.uoi.gr Ωρεσ Γραφείου: Δευτζρα 11-13 & Παραςκευι 11-13

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

Βαγγζλθσ Οικονόμου Διάλεξθ 7. Συναρτιςεισ Μζροσ 2ο

Βαγγζλθσ Οικονόμου Διάλεξθ 7. Συναρτιςεισ Μζροσ 2ο Συναρτιςεισ Μζροσ 2 ο Βαγγζλθσ Οικονόμου Διάλεξθ 7 1 Περιεχόμενα Βιβλιοκικεσ τθσ C Μεταβίβαςθ παραμζτρων παράδειγμα swap Αναδρομικότθτα Συναρτιςεισ και Πίνακεσ 2 H βαςικι βιβλιοκικθ τθσ C Η βαςικι βιβλιοκικθ

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

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό Ενότητα: Πίνακες (μονοδιάστατοι και πολυδιάστατοι) Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος Τμήμα: Μαθηματικών 343 Ειςαγωγι ςτον Προγραμματιςμό Τμιμα Μακθματικϊν

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

3 ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ ( while, do while )

3 ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ ( while, do while ) 3 ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ ( while, do while ) Στα πιο πολλά προγράμματα απαιτείται κάποια ι κάποιεσ εντολζσ να εκτελοφνται πολλζσ φορζσ για όςο ιςχφει κάποια ςυνκικθ. Ο αρικμόσ των επαναλιψεων μπορεί να είναι

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

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό Ενότητα: Ροή ελέγχου: if/else, switch, for, while, do-while Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος Τμήμα: Μαθηματικών 343 Ειςαγωγι ςτον Προγραμματιςμό Τμιμα

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

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό 343 Ειςαγωγι ςτον Προγραμματιςμό Σμιμα Μακθματικϊν Πανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2017-2018 Χάρθσ Παπαδόπουλοσ 207δ, B όροφοσ e-mail: charis@cs.uoi.gr Ωρεσ Γραφείου: Πζμπτθ 11-13 ελίδα Μακιματοσ:

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

ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ. Κεφάλαιο 8 Η γλϊςςα Pascal

ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ. Κεφάλαιο 8 Η γλϊςςα Pascal ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ Κεφάλαιο 8 Η γλϊςςα Pascal Παράγραφοσ 8.2 Βαςικοί τφποι δεδομζνων Σα δεδομζνα ενόσ προγράμματοσ μπορεί να: είναι αποκθκευμζνα εςωτερικά ςτθν μνιμθ είναι αποκθκευμζνα εξωτερικά

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

Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 2

Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 2 Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 2 Δρ. Χρήζηος Ηλιούδης Μθ Προςθμαςμζνοι Ακζραιοι Εφαρμογζσ (ςε οποιαδιποτε περίπτωςθ δεν χρειάηονται αρνθτικοί αρικμοί) Καταμζτρθςθ. Διευκυνςιοδότθςθ.

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

ΑΝΑΠΣΤΞΘ ΕΦΑΡΜΟΓΩΝ Ε ΠΡΟΓΡΑΜΜΑΣΙΣΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 3 ο ΓΕΝΙΚΟ ΛΤΚΕΙΟ Ν. ΜΤΡΝΘ- ΕΠΙΜΕΛΕΙΑ: ΠΤΡΙΔΑΚΘ Λ.

ΑΝΑΠΣΤΞΘ ΕΦΑΡΜΟΓΩΝ Ε ΠΡΟΓΡΑΜΜΑΣΙΣΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 3 ο ΓΕΝΙΚΟ ΛΤΚΕΙΟ Ν. ΜΤΡΝΘ- ΕΠΙΜΕΛΕΙΑ: ΠΤΡΙΔΑΚΘ Λ. Ερωτήςεισ Προβλήματα Α. Σημειώςτε δεξιά από κάθε πρόταςη το γράμμα Σ αν η πρόταςη είναι ςωςτή και το γράμμα Λ αν είναι λάθοσ. 1. Θ περατότθτα ενόσ αλγορίκμου αναφζρεται ςτο γεγονόσ ότι καταλιγει ςτθ λφςθ

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

x n D 2 ENCODER m - σε n (m 2 n ) x 1 Παραδείγματα κωδικοποιθτϊν είναι ο κωδικοποιθτισ οκταδικοφ ςε δυαδικό και ο κωδικοποιθτισ BCD ςε δυαδικό.

x n D 2 ENCODER m - σε n (m 2 n ) x 1 Παραδείγματα κωδικοποιθτϊν είναι ο κωδικοποιθτισ οκταδικοφ ςε δυαδικό και ο κωδικοποιθτισ BCD ςε δυαδικό. Κωδικοποιητές Ο κωδικοποιθτισ (nor) είναι ζνα κφκλωμα το οποίο διακζτει n γραμμζσ εξόδου και το πολφ μζχρι m = 2 n γραμμζσ ειςόδου και (m 2 n ). Οι ζξοδοι παράγουν τθν κατάλλθλθ λζξθ ενόσ δυαδικοφ κϊδικα

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

Ένα πρόβλθμα γραμμικοφ προγραμματιςμοφ βρίςκεται ςτθν κανονικι μορφι όταν:

Ένα πρόβλθμα γραμμικοφ προγραμματιςμοφ βρίςκεται ςτθν κανονικι μορφι όταν: Μζθοδος Simplex Η πλζον γνωςτι και περιςςότερο χρθςιμοποιουμζνθ μζκοδοσ για τθν επίλυςθ ενόσ γενικοφ προβλιματοσ γραμμικοφ προγραμματιςμοφ, είναι θ μζκοδοσ Simplex θ οποία αναπτφχκθκε από τον George Dantzig.

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

Ειςαγωγι ςτο Δομθμζνο Προγραμματιςμό. Βαγγζλθσ Οικονόμου

Ειςαγωγι ςτο Δομθμζνο Προγραμματιςμό. Βαγγζλθσ Οικονόμου Ειςαγωγι ςτο Δομθμζνο Προγραμματιςμό Βαγγζλθσ Οικονόμου Περιεχόμενα Πλθροφορίεσ Μακιματοσ Δομθμζνοσ Προγραμματιςμόσ (Οριςμοί, Γενικζσ Ζννοιεσ) Αλγόρικμοι και Ψευδοκϊδικασ Γλϊςςα προγραμματιςμοφ C Πλθροφορίεσ

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

Δομζσ Αφαιρετικότθτα ςτα Δεδομζνα

Δομζσ Αφαιρετικότθτα ςτα Δεδομζνα Δομζσ Αφαιρετικότθτα ςτα Δεδομζνα Περιεχόμενα Ζννοια δομισ Οριςμόσ δομισ Διλωςθ μεταβλθτϊν Απόδοςθ Αρχικϊν τιμϊν Αναφορά ςτα μζλθ μιασ δομισ Ζνκεςθ Δομισ Πίνακεσ Δομϊν Η ζννοια τθσ δομισ Χρθςιμοποιιςαμε

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

Θεςιακά ςυςτιματα αρίκμθςθσ

Θεςιακά ςυςτιματα αρίκμθςθσ Θεςιακά ςυςτιματα αρίκμθςθσ Δρ. Χρήστος Ηλιούδης αρικμθτικό ςφςτθμα αρίκμθςθσ (Number System) Αξία (value) παράςταςθ Οι αξίεσ (π.χ. το βάροσ μιασ ποςότθτασ μιλων) μποροφν να παραςτακοφν με πολλοφσ τρόπουσ

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

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D.

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. 1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 2η Ιστοσελίδα του µαθήµατος 2 http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα

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

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) 1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 2η 2 Ιστοσελίδα του µαθήµατος http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα

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

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

Οντοκεντρικόσ Προγραμματιςμόσ Οντοκεντρικόσ Προγραμματιςμόσ Ενότθτα 7: C++ TEMPLATES, ΤΠΕΡΦΟΡΣΩΗ ΣΕΛΕΣΩΝ, ΕΞΑΙΡΕΕΙ Templates Ιωάννθσ Χατηθλυγεροφδθσ Πολυτεχνικι χολι Σμιμα Μθχανικών Η/Τ & Πλθροφορικισ Templates Ειςαγωγι Templates o

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

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 15. Πίνακεσ ΙI. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 15. Πίνακεσ ΙI. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων 15. Πίνακεσ ΙI Ιωάννθσ Κατάκθσ Σιμερα o Ειςαγωγι o Διλωςθ o Αρχικοποίθςθ o Πρόςβαςθ o Παραδείγματα Πίνακεσ - Επανάλθψθ o Στθν προθγοφμενθ διάλεξθ κάναμε μια

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

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

Οντοκεντρικόσ Ρρογραμματιςμόσ Οντοκεντρικόσ Ρρογραμματιςμόσ Ενότθτα 7: C++ TEMPLATES, ΥΡΕΦΟΤΩΣΗ ΤΕΛΕΣΤΩΝ, ΕΞΑΙΕΣΕΙΣ Υπερφόρτωςθ Τελεςτών Ιωάννθσ Χατηθλυγεροφδθσ Ρολυτεχνικι Σχολι Τμιμα Μθχανικών Η/Υ & Ρλθροφορικισ Υπερφόρτωςθ Τελεςτών

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

Στα προθγοφμενα δφο εργαςτιρια είδαμε τθ δομι απόφαςθσ (ι επιλογισ ι ελζγχου ροισ). Ασ κυμθκοφμε:

Στα προθγοφμενα δφο εργαςτιρια είδαμε τθ δομι απόφαςθσ (ι επιλογισ ι ελζγχου ροισ). Ασ κυμθκοφμε: ΔΟΜΗ ΑΠΟΦΑΗ Στα προθγοφμενα δφο εργαςτιρια είδαμε τθ δομι απόφαςθσ (ι επιλογισ ι ελζγχου ροισ). Ασ κυμθκοφμε: Όταν το if που χρθςιμοποιοφμε παρζχει μόνο μία εναλλακτικι διαδρομι εκτζλεςθ, ο τφποσ δομισ

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

8 τριγωνομετρία. βαςικζσ ζννοιεσ. γ ςφω. εφω και γ. κεφάλαιο

8 τριγωνομετρία. βαςικζσ ζννοιεσ. γ ςφω. εφω και γ. κεφάλαιο κεφάλαιο 8 τριγωνομετρία Α βαςικζσ ζννοιεσ τθν τριγωνομετρία χρθςιμοποιοφμε τουσ τριγωνομετρικοφσ αρικμοφσ, οι οποίοι ορίηονται ωσ εξισ: θμω = απζναντι κάκετθ πλευρά υποτείνουςα Γ ςυνω = εφω = προςκείμενθ

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

ΘΥ101: Ειςαγωγι ςτθν Πλθροφορικι

ΘΥ101: Ειςαγωγι ςτθν Πλθροφορικι Παράςταςη κινητήσ υποδιαςτολήσ ςφμφωνα με το πρότυπο ΙΕΕΕ Δρ. Χρήστος Ηλιούδης το πρότυπο ΙΕΕΕ 754 ζχει χρθςιμοποιθκεί ευρζωσ ςε πραγματικοφσ υπολογιςτζσ. Το πρότυπο αυτό κακορίηει δφο βαςικζσ μορφζσ κινθτισ

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

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό 343 Ειςαγωγι ςτον Προγραμματιςμό Σμιμα Μακθματικϊν Πανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2015-2016 Χάρθσ Παπαδόπουλοσ 207δ, B όροφοσ e-mail: charis@cs.uoi.gr Ωρεσ Γραφείου: Πζμπτθ 11-13 ελίδα Μακιματοσ:

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

ΦΥΕ 14 ΑΚΑΔ. ΕΤΟΣ Η ΕΡΓΑΣΙΑ. Ημερομηνία παράδοςησ: 12 Νοεμβρίου (Όλεσ οι αςκιςεισ βακμολογοφνται ιςοτίμωσ με 10 μονάδεσ θ κάκε μία)

ΦΥΕ 14 ΑΚΑΔ. ΕΤΟΣ Η ΕΡΓΑΣΙΑ. Ημερομηνία παράδοςησ: 12 Νοεμβρίου (Όλεσ οι αςκιςεισ βακμολογοφνται ιςοτίμωσ με 10 μονάδεσ θ κάκε μία) ΦΥΕ ΑΚΑΔ. ΕΤΟΣ 007-008 Η ΕΡΓΑΣΙΑ Ημερομηνία παράδοςησ: Νοεμβρίου 007 (Όλεσ οι αςκιςεισ βακμολογοφνται ιςοτίμωσ με 0 μονάδεσ θ κάκε μία) Άςκηςη α) Να υπολογιςκεί θ προβολι του πάνω ςτο διάνυςμα όταν: (.

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

Συναρτήσεις και Πίνακες

Συναρτήσεις και Πίνακες Συναρτήσεις και Πίνακες Συναρτήσεις καθιερωμένης βιβλιοθήκης της C++ Συναρτήσεις οριζόμενες από τον χρήστη Μεταβίβαση κατ αξία Συναρτήσεις void και λογικές συναρτήσεις Μεταβίβαση κατ αναφορά Επιστροφή

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

Ειςαγωγι ςτθν Επιςτιμθ Υπολογιςτϊν. Ειςαγωγι ςτθν Python

Ειςαγωγι ςτθν Επιςτιμθ Υπολογιςτϊν. Ειςαγωγι ςτθν Python Ειςαγωγι ςτθν Επιςτιμθ Υπολογιςτϊν Ειςαγωγι ςτθν Python Γ Μζροσ Modules, Αντικειμενοςτραφισ Προγραμματιςμόσ ςτθν Python, Classes, Objects, Αλλθλεπίδραςθ με αρχεία Ειςαγωγι αρκρωμάτων (modules): import

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

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

ΕΡΓΑΣΗΡΙΟ ΕΦΑΡΜΟΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Στο εργαςτιριο αυτό κα δοφμε πωσ μποροφμε να προςομοιϊςουμε μια κίνθςθ χωρίσ τθ χριςθ εξειδικευμζνων εργαλείων, παρά μόνο μζςω ενόσ προγράμματοσ λογιςτικϊν φφλλων, όπωσ είναι το Calc και το Excel. Τα δφο

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

Εργαςτιριο Πικανοτιτων Σθμειϊςεισ προγραμματιςμοφ: βαςικζσ γνϊςεισ ανάπτυξθσ εφαρμογϊν. Κϊςτασ Αρβανιτάκθσ

Εργαςτιριο Πικανοτιτων Σθμειϊςεισ προγραμματιςμοφ: βαςικζσ γνϊςεισ ανάπτυξθσ εφαρμογϊν. Κϊςτασ Αρβανιτάκθσ Εργαςτιριο Πικανοτιτων Σθμειϊςεισ προγραμματιςμοφ: βαςικζσ γνϊςεισ ανάπτυξθσ εφαρμογϊν Κϊςτασ Αρβανιτάκθσ Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του

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

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 3 ο Εργαςτιριο υγχρονιςμόσ Διεργαςιϊν

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 3 ο Εργαςτιριο υγχρονιςμόσ Διεργαςιϊν ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ 3 ο Εργαςτιριο υγχρονιςμόσ Διεργαςιϊν Παράλλθλεσ Διεργαςίεσ (1/5) Δφο διεργαςίεσ λζγονται «παράλλθλεσ» (concurrent) όταν υπάρχει ταυτοχρονιςμόσ, δθλαδι οι εκτελζςεισ τουσ επικαλφπτονται

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

Εργαςτιριο Βάςεων Δεδομζνων

Εργαςτιριο Βάςεων Δεδομζνων Εργαςτιριο Βάςεων Δεδομζνων 2010-2011 Μάθημα 1 ο 1 Ε. Σςαμούρα Σμήμα Πληροφορικήσ ΑΠΘ Σκοπόσ του 1 ου εργαςτθριακοφ μακιματοσ Σκοπόσ του πρϊτου εργαςτθριακοφ μακιματοσ είναι να μελετιςουμε ερωτιματα επιλογισ

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

ΡΟΓΑΜΜΑΤΙΣΤΙΚΟ ΡΕΙΒΑΛΛΟΝ MICRO WORLDS PRO

ΡΟΓΑΜΜΑΤΙΣΤΙΚΟ ΡΕΙΒΑΛΛΟΝ MICRO WORLDS PRO ΡΟΓΑΜΜΑΤΙΣΤΙΚΟ ΡΕΙΒΑΛΛΟΝ MICRO WORLDS PRO Το Micro Worlds Pro είναι ζνα ολοκλθρωμζνο περιβάλλον προγραμματιςμοφ. Χρθςιμοποιεί τθ γλϊςςα προγραμματιςμοφ Logo (εξελλθνιςμζνθ) Το Micro Worlds Pro περιλαμβάνει

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

Γενικά Μαθηματικά ΙΙ

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

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

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

Οντοκεντρικόσ Προγραμματιςμόσ Οντοκεντρικόσ Προγραμματιςμόσ Ενότθτα 2: Η ΓΛΩΣΣΑ JAVA Βιβλιοκικεσ Ιωάννθσ Χατηθλυγεροφδθσ Πολυτεχνικι Σχολι Τμιμα Μθχανικών Η/Υ & Πλθροφορικισ ΒΙΒΛΙΟΘΗΚΗ JAVA ΒΑΙΚΗ ΒΙΒΛΙΟΘΗΚΗ JAVA Ζνα ςφνολο κλάςεων

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

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ. Φιλιοποφλου Ειρινθ

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

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

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12) Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II (Διάλεξη 12) 12-1 Ανασκόπηση Δομής Προγράμματος με Συναρτήσεις 1 void PrintMessage (); Πρότυπο (Δήλωση) Συνάρτησης (Δηλώνουν τι επιπλέον συναρτήσεις θα χρησιμοποιήσουμε

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

Μονάδες 6. Μονάδες ΓΑΨΕ Δεν υπάρχει ρίηα 2. ΑΝ Α>0 ΤΟΤΕ 3. ΤΕΛΟΣ_ΑΝ 4. ΑΛΛΙΩΣ 5. ίηα Τ_(Α)

Μονάδες 6. Μονάδες ΓΑΨΕ Δεν υπάρχει ρίηα 2. ΑΝ Α>0 ΤΟΤΕ 3. ΤΕΛΟΣ_ΑΝ 4. ΑΛΛΙΩΣ 5. ίηα Τ_(Α) 50 Χρόνια ΦΡΟΝΣΙΣΗΡΙΑ ΜΕΗ ΕΚΠΑΙΔΕΤΗ ΑΒΒΑΪΔΗ-ΜΑΝΩΛΑΡΑΚΗ ΠΑΓΚΡΑΣΙ : Φιλολάου & Εκφαντίδου 26 : Σηλ.: 2107601470 ΔΙΑΓΩΝΙΣΜΑ : ΑΝΑΡΤΥΞΗ ΕΦΑΜΟΓΩΝ ΣΕ ΡΟΓΑΜΜΑΤΙΣΤΙΚΟ ΡΕΙΒΑΛΛΟΝ Γϋ ΛΥΚΕΙΟΥ 2011 ΘΕΜΑ Α I. Η ςειριακι

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

ςυςτιματα γραμμικϊν εξιςϊςεων

ςυςτιματα γραμμικϊν εξιςϊςεων κεφάλαιο 7 Α ςυςτιματα γραμμικϊν εξιςϊςεων αςικζσ ζννοιεσ Γραμμικά, λζγονται τα ςυςτιματα εξιςϊςεων ςτα οποία οι άγνωςτοι εμφανίηονται ςτθν πρϊτθ δφναμθ. Σα γραμμικά ςυςτιματα με δφο εξιςϊςεισ και δφο

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

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν Τι είναι θ Γραμμι Εντολϊν (1/6) Στουσ πρϊτουσ υπολογιςτζσ, και κυρίωσ από τθ δεκαετία του 60 και μετά, θ αλλθλεπίδραςθ του χριςτθ με τουσ

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

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ Ενότητα: Συναρτήσεις και ορίσματα Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Τμήμα: Οικονομικών Επιστημών Διαφορά καθολικής μεταβλητής και σταθεράς

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

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

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

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό 343 Ειςαγωγι ςτον Προγραμματιςμό Τμιμα Μακθματικϊν Πανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2013-2014 Χάρθσ Παπαδόπουλοσ 207δ, B όροφοσ e-mail: charis@cs.uoi.gr Ωρεσ Γραφείου: Δευτζρα 11-13 & Παραςκευι 11-13

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

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό Ενότητα: Είσοδος και Έξοδος δεδομένων Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος Τμήμα: Μαθηματικών 343 Ειςαγωγι ςτον Ρρογραμματιςμό Τμιμα Μακθματικϊν Ρανεπιςτιμιο

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

Η θεωρία τησ ςτατιςτικήσ ςε ερωτήςεισ-απαντήςεισ Μέροσ 1 ον (έωσ ομαδοποίηςη δεδομένων)

Η θεωρία τησ ςτατιςτικήσ ςε ερωτήςεισ-απαντήςεισ Μέροσ 1 ον (έωσ ομαδοποίηςη δεδομένων) 1)Πώσ ορύζεται η Στατιςτικό επιςτόμη; Στατιςτικι είναι ζνα ςφνολο αρχϊν και μεκοδολογιϊν για: το ςχεδιαςμό τθσ διαδικαςίασ ςυλλογισ δεδομζνων τθ ςυνοπτικι και αποτελεςματικι παρουςίαςι τουσ τθν ανάλυςθ

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

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ Ειρινθ Φιλιοποφλου Ειςαγωγι Ο Παγκόςμιοσ Ιςτόσ (World Wide Web - WWW) ι πιο απλά Ιςτόσ (Web) είναι μία αρχιτεκτονικι για τθν προςπζλαςθ διαςυνδεδεμζνων εγγράφων

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

Μεθόδων Επίλυσης Προβλημάτων

Μεθόδων Επίλυσης Προβλημάτων ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 9 Συναρτήσεις Μέρος II Θέματα ιάλεξης Μη- ομημένος

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

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι Λογιςμικό (Software), Πρόγραμμα (Programme ι Program), Προγραμματιςτισ (Programmer), Λειτουργικό Σφςτθμα (Operating

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

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

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

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

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

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

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++ Εντολές εισόδου - εξόδου Εισαγωγή στη C++ Το πρώτο πρόγραμμα //my first program #include using namespace std; int main(){ cout

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

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό Ενότητα: Αριθμητικοί και λογικοί τελεστές Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος Τμήμα: Μαθηματικών 343 Ειςαγωγι ςτον Προγραμματιςμό Τμιμα Μακθματικϊν Πανεπιςτιμιο

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

Ρρογραμματιςμόσ Μεκόδων Επίλυςθσ Ρροβλθμάτων. 18. Αλφαριθμητικά. Ιωάννθσ Κατάκθσ. ΕΡΛ 032: Ρρογραμματιςμόσ Μεκόδων Επίλυςθσ Ρροβλθμάτων

Ρρογραμματιςμόσ Μεκόδων Επίλυςθσ Ρροβλθμάτων. 18. Αλφαριθμητικά. Ιωάννθσ Κατάκθσ. ΕΡΛ 032: Ρρογραμματιςμόσ Μεκόδων Επίλυςθσ Ρροβλθμάτων Ρρογραμματιςμόσ Μεκόδων Επίλυςθσ Ρροβλθμάτων 18. Αλφαριθμητικά Ιωάννθσ Κατάκθσ Αλφαρικμθτικά o Ζνα string είναι μία ακολουκία χαρακτιρων, ςθμείων ςτίξθσ κτλ Hello How are you? 121212 *Apple#123*% Σιμερα

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

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 19. Αλφαριθμητικά II. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 19. Αλφαριθμητικά II. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων 19. Αλφαριθμητικά II Ιωάννθσ Κατάκθσ Αλφαρικμθτικά ςτθ C Ζνα string είναι μία ακολουκία αλφαρικμθτικϊν χαρακτήρων, ςθμείων ςτίξθσ κτλ. Π.χ. Hello How are you?

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

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

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

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

Megatron ERP Βάςη δεδομζνων Π/Φ - κατηγοριοποίηςη Databox

Megatron ERP Βάςη δεδομζνων Π/Φ - κατηγοριοποίηςη Databox Megatron ERP Βάςη δεδομζνων Π/Φ - κατηγοριοποίηςη Databox 03 05 ΙΛΤΔΑ ΠΛΗΡΟΦΟΡΙΚΗ Α.Ε. αρμά Ιηαμπζλλα Βαρλάμθσ Νίκοσ Ειςαγωγι... 1 Σι είναι το Databox...... 1 Πότε ανανεϊνεται...... 1 Μπορεί να εφαρμοςτεί

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15

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

Ειςαγωγή ςτισ Συναρτήςεισ τησ PHP

Ειςαγωγή ςτισ Συναρτήςεισ τησ PHP Ειςαγωγή ςτισ Συναρτήςεισ τησ PHP Οι ςυναρτιςεισ (functions) τθσ PHP, δθλ. αυτζσ που υπάρχουν ενςωματωμζνεσ μζςα ςτθν PHP αλλά και αυτζσ που δθμιουργοφμε μόνοι μασ, διευκολφνουν πολφ το γράψιμο του κϊδικα

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

343 Ειςαγωγι ςτον Ρρογραμματιςμό

343 Ειςαγωγι ςτον Ρρογραμματιςμό 343 Ειςαγωγι ςτον Ρρογραμματιςμό Τμιμα Μακθματικϊν Ρανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2017-2018 Χάρθσ Ραπαδόπουλοσ 207δ, B όροφοσ e-mail: charis@cs.uoi.gr Ωρεσ Γραφείου: Ρζμπτθ 11-13 Στόχοσ Μακιματοσ

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

ΗΥ101: Ειςαγωγι ςτθν Πλθροφορικι

ΗΥ101: Ειςαγωγι ςτθν Πλθροφορικι Παράςταςη κινητήσ υποδιαςτολήσ Δρ. Χρήστος Ηλιούδης Θζματα διάλεξησ Παράςταςη ςταθεροφ ςημείου Παράςταςη αριθμών κινητοφ ςημείου 2 Παράςταςη ςταθεροφ ςημείου Στθν παράςταςθ αρικμϊν ςτακεροφ ςθμείου (Fixed

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

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

Ανάπτυξη Εφαρμογών Σε Προγραμματιςτικό Περιβάλλον Γραπτι Εξζταςθ ςτο μάκθμα Ανάπτυξη Εφαρμογών Σε Προγραμματιςτικό Περιβάλλον Όνομα: Επϊνυμο: Τμιμα: Ημερομθνία: 20/02/11 Θζμα 1 ο Α. Να χαρακτθρίςετε κακεμιά από τισ παρακάτω προτάςεισ ωσ Σωςτι (Σ) ι Λάκοσ

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

ΧΕΔΙΑΜΟ ΠΡΟΪΟΝΣΩΝ ΜΕ Η/Τ

ΧΕΔΙΑΜΟ ΠΡΟΪΟΝΣΩΝ ΜΕ Η/Τ ΧΕΔΙΑΜΟ ΠΡΟΪΟΝΣΩΝ ΜΕ Η/Τ ΚΑΜΠΤΛΕ ΕΛΕΤΘΕΡΗ ΜΟΡΦΗ Χριςιμεσ για τθν περιγραφι ομαλών και ελεφκερων ςχθμάτων Αμάξωμα αυτοκινιτου, πτερφγια αεροςκαφών, ςκελετόσ πλοίου χιματα χαρακτιρων κινουμζνων ςχεδίων Περιγραφι

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

Σχεδίαςη Σφγχρονων Ακολουθιακών Κυκλωμάτων

Σχεδίαςη Σφγχρονων Ακολουθιακών Κυκλωμάτων Σχεδίαςη Σφγχρονων Ακολουθιακών Κυκλωμάτων Πίνακεσ Διζγερςησ των FF Όπωσ είδαμε κατά τθ μελζτθ των FF, οι χαρακτθριςτικοί πίνακεσ δίνουν τθν τιμι τθσ επόμενθσ κατάςταςθσ κάκε FF ωσ ςυνάρτθςθ τθσ παροφςασ

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

343 Ειςαγωγι ςτον Ρρογραμματιςμό

343 Ειςαγωγι ςτον Ρρογραμματιςμό 343 Ειςαγωγι ςτον Ρρογραμματιςμό Τμιμα Μακθματικϊν Ρανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2016-2017 Χάρθσ Ραπαδόπουλοσ 207δ, B όροφοσ e-mail: charis@cs.uoi.gr Ωρεσ Γραφείου: Ρζμπτθ 11-13 Σελίδα Μακιματοσ:

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

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 12-1 Ανασκόπηση οµής Προγράµµατος µε Συναρτήσεις #include 1 void PrintMessage (); Πρότυπο ( ήλωση) Συνάρτησης (

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

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium V

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium V Σ ΤΑΤ Ι Σ Τ Ι Κ Η i Statisticum collegium V Στατιςτική Συμπεραςματολογία Ι Σημειακζσ Εκτιμήςεισ Διαςτήματα Εμπιςτοςφνησ Στατιςτική Συμπεραςματολογία (Statistical Inference) Το πεδίο τθσ Στατιςτικισ Συμπεραςματολογία,

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

Τμήματα Μνήμησ Υπολογιςμόσ Φυςικών διευθύνςεων. Εκπαιδεφτρια: Μαρία Πολίτθ

Τμήματα Μνήμησ Υπολογιςμόσ Φυςικών διευθύνςεων. Εκπαιδεφτρια: Μαρία Πολίτθ Τμήματα Μνήμησ Υπολογιςμόσ Φυςικών διευθύνςεων Εκπαιδεφτρια: Μαρία Πολίτθ Σύνδεςη με προηγούμενα Κάκε μονάδα ενόσ υπολογιςτι που χρθςιμεφει για τθ μόνιμθ ι προςωρινι αποκικευςθ δεδομζνων ανικει ςτθ μνήμη

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

Γομέρ Γεδομένων (Data Structures) Χαπμανδάπηρ Δςάγγελορ, Τμήμα Δθαπμοζμένων Μαθημαηικών, Δαπινό Δξάμηνο 2010/11. Διζαγωγή: Σύνηομη Δπιζκόπηζη ηηρ C++

Γομέρ Γεδομένων (Data Structures) Χαπμανδάπηρ Δςάγγελορ, Τμήμα Δθαπμοζμένων Μαθημαηικών, Δαπινό Δξάμηνο 2010/11. Διζαγωγή: Σύνηομη Δπιζκόπηζη ηηρ C++ Γομέρ Γεδομένων (Data Structures) Χαπμανδάπηρ Δςάγγελορ, Τμήμα Δθαπμοζμένων Μαθημαηικών, Δαπινό Δξάμηνο 2010/11 Διζαγωγή: Σύνηομη Δπιζκόπηζη ηηρ C++ Βαζικά Θέμαηα. Σςναπηήζειρ και παπάμεηποι. Αναδπομικέρ

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

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο) Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο) Πάτρα, 2013 Περιεχόμενα: Ειςαγωγή... 4 1. Επιμελητήριο... Error! Bookmark not defined. 1.1 Διαχειριςτήσ Αιτήςεων Επιμελητηρίου...

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

Μετατροπι Αναλογικοφ Σιματοσ ςε Ψθφιακό. Διάλεξθ 10

Μετατροπι Αναλογικοφ Σιματοσ ςε Ψθφιακό. Διάλεξθ 10 Μετατροπι Αναλογικοφ Σιματοσ ςε Ψθφιακό Διάλεξθ 10 Γενικό Σχιμα Μετατροπζασ Αναλογικοφ ςε Ψθφιακό Ψθφιακό Τθλεπικοινωνιακό Κανάλι Μετατροπζασ Ψθφιακοφ ςε Αναλογικό Τα αναλογικά ςιματα μετατρζπονται ςε

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

343 Ειςαγωγι ςτον Ρρογραμματιςμό

343 Ειςαγωγι ςτον Ρρογραμματιςμό 343 Ειςαγωγι ςτον Ρρογραμματιςμό Τμιμα Μακθματικϊν Ρανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2016-2017 Χάρθσ Ραπαδόπουλοσ 207δ, B όροφοσ e-mail: charis@cs.uoi.gr Ωρεσ Γραφείου: Ρζμπτθ 11-13 Στόχοσ Μακιματοσ

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

ΜΑΘΗΜΑΤΙΚΑ Α Γυμνασίου

ΜΑΘΗΜΑΤΙΚΑ Α Γυμνασίου ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΜΑΘΗΜΑΤΙΚΑ Α Γυμνασίου Ενότητα 1β: Ισότητα - Εξίσωση ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΥΠΗΡΕΣΙΑ ΑΝΑΠΤΥΞΗΣ ΠΡΟΓΡΑΜΜΑΤΩΝ ΜΑΘΗΜΑΤΙΚΑ Α Γυμνασίου Ενότητα 1β: Ισότητα - Εξίσωση Συγγραφή:

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

Ακολουκιακά Λογικά Κυκλώματα

Ακολουκιακά Λογικά Κυκλώματα Ακολουκιακά Λογικά Κυκλώματα Τα ψθφιακά λογικά κυκλϊματα που μελετιςαμε μζχρι τϊρα ιταν ςυνδυαςτικά κυκλϊματα. Στα ςυνδυαςτικά κυκλϊματα οι ζξοδοι ςε κάκε χρονικι ςτιγμι εξαρτϊνται αποκλειςτικά και μόνο

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

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

Προγραμματισμός Υπολογιστών με C++ Προγραμματισμός Υπολογιστών με C++ ( 2012-13 ) 5η διάλεξη Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Τι θα ακούσετε σήμερα Πίνακες ως ορίσματα συναρτήσεων. Τα ορίσματα argc και argv της main.

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

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα Αυτζσ οι οδθγίεσ ζχουν ςτόχο λοιπόν να βοθκιςουν τουσ εκπαιδευτικοφσ να καταςκευάςουν τισ δικζσ τουσ δραςτθριότθτεσ με το μοντζλο του Άβακα. Παρουςίαςη

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

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ ελιδοποίθςθ (1/10) Σόςο θ κατάτμθςθ διαμεριςμάτων ςτακεροφ μεγζκουσ όςο και θ κατάτμθςθ διαμεριςμάτων μεταβλθτοφ και άνιςου μεγζκουσ δεν κάνουν

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

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό 343 Ειςαγωγι ςτον Προγραμματιςμό Σμιμα Μακθματικϊν Πανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2016-2017 Χάρθσ Παπαδόπουλοσ 207δ, B όροφοσ e-mail: charis@cs.uoi.gr Ωρεσ Γραφείου: Πζμπτθ 11-13 Θ: διάλεξη (θεωρία)

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

Δυναμικι Μθχανϊν I. Διάλεξθ 16. Χειμερινό Εξάμθνο 2013 Τμιμα Μθχανολόγων Μθχ., ΕΜΠ

Δυναμικι Μθχανϊν I. Διάλεξθ 16. Χειμερινό Εξάμθνο 2013 Τμιμα Μθχανολόγων Μθχ., ΕΜΠ Δυναμικι Μθχανϊν I Διάλεξθ 16 Χειμερινό Εξάμθνο 2013 Τμιμα Μθχανολόγων Μθχ., ΕΜΠ 1 Ανακοινϊςεισ Office Hours: Δευτζρα 1-3 μμ, Εργαςτιριο Εμβιομθχανικισ, Ιςόγειο Κτθρίου Μ (210 772-1516) DMmeche2013@gmail.com

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