ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων

Σχετικά έγγραφα
Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις. ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6)

Περιεχόμενα. Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6) Τύποι Δεδομένων. Τελεστές. Αριθμητικές εκφράσεις

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

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2

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

Προγραµµατισµός. Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος

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

ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

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

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

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

Προγραμματισμό για ΗΜΥ

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

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

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

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

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

7. Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 2 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Εργαστήριο 2. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

Μεθόδων Επίλυσης Προβλημάτων

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

Μεθόδων Επίλυσης Προβλημάτων

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

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

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Ενσωματωμένοι Τύποι Δεδομένων. ΕΠΛ131 Ενότητα III

Μεθόδων Επίλυσης Προβλημάτων

Μεθόδων Επίλυσης Προβλημάτων

Μεθόδων Επίλυσης Προβλημάτων

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

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

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

Η Γλώσσα C Μία Σφαιρική Ανασκόπηση

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

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

Μεθόδων Επίλυσης Προβλημάτων

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

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

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

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

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

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

Μεθόδων Επίλυσης Προβλημάτων

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

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

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

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Μεθόδων Επίλυσης Προβλημάτων

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών

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

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

Προγραμματισμό για ΗΜΥ

ΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ

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

ΦΥΛΛΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ 1

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

scanf() scanf() stdin scanf() printf() int float double %lf float

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

C Programming EPL032 Maria Stavrinou Ioannou Εισαγωγή στη Γλώσσα C

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

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

Προγραμματισμό για ΗΜΥ

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

Συναρτήσεις. Εισαγωγή

ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων

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

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

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

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

ΕΠΛ 034: Εισαγωγήστον ΠρογραµµατισµόγιαΗΜΥ

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

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. Δείκτες (Διάλεξη 14)

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

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

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

Ενότητα 1 Διάλεξη 2β

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

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

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

Προγραμματισμό για ΗΜΥ

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

Βασικά στοιχεία της Java

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

Κεφάλαιο , 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Τύποι Δεδομένων Είσοδος/Έξοδος

ΑΣΚΗΣΗ 2: ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΣΤΗ C

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

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

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

Transcript:

ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων Αχιλλέας Αχιλλέως, Τµήµα Πληροφορικής, Πανεπιστήµιο Κύπρου Email: achilleas@cs.ucy.ac.cy

Κεφάλαιο 4 Τύποι εδοµένων, Τελεστές καιαριθµητικέςεκφράσεις

Θέµατα ιάλεξης Τύποι εδοµένων int, float, double, char Τελεστές =,+,-,*,/,% Αριθµητικές εκφράσεις a+b.

Τύποι εδοµένων Ένας τύπος δεδοµένων είναι ένα σύνολο τιµών και ένα σύνολο λειτουργιών (πράξεων) που µπορούν να εφαρµοστούν σε αυτές τις τιµές βασικοί τύποι δεδοµένων: (int, float, double, char) σύνθετοιτύποιδεδοµένων: (arrays, structs)

