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

Σχετικά έγγραφα
Μεθόδων Επίλυσης Προβλημάτων

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο : Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα

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

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

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

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

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

Κεφάλαιο : Επαναλήψεις (for, do-while)

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

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

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

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο : Εισαγωγή στην C: (Διαλέξεις 3-4)

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

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 3.1, : Συναρτήσεις I. (Διάλεξη 11)

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

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

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

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

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

Διάλεξη 5η: Εντολές Επανάληψης

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

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

Κεφάλαιο : Εισαγωγή στην C. ( ιαλέξεις 3-4) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

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

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

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

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

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

Συναρτήσεις. Κατασκευαστικά Τεµάχια για τη ηµιουργία Αρθρωτών Προγραµµάτων

Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

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

Αρχές Προγραμματισμού

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

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

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

Προγραμματισμός Η/Υ. Ενότητα 3: Top Down Σχεδιασμός

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

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

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)

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

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

Επανάληψη για τις Τελικές εξετάσεις

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

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

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

Κεφάλαιο : Επαναλήψεις (o βρόγχος While) (Διάλεξη 9) Δομές Έλεγχου Προγράμματος

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

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

οµές Επιλογής Εντολές if και switch

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

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

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

Διαδικασία Ανάπτυξης Λογισμικού

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

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

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

12. Συναρτήσεις (Μέρος ΙI)

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

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

Transcript:

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

Πρόβλημα 1 Γράψετε τον ορισμό μίας συνάρτησης η οποία υπολογίζει το μέγιστο 2 ακεραίων αριθμών και χρησιμοποιείστε την για την εκτύπωση του μέγιστου 2 ακέραιων αριθμών που δίνονται από τον χρήστη. 13-2

Υλοποίηση της Συνάρτησης maximum Η συνάρτηση πρέπει να δέχεται 2 ακέραιους αριθμούς και να επιστρέφει το μέγιστο τους. int x int y maximum int max 13-3

Υλοποίηση της Συνάρτησης /* Function name: maximum * Inputs: Two integers x,y * Output: max(x,y) */ int maximum (int x, int y) int max=0; if (x>y) max=x; else max=y; return max; 13-4

Λύση Προβλήματος #include <stdio.h> int maximum (int x, int y); // Δήλωση (Πρώτυπο) συνάρτησης main( ) int num1, num2; int megisto; printf( Provide two integers\n ); scanf( %d%d, &num1, &num2); megisto= maximum(num1,num2); // Κλήση συνάρτησης printf ( The maximum of %d and %d is %d,num1,num2,megisto); int maximum (int x, int y) //Ορισμός συνάρτησης int max=0; if (x>y) max=x; else max=y; return max; x= num1; y=num2; int max=0; if (x>y) max=x; else max=y; return max; //maximum(num1,num2)=max // Οι μεταβλητές x,y,max σταματούν να υφίστανται. 13-5

Λύση Προβλήματος 13-6

Πρόβλημα 2 Γράψετε τον ορισμό 2 συναρτήσεων. Ημίαθα δέχεται 2 ακέραιους και θα υψώνει τον πρώτο στην δύναμη του δεύτερου και η δεύτερη θα υπολογίζει το μέγιστο δύο ακέραιων αριθμών. Χρησιμοποιείστε τις δύο συναρτήσεις για να υπολογίσετε το z = x y + max( x, y) για ζεύγη τιμών (x,y) όταν αυτά παίρνουν τιμές από το σύνολο 0,2,4,6. 13-7

Υλοποίηση της συνάρτησης power Η συνάρτηση πρέπει να δέχεται 2 ακέραιους αριθμούς x και y και να επιστρέφει το x^y. int x int y power int pow 13-8

/* Function name: power * Inputs: Two integers x,y * Output: x^y */ int power (int x, int y) int a; int pow=1; for (a=0; a<y; a++) pow =pow*x; return pow; Υλοποίηση της συνάρτησης power 13-9

Λύση Προβλήματος #include <stdio.h> // Function declaration int maximum(int x, int y); int power(int x, int y); main() int x=0,y=0,z=0; while ( x < 8 ) while (y < 8) z=maximum(x,y)+power(x,y); printf ( When x=%d and y=%d, z is equal to %d, x,y,z); y+=2; x+=2; 13-10

