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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εξοικ Εξ ε οικ ίωση ε με το το πρόγ ραμμα πρόγ DEV C++ Επικοι Επικ νωνία οι Χρήσ Χρήστη τη Υπολ Υπο ογισ λ τή

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

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

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

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

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

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

Κεφάλαιο Πίνακες Ι. (Διάλεξη 16)

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

Κεφάλαιο Πίνακες Ι. ( ιάλεξη 15) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

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

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

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

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

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

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

printf Οι κωδικοί (format codes) του printf για διάφορους τύπους δεδοµένων είναι:

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

Κεφάλαιο Αλφαριθµητικές Σειρές Χαρακτήρων (Strings)

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

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα

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

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

Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων. 14. Πίνακες Ι. Ιωάννης Κατάκης. ΕΠΛ 032: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων

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

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

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

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

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

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

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

Κεφάλαιο 8.7. Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

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

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

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

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

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

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

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

ΗΥ-150. Προγραµµατισµός. Πίνακες (Arrays)

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

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

Προγραμματισμός Η/Υ. Ενότητα 7: Συναρτήσεις

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

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

ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 2 Ο. Εισαγωγή στην C Εντολές εξόδου Εντολές εισόδου Μορφοποιητές ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

Ενότητα 5: «Εισαγωγή στον Προγραμματισμό. Απλές ασκήσεις με γλώσσα C»

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

1. ΕΙΣΑΓΩΓΗ ΣΤΗ ΓΛΩΣΣΑ C

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Transcript:

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

Κεφάλαιο 5 Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου

Θέµατα ιάλεξης Είσοδος / Έξοδος εδοµένων Ορίσµατα και Μεταβλητές Μορφοποίηση εδοµένων Εξόδου

Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράµµατα πρέπει να πάρουµε κάποια δεδοµένα και να δώσουµε αποτέλεσµα Συνάρτηση εισόδου αντιγράφει δεδοµένα από µονάδα εισόδου σε χώρο στη µνήµη, π.χ. scanf() Συνάρτηση εξόδου εκτυπώνει σε µονάδα εξόδουπληροφορίεςαποθηκευµένεςστηµνήµη, π.χ. printf() Η βιβλιοθήκη stdio περιέχει βασικές συναρτήσεις εισόδου/εξόδου

εδοµένα Εξόδου - Συνάρτηση printf() Σύνταξη: printf(µορφή εξόδου); printf(µορφή εξόδου, λίστα εκφράσεων); ορίσµατα (arguments) int count = 37; printf( The total count is %d\n, count); string (ακολουθία χαρακτήρων) όρισµα ειδικός χαρακτήρας έκφραση (µεταβλητή)

ΜορφήΕξόδου Σύνταξη: Ξεκινά µε και τελειώνει µε Περιλαµβάνει: strings (ακολουθίααπό χαρακτήρες), ορίσµατα, ειδικούςχαρακτήρες Σηµασία: τυπώνει ως έχουν τα strings ορίσµατα και ειδικοί χαρακτήρες...

Ειδικοί Χαρακτήρες (escape sequences) Σηµασία: \n µετάφερε το δροµέα στην επόµενη γραµµή \t µετάφερε το δροµέα στην επόµενη δεξιά στήλη \ εκτύπωσε \\ εκτύπωσε \ Παραδείγµατα printf ( hello world ); printf ( hello world\n ); printf ( hello world\nhello world\n ); printf ( hello world\ti m alive\n ); printf( hello world \ I m alive\ \n );

Ορίσµατα printf() Σύνταξη: %d %f %e %c %s Σηµασία: αντικατέστησε όρισµα µε τιµή έκφρασης από την λίστα εκφράσεων %d %f %e %c %s ακέραια τιµή (int) κινητή υποδιαστολή µονής/διπλής ακριβείας (float -double) εκθετική (επιστηµονική) µορφή (float-double) ένας χαρακτήρας (char) σειρά από χαρακτήρες (string) Προσοχή: ο αριθµός ορισµάτων πρέπει να είναιοίδιοςµετοµέγεθοςτηςλίστας εκφράσεων, και η σειρά και οι τύποι να ταιριάζουν.

