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

Σχετικά έγγραφα
Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Προγραμματισμός Ι. Θεματική ενότητα 3: Tελεστές. εκφράσεις

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

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2

ΗΥ-150. Προγραμματισμός

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

ΗΥ-150. Προγραμματισμός

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

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

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

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

Ανάπτυξη και Σχεδίαση Λογισμικού

Οικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

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

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

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 4

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Ανάπτυξη και Σχεδίαση Λογισμικού

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

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

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

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

Στόχοι και αντικείμενο ενότητας. Βασικές κατασκευές ΓΠ. Έλεγχος ροής προγράμματος. #4.. Εντολές Επιλογής

Εντολές επιλογής Επαναλήψεις (if, switch, while)

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

2.1. Εντολές Σχόλια Τύποι Δεδομένων

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Προγραμματισμός Η/Υ (ΤΛ2007 )

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

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Στοιχειώδης προγραμματισμός σε C++

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

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

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

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Προσέξτε πως η παράσταση μπορεί να περιλαμβάνει όχι μόνο μία τιμή ή μια άλλη μεταβλητή αλλά μια ολόκληρη μαθηματική παράσταση, όπως η εξής:

5 &6. Τύποι δεδομένων, τελεστές και

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Εισαγωγή στην γλώσσα προγραμματισμού C

Προγραμματισμός Ι (ΗΥ120)

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

Δεδομένα, τελεστές, είσοδος/έξοδος

ΑΣΚΗΣΗ 3: ΠΡΟΤΑΣΕΙΣ, ΕΚΦΡΑΣΕΙΣ ΚΑΙ ΤΕΛΕΣΤΕΣ

Προγραμματισμός Η/Υ (ΤΛ2007 )

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

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

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

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

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

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Προγραμματισμός Η/Υ (ΤΛ2007 )

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

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

4. Επιλογή και Επανάληψη

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

a = 10; a = k; int a,b,c; a = b = c = 10;

Η Γλώσσα Προγραμματισμού C (Μέρος 2 - Οι Bασικές Εντολές της C) Οι Βασικοί Τελεστές της C

Προγραμματισμός Η/Υ. Ενότητα 5: Εντολές Επανάληψης

Παίρνοντας Αποφάσεις 1

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

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

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Οι εντολές ελέγχου της ροής ενός προγράμματος.

Προγραμματισμός Ι. Θεματική ενότητα 4: Έλεγχος ροής Προτάσεις υπό συνθήκη διακλάδωσης

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

Προγραμματισμός Η/Υ (ΤΛ2007 )

Υπολογισμός - Εντολές Ελέγχου

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

Θέματα Προγραμματισμού Η/Υ

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

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

Transcript:

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

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Νέο Πρόγραμμα Δημιουργήστε ένα νέο project με τίτλο Operators2

Άσκηση Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 3 Γράψτε ένα πρόγραμμα που τυπώνει τη θερμοκρασία σε βαθμούς Fahreneit που αντιστοιχεί στη θερμοκρασία 21 C. Ο τύπος που θα χρησιμοποιήσετε είναι Βαθμοί F = 9/5*βαθμοί C + 32 Προσέξτε τον τύπο των μεταβλητών που θα χρησιμοποιήσετε (int? float?) Δώστε ξεκάθαρα ονόματα στις μεταβλητές Στοιχίστε σωστά τον κώδικά σας Βάλτε σχόλια

Άσκηση Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 4 Αλλάξτε το προηγούμενο πρόγραμμα που γράψατε ούτως ώστε να διαβάζει μια θερμοκρασία από το πληκτρολόγιο και μετά να τυπώνει την αντίστοιχή της σε Fahreneit

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 5 Η συνάρτηση scanf H εισαγωγή τιμών στις μεταβλητές μπορεί να γίνει με τη χρήση της συνάρτησης scanf και του αντίστοιχου προσδιοριστή (specifier) π.χ. scanf( " %c", &ch ); Επιστρέφει: τον αριθμό των στοιχείων που διάβασε επιτυχώς. 0 αν δεν διαβάσει τίποτα μια ειδική τιμή, την EOF (συνήθως ισούται με 1), αν βρεθεί σε κατάσταση end of file Προσδιοριστές: %c χαρακτήρας %d,%i ακέραιος %f κινητής υποδιαστολής %lf διπλής ακρίβειας %x δεκαεξαδικός %s συμβολοσειρά

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 6 Τελεστές αύξησης και μείωσης Τελεστής αύξησης (increment operator) συμβολίζεται με ++ π.χ num = num + 1; ισοδυναμεί με num++; Τελεστής μείωσης (decrement operator) συμβολίζεται με -- πχ. num = num 1; Ισοδυναμεί με num--; Οι τελεστές αύξησης και μείωσης μπορούν να δυσκολέψουν την κατανόηση πράξεων κυρίως όταν παρουσιάζονται ως προπορευόμενοι ή παρελκόμενοι π.χ. y = x-- + y; z = ++x + y;

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 7 Τελεστές αύξησης και μείωσης & προτεραιότητα Σε περίπτωση προπορευόμενου τελεστή το σύστημα πρώτα εκτελεί την αύξηση ή μείωση και μετά χρησιμοποιεί την νέα τιμή της μεταβλητής στην έκφραση πχ. z=++x + y;

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 8 Τελεστές αύξησης και μείωσης & προτεραιότητα Αντιθέτως, στην περίπτωση του παρελκόμενου τελεστή το σύστημα πρώτα χρησιμοποιεί την τιμή της μεταβλητής για τον υπολογισμό της τιμής της έκφρασης και μετά εκτελεί την αύξηση ή μείωση της τιμής της μεταβλητής πχ. z= x++ +y;

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 9 Νέο Πρόγραμμα Δημιουργήστε ένα νέο project με τίτλο Operators3

Άσκηση int x, y,z; x = 10; y = 20; Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 10 z = ++x + y; printf(" z = %d \n",z); x = 10; y = 20; z = x++ + y; printf(" z = %d \n",z);

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 11 Τελεστές ανάθεσης Σκοπός αυτών είναι να εκτελούν κάποια πράξη ανάμεσα στους τελεστέους και να εκχωρούν το αποτέλεσμα σε έναν από τους τελεστέους +=, -=, /=, %=, *= πχ. x *= 10 ισοδυναμεί με x = x * 10; Στην κατηγορία των τελεστών ανάθεσης έχουμε και τους τελεστές διαχείρισης δυαδικών ψηφίων (bitwise operator) 䩸 >>= <<= &= ^= =

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 12 Νέο Πρόγραμμα Δημιουργήστε ένα νέο project με τίτλο Operators4

Άσκηση Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 13 Γράψτε το παρακάτω πρόγραμμα και αντικαταστήστε όπου είναι δυνατό με σύνθετους τελεστές ανάθεσης int x=10, y=20, z=0; z = z+x; x = x*10; printf(" z = %d \n",z); z=x+y; z=z%x; y=y-x; printf(" z = %d \n",z); printf(" y = %d \n",y);

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 14 Συσχετιστικοί Τελεστές (relational operators) Συγκρίνουν δύο τελεστέους Το αποτέλεσμα της έκφρασης με συσχετιστικούς τελεστές είναι ΑΛΗΘΕΣ (1) ή ΨΕΥΔΕΣ (0) π.χ 3 < 2 επιστρέφει 0 π.χ. 2 == 2 επιστρέφει 1

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 15 Συσχετιστικοί Τελεστές (relational operators) Συσχετιστικοί Τελεστές Δράση < Μικρότερο > Μεγαλύτερο από <= Μικρότερο ή ίσον από >= Μεγαλύτερο ή ίσον από == Ίσο!= Διάφορο Προσοχή!!! == και = είναι δύο διαφορετικοί τελεστές

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 16 Λογικοί Τελεστές Δρουν επι ενός ή δύο τελεστέων Έχουν σαν βάση την δίτιμη άλγεβρα Boole Οι είσοδοι και έξοδοι μπορούν να λάβουν μόνο δύο τιμές TRUE και FALSE Τελεστής Δράση && Λογικό AND Λογικό OR! Λογικό NOT x y x&&y x y!x π.χ (10+5)<(12+8) 15<20 TRUE π.χ (10>5) (-8>10) TRUE FASLE TRUE T T T T F T F F T F T F T T F F F F

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 17 Λογικοί Τελεστές Στη C μια πρόταση με λογικούς τελεστές μπορεί να είναι ή αληθής ή ψευδής (TRUE,FALSE) Η τιμή 0 θεωρείται ισοδύναμη με το ψεύδος (FALSE) Κάθε άλλη τιμή θεωρείται ισοδύναμη με αλήθεια (TRUE)

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 18 Νέο Πρόγραμμα Δημιουργήστε ένα νέο project με τίτλο LogicalOperators

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 19 Γράψτε τον παρακάτω κώδικα: int x, y, z ; x = 0; y = 10;. z = (x>y); printf( " x>y is %d\n ", z ); z = (x==y); printf( " x==y is %d\n ", z ); z = (x!=y); printf( " x!=y is %d\n ", z ); z = (x && y); printf( " x && y is %d\n ", z ); z =!(x && y) (x y); printf( "!(x && y) (x y) is %d\n ", z );

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 20 Μετατροπές τύπων Όταν έχουμε τελεστέους διαφορετικών τύπων αυτοί μετατρέπονται σε ενιαίο Με αυτόματο τρόπο (Υπονοούμενη) Με ρητή εντολή του προγραμματιστή

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 21 Υπονοούμενη Μετατροπή Τύπων 3.0+ 1 / 2 3.0 και όχι 3.5 Όταν έχουμε δύο τύπους δεδομένων, ο στενότερος μετατρέπεται στον ευρύτερο χωρίς απώλεια Οι τύποι της γλώσσας ταξινομούνται ανάλογα με το μέγεθος μνήμης που απαιτούν για αποθήκευση char < int < long < float < double Στην γλώσσα C οι αριθμητικές εκφράσεις μετατρέπουν αυτόματα τον τύπο char σε int και το float σε double

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 22 Ρητή Μετατροπή Μετατροπή μιας τιμής σε διαφορετικό τύπο κατόπιν εντολής του προγραμματιστή Η διαδικασία ονομάζεται προσαρμογή Ο τελεστής μετατροπής είναι μοναδιαίος και έχει την μορφή (τύπος δεδομένων) Τοποθετείται μπροστά από μια έκφραση για να μετατρέψει την τιμή της στον περικλειόμενο σε παρενθέσεις τύπο 5 / 2 2 (float)5 / (float)2 2.5

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 23 Τελεστής sizeof Επιστρέφει τον αριθμό των bytes που η τιμή της έκφρασης ή ο τύπος δεδομένων καταλαμβάνει στη μνήμη Ενεργεί επάνω σε εκφράσεις ή μεταβλητές sizeof(x+y) sizeof(x) Το σύστημα δεν υπολογίζει την τιμή της έκφρασης Και σε τύπο δεδομένων πχ. sizeof(int) int x,y; nameserver 83.235.223.209 printf( " x=%d ", sizeof( x ) ); // επιστρέφει x=4 printf( " \n y=%d ", sizeof( y ) ); // επιστρέφει x=4 printf( " \n x+y=%d ", sizeof( x+y ) ); // επιστρέφει x+y = 4

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 24 Δομημένη Ανάπτυξη Προγραμμάτων Πρόγραμμα Η/Υ Η επίλυση ενός προβλήματος σε Η/Υ με ένα σύνολο από προτάσεις (εντολές) σε μία γλώσσα υψηλού επιπέδου, οι οποίες εκτελούνται διαδοχικά. Σειριακή Εκτέλεση Όλες οι προτάσεις σε ένα πρόγραμμα στη C εκτελούνται σειριακά, η μία μετά την άλλη

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 25 Δομημένη Ανάπτυξη Προγραμμάτων Σύνθετα προβλήματα εμπεριέχουν καταστάσεις λογικών επιλογών (εάν, εφόσον, καθότι, εξέτασε, ελέγχω, βρες σε τι κατάσταση είναι) και επανάληψης (επανέλαβε, όσο ισχύει, για ). π.χ. φωτεινός σηματοδότης, εξεύρεση μιας οδού, δήλωση μαθημάτων Αν το x είναι μεγαλύτερο ή ίσο με το 0 τότε τύπωσε ότι το x είναι θετικό αλλιώς τύπωσε ότι είναι αρνητικό Μεταβίβαση Ελέγχου μία πρόταση μπορεί να εκτελεστεί ακόμα και αν δεν είναι η επόμενη στη σειρά

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 26 Δομημένη Ανάπτυξη Προγραμμάτων Πρόταση GoTo Καθορισμός της μεταβίβασης ελέγχου σε ένα ευρύ φάσμα πιθανών προορισμών Όλα τα προγράμματα μπορούν να γραφούν χωρίς προτάσεις GoTo Μη χρησιμοποιείται σε καμία περίπτωση την εντολή GoTo. Δημιουργεί δύσκολα στην κατανόηση και στον εντοπισμό σφαλμάτων προγράμματα

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 27 Δομημένη Ανάπτυξη Προγραμμάτων Όλα τα προγράμματα μπορούν να γραφούν με μόνο τρεις δομές ελέγχου Σειριακή δομή Δομή επιλογής Δομή επανάληψης Πρόσθεσε την grade στην total Πρόσθεσε 1 στην counter

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 28 Διάγραμμα Ροής Αρχή Αρχή Πρόσθεσε την grade στην total Πρόσθεσε την grade στην total Πρόσθεσε την grade στην total Αν total<5 Αληθές Πρόσθεσε 1 στην counter Πρόσθεσε 1 στην counter Ψευδές Πρόσθεσε 1 στην counter Εκτύπωσε την counter Εκτύπωσε την counter Τέλος Τέλος

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 29 Δομημένη Ανάπτυξη Προγραμμάτων Δομές Επιλογής Απλή δομή επιλογής if (δομή μίας επιλογής) Εάν (ισχύει αυτό) εκτέλεσε τις (0,1,.Ν) εντολές Δομή επιλογής if/else (δομή διπλής επιλογής) Εάν (ισχύει αυτό) εκτέλεσε τις (0,1,.Ν) εντολές Αλλιώς εκτέλεσε τις (0,1,.Ν) εντολές Δομής επιλογής switch (δομή πολλαπλών επιλογών) Εάν (η μεταβλητή) είναι ίση με την περίπτωση 1, εκτέλεσε τις (0,1,.Ν) εντολές είναι ίση με την περίπτωση 2, εκτέλεσε τις (0,1,.Ν) εντολές είναι ίση με την περίπτωση 3, εκτέλεσε τις (0,1,.Ν) εντολές

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 30 Δομημένη Ανάπτυξη Προγραμμάτων Δομές Επανάληψης Δομή επανάληψης while Δομή επανάληψης do-while Δομή επανάληψης for

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 31 Υπο συνθήκη διακλάδωση (Δομή Επιλογής) Επιλεκτική εκτέλεση προτάσεων (η εκτέλεση προτάσεων ανάλογα με την ορθότητα ή ψεύδους μιας λογικής έκφρασης) Λογική έκφραση = εκφράσεις τελεστέων με λογικούς τελεστές και τελεστές συσχέτισης Πρόταση διακλάδωσης έχει την μορφή ιf E then Π1 else Π2 Σε κάθε περίπτωση ο έλεγχος μεταφέρεται στο ένα και μοναδικό σημείο εξόδου Αληθές Ε Ψευδές Π1 Π2

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 32 Σύνταξη της εντολής if if (συνθήκη) { Κώδικας που ισχύει όταν η συνθήκη είναι αληθής } else { Κώδικας που ισχύει όταν η συνθήκη είναι ψευδής } Το κομμάτι του else είναι προαιρετικό Τα άγκιστρα είναι προαιρετικά αν ό κώδικας που περικλείεται σε αυτά είναι μια μόνη εντολή if (x>=0) { printf( To x einai thetiko\n ); } else { printf( To x einai arnhtiko\n ); } if (x>=0) printf( To x einai thetiko\n ); else printf( To x einai arnhtiko\n );

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 33 Νέο Πρόγραμμα Δημιουργήστε ένα νέο project με τίτλο if

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 34 Χρήση της IF Να γραφεί πρόγραμμα το οποίο θα υπολογίζει την παράσταση (α+β)/γ και να τυπώνει το αποτέλεσμα στην οθόνη. (οι τιμές των α, β, γ θα δίνονται από τον χρήστη). Το πρόγραμμα πρέπει να λαμβάνει υπόψη του την περίπτωση που ισχύει γ=0 και να τυπώνει το μήνυμα: Den ginetai diairesh me to 0!

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 35 Σημαντικά Λάθη με την if Παράδειγμα: if (x==0) { printf( De ginetai diairesh me to 0 ); } apotelesma = 2/x; printf( apotelesma = %d,apotelesma); Το παραπάνω πρόγραμμα θα βγάλει μεν το μήνυμα ότι δε γίνεται 0 ΑΛΛΑ ΜΕΤΑ ΘΑ ΣΥΝΕΧΙΣΕΙ ΝΑ ΕΚΤΕΛΕΙΤΑΙ ΚΑΙ ΘΑ ΚΑΝΕΙ ΤΗ ΔΙΑΙΡΕΣΗ!!! Η σωστή αντιμετώπιση είναι η χρήση else if (x==0) { printf( De ginetai diairesh me to 0 ); } else { apotelesma = 2/x; printf( apotelesma = %d,apotelesma); }

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 36 Νέο Πρόγραμμα Δημιουργήστε ένα νέο project με τίτλο if2

Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 37 Χρήση της IF και Λογικών Τελεστών Δίνεται το ακόλουθο τμήμα κώδικα: int x, y; scanf( %d,&x); scanf( %d,&y); if ( (x/3 == 0) && ( (x*y) == (x+1) ) ) printf( TEI ); Να δοθούν τέτοιες τιμές στα x και y έτσι ώστε να τυπώνεται η λέξη TEI. Να αιτιολογηθεί η επιλογή των x και y.