Δομημένος Προγραμματισμός

Σχετικά έγγραφα
Δομημένος Προγραμματισμός

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό. Ενότητα 8: Συναρτήσεις. Κ.

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Δομημένος Προγραμματισμός

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Δομημένος Προγραμματισμός

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό. Ενότητα 4: Έλεγχος Ροής. Κ.

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό. Ενότητα 9: Συναρτήσεις Εμβέλεια

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δομημένος Προγραμματισμός

Υπολογισμός - Εντολές Επανάληψης

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό. Ενότητα 3: Είσοδος και Έξοδος Δεδομένων

Δομημένος Προγραμματισμός

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

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

Προέλευση της Pazcal ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Δομημένος Προγραμματισμός

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

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Ηλεκτρονικοί Υπολογιστές

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΕΞΕΤΑΣΗ IOYNIOY 2018 ΘΕΜΑΤΑ Α ΟΝΟΜΑΤΕΠΩΝΥΜΟ:... ΑΕΜ: ΕΞΑΜΗΝΟ:

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Λογιστικές Εφαρμογές Εργαστήριο

Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό

Ασκήσεις & παραδείγματα για επανάληψη

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Προχωρημένες έννοιες προγραμματισμού σε C

Συστήματα Αυτομάτου Ελέγχου II

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Επεξεργασία κειμένου και συμβολοσειρών σε C

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ. Ενότητα 3: Αποκατάσταση Εικόνας.

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Δομημένος Προγραμματισμός (ΤΛ1006)

Ηλεκτρονικοί Υπολογιστές

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Εντολές for, while, do-while Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Αντικειμενοστραφής Προγραμματισμός

Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Εντολή if. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

7 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό. Ενότητα 5: Εντολές Επανάληψης

8 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

Θεωρία Πιθανοτήτων & Στατιστική

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Eισαγωγή στον Προγραμματισμό

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

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Γλώσσα Προγραμματισμού C

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

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Συναρτήσεις II Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Εισαγωγή στον δομημένο προγραμματισμό

Τίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Υδραυλικά & Πνευματικά ΣΑΕ

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Εργαστήριο 5. Εντολή if και παραλλαγές: if-else, πολλαπλές if, πολλαπλές if-else. Απλές και σύνθετες εντολές. Εντολή switch.

ΕΥΦΥΗΣ ΕΛΕΓΧΟΣ. Ενότητα #11: Ασαφής Αριθμητική. Αναστάσιος Ντούνης Τμήμα Μηχανικών Αυτοματισμού Τ.Ε.

Δομημένος Προγραμματισμός (ΤΛ1006)

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

9 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

8. Συνθήκες ελέγχου, λογικοί τελεστές

Δομημένος Προγραμματισμός

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

Εισαγωγή στον δομημένο προγραμματισμό

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Περιβαλλοντική Χημεία

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

Διαδικαστικός Προγραμματισμός

Διαδικαστικός Προγραμματισμός

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

Ειδικά Θέματα Προγραμματισμού

Προγραμματισμός Ι (HY120)

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Εισαγωγή στον δομημένο προγραμματισμό

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Transcript:

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Τελεστές, εντολές ελέγχου, επαναλήψεις προγράμματα Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε.

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Πρόγραμμα A-1: Άθροισμα δύο αριθμών Πρόγραμμα A-1: Άθροισμα δύο αριθμών Σχόλια: /* Eyresh a+b */ #include <stdio.h> int main( void ) { int a, b, c; scanf("%d", &a); scanf("%d", &b); c = a+b; printf("%d + %d = %d\n", a, b, c); return 0; } 4

