Περαιτέρω για Συναρτήσεις
|
|
- Αποστόλης Κανακάρης-Ρούφος
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Περαιτέρω για Συναρτήσεις Πέρασµα µέσω διευθύνσεως παράµετροι εξόδου Εµβέλεια ονοµασιών Παράµετροι συναρτήσεις οκιµή και αποσφαλµάτωση ενός προγράµµατος
2 Παράδειγµα: Ρίζες ευτεροβάθµιας Εξίσωσης ax 2 + bx + c = 0 b ± (b 2 4ac) x = 2a Περιπτώσεις: y y y x x x δύο ρίζες µία ρίζα καµµία ρίζα Ορισµός Συνάρτησης quadroots a how many b quadroots root 1 c root 2 /* πρωτότυπο συνάρτησης */ void quadroots (double a, double b, double c, int *how_many, double *root1, double *root2); 2
3 /* Oρισµός */ void quadroots (double a, double b, double c, int *how_many, double *root1, double *root2){ double diff = b*b 4*a*c; if (diff < 0.0) {*how_many = 0; else if (diff == 0.0) {*how_many = 1; *root1 = b/(2*a); else {*how_many = 2; *root1 = ( b + sqrt(diff))/(2*a); *root2 = ( b sqrt(diff))/(2*a); /* Ορισµός main */ void main () { int num_roots; double a, b, c, root_1, root_2; printf( \nenter coefficients: ); scanf( %lf%lf%lf, &a, &b, &c); quadroots(a, b, c, &num_roots, &root_1, &root_2); switch (num_roots) { case 0 : printf( \nthere are no roots\n ); break; case 1 : printf( \nthere is one root which is %f\n, root_1); break; case 2: printf( \nthere are two roots which are ); printf( %f and %f\n, root_1, root_2); 3
4 $ roots Enter coefficients: There is one root which is y 2x 2 + 4x x $ roots Enter coefficients: There are two roots which are and y x 2 + 5x + 3 x $ roots Enter coefficients: There are no roots y 3x 2 + x + 1 x 4
5 a 2.0 main num_roots 1 b root_ c 2.0 root_2 quadroots a how_many 2.0 b diff root c 2.0 root2 5
6 Οι παράµετροι χωρίζονται σε Παραµέτρους εισόδου (τιµές) Παραµέτρους εξόδου (διευθύνσεις) Οι παραµέτροι εισόδου (input parameters) της συνάρτησης quadroots είναι οι a, b και c. Οι παραµέτροι εξόδου (output parameters) αυτής της συνάρτησης είναι οι η how_many, root1 και root2. Οι παράµετροι εισόδου διοχετεύουν πληροφορίες στην συνάρτηση. Οι παράµετροι εξόδου επιτρέπουν στην συνάρτηση να διοχετεύει προς τα έξω πληροφορίες, µάλιστα πέραν της µίας πληροφορίας. Επίσης παράµετροι εξόδου µπορούν να διοχετεύσουν και πληροφορίες προς τη συνάρτηση. Με άλλα λόγια οι χώροι των οποίων οι διευθύνσεις αποτελούν αυτές τις παραµέτρους δεν είναι κατ ανάγκη κενοί χώροι που θα γεµίσουν από τη συνάρτηση, αλλά µπορεί να περιέχουν πληροφορίες τις οποίες θα επεξεργαστεί η συνάρτηση. Εποµένως παράµετροι εξόδου µπορεί να είναι ταυτόχρονα και παράµετροι εισόδου. 6
7 Παράλληλα, µία συνάρτηση µπορεί να έχει και τιµή εξόδου, η οποία διοχετεύεται προς τα έξω διαµέσου της εντολής return. Η εντολή return επιτρέπει τη ρητή επιστροφή, από µέρους της συνάρτησης, µίας µόνο πληροφορίας. Παράδειγµα: Επεξεργασία Κλασµατικών Αριθµών Ένας κλασµατικός αριθµός αντιπροσωπεύεται από δύο ακέραιους αριθµούς, τον αριθµητή (numerator) και τον παρανοµαστή (denominator). Ο κλασµατικός αριθµός m/n είναι σε κανονική µορφή εάν n > 0, και ο µέγιστος κοινός διαιρέτης ανάµεσα στην απόλυτη τιµή του m και τη τιµή του n είναι το 1 Ένας αρνητικός κλασµατικός αριθµός έχει αρνητικό αριθµητή και θετικό παρανοµαστή. Το 0 αναπαριστάται ως 0/1. 7
8 /* Συνάρτηση sign για το πρόσηµο ακεραίου */ int sign (int n) { if (n == 0) return 0; else if (n > 0) return 1; else return 1; /* Συνάρτηση norm η οποία µετατρέπει κλασµατικό αριθµό σε κανονική µορφή */ int norm (int *nup, int *denop) { int divisor; if (*denop == 0) return 0; else { *nup = *nup * sign(*denop); *denop = abs(*denop); divisor = gcd(abs(*nup), *denop); *nup = *nup / divisor; *denop = *denop / divisor; return 1; nup denop norm µπορούσε να γίνει η κανονικοποίηση; 8
9 H συνάρτηση norm έχει δύο παραµέτρους, οι οποίες ταυτόχρονα αποτελούν εισόδους και εξόδους. Αυτό γιατί οι εν λόγω χώροι, οι διευθύνσεις των οποίων θα είναι τα ορίσµατα σε κλήσεις της συνάρτησης norm, αναµένεται να περιέχουν έγκυρες πληροφορίες, τον αρχικό αριθµητή και παρανοµαστή, οι οποίοι θα αντικατασταθούν από τις κανονικοποιηµένες τους τιµές, βάσει της διεργασίας της συνάρτησης. Η ρητή τιµή εξόδου της συνάρτησης ερµηνεύεται ως λογική τιµή, η οποία επισηµαίνει κατά πόσον η κανονικοποίηση του κλασµατικού αριθµού ήταν εφικτή, κατά πόσον δηλαδή ο παρανοµαστής δεν ήταν το µηδέν. Άλλο παράδειγµα συνάρτησης όπου οι παράµετροι αποτελούν ταυτόχρονα εισόδους και εξόδους είναι η συνάρτηση swap. Όµως στην συνάρτηση quadroots, οι παράµετροι εξόδου είναι µόνο για έξοδο. Οι χώροι, οι διευθύνσεις των οποίων αποτελούν τα εν λόγω ορίσµατα σε κλήσεις της συνάρτησης, δεν περιέχουν έγκυρες πληροφορίες. Είναι κενοί χώροι οι οποίοι γεµίζουν ως αποτέλεσµα της διεργασίας της quadroots. 9
10 Έστω nu deno 6 36 norm(&nu, &deno) 1 και nu deno 1 6 Τα Βήµατα Αναλυτικά nu deno 6 36 nup norm denop divisor Αρχικά 10
11 nu 6 deno 36 nup norm denop divisor 1 ο Βήµα nu deno 1 6 norm nup denop divisor ο Βήµα 11
12 Αριθµητικοί Τελεστές x/y + u/v = (xv + uy) / yv x/y u/v = (xv uy) / yv x/y u/v = xu / yv x/y u/v = xv / yu /* Συναρτήσεις για πρόσθεση, αφαίρεση, πολλαπλασιασµό και διαίρεση κλασµατικών αριθµών */ int add (int n1, int d1, int n2, int d2, int *n, int *d) { *n = n1 * d2 + n2 * d1; *d = d1 * d2; return norm(n,d); int sub (int n1, int d1, int n2, int d2, int *n, int *d) { *n = n1 * d2 n2 * d1; *d = d1 * d2; return norm(n,d); int mult (int n1, int d1, int n2, int d2, int *n, int *d) { *n = n1 * n2; *d = d1 * d2; return norm(n,d); int div (int n1, int d1, int n2, int d2, int *n, int *d) { *n = n1 * d2; *d = d1 * u2; return norm(n,d); 12
13 Σύγκριση Κλασµατικών Αριθµών x/y = u/v xv = yu x/y < u/v xv < yu x/y > u/v xv > yu /* Ορισµοί Συναρτήσεων */ int equals (int n1, int d1, int n2, int d2) { return n1 * d2 == d1 * n2; int less (int n1, int d1, int n2, int d2) { return n1 * d2 < d1 * n2; int greater (int n1, int d1, int n2, int d2) { return n1 * d2 > d1 * n2; Γενίκευση int compare (int op (int, int), int n1, int d1, int n2, int d2) { return op(n1 * d2, d1 * n2); Η πρώτη παράµετρος της compare είναι συνάρτηση. equals(1, 4, 2, 8) compare(equals_p, 1, 4, 2, 8) less(1, 4, 1, 2) compare(less_p, 1, 4, 1, 2) greater(1, 4, 1, 8) compare(greater_p, 1, 4, 1, 8) 13
14 Παράδειγµα: Ταξινόµηση τριών πραγµατικών αριθµών σε φθίνουσα σειρά. Τη βασική διεργασία θα την κάνει η συνάρτηση order. fst snd order Οι παράµετροι fst και snd είναι ταυτόχρονα είσοδοι και έξοδοι. void order (double *fst, double *snd){ double temp; if (*fst < *snd) {temp = *fst; *fst = *snd; *snd = temp; Εναλλακτικά void order (double *fst, double *snd){ if (*fst < *snd) swap(fst, snd); Εάν ο πρώτος αριθµός είναι µοκρότερος από το δεύτερο, εναλλάσσονται τα περιεχόµενά τους. Γιατί η κλήση swap(*fst, *snd) θα ήταν λανθασµένη; 14
15 Συνάρτηση main void main () { double num1, num2, num3; printf( \nenter three numbers ); scanf( %lf%lf%lf, &num1, &num2, &num3); order(&num1, &num2); order(&num1, &num3); order(&num2, &num3); printf( \nthe numbers in descending order are %f %f %f, num1, num2, num3); $ order3 Enter three numbers The numbers in descending order are Τα Βήµατα Αναλυτικά Αρχικά, µετά δηλαδή τη σάρωση των τριών αριθµών num1 num2 num
16 Μετά την κλήση order(&num1, &num2) num1 num2 num Μετά την κλήση order(&num1, &num3) num1 num2 num Μετά την κλήση order(&num2, &num3) num1 num2 num Τροποποίηση της order ούτως ώστε η ταξινόµηση να γίνεται σε αύξουσα σειρά. void order (double *fst, double *snd) { if ( *fst > *snd) swap(fst, snd); Γενίκευση Η ταξινόµηση να γίνεται είτε σε φθίνουσα, είτε σε αύξουσα σειρά. 16
17 Η σειρά ταξινόµησης πρέπει να αποτελεί παράµετρο της order. σειρά fst snd order void order (char how, double *fst, double *snd) { switch (how) { case A : if (*fst > *snd) swap(fst, snd); break; case D : if (*fst < *snd) swap(fst, snd); Αυτή η λύση συνεπάγεται περιορισµούς. Καλύτερα να διοχετεύεται στη συνάρτηση το κατηγόρηµα, βάσει του οποίου θα γίνεται η ταξινόµηση. O τύπος (δηλαδή η διεπαφή) αυτού του κατηγορήµατος είναι int sop (double, double) όπου sop είναι η εικονική ονοµασία του κατηγορήµατος. void order (int sop (double, double), double *fst, double *snd){ if (sop(*fst, *snd)) swap(fst, snd); 17
18 Κατηγορήµατα ταξινόµησης int lessp (double x, double y) {return x < y; int greaterp (double x, double y) {return x > y; Επαναδιατύπωση της main για ταξινόµηση σε φθίνουσα σειρά. void main () { double num1, num2, num3; printf( \nenter three numbers ); scanf( %lf%lf%lf, &num1, &num2, &num3); order(lessp, &num1, &num2); order(lessp, &num1, &num3); order(lessp, &num2, &num3); printf( \nthe numbers in descending order are %f %f %f, num1, num2, num3); 18
19 Παράµετροι Συναρτήσεις Function Parameters Η χρήση τους παρέχει υψηλότερη αφαιρετικότητα. Παράδειγµα: Η µέθοδος του Νεύτωνα για τον υπολογισµό µίας ρίζας δεδοµένης συνάρτησης η οποία είναι συνεχής και παραγωγίσιµη γύρω από αυτό το σηµείο. Εάν το y είναι µία προσέγγιση στη ρίζα της συνάρτησης f, η έκφραση y f(y) f (y) δίνει µία καλύτερη προσέγγιση f(y) f(y) y o y o y o y o 19
20 Εφαρµογή µεθόδου για τον υπολογισµό τετραγωνικών ριζών, x = y Η τετραγωνική ρίζα αντιστοιχεί στη ρίζα της συνάρτησης f(y) = y 2 x η επόµενη προσέγγιση υπολογίζεται ως y f(y) / f (y) = y (y 2 x) / 2y = (y + x / y) / 2 Εφαρµογή µεθόδου για τον υπολογισµό τριγωνικών ριζών, 3 x = y Η τριγωνική ρίζα αντιστοιχεί στη ρίζα της συνάρτησης f(y) = y 3 x η επόµενη προσέγγιση υπολογίζεται ως y f(y) / f (y) = y (y 3 x) / 3y 2 = (2y + x / y 2 ) / 3 Συνάρτηση για την παράγωγο Αρχικά χρειάζεται να ορισθεί µία συνάρτηση, έστω deriv, η οποία υπολογίζει την παράγωγο δεδοµένης µαθηµατικής συνάρτησης, f, σε δεδοµένο σηµείο, x, νοουµένου ότι η f είναι συνεχόµενη στο σηµείο x. f (f(x+dx) f(x)) / dx x dx x+dx 20
21 f x deriv (f(x+dx) f(x)) / dx Ο τύπος (διεπαφή) της f είναι double f (double) Ορισµός deriv double deriv (double f (double), double x) { double dx = ; return (f(x+dx) f(x)) / dx; Ορισµός της συνάρτησης newton f y o η ρίζα της f newton f, µαθηµατική συνάρτηση, δηλαδή double f (double) και y o η αρχική προσέγγιση /* αναδροµικός ορισµός */ double newton (double f (double), double y) { double eps = ; if (abs(f(y)) < eps) return y; else return newton(f, y (f(y) / deriv(f,y))); 21
22 /* επαναληπτικός ορισµός */ double newton (double f (double), double y) { double eps = ; while (abs(f(y)) > eps) y = y (f(y) / deriv(f,y)); return y; Παραδείγµατα µαθηµατικών συναρτήσεων που µπορούν να χρησιµοποιηθούν ως ορίσµατα στην newton και deriv. double quadfn_1 (double x) { return x * x * x + 3.0; double quadfn_2 (double x) { return 2.0 * x * x * x + 2.0; newton(quadfn_1, 6.0) newton(quadfn_2, 0) Υπολογισµός τετραγωνικής ρίζας του 2 double sqrt_2 (double y) { return y * y 2.0 ; newton(sqrt_2, 2.0)
23 Παράδειγµα: Τετραγωνικές ρίζες συναρτήσεων µε την µέθοδο του διατµηµατισµού (bisection method) f(x) f(x) a m b a m b a < b και πρόσηµο(f(a)) πρόσηµο(f(b)) Αλγόριθµος για τον υπολογισµό της ρίζας f(x) = 0 στο πεδίο [α,β] ε Επανέλαβε m (a+b) / 2 Εάν f(m) f(a) 0 b m /* η ρίζα είναι στο πεδίο [a,m] */ ιαφορετικά a m /* η ρίζα είναι στο πεδίο [m,b] */ ενόσω f(m) > ε m είναι η ρίζα της f 23
24 Εκλεπτυσµένος Αλγόριθµος Υπάρχει κάποιο µέγιστο όριο, MaxIter, στον αριθµό των επαναλήψεων. ε count 0 Επανέλαβε m (a+b) / 2 count count + 1 Εάν f(m) f(a) 0 b m /* η ρίζα είναι στο πεδίο [a,m] */ ιαφορετικά a m /* η ρίζα είναι στο πεδίο [m,b] */ ενόσω f(m) > ε και count < MaxIter m είναι η ρίζα της f, εάν f(m) ε Σηµείωση: Η επανάληψη ολοκληρώνεται όταν f(m) ε count = MaxIter (κανόνας DeMorgan): ή f(m) ε σηµαίνει επιτυχία count = MaxIter σηµαίνει αποτυχία νοουµένου ότι f(m) > ε 24
25 Ορισµός Συνάρτησης Bisect f a Bisect b ε επιτυχία ή όχι (παράµετρος εξόδου) ρίζα (ρητή τιµή εξόδου) double Bisect (double f (double), double a, double b, double eps, int *success) { const int MaxIter = 20; int count = 0; double Fa = f(a), Fb= f(b), mid = 1.0E37, Fmid; if (Fa * Fb > 0.0) *success = 0; else { do { mid = (a+b) / 2.0; Fmid = f(mid); if (Fa * Fmid <= 0.0) {b = mid; Fb = Fmid; else {a = mid; Fa = Fmid; count++; while (fabs(fmid) > eps && count < MaxIter); *success = fabs(fmid) <= eps; return mid; 25
26 Υπολογισµός της τετραγωνικής ρίζας του 2 double sqrt_2 (double y) { return y * y 2.0; int Found; double SQRT2 = Bisect(sqrt_2, 1.0, 2.0, , &Found); Found 1 Bisect sqrt_ success SQRT
27 Η τιµή εξόδου διοχετεύεται στη µεταβλητή SQRT2 Παράδειγµα: Προσέγγιση του εµβαδού κάτω από µία καµπύλη µε τη µέθοδο του Simpson. y f(x) h a a+h a+2h a+3h b x Θεωρείται ότι x [a,b], f(x) 0. a b h εµβαδόν: h(a+b)/2 b a Εποµένως, b f(x) dx h/2 {[f(a) + f(a+h)] + [f(a+h) + f(a+2h)] + a + [f(b h) + f(b)] 27
28 Συνάρτηση integrate f a b integrate a f(x) dx b double integrate(double f (double), double a, double b) { const double h = 0.001; double x = a, sum = 0.0; while (x < b) { sum += f(x) + f(x+h); x += h; sum *= h/2.0; return sum; οκιµή συνάρτησης integrate double fn (double x) { return x*x + 2.0*x + 3.0; integrate(fn, 0.0, 5.0)
29 29
Συναρτήσεις. Κατασκευαστικά Τεµάχια για τη ηµιουργία Αρθρωτών Προγραµµάτων
Συναρτήσεις Κατασκευαστικά Τεµάχια για τη ηµιουργία Αρθρωτών Προγραµµάτων ιεπαφή Συναρτήσεων (Πρωτότυπα Συναρτήσεων function prototypes): εδοµένα εισόδου (παράµετροι parameters): πέρασµα δια τιµής ή µέσω
Η τιµή εξόδου κάποιας συνάρτησης µπορεί να είναι δείκτης, π.χ.
είκτες ως Τιµές Εξόδου Η τιµή εξόδου κάποιας συνάρτησης µπορεί να είναι δείκτης, π.χ. int *select (int f (int, int), int *add1, int *add2) { if (f (*add1, *add2)) return add1; else return add2; Η συνάρτηση
Επανάληψη. Εντολές while, for, do-while
Επανάληψη Εντολές while, for, do-while Απροσδιόριστη Επανάληψη ή Επανάληψη υπό συνθήκη (while, do-while) Απαριθµητή Επανάληψη (for) Εντολή while while (συνθήκη) εντολή C? ναι όχι S Σηµασιολογία Εάν από
Εισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2
Πίνακες. Οι πίνακες αποτελούν ένα σηµαντικό δοµηµένο τύπο δεδοµένων (structured data type) ή πιο απλά µία δοµή δεδοµένων (data structure).
Πίνακες Οι πίνακες αποτελούν ένα σηµαντικό δοµηµένο τύπο δεδοµένων (structured data type) ή πιο απλά µία δοµή δεδοµένων (data structure). Οι απλοί τύποι δεδοµένων (οι τιµές τους δεν µπορούν να διασπασθούν
Η βασική λειτουργία σε όλες αυτές τις συναρτήσεις είναι η εκτύπωση γραµµών.
draw_tric(4, $ ); $$$$ $$$ $$ $ draw_trid(5, a ); aaaaa aaaa aaa aa a Άρθρωση Η βασική λειτουργία σε όλες αυτές τις συναρτήσεις είναι η εκτύπωση γραµµών. /* Συνάρτηση για την εκτύπωση γραµµής δεδοµένου
5 &6. Τύποι δεδομένων, τελεστές και
Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 5 &6. Τύποι δεδομένων, τελεστές και αριθμητικές εκφράσεις Ιωάννης Κατάκης Σήμερα o Τύποι δεδομένων int, char, float, double o Τελεστές = + - * / % o Αριθμητικές
Γλώσσα Προγραμματισμού C
Προγραμματισμός ΗΥ: Γλώσσα Προγραμματισμού C Δρ. Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I. Θεσσαλίας Email: savvas@teilar.gr URL: http://teilar.academia.edu/iliassavvas
Εισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις
Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές
Μορφές Εντολών Είδη εντολών Απλές εντολές Εκτελούν κάποια ενέργεια Εντολές ελέγχου Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές Εντολές και παραστάσεις Μιαεντολήείναιμιαπαράστασηπου ακολουθείται
Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7
Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Προτάσεις,
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 Μεταβλητές-Σταθερές-Παράμετροι Τα στοιχεία
ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής
ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράµµατα «γράφονται» χρησιµοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαµβάνει
Να εκτυπωθούν οι πρώτες Ν σειρές του τριγώνου, χρησιµοποιώντας ένα πίνακα µεγέθους Ν στοιχείων (η Ν-οστή σειρά περιέχει Ν στοιχεία).
Παράδειγµα: Το τρίγωνο του Pascal 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 Να εκτυπωθούν οι πρώτες Ν σειρές του τριγώνου, χρησιµοποιώντας ένα πίνακα µεγέθους Ν στοιχείων (η Ν-οστή σειρά περιέχει Ν στοιχεία).
ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ
ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟ ΟΣ: ΣΕΠΤΕΜΒΡΙΟΥ 6 Ι ΑΣΚΩΝ: Ε. ΚΟΦΙ ΗΣ Όλα τα ερωτήµατα είναι ισοδύναµα. Καλή επιτυχία! ΘΕΜΑ ο a) Βρείτε την αναπαράσταση
Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 12-1 Ανασκόπηση οµής Προγράµµατος µε Συναρτήσεις #include 1 void PrintMessage (); Πρότυπο ( ήλωση) Συνάρτησης (
Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)
Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις Επανάληψη για την ενδιάμεση εξέταση (Διάλεξη 13) 13-1 Πρόβλημα 1 Γράψετε τον ορισμό μίας συνάρτησης η οποία υπολογίζει το μέγιστο 2 ακεραίων αριθμών και
Προγραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15
Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2
Εισαγωγή στην C Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Σύνταξη και Σηµασιολογία της C Σχολιασµός Μεταβλητές / Σταθερές Τύποι εδοµένων και Τελεστές Βιβλίο µαθήµατος: Chapter 2,, Sec.
Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος
Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,
Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011
Εισαγωγή στον Προγραµµατισµό Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Hello World /* Αρχείο hello.c * Εµφανίζει στην οθόνη το * µήνυµα hello world */ #include
Γλώσσα Προγραμματισμού C
Προγραμματισμός HY: Γλώσσα Προγραμματισμού C Δρ. Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I. Θεσσαλίας Email: savvas@teilar.gr URL: http://teilar.academia.edu/iliassavvas
Δομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Εισαγωγή στον Προγραμματισμό (με. τη C)
Υποχρεωτικό Μάθημα 3 ου Εξαμήνου Χειμερινό Εξάμηνο Ακ. Έτους 20 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Εισαγωγή στον Προγραμματισμό (με τη C) Διδάσκουσα: Φατούρου Παναγιώτα faturu [at] csd.uoc.gr
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Εντολές ελέγχου ροής προγράμματος (if-else & switch) Η εντολή if-else Η εντολή if-else υπάρχει σχεδόν σε όλες τις γλώσσες προγραμματισμού. Χρησιμοποιείται για τον έλεγχο της
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ 032 2 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ Ενδιάμεση Εξέταση Ημερομηνία:08/03/10 Διάρκεια: 13:30 15:00 Διδάσκων: Παύλος Αντωνίου Ονοματεπώνυμο: Αριθμός Ταυτότητας: Η εξέταση
Προγραμματισμός Ι. Θεματική ενότητα 8: Δημιουργία προγραμμάτων
Θεματική ενότητα 8: Δημιουργία προγραμμάτων Παράδειγμα 1: Να γραφεί πρόγραμμα που να δέχεται ως είσοδο κείμενο, να απαριθμεί τις εμφανίσεις των ψηφίων 0-9, τα λευκά διαστήματα και τους υπόλοιπους χαρακτήρες
Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις. ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Περιεχόµενα Τύποι εδοµένων int, char, float, double Τελεστές =,+,-,*,/,% Αριθµητικές εκφράσεις
Λογικό "και" (AND) μας επιστρέφει 1 αν και οι δύο operands είναι όχι μηδέν, διαφορετικά 0)
0ι Λογικοί Τελεστές: Πρόκειται για τελεστές που μας επιτρέπουν να συνδυάσουμε απλές εκφράσεις συσχετισμού και να δημιουργήσουμε πιό πολύπλοκες λογικές εκφράσεις. Εχουμε λοιπόν: && Λογικό "και" (AND) μας
Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)
Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II (Διάλεξη 12) 12-1 Ανασκόπηση Δομής Προγράμματος με Συναρτήσεις 1 void PrintMessage (); Πρότυπο (Δήλωση) Συνάρτησης (Δηλώνουν τι επιπλέον συναρτήσεις θα χρησιμοποιήσουμε
Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή
Στόχοι και αντικείμενο ενότητας Η έννοια του Τελεστή #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Εκφράσεις Προτεραιότητα Προσεταιριστικότητα Χρήση παρενθέσεων Μετατροπές Τύπων Υπονοούμενες και ρητές μετατροπές
Η Γλώσσα C Μία Σφαιρική Ανασκόπηση
Η Γλώσσα C Μία Σφαιρική Ανασκόπηση Η γλώσσα C αναπτύχθηκε το 1972 από τον Dennis Ritchie στα ΑΤ & Τ Laboratories. Οδηγίες προς τον προεπεξεργαστή Εισδοχή Βιβλιοθηκών #include #include
ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις
ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών Συναρτήσεις 60 Ροή ελέγχου Είναι η σειρά µε την οποία εκτελούνται οι εντολές. Μέχρι τώρα, «σειριακή»,
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Εντολές ελέγχου ροής προγράμματος (if-else & switch) Η εντολή if-else Η εντολή if-else υπάρχει σχεδόν σε όλες τις γλώσσες προγραμματισμού. Χρησιμοποιείται για τον έλεγχο της
Προγραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16
Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6)
Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις (Διαλέξεις 5-6) 1 Περιεχόμενα Τύποι Δεδομένων int, char, float, double Τελεστές =,+,-,*,/,% Αριθμητικές εκφράσεις a+b. 2 Τύποι Δεδομένων
Προγραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15
Εισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Ενότητα 5 Δομές Ελέγχου Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Δομές Ελέγχου Οι Boehm και Jacopini απέδειξαν ότι οποιοσδήποτε αλγόριθμος
Εργαστήριο 5. Εντολή if και παραλλαγές: if-else, πολλαπλές if, πολλαπλές if-else. Απλές και σύνθετες εντολές. Εντολή switch.
Εργαστήριο 5 Εντολή if και παραλλαγές: if-else, πολλαπλές if, πολλαπλές if-else. Απλές και σύνθετες εντολές. Εντολή switch. Προτεραιότητα τελεστών (συνέχεια): () παρενθέσεις +, - (πρόσημα), ++, -- *, /,
Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)
Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις (Διάλεξη 8) 8-1 Τι θα δούμε σήμερα Η εντολή if else Η εντολή if else ιf - -else H εντολή switch Λογικές παραστάσεις Σχεσιακοί
ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Έλεγχος ροής Δομή επιλογής (if, switch) Δομές επανάληψης (while, do-while, for) Διακλάδωση
Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7
Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Έννοια της
Οικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2
Οικονόμου Βαγγέλησ Διάλεξη Νο 2 Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2 1 Η έννοια τησ μεταβλητήσ έδωςε λύςη ςτο πρόβλημα τησ αναφοράσ ςτην κύρια μνήμη του υπολογιςτή. Οι γλώςςεσ προγραμματιςμού υποςτηρίζουν
ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Τελεστές - Κατηγορίες Εκφράσεις - Κατηγορίες Υπολογισμός εκφράσεων Προτάσεις - Κατηγορίες
ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
ΤΕΙ ΣΕΡΡΩΝ -- ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΘΗΜΑ 3 ο ΤΕΙ ΣΕΡΡΩΝ -- ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ Μάθημα 3 ο Αριθμητική επίλυση εξισώσεων (μη
11/23/2014. Στόχοι. Λογισμικό Υπολογιστή
ονάδα Δικτύων και Επικοινωνιών ΗΥ Τομέας Πληροφορικής, αθηματικών και Στατιστικής ΓΕΩΠΟΙΚΟ ΠΑΕΠΙΣΤΗΙΟ ΑΘΗΩ Εισαγωγή στην Επιστήμη των ΗΥ άθημα-4 url: http://openeclass.aua.gr (AOA0) Λογισμικό Υπολογιστή
2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων
2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει
Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Ένθετες
Προγραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Πέμπτη (5 η ) τρίωρη διάλεξη. Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/
Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Β Περιόδου 2015 (8/9/2015) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................
Μεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 9 Συναρτήσεις Μέρος II Θέματα ιάλεξης Μη- ομημένος
Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8
Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 1000 1001 1002 1003 1004 1005 12 9.8 9976 3 1010 26 1006 1007 1008 1009 1010 1011 16 125 1299 a 13 1298 Δήλωση Δήλωση Τύπος
Περιεχόμενα. Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6) Τύποι Δεδομένων. Τελεστές. Αριθμητικές εκφράσεις
Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις (Διαλέξεις 5-6) 1 Περιεχόμενα Τύποι Δεδομένων int, char, float, double Τελεστές =,+,-,*,/,% Αριθμητικές εκφράσεις a+b. 2 1 Τύποι Δεδομένων
8. Συνθήκες ελέγχου, λογικοί τελεστές
Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 8. Συνθήκες ελέγχου, λογικοί τελεστές Ιωάννης Κατάκης Σήμερα o Λογικές παραστάσεις Σχεσιακοί τελεστές Λογικοί τελεστές o if -else o switch Λογικές παραστάσεις
Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράµµατα πρέπει να πάρουµε κάποια δεδοµένα και να δώσουµε
Προγραμματισμός Η/Υ. Ενότητα 3: Top Down Σχεδιασμός
Προγραμματισμός Η/Υ Ενότητα 3: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Κατανόηση της έννοιας της διεργασίας
Εισαγωγή στην Αριθμητική Ανάλυση
Εισαγωγή στην Αριθμητική Ανάλυση Εισαγωγή στη MATLAB ΔΙΔΑΣΚΩΝ: ΓΕΩΡΓΙΟΣ ΑΚΡΙΒΗΣ ΒΟΗΘΟΙ: ΔΗΜΗΤΡΙΑΔΗΣ ΣΩΚΡΑΤΗΣ, ΣΚΟΡΔΑ ΕΛΕΝΗ E-MAIL: SDIMITRIADIS@CS.UOI.GR, ESKORDA@CS.UOI.GR Τι είναι Matlab Είναι ένα περιβάλλον
οµές Επιλογής Εντολές if και switch
οµές Επιλογής Εντολές if και switch οµή Ελέγχου Control Structure Ένας συνδυασµός ατοµικών εντολών σε µία λογική µονάδα, όπου υπάρχει µόνο ένα σηµείο εισόδου και ένα σηµείο εξόδου. οµή Ελέγχου για Επιλογή
Δομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Επανάληψη για τις Τελικές εξετάσεις
Επανάληψη για τις Τελικές εξετάσεις ( ιάλεξη 21) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Εισαγωγή Το µάθηµα EPL032 έχει ως βασικό στόχο την επίλυση προβληµάτων πληροφορικής µε την χρήση της γλώσσας προγραµµατισµού
Προγραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16
Η βασική συνάρτηση προγράμματος main()
Η βασική συνάρτηση προγράμματος main() HEADER FILES main(){ ΔΗΛΩΣΕΙΣ ΜΕΤΑΒΛΗΤΩΝ ΕΝΤΟΛΕΣ (σειριακές, επιλογής ή επανάληψης) ΕΠΙΣΤΡΕΦΟΜΕΝΟΣ ΤΥΠΟΣ (return 0;) Συναρτήσεις Η συνάρτηση είναι ένα υποπρόγραμμα
Υπολογισμός - Εντολές Ελέγχου
Προγραμματισμός Η/Υ Ι Υπολογισμός - Εντολές Ελέγχου ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συνεχίσουμε τη συζήτησή μας για τα βασικά στοιχεία
Προγραµµατιστικές Τεχνικές
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Προγραµµατιστικές Τεχνικές Βασίλειος Βεσκούκης ρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Ρωµύλος Κορακίτης
Εισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα
Ινστιτούτο Επαγγελµατική Κατάρτιση Κορυδαλλού "ΤΕΧΝΙΚΟΣ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ" (Ερωτήσεις Πιστοποίησης στην γλώσσα προγραµµατισµού C)
Ινστιτούτο Επαγγελµατική Κατάρτιση Κορυδαλλού "ΤΕΧΝΙΚΟΣ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ" (Ερωτήσεις Πιστοποίησης στην γλώσσα προγραµµατισµού C) ΚΑΤΑΛΟΓΟΣ ΕΡΩΤΗΣΕΩΝ ΕΡΩΤΗΣΕΙΣ ΕΙ ΙΚΩΝ ΓΝΩΣΕΩΝ (γλώσσα προγραµµατισµού
Προγραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 4: Τύποι Δεδομένων και τελεστές Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL
ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL ΓΕΝΙΚΗ ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ Program Ονομα_προγραμματος; «πρόγραμμα» Πρόγραμμα 1 Program Lesson1_Program1; Write('Hello World!!!'); {σχόλια} Επεξήγηση Προγράμματος Program Lesson1_Program1;
Κεφάλαιο : Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
Κεφάλαιο 5.1-5.3: Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 9-1 οµές Έλεγχου Προγράµµατος Μέχρι τώρα είδαµε τις ακόλουθες δοµές έλεγχου (program control structure) ενός προγράµµατος
Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης
Γ7.1 Επανάληψη ύλης Β Λυκείου Γ Λυκείου Κατεύθυνσης Απλά προγράμματα Ένα πρόγραμμα στη C++ που υπολογίζει το άθροισμα 2 ακέραιων αριθμών. // simple program #include using namespace std; int main(){
Προγραµµατισµός. Αναδροµή (1/2)
Προγραµµατισµός Αναδροµή (1/2) Προγραµµατισµός Κλήσεις Συναρτήσεων Όταν καλείται µια συνάρτηση, πρέπει Να θυµάται σε ποιο σηµείο του προγράµµατος θα επιστρέψει Να δεσµεύσει χώρο για την τιµή που θα επιστρέψει
Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C
Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος
ΗΥ-150. Προγραμματισμός
ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει
Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2
Είσοδος / Έξοδος Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Συνάρτηση εξόδου printf Συνάρτηση εισόδου scanf Βιβλίο µαθήµατος: Chapter 2,, Sec. 3 & 6 ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-1 Είσοδος
Κεφάλαιο : Επαναλήψεις (o βρόγχος While) (Διάλεξη 9) Δομές Έλεγχου Προγράμματος
Κεφάλαιο 5.1-5.3: Επαναλήψεις (o βρόγχος While) (Διάλεξη 9) 9-1 Δομές Έλεγχου Προγράμματος Μέχρι τώρα είδαμε τις ακόλουθες δομές έλεγχου (program control structure) ενός προγράμματος Α) Sequence π.χ. int
Εισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Συναρτήσεις Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Συναρτήσεις Ως τώρα γράφαμε όλα τα προγράμματα μας μέσα στην main..1
ιαφάνειες παρουσίασης #9 (α)
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ http://www.softlab.ntua.gr/~nickie/courses/progtech/ ιδάσκοντες: Γιάννης Μαΐστρος (maistros@cs.ntua.gr) Στάθης Ζάχος (zachos@cs.ntua.gr) (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διαμόρφωση Ελέγχου Ροής Προγράμματος Δομημένος Προγραμματισμός Ο πιο απλός και συνηθισμένος
Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7
Έβδοµη ιάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β
ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β 1. (10 μον.) Απαντήστε σωστό ή λάθος στις παρακάτω ερωτήσεις (αʹ) _2togo είναι έγκυρο όνομα μεταβλητής (βʹ) Αν p είναι δείκτης στο πρώτο στοιχείο
Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7
Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ❶ Προετοιµασία για το 1 ο Εργαστήριο
Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ
Επανάληψη για τις Τελικές εξετάσεις (Διάλεξη 24) Εισαγωγή Το μάθημα EPL032 έχει ως βασικό στόχο την επίλυση προβλημάτων πληροφορικής με την χρήση της γλώσσας προγραμματισμού C. Επομένως πρέπει: Nα κατανοήσετε
ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 2 η
Δ.Π.Θ. - Πολυτεχνική Σχολή Τμήμα Μηχανικών Παραγωγής & Διοίκησης Ακαδ. έτος 2017-2018 Τομέας Συστημάτων Παραγωγής Εξάμηνο Β Αναπληρωτής Καθηγητής Στέφανος Δ. Κατσαβούνης ΜΑΘΗΜΑ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Προγραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15
Ασκήσεις & παραδείγματα για επανάληψη
Λυμένα παραδείγματα Ασκήσεις & παραδείγματα για επανάληψη Χρησιμοποιώντας την ρητή (cast) ανάθεση main () int x, y; x = 7; y = 5; printf("given x = %d, y = %d\n", x, y); printf("x / y produces: %d\n",
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο
Δοκιμή και Αποσφαλμάτωση Testing and Debugging
Δοκιμή και Αποσφαλμάτωση Testing and Debugging XVI-1 Ο μεταγλωττιστής εντοπίζει τα συντακτικά λάθη ενός προγράμματος. Δεν είναι όμως σε θέση να εντοπίσει λάθη στη λογική του προγράμματος. δεδομένα πρόγραμμα
Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (Programming in the large)
Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (Programming in the large) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Συναρτήσεις Εξωτερικές µεταβλητές Κανόνες εµβέλειας ιάρκεια µεταβλητών Αρχικοποίηση
Συναρτήσεις και Πίνακες
Συναρτήσεις και Πίνακες Συναρτήσεις καθιερωμένης βιβλιοθήκης της C++ Συναρτήσεις οριζόμενες από τον χρήστη Μεταβίβαση κατ αξία Συναρτήσεις void και λογικές συναρτήσεις Μεταβίβαση κατ αναφορά Επιστροφή
Κεφάλαιο : Επαναλήψεις (for, do-while)
Κεφάλαιο 5.4-5.11: Επαναλήψεις (for, do-while) 10-1 Εντολές Επανάληψης που θα καλυφθούν σήµερα while(){ τελεστές postfix/prefix (++, --,...) και σύνθετοι τελεστές Παραδείγµατα Σήµερα for(){ Η εντολές break/continue;
Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. Δείκτες (Διάλεξη 14)
Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός Δείκτες (Διάλεξη 14) 14-1 Παράδειγμα: Αλλαγή τιμής μεταβλητής μόνο τοπικά ΛΑΘΟΣ τρόπος να αυξήσουμε το num κατά 1 #include void AddOne (int);
for for for for( . */
Εισαγωγή Στον Προγραµµατισµό «C» Βρόχοι Επανάληψης Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Ο βρόχος for Η εντολή for χρησιµοποιείται
ΣΥΝΑΡΤΗΣΕΙΣ (Functions)
ΣΥΝΑΡΤΗΣΕΙΣ (Functions) Δομή Συνάρτησης τύπος όνομα ( λίστα τυπικών παραμέτρων ) Δηλώσεις μεταβλητών εντολή_1 εντολή_2 : εντολή_ν Σώμα της συνάρτησης Δομή της Λίστας Τυπικών Παραμέτρων τύπος_1 τύπος_2
Δομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Εισαγωγή στη C θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δείκτες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Τι είναι ο δείκτης Ένας δείκτης είναι μια μεταβλητή που περιέχει μια διεύθυνση μνήμης. Θυμηθείτε πως
Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Παρατηρήσεις
ΑΣΚΗΣΗ 3: ΠΡΟΤΑΣΕΙΣ, ΕΚΦΡΑΣΕΙΣ ΚΑΙ ΤΕΛΕΣΤΕΣ
ΑΣΚΗΣΗ 3: ΠΡΟΤΑΣΕΙΣ, ΕΚΦΡΑΣΕΙΣ ΚΑΙ ΤΕΛΕΣΤΕΣ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η χρήση των βασικών τελεστών της Γλώσσας Προγραµµατισµού C : αριθµητικοί τελεστές, τελεστές
Συναρτήσεις. Εισαγωγή
Συναρτήσεις Εισαγωγή Η χρήση συναρτήσεων στα προγράμματα της γλώσσας C είναι πολύ σημαντική καθώς μας επιτρέπει τη διάσπαση ενός προβλήματος σε μικρότερα υποπροβλήματα τα οποία μπορούμε να επιλύσουμε πιο
Δομές Ελέγχου και Επανάληψης
Εργαστήριο 3 ο Δομές Ελέγχου και Επανάληψης Εισαγωγή Σκοπο ς του εργαστηρι ου αυτου ει ναι η εισαγωγη στην εκτε λεση εντολω ν υπο συνθη κη και στις δομές επανάληψης. Δομές Ελέγχου Η ικανότητα να μπορεί
ΗΥ-150. Προγραμματισμός
ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει