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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός II (Γλώσσα C)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Η γλώσσα προγραμματισμού C Δομές (structures) στη C

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

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

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

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

Ενώσεις δεδομένων Απαριθμητές Ψηφιακοί τελεστές Αναδρομικές συναρτήσεις

Νικόλαος Μιχαλοδημητράκης Σημειώσεις C (Εργαστήριο) 12 ο Μάθημα 1

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

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

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

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

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

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

ΕΛΛΗΝΙΚΗ ΕΤΑΙΡΕΙΑ ΕΠΙΣΤΗΜΟΝΩΝ ΚΑΙ ΕΠΑΓΓΕΛΜΑΤΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΜΕΛΟΣ IFIP, IOI Org. GREEK COMPUTER SOCIETY MEMBER OF IFIP, IOI Org.

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

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδηµαϊκό έτος ΑΣΚΗΣΗ #5 Προτεινόµενη λύση

Πληροφορική. Εργαστηριακή Ενότητα 1 η : Εισαγωγή στα Λογιστικά Φύλλα με το MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

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

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

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

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

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

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

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

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

Συστήματα Αυτομάτου Ελέγχου 1 Ενότητα # 5: Χρήση μετασχηματισμού Laplace για επίλυση ηλεκτρικών κυκλωμάτων Μέθοδοι εντάσεων βρόχων και τάσεων κόμβων

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

"ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ" (ΕΜ102), ΕΡΓΑΣΙΑ 1η

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

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

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

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

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

ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ 8/9/2008

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

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

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Ασκήσεις Επανάληψης

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

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

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

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

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

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

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

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΑΣΚΗΣΗ #5 Προτεινόμενη Λύση

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

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

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

Μέθοδοι Βελτιστοποίησης

Ι Αρχεία δεδομένων, μέρος δεύτερο: δυαδικά αρχεία ΙΙ Δομές δεδομένων (struct)

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

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

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

ΑΠΑΝΤΉΣΕΙΣ ΣΤΟ ΠΡΩΤΟ ΣΥΝΟΛΟ ΑΣΚΗΣΕΩΝ

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

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

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

Transcript:

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

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

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

Πρόγραμμα D-1: Απόσταση 2 σημείων(1/2) /* apostash shmeiwn me xrhsh struct */ #include <stdio.h> #include <math.h> struct point { float x; float y; ; float dist( struct point a, struct point b); int main( void ) { struct point p1, p2; float d; scanf("%f",&p1.x); scanf("%f",&p1.y); scanf("%f",&p2.x); scanf("%f",&p2.y); d=dist( p1, p2); printf("d=%f\n", d); return 0; (συνέχεια)