ΠαραδείγµαταΟρισµάτων printf( to EPL032 exei %d foitites\n, 135); int n_students; n_students = 135; printf( to EPL032 exei %d foitites\n, n_students); float average; average = 8.2; printf( o mesos oros einai:\t %f\n, average);.. printf( \nsimeio = (%f, %f, %f) \n, x, y, z);

ΠαραδείγµαταΟρισµάτων (συν.) #include <stdio.h> int main() { printf ("Characters: %c %c \n", 'a', 65); printf ("Decimals: %d %d\n", 1977, 2000000000); printf ("floats: %f %.2f \n", 3.1416, 3.1416); return 0; } Στην οθόνη θα εκτυπωθούν τα εξής δεδοµένα Characters: a A Decimals: 1977 2000000000 floats: 3.141600 3.14

Έκφραση (Μεταβλητές) Παραδείγµατα Πράξεις κατευθείαν στην έκφραση int a = 1, b = 2, c=4; printf("%d, %d, %d, %d, %d", a, b, a+b, a/b, a*b+c-a); 1, 2, 3, 0, 5 Ρητή Μετατροπή int a = 1, b = 2; printf( %d, %d, %f, a, b, (float)a/b);=> 1, 2, 0.5 Προσοχή: Κατάλάθος int a = 1 αντί int a = 1; printf( %d, a); => εκτυπώνει ascii: 1 δηλαδή 49

Μορφοποίηση δεδοµένων εξόδου τύπου Ακεραίου Σύνταξη: %nd Σηµασία: χρησιµοποίηση n θέσεων για την εκτύπωση του ακέραιου αριθµού. Εάν ο αριθµός έχει λιγότερα από n ψηφία, τοποθετούνται κενά στα αριστερά (δεξιά ευθυγράµµιση). Εάν ο αριθµός έχει περισσότερα ψηφία, εκτυπώνονται όλα π.χ printf( \n%3d%3d\n\n%2d %3d, 1, 22, 33, -444); 1 2 2 3 3-4 4 4

Μορφοποίησηδεδοµένωνεξόδου τύπουκινητήςυποδιαστολής Σύνταξη: %n.mf Σηµασία: χρησιµοποίηση τουλάχιστο n θέσεων για την εκτύπωση του αριθµού (συµπεριλαµβάνειτην. καιτο,ανχρειάζεται) Τα m ψηφία να είναι δεκαδικά Εάν ο αριθµός έχει περισσότερα ψηφία, εκτυπώνονται όλα Σύνταξη: %.mf (m δεκαδικάψηφία) printf( %4.2f %9.6f %3.2f\n%.2f, 4.4, 22.1, -66.00, 3.236); 4 3.. 4 2 0 4 2 2. 1 0 0 0 0 0-6 6. 0 0

εδοµέναεισόδου -Συνάρτηση scanf() Σύνταξη: scanf(µορφή εισόδου, λίστα διευθύνσεων µεταβλητών); Προσοχήστηχρήσητου & int numbera, numberb; scanf( %d%d,&numbera, &numberb); ορίσµατα διευθύνσεις µεταβλητών

Μορφή Eισόδου Σύνταξη: ξεκινά µε και τελειώνει µε Περιλαµβάνει: ορίσµατα Σηµασία: τύπος ορισµάτων και σειρά τιµών που θα εισαχθούν τύποιανάλογοιµε printf() (π.χ. %d %f %lf %c κτλ) %d, %f και %lfδιαπερνούν white space (κενάδιαστήµατα, tabs, νέαγραµµή)