Τύποιδεδοµένων - int Τύπος: int (ακέραιος integer) Αναπαριστά ακέραιους αριθµούς Μέγεθος: 4 bytes πεδίοτιµών: -2 31.. +(2 31-1) δηλαδή περίπου : από [-2G..+2G] [-(δυο δισεκατοµµύρια.. +δυο δισεκατοµµύρια] Πράξεις:πρόσθεση (+), αφαίρεση (-), πολλαπλασιασµός (*),διαίρεση (/), υπόλοιπο (%) Παραδείγµατακυριολεκτικώντιµών: -2189456 0 50 +24562 3245 13576313

Τύποιδεδοµένων - float Τύπος: float (κινητής υποδιαστολής απλής ακρίβειας floating point) Αναπαριστά τους πραγµατικούς αριθµούς Μέγεθος: 4 bytes Πράξεις: πρόσθεση (+), αφαίρεση (-), πολλαπλασιασµός (*),διαίρεση (/) Τιµές µιας µεταβλητής τύπου float µπορεί να είναι: π.χ. 3.01, 110.8, -0.01, κλπ.

Τύποιδεδοµένων - double Τύπος: double (κινητής υποδιαστολής διπλής ακρίβειας double precision) Ίδιος τύπος µε float αλλά µε µεγαλύτερη ακρίβεια (περιέχει δηλ. διπλό αριθµό δεκαδικών ψηφίων απ ότι ο τύπος float) Μέγεθος: 8 bytes Τιµή µιας µεταβλητής τύπου double µπορεί να είναι: π.χ 1.045623

Τύποιδεδοµένων - char Τύπος: char (χαρακτήρας character) Αναπαριστά ατοµικούς χαρακτήρες (Α-Ζ, a-z, 0-9,!@$%&#, ειδικάσύµβολα \n, κλπ.) Μέγεθος: 1 byte Κυριολεκτικές τιµές εσωκλείονται σε µονούς αποστρόφους, π.χ. Α, a, 9,,, *, \n, \, κτλ char xaraktiras; xaraktiras = A ; Οι απόστροφοι δε χρειάζονται όταν εισάγονται χαρακτήρες. Γιαπαράδειγµα: a είναι ο χαρακτήρας a b είναι ο χαρακτήρας b 9 είναι ο χαρακτήρας 9 * είναι ο χαρακτήρας *

Τύποιδεδοµένων char (συν.) κάθε χαρακτήρας αντιστοιχεί σ ένα µοναδικό κωδικό C βασίζεταιστο ASCII code (αριθµητική αντιπροσώπευση ενός χαρακτήρα στη µηχανή) Χαρακτήρεςαλφαβήτου, ψηφίων, ειδικοί ( \n, \t...), κλπ 0 ascii:48, 1 ascii:49,.., 9 ascii:57 A ascii:65,, Z ascii:90 a ascii:97,, z ascii:122

ΟΠίνακας ASCII

Τύποιδεδοµένων (Παράδειγµα) /*program example2.c this program adds three integer variables and displays the results*/ #include <stdio.h> /*use of pre-processor*/ int main ( ){ /*declaration of variables*/ int val1; int val2; int val3; int sum; /*assign values*/ val1=1; val2=2; val3=3; /*compute sum*/ sum=val1+val2+val3; /*display sum*/ printf ("The sum of %d and %d and %d is %d\n", val1, val2, val3, sum); return 0; }

Τύποιδεδοµένων (Παράδειγµα) /*program example3.c this program adds three integer variables and displays the results*/ #include <stdio.h> /*use of pre-processor*/ main ( ) { int val1=1, val2=2, val3=3, sum; /*compute sum*/ sum=val1+val2+val3; /*display sum*/ printf ("The sum of %d and %d and %d is %d\n", val1, val2, val3, sum); } The sum of 1 and 2 and 3 is 6

ΕπιλογήΤύπου εδοµένων Μαθητές σ ένα σχολείο => int Βάρος, Μάζα => float, double Εµβαδό, Όγκος => float, double Όνοµα => char, string Αριθµός Ταυτότητας => int

ΑριθµητικέςΕκφράσεις Σύνταξη: a τ b ή τ a τ είναι ο τελεστής (operator) a, bείναιτελεσταίοι (operands) τελεσταίοι µπορεί να είναι Σταθερές (π.χ. KMS_PER_MILE * miles) Μεταβλητές (π.χ. c = a + b) κλήση συνάρτησης που επιστρέφει αριθµό (π.χ c = sum(a,b) + sum(b,a) ) έκφραση (χρήση παρενθέσεων)

ΑριθµητικοίΤελεστές (arithmetic operators) Όνοµα Τελεστής Παράδειγµα Πρόσθεση + num1 + num2 Αφαίρεση - initial - spent Πολλ/σµός * age * 6 ιαίρεση / sum / count Υπόλοιπο % m % n

Υπόλοιπο % Η έκφραση m % n επιστρέφει το υπόλοιπο τηςδιαίρεσηςτου mµετο n. Το Modulus είναι ακέραιος τελεστής - και οι δύο τελεσταίοι πρέπει να είναι ακέραιοι (ή/και τύπου char). π.χ : 17 % 5 2 6 % 3 0 9 % 2 1 5 % 8 5

Ακέραιαδιαίρεση Εάνκαιοιδύοτελεσταίοιείναιακέραιοι τότεθαπάρετεακέραιοωςαπάντηση. Το δεκαδικό τµήµα απορρίπτεται. π.χ. : 17 / 5 3 4 / 3 1 35 / 9 3 Εάνέναςεκτωνδυοτελεσταίωνείναι float (ή double) θαπάρετε float (και αντίστοιχα double) ως αποτέλεσµα π.χ. 4.0 / 3 1.333333

ιαίρεσηµετο 0 εν ορίζεται διαίρεση µε 0 στα µαθηµατικά. Ανεπιτρέψετεδιαίρεσηµετο 0 σεένα πρόγραµµα θα προκληθεί σφάλµα. Η εκτέλεση του προγράµµατος θα τερµατιστείαπότοµα runtime error Θαµάθουµεαργότεραπώςνα αποφεύγουµε τη διαίρεση µε το 0

TελεστήςΑνάθεσης (=) (assignment operator) Σύνταξη: µεταβλητή = έκφραση; Παραδείγµατα: area = PI * radius * radius; count = count + 1; new_number = old_number; average = total / count; Η τιµή του αποτελέσµατος της έκφρασης στα δεξιά του τελεστή ανάθεσης αποθηκεύεται στη διεύθυνση της µεταβλητής

ΤύποςΈκφρασης Ορίζεται από τους τύπους των τελεστέων char, int, float, double Έκφραση Αποτέλεσµα π.χ. int τ int int 5/2 2 double τ double double 5.0/2.0 2.5 int τ double double 5/2.0 2.5 double τ int double 5.0/2 2.5 int τ char int 5+ a 102 Ascii:97

MετατροπήΤύπων Αυτόµατη µετατροπή Σε ανάθεση (αυτόµατα) η τιµή στα δεξιά του = µετατρέπεται στον τύπο της µεταβλητής στα αριστερά του = int x = 3.14; /* 3 */ float x = (2/3); /* 0.0 */ ΡητήΜετατροπή (Casting) float x = (float) 2/3; /* 2.0/3, 2.0/3.0, 0.66666 */ float x = (float) (2/3); /* 0.0 */

MετατροπήΤύπων (συν.) Παράδειγµα: double x=3.2; int y = 5; Αν x = x + y ; τότεητιµήτης x είναι 8.2 (double) Αν y = x + y ; τότε η τιµή της y είναι 8 (int)

ΜετατροπήΕκφράσεωνσε C m 2 - n 2 ax 2 + bx + c -b + 4ac 2ab c+d ((-a)b) + ((-c)d) => m*m - n*n ή (m*m)-(n*n) => a*x*x + b*x + c => -b + 4 * a* c => (2*a*b)/(c+d) => -a*b + -c*d

ΚανόναςΠροτεραιότηταςΤελεστών Τελεστές στην ίδια έκφραση αποτιµούνται σύµφωναµετιςπροτεραιότητέςτους. Οι προτεραιότητες των αριθµητικών τελεστών, σεφθίνουσασειρά, είναι:

Αριθµητικοίτελεστέςκαι προτεραιότητα Τελεστές Ψηλότερη Προτεραιότητα Προτεραιότητα ( ) Πρώτο στην αποτίµηση. Εάν είναι φωλιασµένο, τοεσώτατοπρώτα. Εάν είναι στο ίδιο επίπεδο, από αριστερά στα δεξιά + - (µοναδιαίοι) εύτεροστηναποτίµηση. Εάν υπάρχουν πολλά, από δεξιά στα αριστερά. * / % Τρίτο στην αποτίµηση. Εάν υπάρχουν πολλά, από αριστερά στα δεξιά + - (δυαδικοί) Τέταρτοστηναποτίµηση. Εάν υπάρχουν πολλά, από αριστερά στα δεξιά. = Αποτιµάται τελευταίο, από δεξιά στα αριστερά Χαµηλότερη Προτεραιότητα

ΚανόναςΠαρενθέσεων Κάθε έκφραση σε παρένθεση αποτιµείταιξεχωριστά. Φωλιασµένες παρενθετικέςεκφράσεις, ((..)), αποτιµώνταιαπόταµέσαπροςταέξω Όπου είσαστε αβέβαιοι χρησιµοποιείτε παρενθέσεις

ΠαράδειγµαΑποτίµησης x * y * z + a / b c * d (((x * y) * z) + (a / b)) (c * d) Και τα δυο είναι σωστά στην γλώσσα C. Ωστόσο η δεύτερη έκφραση εκφράζει πιο ξεκάθαρα τη σειρά εκτέλεσης.

ΠαράδειγµαΑποτίµησης (συν.) x = 5; y= 3; z = -4; Έκφραση (x-y)*z x- (y* z) x - y * z Τιµή -8 17 17 ψηλότερης προτεραιότητας

Εξάσκησηστηναποτίµηση εκφράσεων Έστωοιακέραιο a, b, c, d, & e, όπου a = 1, b = 2, c = 3, d = 4 Τι βγάζουν τα παρακάτω; 2%3 = 2 3/2 = 1 a + b - c + d a * b / c 1 + a * b % c a + d % b c d + c / b a 4 0 3-2 4 4%2 = 0

Εξάσκησηστηναποτίµηση εκφράσεων (συν.) Η αριθµητική παράσταση y * y / 2 * z 1 / x υπολογίζεται ως εξής (υπογραµµίζονται οι ήδη εκτελεσµένες πράξεις): a. y * y b. y * y / 2 c. y * y / 2 * z d. 1 / x e. y * y / 2 * z 1 / x

Έναολοκληρωµένοπαράδειγµα Μια εταιρεία σας εργοδοτεί για να γράψετε ένα νέο πρόγραµµα ταµειακής µηχανής το οποίο υπολογίζει µε ακρίβεια τα ρέστα τα οποία πρέπει να επιστρέψει ο ταµίας σε κάποιο πελάτη. Το πρόγραµµά σας πρέπειναυλοποιείτηνεξήςλειτουργία: 1. Ο ταµίας καταχωρεί στο πρόγραµµά σας το ποσό που οφείλει κάποιος πελάτης (bill) µαζί µε το ποσό (cash) που δίδει ο πελάτης για να αποπληρώσει τα προϊόντα τα οποία αγόρασε. 2. Η ταµειακή µηχανή υπολογίζει το ποσό που πρέπει να επιστραφεί στο χρήστη και το τυπώνει στην οθόνη. 3. Η ταµειακή µηχανή υπολογίζει επίσης τον αριθµό από κάθε είδους χαρτονόµισµα και κέρµα, που πρέπει να επιστραφεί στο χρήστη και τα τυπώνει στην οθόνη. Θέλετε να επιστρέψετε όσο το δυνατό λιγότερα κέρµατα και χαρτονοµίσµατα.

ΠαράδειγµαΕκτέλεσης Παράδειγµα Εκτέλεσης *************************** Cashier - Hello! *************************** Please enter the BILL (in cents): 1347 Please enter the client CASH (in cents): 1650 Please RETURN >> 303 cents Specifically please return: 0 x Twenty Pounds 0 x Ten Pounds 0 x Five Pounds 3 x One Pounds 0 x Fifty Cents 0 x Twenty Cents 0 x Ten Cents 0 x Five Cents 1 x Two Cents 1 x One Cents Thanks - Bye!

Ανάλυση Ποια είναι τα δεδοµένα εισόδου; Ποια είναι τα δεδοµένα εξόδου; Πώς συνδέονται τα δεδοµένα εισόδου µε τα δεδοµένα εξόδου;

Αλγόριθµος 1. Ποσόεπιστροφής (σεσεντς), ΠE = cash bill 2. Υπολόγισε πόσες φορές χωράει το 2000 στο ΠΕ (2000 cents 20 CYP) 3. To ποσό επιστροφής γίνεται το υπόλοιπο του βήµατος 2. 4. Επανέλαβεταβήµατα 2 και 3 για 1000, 500, 100, 50, 20, 10, 5, 2

Κοµµάτιυλοποίησης int main(){ /* declaration of variables */ int bill, cash, back; // Doing the calculation back = cash - bill; printf("please RETURN >> %d cents\n", back); printf("specifically please return:\n"); printf("%d x Twenty Pounds\n", back/2000); back = back % 2000; } printf("%d x Ten Pounds \n", back/1000); back = back % 1000;.

Τέλος 4 ου Κεφαλαίου