Λύση Προβλήματος /* Function name: maximum * Inputs: Two integers x,y * Output: max(x,y) */ int maximum (int x, int y) int max=0; if (x>y) max=x; else max=y; return max; /* Function name: power * Inputs: Two integers x,y * Output: x^y */ int power (int x, int y) int a; int pow=1; for (a=0; a<y; a++) pow =pow*x; return pow; 13-11

Επανάληψη 1. Οδηγίες στον προεπεξεργαστή Εντολή: include Σύνταξη: #include <αρχείο επικεφαλίδας> Λειτουργία: Επιτρέπει τη χρήση μιας ομάδας συναρτήσεων (βιβλιοθήκης) τα πρότυπα των οποίων βρίσκονται στο αρχείο επικεφαλίδας. Παράδειγμα: #include <stdio.h> Επιτρέπει ανάμεσα σε άλλα τη χρήση των συναρτήσεων printf, scanf Σημ: Να θυμάστε τις βιβλιοθήκες stdio.h, math.h, stdlib.h, time.h και χαρακτηριστικές εντολές που περιλαμβάνονται σε αυτές (Διάλεξη 12) Εντολή: define Σύνταξη: #define όνομα-σταθεράς τιμή Λειτουργία: Δηλώνει και αναθέτει τιμή σε μία σταθερα. Παράδειγμα: #define pi 3.14 13-12

2. Μεταβλητές Δήλωση μεταβλητών: Σύνταξη: τύπος λίστα-µεταβλητών ; Βασικοί τύποι μεταβλητών: int, char, double, float Ανάθεση τιμών σε μεταβλητές: Σύνταξη: μεταβλητή=τιμή; Παραδείγματα: int length; int width; or int length,width; length=5; width= 10; int length=5, width=10; 13-13

3. Ονοµασίες σε Προγράμματα Για σταθερές, μεταβλητές, συναρτήσεις, κτλ. Κανόνες Σύνταξης: 1. Αποτελούνται από γράµµατα, δεκαδικά ψηφία και underscores ( _ ). 2. εν µπορεί να αρχίζουν µε δεκαδικό ψηφίο. 3. σύμβολα όπως &, #, $ δεν επιτρέπονται. 4. το όνομα μιας μεταβλητής δεν μπορεί να περιέχει κενό 5. Δεσµευµένες λέξεις (θα εξηγηθούν αργότερα) δεν µπορούν να χρησιµοποιηθούν ως ονοµασίες για κάτι άλλο. 6. Ονοµασίες που ορίζονται σε κάποια από τις βασικές βιβλιοθήκες δεν πρέπει να ξαναορίζονται (πχ printf()) GOOD BAD RESERVED KMS_PER_MILE 1Letter double miles one new printf kms new-fn scanf 13-14

4. Εκφράσεις Σύνταξη: a τ b ή τ a τ είναι ο τελεστής (operator) a, b είναι τελεσταίοι (operands) τελεσταίοιμπορείναείναι Σταθερές (π.χ. KMS_PER_MILE * miles) Μεταβλητές (π.χ. c = a + b) κλήση συνάρτησης που επιστρέφει αριθμό (π.χ c = sum(a,b) + sum(b,a) ) έκφραση (χρήση παρενθέσεων) Παραδείγματα: int a=3, b=5, t; t=a+b; t=a<b; t=(a<=b) && (b==a); 13-15

5. Τελεστές Τελεστής Είδος Προτεραιότητα () ++ -- + -! (Μοναδιαίοι) * / % + - (Δυαδικοί) < > <= >=0 ==!= && = += -= *= /= %= Παρενθέσεις Αύξησης, Μείωσης Αριθμητικοί, Λογικός Αριθμητικοί Αριθμητικοί Σχεσιακοί Σχεσιακοί Λογικός Λογικός Ανάθεσης, Σύνθετοι Ψηλότερη Χαμηλότερη 13-16

5. Τελεστές 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 Μετατροπή τύπων δεδομένων: (a) Με τον τελεστή ανάθεσης: Π.χ int a, float x=5.3; a=x; To a είναι ίσο με 5. (b) Με casting: float x=5.3; printf( %d, (int) x); Θα τυπωθεί 5 13-17