Πρόγραμμα A-2: Εύρεση διαιρετών, πλήθος διαιρετών Πρόγραμμα A-2: Εύρεση διαιρετών, πλήθος διαιρετών Σχόλια: Η επανάληψη θα μπορούσε να επιταχυνθεί αν παρατηρήσουμε ότι μετά το a/2 δεν θα βρεθεί άλλος διαιρέτης εκτός του a /* Diairetes tou a */ #include <stdio.h> int main( void ) { int a, y, i, c; scanf("%d", &a); c = 0; for( i=1; i<=a; i++) { y= a%i; if (y == 0) { printf("%d\n", i); c= c+1; } } printf("brethikan %d diairetes tou %d\n", c, a); return 0; }

Πρόγραμμα A-3: Εύρεση ΜΚΔ δύο αριθμών Πρόγραμμα A-3: Εύρεση ΜΚΔ δύο αριθμών Σχόλια: Ισχύει επίσης ότι ΕΚΠ = (a*b) / ΜΚΔ Σχόλια: Η επανάληψη μπορεί να επιταχυνθεί /* Ypologismos MKD a, b Parathrhsh: yparxei typos opou EKP = (a*b) / MKD */ #include <stdio.h> int main( void ) { int a, b, i, y1, y2, m; scanf("%d", &a); scanf("%d", &b); for( i=1; i<=a; i++) { y1= a%i; y2= b%i; if ( (y1==0) && (y2 == 0) ) { m= i; } } printf("mkd ( %d, %d ) = %d\n", a, b, m); return 0; }

Πρόγραμμα A-4: Λύσεις δευτεροβάθμιας εξίσωσης (1/2) Πρόγραμμα A-4: Λύσεις δευτεροβάθμιας εξίσωσης Σχόλια: Δεν υπάρχει τύπος μεταβλητών για μιγαδικούς αριθμούς, επομένως υπολογίζονται τέσσερις διαφορετικές μεταβλητές /* Lyseis deyterobathmias (genika migadikes) */ #include <stdio.h> #include <math.h> int main( void ) { float a, b, c, d, x1r, x1i, x2r, x2i; scanf("%f", &a); scanf("%f", &b); scanf("%f", &c); d= b*b - 4*a*c; if (d>=0) { x1r= (-b + sqrt( d) ) / ( 2*a); x1i= 0; x2r= (-b - sqrt( d) ) / ( 2*a); x2i= 0; } (συνέχεια στην επόμενη διαφάνεια)

Πρόγραμμα A-4: Λύσεις δευτεροβάθμιας εξίσωσης (2/2) else { x1r= -b/(2*a); x1i= sqrt( -d)/(2*a); x2r= -b/(2*a); x2i= -sqrt( -d)/(2*a); } printf("x1 = %.2f + %.2f *i\n", x1r, x1i); printf("x2 = %.2f + %.2f *i\n", x2r, x2i); return 0; }

Πρόγραμμα A-5: Υπολογισμός του a^n Πρόγραμμα A-5: Υπολογισμός του a^n Σχόλια: /* Ypologismos tou a^n */ #include <stdio.h> int main( void ) { float a, p; int i, n; scanf("%f", &a); scanf("%d", &n); p= 1; for( i=0; i<n; i++) { p= p*a; } printf("a^n = %.4f\n", p); return 0; }

Πρόγραμμα A-6: Υπολογισμός του n! Πρόγραμμα A-6: Υπολογισμός του n! Σχόλια: n! = 1*2*3* *n /* Ypologismos tou n! 1*2*...*n */ #include <stdio.h> int main( void ) { int i, n, p; scanf("%d", &n); p= 1; for( i=1; i<=n; i++) { p= p*i; } printf("n! = %d\n", p); return 0; }

Πρόγραμμα A-7: Άθροισμα 1+2+.. + n Πρόγραμμα A-7: Άθροισμα 1+2+3+ + n Σχόλια: Υπάρχει κλειστός τύπος n*(n+1)/2 /* Ypologismos tou S 1+2+...+n Parathrhsh: yparxei kleistos typos (n*(n+1))/2 */ #include <stdio.h> int main( void ) { int i, n, s; scanf("%d", &n); s= 0; for( i=1; i<=n; i++) { s= s + i; } printf("sum = %d\n", s); return 0; }

