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

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

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

Transcript

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

2 Θ: διάλεξη (θεωρία) Ε: Εργαστήριο Q: Τεστ quiz Οκτώβριος 2013 Δ Τ Τ Π Π Θ Θ Θ Νοέμβριος 2013 Δ Τ Τ Π Π 4 E 5 E 6 7 Θ 8 11 E 12 E Θ E 19 E Θ Q Θ 29 Δεκέμβριος 2013 Δ Τ Τ Π Π 2 E 3 E 4 5 Θ 6 9 E 10 E Θ Q Θ 20 Ιανουάριος 2014 Δ Τ Τ Π Π Θ 10 Ημερολόγιο Μακιματοσ Εβδομάδα Θζματα Υλθ βιβλιογραφίασ Πζ, 17 Οκτωβρίου Ειςαγωγικά μακιματοσ & Δυαδικι αναπαράςταςθ *1+: 1.1, Παράρτθμα 3 *2+: Κεφ. 1, Β, Δ Πζ, 24 Οκτωβρίου Είςοδοσ/Ζξοδοσ δεδομζνων, τφποι δεδομζνων & μεταβλθτϊν Πζ, 31 Οκτωβρίου Προεπεξεργαςτισ, αρικμθτικοί και λογικοί τελεςτζσ, Ροι ελζγχου: if/else Δε Σρ, 4-5 Νοε 1 ο Εργαςτιριο Πζ, 7 Νοεμβρίου Ροι ελζγχου for, while, do-while Δε Σρ, Νοε 2 ο Εργαςτιριο Πζ, 14 Νοεμβρίου υναρτιςεισ, εμβζλεια μεταβλθτϊν και αναδρομι Δε Σρ, Νοε 3 ο Εργαςτιριο Πζ, 21 Νοεμβρίου Επανάλθψθ με Παραδείγματα Δε, Νοε 1 ο Quiz Πζ, 28 Νοεμβρίου Πίνακεσ (μονοδιάςτατοι και πολυδιάςτατοι) Δε Σρ, 2-3 Δεκ 4 ο Εργαςτιριο Πζ, 5 Δεκεμβρίου Αλφαρικμθτικά και υμβολοςειρζσ Δε, 9-10 Δεκ 5 ο Εργαςτιριο Πζ, 12 Δεκεμβρίου Χριςθ αρχείων, εγγραφζσ και δομζσ Δε Σρ, Δεκ 2 ο Quiz Πζ, 19 Δεκεμβρίου Εφαρμογζσ ςε ταξινομιςεισ και αναηιτθςθ ςτοιχείων Πζ, 9 Ιανουαρίου Επανάλθψθ *1+: 1.2, 1.3, 1.4, 1.5, Παράρτθμα 1 *2+: Κεφ. 2, Γ [1]: 2.1, 2.2 Παράρτθμα 2 *2+: 4.11, 4.12, Α, ΣΤ [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+: Κεφ. 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, Κεφ

3 Θ: διάλεξη (θεωρία) Ε: Εργαστήριο Q: Τεστ quiz Οκτώβριος 2013 Δ Τ Τ Π Π Θ Θ Θ Νοέμβριος 2013 Δ Τ Τ Π Π 4 E 5 E 6 7 Θ 8 11 E 12 E Θ E 19 E Θ Q Θ 29 Δεκέμβριος 2013 Δ Τ Τ Π Π 2 E 3 E 4 5 Θ 6 9 E 10 E Θ Q Θ 20 Ιανουάριος 2014 Δ Τ Τ Π Π Θ 10 Ημερολόγιο Μακιματοσ Εβδομάδα Θζματα Υλθ βιβλιογραφίασ Πζ, 17 Οκτωβρίου Ειςαγωγικά μακιματοσ & Δυαδικι αναπαράςταςθ *1+: 1.1, Παράρτθμα 3 *2+: Κεφ. 1, Β, Δ Πζ, 24 Οκτωβρίου Είςοδοσ/Ζξοδοσ δεδομζνων, τφποι δεδομζνων & μεταβλθτϊν Πζ, 31 Οκτωβρίου Προεπεξεργαςτισ, αρικμθτικοί και λογικοί τελεςτζσ, Ροι ελζγχου: if/else Δε Σρ, 4-5 Νοε 1 ο Εργαςτιριο Πζ, 7 Νοεμβρίου Ροι ελζγχου for, while, do-while Δε Σρ, Νοε 2 ο Εργαςτιριο Πζ, 14 Νοεμβρίου υναρτιςεισ, εμβζλεια μεταβλθτϊν και αναδρομι Δε Σρ, Νοε 3 ο Εργαςτιριο Πζ, 21 Νοεμβρίου Επανάλθψθ με Παραδείγματα Δε, Νοε 1 ο Quiz Πζ, 28 Νοεμβρίου Πίνακεσ (μονοδιάςτατοι και πολυδιάςτατοι) Δε Σρ, 2-3 Δεκ 4 ο Εργαςτιριο Πζ, 5 Δεκεμβρίου Αλφαρικμθτικά και υμβολοςειρζσ Δε, 9-10 Δεκ 5 ο Εργαςτιριο Πζ, 12 Δεκεμβρίου Χριςθ αρχείων, εγγραφζσ και δομζσ Δε Σρ, Δεκ 2 ο Quiz Πζ, 19 Δεκεμβρίου Εφαρμογζσ ςε ταξινομιςεισ και αναηιτθςθ ςτοιχείων Πζ, 9 Ιανουαρίου Επανάλθψθ *1+: 1.2, 1.3, 1.4, 1.5, Παράρτθμα 1 *2+: Κεφ. 2, Γ [1]: 2.1, 2.2 Παράρτθμα 2 *2+: 4.11, 4.12, Α, ΣΤ [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+: Κεφ. 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, Κεφ

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

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

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

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

8 #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-8

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

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

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

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

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

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

15 Παραδείγματα 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:

16 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-16

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

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

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

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

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

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

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

24 #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-24

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

26 Παράδειγμα ςτρογγυλοποίθςθσ Θζλουμε να ςτρογγυλοποιιςουμε ζναν αρικμό ςτο πλθςιζςτερο ακζραιο τμιμα 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-26

27 #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-27

28 #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-28

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

30 Οριςμόσ ςυναρτιςεων τφπου 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-30

31 #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-31

32 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-32

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

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

35 #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-35

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

37 #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-37

38 Μπλοκ Σφνκετθ εντολι (μπλοκ): τμιμα εντολϊν μζςα ςε, - Μεταβλθτι που δθλϊνεται μζςα ςε μπλοκ ζχει εμβζλεια μόνο ςε αυτό το μπλοκ τοπικι μεταβλθτι του μπλοκ Ο οριςμόσ τθσ μεταβλθτισ ιςχφει από τθν διλωςθ τθσ μεταβλθτισ μζχρι τθν - Οι ςυναρτιςεισ είναι μπλοκ 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-38

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

40 Παράδειγμα εμβζλειασ 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-40

41 Παράδειγμα εμβζλειασ #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-41

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

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

44 Παράδειγμα αναδρομισ: Παραγοντικό (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 =

45 #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-45

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

47 Η ςειρά 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

48 #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-48

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

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

51 Οριςμόσ τθσ 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-51

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

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

54 Θα μποροφςατε και χωρίσ αναδρομι 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-54

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

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

57 #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-57

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

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

60 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-60

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

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

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

64 #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-64

65 #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-65

66 Παράδειγμα με Πίτςα Μασ ενδιαφζρει ποια πίτςα ςυμφζρει ( τιμι / cm 2 ): μικρι πίτςα με ςυγκεκριμζνθ διάμετρο μεγάλθ πίτςα με ςυγκεκριμζνθ διάμετρο 5-66

67 #include <iostream> void getdata(int& smalldiameter, double& pricesmall, int& largediameter, double& pricelarge); void giveresults(int smalldiameter, double pricesmall, int largediameter, double pricelarge); double unitprice(int diameter, double price); // Επηζηξέθεη ηηκή αλά ηεηξαγωληθό εθαηνζηό // Πξνζπλζήθε: diameter είλαη ε δηάκεηξνο ηεο πίηζαο // θαη ε price είλαη ην θόζηνο ηεο πίηζαο. int main( ) int diametersmall, diameterlarge; double pricesmall, pricelarge; getdata(diametersmall, pricesmall, diameterlarge, pricelarge); giveresults(diametersmall, pricesmall, diameterlarge, pricelarge); return 0; 5-67

68 void getdata(int& smalldiameter, double& pricesmall, int& largediameter, double& pricelarge) cout << "Enter diameter of a small pizza: "; cin >> smalldiameter; cout << "Enter the price of a small pizza: "; cin >> pricesmall; cout << "Enter diameter of a large pizza: "; cin >> largediameter; cout << "Enter the price of a large pizza: "; cin >> pricelarge; void giveresults(int smalldiameter, double pricesmall, int largediameter, double pricelarge) double unitpricesmall, unitpricelarge; unitpricesmall = unitprice(smalldiameter, pricesmall); unitpricelarge = unitprice(largediameter, pricelarge); cout << "Small pizza:\n" << unitpricesmall << endl << "Large pizza:\n" << unitpricelarge << endl; if (unitpricelarge < unitpricesmall) cout << "The large one is the better buy.\n"; else cout << "The small one is the better buy.\n"; 5-68

69 double unitprice(int diameter, double price) const double PI = ; double radius, area; radius = diameter/static_cast<double>(2); area = PI * radius * radius; return (price/area); Παράδειγμα Enter diameter of a small pizza: 10 Enter the price of a small pizza: 7.50 Enter diameter of a large pizza: 13 Enter the price of a large pizza: Small pizza: Large pizza: The small one is the better buy. 5-69

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

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

72 Παράδειγμα Υπερφόρτωςθσ: Μζςοσ Όροσ Υπολογίηει το μζςο όρο 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-72

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

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

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

76 Αυτόματθ μετατροπι τφπου και Υπερφόρτωςθ 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-76

77 Προεπιλεγμζνα Ορίςματα Κατά τθν κλιςθ επιτρζπει τθν αποφυγι μερικϊν οριςμάτων Στθ διλωςθ/οριςμό ςυνάρτθςθσ: 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 προεπιλεγμζνα ςε

78 #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-78

79 Συναρτιςεισ (ςφνοψθ) Όταν πρόκειται να γράψουμε μια ςυν/ςθ: 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-79

80 Βιβλιογραφία Καλι Μελζτθ [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]: Κεφ

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

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

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

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

343 Ειςαγωγι ςτον Προγραμματιςμό 343 Ειςαγωγι ςτον Προγραμματιςμό Τμιμα Μακθματικϊν Πανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2017-2018 Χάρθσ Παπαδόπουλοσ 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 Ειςαγωγι ςτον Προγραμματιςμό Τμιμα Μακθματικϊν Πανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2016-2017 Χάρθσ Παπαδόπουλοσ 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 Ειςαγωγι ςτον Προγραμματιςμό Τμιμα Μακθματικϊν Πανεπιςτιμιο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 Μαθηματικές συναρτήσεις Λέξεις κλειδιά στη

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 Θ: διάλεξη (θεωρία)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 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 ). Οι ζξοδοι παράγουν τθν κατάλλθλθ λζξθ ενόσ δυαδικοφ κϊδικα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Η Γλώσσα Προγραµµατισµού 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 Θα

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

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

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

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

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

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

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

Η Γλώσσα Προγραµµατισµού 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 Θα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό. Ενότητα: Εισαγωγικά μαθήματος και Δυαδική αναπαράσταση

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

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

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

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

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

Ιδιότθτεσ πεδίων Γενικζσ.

Ιδιότθτεσ πεδίων Γενικζσ. Οι ιδιότθτεσ των πεδίων διαφζρουν ανάλογα με τον τφπο δεδομζνων που επιλζγουμε. Ορίηονται ςτο κάτω μζροσ του παρακφρου ςχεδίαςθσ του πίνακα, ςτθν καρτζλα Γενικζσ. Ιδιότθτα: Μζγεκοσ πεδίου (Field size)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. Διαφάνειεσ: Βαςικζσ Αρχζσ Προγραμματιςμοφ Α.Π.Θ. Δθμιτρθσ Βράκασ

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. Διαφάνειεσ: Βαςικζσ Αρχζσ Προγραμματιςμοφ Α.Π.Θ. Δθμιτρθσ Βράκασ Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων 21. Δομζς Ιωάννθσ Κατάκθσ Διαφάνειεσ: Βαςικζσ Αρχζσ Προγραμματιςμοφ Α.Π.Θ. Δθμιτρθσ Βράκασ Τφποι Δεδομζνων Οριηόμενοι από το Χριςτθ o Πζρα από τουσ απλοφσ τφπουσ

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

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

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

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

Διαχείριςη Αριθμοδεικτών (v.1.0.7)

Διαχείριςη Αριθμοδεικτών (v.1.0.7) Διαχείριςη Αριθμοδεικτών (v.1.0.7) Περιεχόμενα 1. Μενοφ... 5 1.1 Αρικμοδείκτεσ.... 5 1.1.1 Δθμιουργία Αρικμοδείκτθ... 6 1.1.2 Αντιγραφι Αρικμοδείκτθ... 11 2. Παράμετροι... 12 2.1.1 Κατθγορίεσ Αρικμοδεικτϊν...

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

Ποσοτικές Μέθοδοι Δρ. Χάϊδω Δριτσάκη

Ποσοτικές Μέθοδοι Δρ. Χάϊδω Δριτσάκη Ποσοτικές Μέθοδοι Δρ. Χάϊδω Δριτσάκη MSc Τραπεζική & Χρηματοοικονομική Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Western Macedonia University of Applied Sciences Κοίλα Κοζάνης 50100 Kozani GR

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Περιφέρειες) Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Περιφέρειες) Ιούνιοσ 2013 Περιεχόμενα: Ειςαγωγή... 3 1. Περιφζρεια... 3 1.1 Διαχειριςτήσ Αιτήςεων Περιφζρειασ... 3 1.1.1. Είςοδοσ... 3 1.1.2. Αρχική

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

Βάρειπ Δεδξμέμωμ. Επγαστήπιο ΙΙ. Τμήμα Πλεπουοπικήρ ΑΠΘ

Βάρειπ Δεδξμέμωμ. Επγαστήπιο ΙΙ. Τμήμα Πλεπουοπικήρ ΑΠΘ Βάρειπ Δεδξμέμωμ Επγαστήπιο ΙΙ Τμήμα Πλεπουοπικήρ ΑΠΘ 2016-2017 2 Σκξπόπ ςξσ 2 ξσ εογαρςηοίξσ Σκοπόρ αςτού τος επγαστεπίος είναι: Η μελέτε επωτεμάτων σε μία μόνο σσέσε. Εξετάδοςμε τοςρ τελεστέρ επιλογήρ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Πανεπιςτιμιο Κφπρου ΟΙΚ 223: Μακθματικά για οικονομολόγουσ ΙΙ Διδάςκων:

Πανεπιςτιμιο Κφπρου ΟΙΚ 223: Μακθματικά για οικονομολόγουσ ΙΙ Διδάςκων: Πανεπιςτιμιο Κφπρου ΟΙΚ 3: Μακθματικά για οικονομολόγουσ ΙΙ Διδάςκων: Φάμπιο Αντωνίου τοιχεία Επικοινωνίασ: email: fantoniou@aueb.gr ; fabio@ucy.ac.cy Σθλ:893683 Προςωπικι Ιςτοςελίδα: fantoniou.wordpress.com

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

Ανάλυςη κλειςτϊν δικτφων

Ανάλυςη κλειςτϊν δικτφων Ανάλυςη κλειςτϊν δικτφων Θ ανάλυςθ κλειςτϊν δικτφων ςτθρίηεται ςτθ διατιρθςθ τθσ μάηασ και τθσ ενζργειασ. Σε ζνα τυπικό βρόχο ABCDA υπάρχει ζνασ αρικμόσ από κόμβουσ, εδϊ A,B,C,D, ςτουσ οποίουσ ιςχφει θ

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

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

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

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

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

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

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