6. Η εντολή printf Σύνταξη: printf(μορφή εξόδου, λίστα εκφράσεων); printf( The total count is %d\n, count); a) Δεδομένα εξόδου b) όρισμα c) ειδικός χαρακτήρας Ειδικοί χαρακτήρες: d) έκφραση (μεταβλητή) \n μετάφερε τον δρομέα στην επόμενη γραμμή \t μετάφερε τον δρομέα στην επόμενη δεξιά στήλη \ εκτύπωσε \\ εκτύπωσε \ 13-18

6. Η εντολή printf Όρισμα: %f double %f float %d integer %c character Όρισμα: Για εκτύπωση ακεραίου το %nd έχει την ακόλουθη σημασία: χρησιμοποίηση n θέσεων για την εκτύπωση του ακέραιου αριθμού. Εάν ο αριθμός έχει λιγότερα από n ψηφία, τοποθετούνται κενά στα αριστερά (δεξιά ευθυγράμμιση). Εάν ο αριθμός έχει περισσότερα ψηφία, εκτυπώνονται όλα. Για εκτύπωση double ή float το %n.mf έχει την ακόλουθη σημασία: χρησιμοποίηση τουλάχιστο n θέσεων για την εκτύπωση του αριθμού (συμπεριλαμβάνει την. και το,αν χεριάζετε) Τo m ψηφία είναι αριθμός των δεκαδικών ψηφίων. 13-19

7. Η εντολή scanf Σύνταξη: scanf(μορφή εισόδου, λίστα διευθύνσεων μεταβλητών); Παράδειγμα: int numbera, numberb; scanf( %d%d,&numbera, &numberb); ορίσματα Ορίσματα: %lf double %f float %d integer %c character διευθύνσεις μεταβλητών 13-20

Εντολές Επιλογής 8. Η εντολήif-else Σύνταξη: if (συνθήκη) εντολές; else εντολές; Εάν υπάρχει μόνο μία εντολή οι παρενθέσεις μπορούν να αποφεύγονται. 13-21

9. Η εντολή if-else if-else Σύνταξη: if (συνθήκη1) εντολές; else if (συνθήκη2) εντολές;.. else εντoλές; 13-22

10. H εντολή switch Σύνταξη: switch (έκφραση) case τιμή 1: εντολές; break; case τιμή 2: εντολές; break;.. case τιμή n: εντολές; break; default: εντολές; Ηέκφραση(καιοιτιμές) μπορεί να είναι μόνο τύπου char ή int. 13-23

11. Επαναλήψεις Η εντολή while Σύνταξη: while (έκφραση) εντολή; συνθ. while (έκφραση) εντολη1; εντολη2;... Παράδειγμα: int x = 0; while (x < 5) printf( %d\n,x); x++; false true Επόμενες εντολές 13-24

12. H εντολή for Σύνταξη: for(αρχικοποίηση; συνθήκη επανάληψης ; ενημέρωση) εντολή; for(αρχικοποίηση; συνθήκη επανάληψης; ενημέρωση) εντολη; εντολη; true.. εντολές Παράδειγμα: int x; for (x=0; x<5; x++) printf( %d\n,x); αρχικ. συνθ. ενημ. Επόμενες εντολές 13-25

13. H εντολή do while Σύνταξη: do εντολή; while(συνθήκη); body do εντολή; εντολή; while(συνθήκη); Παράδειγμα: do scanf( %d, &a); sum+=a; while (a!=0); false συνθ. true 13-26

14. Συναρτήσεις Σύνταξη: Ηδήλωση(πρώτυπο) μιας συνάρτησης τοποθετείτε πριν την συνάρτηση main() καιέχειτην ακόλουθη σύνταξη: Τύπος-εξόδου όνομα-συνάρτησης (λίστα-τύπων-παραμέτρων); Π.χ int sum(int, int); ή int sum(int x, int y); Ο ορισμός μιας συνάρτησης τοποθετείται συνήθως μετά τη συνάρτηση main() καιέχειτην ακόλουθη σύνταξη: Τύπος-εξόδου όνομα-συνάρτησης (λίστα-παραμέτρων) εντολές; Π.χ. int sum(int a,int b) int athrisma=a+b; return athrisma; Η συνάρτηση επιστρέφει την τιμή εξόδου με τη χρήση της εντολής return η οποίαέχειτην ακόλουθη σύνταξη: return έκφραση; H κλήση της συνάρτησης έχει την ακόλουθη σύνταξη: Όνομα συναρτησης(λίστα παραμέτρων); Π.χ sum(num1,num2); 13-27