Πρόγραμμα D-1: Απόσταση 2 σημείων(2/2) float dist( struct point a, struct point b) { float d; d= sqrt( (b.x-a.x)*(b.x-a.x) + (b.y-a.y)*(b.y-a.y) ); return d;

Πρόγραμμα D-2: Περίμετρος ν- γώνου (1/2) /* perimetros n-gwnou, xrhsh typedef kai struct, xrhsh pow(x,y) */ #include <stdio.h> #include <math.h> typedef struct point { float x; float y; TPoint; float dist( TPoint a, TPoint b); int main( void ) { TPoint p[20]; float d, per; int n, i; printf("plhthos pleyrwn?\n"); scanf("%d",&n); for(i=0;i<n;i++) { printf("shmeio %d (x,y)?\n",i+1); scanf("%f", &p[i].x); scanf("%f", &p[i].y); per= 0; for(i=0;i<n-1;i++) { d= dist( p[i], p[i+1]); per= per + d; d= dist( p[n-1], p[0]); per= per + d; printf("perimetros=%6.2f\n", per); return 0; (συνέχεια)

Πρόγραμμα D-2: Περίμετρος ν- γώνου (2/2) float dist( TPoint a, TPoint b) { float d; d= sqrt( pow( b.x-a.x, 2) + pow( b.y-a.y, 2) ); return d;

Πρόγραμμα D-3: Μιγαδικοί αριθμοί (1/4) /* Complex numbers, pointers se struct */ #include <stdio.h> #include <math.h> typedef struct complex { double real; double imag; TComplex; TComplex add_complex( TComplex a, TComplex b); TComplex sub_complex( TComplex a, TComplex b); TComplex mult_complex( TComplex a, TComplex b); TComplex div_complex( TComplex a, TComplex b); void print_complex( TComplex a); TComplex read_complex_v1( void); void read_complex_v2( TComplex *ptra); void read_complex_v3( TComplex *ptra); (συνέχεια)

Πρόγραμμα D-3: Μιγαδικοί αριθμοί (2/4) int main( void ) { TComplex x, y, z; x = read_complex_v1(); y = read_complex_v1(); z= add_complex( x, y); print_complex( z); /* enallaktika */ read_complex_v2( &x); read_complex_v2( &y); z= add_complex( x, y); print_complex( z); /* enallaktika */ read_complex_v3( &x); read_complex_v3( &y); z= add_complex( x, y); print_complex( z); (συνέχεια)

Πρόγραμμα D-3: Μιγαδικοί αριθμοί (3/4) TComplex add_complex( TComplex a, TComplex b) { TComplex c; c.real= a.real + b.real; c.imag= a.imag + b.imag; return c; TComplex sub_complex( TComplex a, TComplex b) { TComplex c; c.real= a.real - b.real; c.imag= a.imag - b.imag; return c; TComplex mult_complex( TComplex a, TComplex b) { TComplex c; c.real= a.real * b.real - a.imag * b.imag; c.imag= a.imag * b.real + a.real * b.imag; return c; TComplex div_complex( TComplex a, TComplex b) { TComplex c; double d; d= b.real * b.real + b.imag * b.imag; c.real= (a.real * b.real + a.imag * b.imag) / d; c.imag= (a.imag * b.real - a.real * b.imag) / d; return c; (συνέχεια)

Πρόγραμμα D-3: Μιγαδικοί αριθμοί (4/4 ) void print_complex( TComplex a) { printf("(%4.1lf, %4.1lf)\n", a.real, a.imag); TComplex read_complex_v1( void) { TComplex a; scanf("%lf", &a.real); scanf("%lf", &a.imag); return a; void read_complex_v2( TComplex *ptra) { /* prosoxh (*ptra).real giati prohgeitai o telesths "." tou telesth "*" */ scanf("%lf", &(*ptra).real); scanf("%lf", &(*ptra).imag); void read_complex_v3( TComplex *ptra) { scanf("%lf", &ptra->real); scanf("%lf", &ptra->imag);

Πρόγραμμα D-4: Πίνακας προσώπων (1/2) /* Struct me strings */ #include <stdio.h> typedef struct person { char fname[20]; char lname[20]; int age; TPerson; void read_person( TPerson *pp); int main( void ) { TPerson persons[5]; int i, s, imin; float mo; for(i=0; i<5; i++) { read_person( &persons[i]); s=0; for(i=0; i<5; i++) { s= s + persons[i].age; mo= s/5; printf("mesos oros hlikias %f\n", mo); (συνέχεια)

Πρόγραμμα D-4: Πίνακας προσώπων (2/2) imin= 0; for(i=0; i<5; i++) { if (persons[i].age < persons[imin].age) { imin= i; printf("to atomo me thn mikroterh hlikia einai o/h %s %s\n", persons[imin].fname, persons[imin].lname); return 0; void read_person( TPerson *pp) { printf("eisagwgh atomou: onoma epwnymo kai hlikia\n"); scanf("%s", pp->fname); scanf("%s", pp->lname); scanf("%d", &pp->age);

Πρόγραμμα D-5: Πίνακας μαθητών (1/3) /* Struct me strings 2 */ #include <stdio.h> #include <string.h> typedef struct student { char name[20]; int age; float grade; } TStudent; void readstudent( TStudent *pstu); void printstudent( TStudent stu); int main( void ) { TStudent a[5]; int i, imax; float max, mo, s; for(i=0; i<5; i++) { readstudent( &a[i]); } printf("oi karteles twn mathitwn einai:\n"); for(i=0; i<5; i++) { printstudent( a[i]); } (συνέχεια)

Πρόγραμμα D-5: Πίνακας μαθητών (2/3) s=0; for(i=0; i<5; i++) { s= s + a[i].grade; } mo= s/5; printf("mesos oros bathmologias %f\n", mo); imax=0; max=a[0].grade; for(i=0; i<5; i++) { if (a[i].grade > max) { max= a[i].grade; imax= i; } } printf("o mathitis me thn megalyterh bathmologia einai o/h %s\n", a[imax].name); return 0; } (συνέχεια)

Πρόγραμμα D-5: Πίνακας μαθητών (3/3) void readstudent( TStudent *pstu) { printf("eisagwgh mathiti: onoma bathmologia kai hlikia\n"); scanf("%s", pstu->name); scanf("%f", &pstu->grade); scanf("%d", &pstu->age); } void printstudent( TStudent stu) { printf("onoma: %s\n", stu.name); printf("bathmologia: %4.1f\n", stu.grade); printf("hlikia: %d\n", stu.age); }

Πρόγραμμα D-6: Παιχνίδι περιπέτειας (1/3) /* adventure game */ #include <stdio.h> #include <string.h> typedef struct { char descr[100]; int c[4]; TLoc; typedef struct { char descr[50]; int loc; TObj; void printobjloc( TObj a[], int nobjs, int cloc) { int i; for (i=0;i<nobjs;i++) { if (a[i].loc==cloc) { printf("blepeis: %s\n", a[i].descr); (συνέχεια)

Πρόγραμμα D-6: Παιχνίδι περιπέτειας (2/3) int main (void) { TLoc a[4]; TObj objs[3]; int x, xx, d; strcpy(a[0].descr, "Eisai sto dasos. Blepeis ena monopati boreia."); strcpy(a[1].descr, "Eisai sto ksefwto. Blepeis monopatia notia, anatolika kai dytika."); strcpy(a[2].descr, "Eisai sth pediada."); strcpy(a[3].descr, "Eisai sthn oxthh enos potamou. Ena monopati sta anatolika odhgei sto ksefwto."); a[0].c[0]=1; a[0].c[1]=-1; a[0].c[2]=-1; a[0].c[3]=-1; a[1].c[0]=-1; a[1].c[1]=2; a[1].c[2]=0; a[1].c[3]=3; a[2].c[0]=-1; a[2].c[1]=-1; a[2].c[2]=-1; a[2].c[3]=1; a[3].c[0]=-1; a[3].c[1]=1; a[3].c[2]=-1; a[3].c[3]=-1; strcpy(objs[0].descr, "Ena fanari."); objs[0].loc=2; strcpy(objs[1].descr, "Ena kibwtio."); objs[1].loc=2; strcpy(objs[2].descr, "Ena sako."); objs[2].loc=3; (συνέχεια)

Πρόγραμμα D-6: Παιχνίδι περιπέτειας (3/3) x=0; do { printf("%s\n",a[x].descr); printobjloc(objs, 3, x); printf("pou phgaineis? (0/1/2/3)\n"); scanf("%d",&d); if (d!=9) { xx=a[x].c[d]; if(xx==-1) printf("den mporeis!\n"); else x=xx; while( d!=9); printf("telos paixnidiou.\n"); return 0;

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