Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεAchates Salis Τροποποιήθηκε πριν 9 χρόνια
1
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ -150 Προγραμματισμός Εντολές Ελέγχου Ροής
2
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης 2 Σειριακή εκτέλεση εντολών Όλα τα π ρογράμματα « γράφονται » χρησιμο π οιώντας 3 είδη εντολών : – Σειριακές εντολές (sequential – built in C) – Εντολές α π όφασης (if, if/else, switch) – Εντολές ε π ανάληψης ( for, while, do/while)
3
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης 3 Εντολές υ π ό Συνθήκη - if εντολή <- έκφραση ; εντολή <- { σειρά εντολών } if ( έκφραση ) εντολή 1 if ( έκφραση ) εντολή 1 else εντολή 2 if ( έκφραση 1) εντολή 1 else if ( έκφραση 2) εντολή 2 else εντολή 3 // Αν η έκφραση έχει τιμή διάφορη του 0 (!0), // εκτελείται η εντολή 1 αλλιώς η εντολή 2 // Αν η έκφραση έχει τιμή διάφορη του 0 (!0), // εκτελείται η εντολή 1 // Αν η έκφραση 1 έχει τιμή διάφορη του 0 (!0), // εκτελείται η εντολή 1 // αλλιώς αν η έκφραση 2 έχει τιμή διάφορη του 0 // εκτελείται η εντολή 2 // αλλιώς εκτελείται η εντολή 3
4
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης 4 Παράδειγμα με switch int main() /*Ypologismos aplwn pra3ewn*/ { char p; float x,y,res; scanf("%f %c %f",&x,&p,&y); if (p == ‘+’) { res = x+y; } else if (p == ‘-’) { res = x-y; } else if (p == ‘*’) { res = x*y; } else if (p == ‘/’); { res = x/y; } else { printf(“La8os eisodos\n”); return -1; } printf(“%f%c%f = %f\n”,x,c,y,res); return 0; }
5
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης 5 Εντολές υ π ό Συνθήκη - switch switch ( έκφραση ) { case σταθερή _ παράσταση _1 : statements; break; case σταθερή _ παράσταση _2 : statements; break; default : statements; } Το default είναι προαιρετικό και εκτελείτε αν καμία παράσταση δεν βρεθεί ίση με την έκφραση Αν ένα break λείπει τότε συνεχίζεται η εκτέλεση των εντολών
6
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης 6 Παράδειγμα με switch #include /*Ypologismos aplwn pra3ewn*/ int main() { char p; float x,y,res; scanf("%f %c %f",&x,&p,&y); switch (p) { case ‘+’ : res = x+y; break; case ‘-’ : res = x-y; break; case ‘*’ : res = x*y; break; case ‘/’ : res = x/y; break; default : printf(“La8os eisodos\n”); } printf(“%f%c%f = %f\n”,x,c,y,res); return 0; }
7
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης 7 Παραστάσεις υ π ό Συνθήκη - ? if ( x > y) { x = a; } else { x = b; } x = (x>y) ? a : b;
8
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης 8 Τυ π ικά Λάθη if(x=5) αντί για if(x==5) Ξεχάσατε το break σε εντολή switch Ξεχάσατε {, } Λάθος στις π ροτεραιότητες : ( ) Λύση : Μορφο π οίηση και χρήση σχολίων
9
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης 9 Μορφο π οίηση Σχόλια πριν από συναρτήσεις και τους ορισμούς μεταβλητών Κατάλληλη χρήση tabs, παρενθέσεων και αγκυλών Κατάλληλη ονοματολογία συναρτήσεων - μεταβλητών /*Epistrefei ton endiameso ari8mo twn a,b,c*/ int getMedian(int a,int b, int c) { int median; /*Endiamesos*/ if ((a = c)) || ((a >= b) && (a <= c)) { median = a; } else if ((b = c)) || ((b >= a) && (b <= c)) { median = b; } else { median = c; } return median; }
10
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης 10 Define – Const – Include #define #define FALSE 0 #define TRUE !FALSE #define N 1000 /* ΠΡΟΣΟΧΗ !! – ΔΕΝ ΜΠΟΡΩ ΝΑ ΧΡΗΣΙΜΟΠΟΙΗΣΩ ΤΟ Ν ΩΣ ΜΕΤΑΒΛΗΤΗ */ #define Pi 3.14159 – Ορίζεται στην αρχή κάθε π ρογράμματος και μ π ορεί να χρησιμο π οιηθεί σε όλο το π ρόγραμμα. – To Pi θα αντικατασταθεί α π ό τον 3.14159 στο π ρώτο βήμα του compilation (preprocessing) int const a = 1; – ορίζει μια σταθερά – δεν μ π ορεί να αλλάξει τιμή #include #include “file”
11
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης 11 Γενική Δομή Προγράμματος Λίστα α π ό συναρτήσεις - main() Τύπος-επιστρεφόμενης-τιμής όνομα(λίστα-παραμέτρων) { δηλώσεις μεταβλητών λίστα εντολών } /*Επιστρέφει το μέγιστο μεταξύ των x, y*/ int max(int x,int y) { int z = x; /*δηλώσεις μεταβλητών - αρχικοποίηση*/ if (y > x) /*λίστα εντολών*/ { z = y; } return z; }
12
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης 12 Παράδειγμα /* Author: C. Panagiotakis Function: Solves a second order polynomial equation. */ #include /*function prototypes*/ float diakrinousa(float,float, float ); int printSolution2ba8mou(float a, float b, float c); int main() { float a,b,c; printf(“Dwste 3 pragmatikous ari8mous \n”); scanf(“%f %f %f”,&a,&b,&c); printf("Dw8hke to poluwnumo: %f x^2 + (%f) x + (%f) \n",a,b,c); if (a == 0) { printf(“H e3iswsh einai prwtou ba8mou\n”); } else { printSolution2ba8mou(a, b, c); } /*Υπολογίζει τη διακρίνουσα */ float diakrinousa(float a,float b, float c) { float D = b*b – 4*a*c; return D; } /*Εκτυπώνει τις λύσεις */ int printSolution2ba8mou(float a, float b, float c) { float D = diakrinousa( a, b, c); float x1,x2; if (D < 0) { printf(“Den uparxoun pragmatikes luseis.\n”); return 0; } else if (D == 0) { x1 = -b/(2*a); printf(“Yparxei monadikh lush %f\n”,x1); return 1; } else { x1 = (-b+sqrt(D))/(2*a); x2 = (-b-sqrt(D))/(2*a); printf(“Yparxoun 2 luseis :%f, %f\n”,x1,x2); return 2; }
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.