Ορίσµατα Σύνταξη: %d %c %f %lf %s Σηµασία: αντικατέστησε όρισµα µε τιµή από τη λίστα διευθύνσεων µεταβλητών %d διεύθυνση ακεραίας µεταβλητής (int) %f διεύθυνση κινητής υποδιαστολής µονής ακριβείας µεταβλητή (float) %lf διεύθυνση κινητής υποδιαστολής διπλής ακριβείας µεταβλητή (double) %c διεύθυνση µεταβλητής - χαρακτήρα (char) %s διεύθυνση µεταβλητής - άκολουθία από χαρακτήρες (string) Προσοχή: ο αριθµός ορισµάτων πρέπει να είναι ο ίδιος µε το µέγεθος της λίστας διευθύνσεων µεταβλητών και η σειρά και οι τύποι να ταιριάζουν

Τελεστήςδιεύθυνσηςκαι scanf() Σύνταξη: &<όνοµαµεταβλητής> Σηµασία: δίνει τη διεύθυνση της µεταβλητής π.χ. &numbera printf( Address of var is %d, &numbera); scanf(): αποθηκεύει τιµές στις µεταβλητές χρησιµοποιώντας τις διευθύνσεις τους.

Παράδειγµα printf() και scanf() int numbera, numberb; printf( Enter two integer numbers: ); scanf( %d%d,&numbera, &numberb); printf( The two numbers entered are %d %d\n\n, numbera, numberb);

Παράδειγµα 1 Γράψετε πρόγραµµα που υπολογίζει και τυπώνει την περίµετρο (2.π.R) και εµβαδό (π.r 2 )ενόςκύκλου. Τοµόνο δεδοµένο είναι η ακτίνα (R) του κύκλου σε µέτρα, η οποία πρέπει να δίδεται από το χρήστη.

Παράδειγµα 1 (συν.) /* program that computes the perimeter and area of a circle*/ #include <stdio.h> #define PI 3.14259 /*program constant*/ int main(){ float radius; /* variable for input data*/ float perimeter, area; /*variable for output data*/ /*GET INPUT DATA*/ printf("this program computes the area and perimeter of a circle\n"); printf("enter radius of a circle in meters: "); scanf("%f,&radius); /*COMPUTE PERIMETER AND AREA*/ perimeter = 2 * PI * radius; area = PI * radius * radius; } /*PRINT RESULTS*/ printf("a circle with radius %.2f m has perimeter %.2f m and area %.2f sq. m\n", radius, perimeter, area); return 0;

Παράδειγµα 2 Γράψετε πρόγραµµα που υπολογίζει τοάθροισµα, διαφορά, γινόµενο, πηλίκο και υπόλοιπο (mod) για δυο ακέραιους αριθµούς. Οι δυο αριθµοί πρέπει να διαβαστούν από το χρήστη.

#include <stdio.h> int main() { int numbera, numberb; /* inputs*/ int sum, difference, product, ratio, modulo; /*results*/ printf( Enter two integer numbers: ); scanf( %d%d, &numbera, &numberb); /*get data*/ } sum = numbera + numberb; /* compute results*/ difference = numbera - numberb; product = numbera * numberb; ratio = numbera / numberb; modulo = numbera % numberb; /* display output */ printf( The sum of %d and %d is %d\n,numbera, numberb,sum); printf( The difference of %d and %d is %d\n,numbera, numberb,difference); printf( The product of %d and %d is %d\n,numbera, numberb,product); printf( The ratio of %d and %d is %d\n,numbera, numberb,ratio); printf( The mod of %d and %d is %d\n,numbera, numberb,modulo); return 0;

#include <stdio.h> int main() { int numbera, numberb; printf( Enter two integer numbers: ); scanf( %d%d, &numbera, &numberb); /* inputs*/ /*get data*/ } /* compute & display results */ printf( The sum of %d and %d is %d\n,numbera, numberb, numbera + numberb); printf( The difference of %d and %d is %d\n,numbera, numberb, numbera - numberb); printf( The product of %d and %d is %d\n,numbera, numberb, numbera * numberb); printf( The ratio of %d and %d is %d\n,numbera, numberb, numbera / numberb); printf( The mod of %d and %d is %d\n,numbera, numberb, numbera % numberb); return 0;

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