Μετατροπή Εκφράσεων σε C m2 - n2 ax2 + bx + c -b + 4ac 2ab c+d ((-a)b) + ((-c)d) 14/2/2000 epl-032
Μετατροπή Εκφράσεων c+d m2 - n2 m*m - n*n ή (m*m)-(n*n) ax2 + bx + c a*x*x + b*x + c -b + 4ac -b + 4 * a* c 2ab (2*a*b)/(c+d) c+d ((-a)b)+((-c)d) -a*b + -c*d 14/2/2000 epl-032
Επιλογη Τυπου Δεδομενων Μαθητες σε ενα σχολειο Βαρος, Μαζα Εμβαδο, Ογκος Ονομα Αριθμος Ταυτοτητας 14/2/2000 epl-032
Επιλογη Τυπου Δεδομενων Μαθητες σε ενα σχολειο int Βαρος, Μαζα float, double Εμβαδο, Ογκος float, double Ονομα char (string) Αριθμος Ταυτοτητας int 14/2/2000 epl-032
Παράδειγμα Προγραμμα που υπολογιζει το αθροισμα, διαφορα, γινομενο, πηλικο και modulo για δυο ακεραιους αριθμους. Οι δυο αριθμοι πρεπει να διαβαστουν απο τον χρηστη. 14/2/2000 epl-032
#include <stdio.h> main() { int numbera, numberb; /* inputs*/ int sum, difference, product, ratio, modulo; /*results*/ printf(“Enter two integer numbers: “); /*get data*/ scanf(“%d%d”,&numbera, &numberb); sum = numbera + numberb; /* compute results*/ difference = numbera - numberb; product = numbera * numberb; ratio = numbera / numberb; modulo = numbera % numberb; /* display output */ printf(“The sum of %d and %d is %d\n”,numbera, numberb,sum); printf(“The difference of %d and %d is %d\n”,numbera, numberb,difference); printf(“The product of %d and %d is %d\n”,numbera, numberb,product); printf(“The ratio of %d and %d is %d\n”,numbera, numberb,ratio); printf(“The mod of %d and %d is %d\n”,numbera, numberb,modulo); }
Παραδειγμα Γραψετε προγραμμα που υπολογιζει και τυπωνει την περιμετρο και εμβαδο ενος κυκλου. Το μονο δεδομενο ειναι η ακτινα του κυκλου σε μετρα. 14/2/2000 epl-032
/* program that computes the perimeter and area of a circle*/ #include <stdio.h> #define PI 3.14259 /*program constant*/ main() { float radius; /* variable for input data*/ float perimeter, area; /*variable for output data*/ /*GET INPUT DATA*/ printf(“This program computes the area and perimeter of a circle\n”); printf(“Enter radius of a circle in meters: ”); scanf(“%d”,&radius); /*COMPUTE PERIMETER AND AREA*/ perimeter = 2 * PI * radius; area = PI * radius * radius; /*PRINT RESULTS*/ printf(“A circle with radius %f m has perimeter %f m and area %f sq. m\n”, radius, perimeter, area); }
Eκλογή (selection) Συνθήκη εάν if Σύνταξη: if (εκφραση) εντολή; εντολη; ….. } 14/2/2000 epl-032
Eκλογη (selection) Σημασια: εαν η εκφραση(συνθηκη) παιρνει τιμη διαφορη του μηδεν τοτε εκτελουνται οι εξαρτομενες εντολες αλλιως συνεχισε με τις εντολες που ακουλουθουν το if block if (length <= 0){ printf(‘‘error: length should be possitive\n’’); exit(0); } 14/2/2000 epl-032
Εκφραση Συνθηκης Συγκριτικοι τελεστες (int, char, float, double) > < >= <= == πχ a>b, a<b, a >=b, a<=b, a ==b Σημασια: εαν συγκριση ισχυει η τιμη της εκφρασης ειναι 1 αλλιως 0 14/2/2000 epl-032
printf(“%d\n”, count); …. number count output 2 3 int number, count; ….. if (number <= 0){ count = count + 1; } printf(“%d\n”, count); …. number count output 2 3 14/2/2000 epl-032
Επαναληψη (repetition) Εντολη while Συνταξη: while (εκφραση) εντολη; while (εκφραση){ ….. } 14/2/2000 epl-032
while (συν) Σημασια: οσον η τιμη της εκφρασης (συνθηκης) ειναι διαφορη του μηδεν εκτελα τις εξαρτομενες εντολες αλλιως συνεχισε με τις εντολες που ακουλουθουν το while block int x=0; while(x<5){ printf(“%d\n”,x); x = x + 1; } 14/2/2000 epl-032
while (συν) x x<5 output 14/2/2000 epl-032
while (συν) x x<5 output 0 1 0 1 1 1 2 1 2 3 1 3 4 1 4 5 0 0 1 0 1 1 1 2 1 2 3 1 3 4 1 4 5 0 14/2/2000 epl-032
while (συν) int x; μεταβλητη που χρησιμοπoιειται για ελεγχο επαναληψης while(x<5){ /* do something using x*/ x = x + 1; } αρχικοποιηση συνθηκη επαναληψης επομενο βημα 14/2/2000 epl-032
Επισης… Κάθε έκφραση στην C παίρνει τιμή (τυπος) Programming Βlock: {δηλωσή;δηλωσή;…; εντολη; εντολη;} Εκφρασεις: a = 3 + a * ((t * x)/e) + p; b = PI * square(radius); if (size(list) == b){...} while (x < (a+b)){...} 14/2/2000 epl-032
Programming Block void main() { /* δηλωσεις και εντολες */ while(/*some test condition*/){ } if(/*some test condition*/){ 14/2/2000 epl-032
Γραψετε ενα προγραμμα που τυπωνει τους ακεραιους αριθμους απο το -10 μεχρι το 10. Ο καθε αριθμος να τυπωνεται σε ξεχωριστη γραμμη. 14/2/2000 epl-032
#include <stdio.h> main() { int i; /* loop counter */ i = -10; while(i<=10){ printf(“%d\n”,i); i = i + 1; } 14/2/2000 epl-032
Γραψετε ενα προγραμμα που τυπωνει τους ακεραιους αριθμους απο το 1 μεχρι το 12. Καθε αριθμος που διαιρειται με το 3 να τυπωνεται * διπλα του. Ο καθε αριθμος να τυπωνεται σε ξεχωριστη γραμμη. 14/2/2000 epl-032
#include <stdio.h> main() { int i; /* loop counter */ i = 1; while(i<=12){ printf(“%d”,i); if((i%3) == 0) printf(“*”); } printf(“\n”); i = i + 1; 14/2/2000 epl-032
Trace Table i i<=12 i%3 (i%3) == 0 output Τελικη τιμη του i : 14/2/2000 epl-032