Πρόγραμμα A-8: Εύρεση ΕΚΠ δύο αριθμών Πρόγραμμα A-8: Εύρεση ΕΚΠ δύο αριθμών Σχόλια: Ισχύει επίσης ότι ΕΚΠ = (a*b) / ΜΚΔ /* Ypologismos EKP a, b Parathrhsh: yparxei typos opou EKP = (a*b) / MKD */ #include <stdio.h> int main( void ) { int a, b, p, i, y; scanf("%d", &a); scanf("%d", &b); i= 1; do { p= a*i; y= p%b; i= i+1; } while (y!=0 ); printf("ekp ( %d, %d ) = %d\n", a, b, p); return 0; }

Πρόγραμμα A-9: Προσέγγιση του π/4, s=1-1/3 + 1/5-1/7 +.. Πρόγραμμα A-9: Προσέγγιση του π/4, s=1-1/3 + 1/5-1/7 +.. Σχόλια: Προσοχή στον υπολογισμό του 1/i όπου αν δεν γίνει type casting θα εκτελεστεί ακέραια διαίρεση όπου 1/i ισούται με 0 /* Proseggish toy pi/4 S = 1-1/3 + 1/5-1/7 +.. */ #include <stdio.h> int main( void ) { int i, n, sign; double w, s; //proseggish me n orous n= 10000; s= 0; sign= 1; for( i=1; i<=n; i=i+2) { w= 1/(double)i; s= s + sign*w; sign= sign * (-1); } printf("proseggish tou pi/4 me %d orous S= %.6lf\n", n, s); return 0; }

Πρόγραμμα A-10: Εκτύπωση N τιμών συνάρτησης μεταξύ x1 και x2 (1/2) Πρόγραμμα A-10: Εκτύπωση N τιμών συνάρτησης μεταξύ x1 και x2 Σχόλια: Η συνάρτηση πρέπει να είναι συγκεκριμένη μέσα στον κώδικα γιατί δεν μπορεί να διαβαστεί από τον χρήστη Σχόλια: Αντί του «x= x1 + i * stepx;» μπορεί να χρησιμοποιηθεί «x = x + stepx» και αρχική τιμή «x = x1» πριν το for. Ποια είναι τα πλεονεκτήματα / μειονεκτήματα ; /* Times synarthseis: n times metaksi x1 kai x2 */ #include <stdio.h> #include <math.h> int main( void ) { float y, x, stepx, x1, x2; int i, n; printf("dwse ta oria x1, x2\n"); scanf("%f",&x1); scanf("%f",&x2); printf("dwse to plhthos twn shmeiwn\n"); scanf("%d", &n); stepx= (x2-x1)/n;

Πρόγραμμα A-10: Εκτύπωση N τιμών συνάρτησης μεταξύ x1 και x2 (2/2) for( i=0; i<=n; i++) { x= x1 + i * stepx; y= x*x + cos(x); printf("x= %.4f y= %.4f\n", x, y); } return 0; }

Πρόγραμμα A-11: Υπολογισμός εμβαδού τριγώνου Πρόγραμμα A-11: Υπολογισμός εμβαδού τριγώνου Σχόλια: Τύπος του Ήρωνα /* Ypologismos embadou trigwnou dokimes: a) (5,5) (8,9) (13,5) E=1/2*8*4 = 16 b) (5,5) (8,5) (5,10) E=1/2*3*5= 7,5 */ # include <stdio.h> # include <math.h> int main (void) { float x1,y1,x2,y2,x3,y3,d1,d2,d3,t,e; scanf("%f",&x1); scanf("%f",&y1); scanf("%f",&x2); scanf("%f",&y2); scanf("%f",&x3); scanf("%f",&y3); d1=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)); d2=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3)); d3=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1)); t=(d1+d2+d3)/2; E=sqrt(t*(t-d1)*(t-d2)*(t-d3)); printf("%f\n",e); return 0; }

Τέλος Ενότητας