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

Σχετικά έγγραφα
Εισαγωγή στην πληροφορική

Προγραµµατιστικές Τεχνικές

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

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

Προγραμματιστικές Τεχνικές

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

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

Προγραμματιστικές τεχνικές

Προγραμματιστικές τεχνικές

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

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

Προγραµµατιστικές Τεχνικές

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

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

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

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

Προγραμματιστικές Τεχνικές

Προγραµµατιστικές τεχνικές

Προγραμματιστικές Τεχνικές

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι είναι ; Συναρτήσεις. Παράδειγμα #1. double convert ( double cm ) { double inch;

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

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

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 2 η

Προγραμματιστικές τεχνικές

ΘΕΜΑΤΑ + ΥΠΟ ΕΙΓΜΑΤΙΚΗ ΕΠΙΛΥΣΗ

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

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8

Συναρτήσεις και διαδικασίες

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

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

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

Προγραµµατιστικές Τεχνικές

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

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

Προγραµµατιστικές τεχνικές

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

Παραδείγματα με συναρτήσεις στη C

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

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

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

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

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

Κεφάλαιο 10ο. ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ιαδικασίες - Συναρτήσεις

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

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

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

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

Προγραμματισμός Η/Y. Διάλεξη 6 η : Συναρτήσεις

Κεφάλαιο 10 ο Υποπρογράµµατα

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

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

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

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

Προγραμματιστικές Τεχνικές

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

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

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

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

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

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

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

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

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

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

Χωρική Βάση δεδοµένων Autocad

Πληροφορική 2. Γλώσσες Προγραμματισμού

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

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

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

Κεφάλαιο 7 Βασικά Θέματα Προγραμματισμού. Εφαρμογές Πληροφορικής Κεφ. 7 Καραμαούνας Πολύκαρπος 1

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

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

Επικοινωνία:

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

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

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

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

α. Οι συμβολοσειρές είναι μια ακολουθία από χαρακτήρες. Μια συμβολοσειρά μπορεί να αποτελείται από περισσότερες από μία λέξεις.

Συναρτήσεις και Πίνακες

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

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

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

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι χρειάζεται η εντολή if ; Εντολή if. Παράδειγμα #1. Παράδειγμα #1

Συναρτήσεις (Functions) Εισαγωγή στη C++

Αναφορές, είκτες και Αλφαριθμητικά

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

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

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

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

Προγραµµατιστικές τεχνικές

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος

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

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Κάθε υποπρόγραμμα έχει μόνο μία είσοδο και μία έξοδο. Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα.

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

ΣΥΝΑΡΤΗΣΕΙΣ (Functions)

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Εντολές επανάληψης Εντολές επανάληψης while for do-while ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Παράδειγμα #1 Εντολή while

Transcript:

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Η γλώσσα προγραμματισμού C++ Συναρτήσεις, δομή προγράμματος Εισαγωγή στις συναρτήσεις Δομή προγράμματος Εντολές -> συναρτήσεις -> προγράμματα Μια υποχρεωτική συνάρτηση που ονομάζεται main() Οσες συναρτήσεις απαιτούνται, σύμφωνα με τις ανάγκες του προβλήματός μας Το main() καλεί άλλες συναρτήσεις Συγγραφή προγράμματος Πρώτα οι συναρτήσεις και τέλος το κύριο πρόγραμμα (main()) Παραδείγματα ορισμού συναρτήσεων Είσοδος, επεξεργασία, έξοδος Συχνή χρήση κάποιων υπολογισμών Δημιουργία της δικής μας "βιβλιοθήκης" ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ main() d readabc() d=findmax() printmax() main() d a,b,c ΤΙΜΗ ΠΟΥ ΕΠΙΣΤΡΕΦΕΙ Η ΣΥΝΑΡΤΗΣΗ d readabc() d=findmax(a,b,c) printmax(d) 1

Παράδειγμα Δημιουργία συναρτήσεων Πότε δημιουργούμε συναρτήσεις Οταν "χρησιμοποιούμε τις ίδιες εντολές πολλές φορές" στο ίδιο πρόγραμμα Για να απομονώσουμε αυτοτελή τμήματα κώδικα τα οποία θα χρησιμοποιήσουμε και άλλες φορές σε οποιοδήποτε πρόγραμμα Για να κάνουμε το πρόγραμμά μας ευανάγνωστο και κατανοητό Για να εφαρμόσουμε τις αρχές της δομημένηςανάλυσηςκαισχεδίασης Γιατί χρησιμοποιούμε συναρτήσεις Διότι τα προγράμματα δεν είναι πάντα μικρά και απλά Ενα "μεγάλο" πρόγραμμα είναι πιο δύσκολο Να το γράψουμε Να το διορθώσουμε Να το συντηρήσουμε Να το χρησιμοποιήσουμε ξανά Η δυσκολία αυτή μεγαλώνει μαζί με τη σημασία των προγραμμάτων που κατασκευάζουμε 2

Συναρτήσεις Δήλωση συναρτήσεων στη C++ [τύπος]] [όνομα[ όνομα](τύπος1 παράμετρος1, τύπος2 παράμετρος2,,...) <εντολές> [τύπος] ένας από τους τύπους δεδομένων της C++ ή void [όνομα] οποιοδήποτε νόμιμο όνομα της C++ (μη( δεσμευμένη λέξη) [παράμετρος]... τυπικές παράμετροι που περνάνε μέσα στη συνάρτηση Οι συναρτήσεις Επιστρέφουν κάποια τιμή, εκτός αν είναι τύπου void Δέχονταικάποιεςπαραμέτρουςτιςοποίεςαναγνωρίζουνωςμεταβλητές μνήμης μέσα στο σώμα τους Συναρτήσεις Οι παράμετροι μιας συνάρτησης χρησιμοποιούνται από τη συνάρτηση με τα ονόματα που αποκτούν μέσα στην παρένθεση του ορισμού της συνάρτησης int maximum(int a, int b) if (a>b) return a; else return b; int main() int k,l,m; cin>>k; cin>>l; m=maximum(k,l); cout<<m; 3

Συναρτήσεις και παράμετροι #include <iostream> int maximum(int a, int b) if (a>b) return a; else return b; int main() int k,l,m,q,p,r; cin>>k; cin>>l; m=maximum(k,l); cout<<"the max of "<<k<<" and "<<l<<" is "<<m<<"\n"; cin>>q; cin>>p; r=maximum(q,p); cout<<"the max of "<<q<<" and "<<p<<" is "<<r<<"\n"; Συναρτήσεις και παράμετροι int factorial(int x) if (x==0) return 1; else return x*factorial(x-1); int permutations(int x, int y) return factorial(x)/factorial(x-y); int combinations(int x, int y) return factorial(x)/((factorial(y)*factorial(x-y)); int main() int a=5,b=3,c,d=52,e=5,f; cout<<combinations(a,b)<<"\n"; cout<<combinations(d,e)<<"\n"; 4

Παράδειγμα ορισμού συναρτήσεων Αλγόριθμος Διάβασε τις καρτεσιανές συντεταγμένες τριών σημείων στο επίπεδο Υπολόγισε τα μήκη των 3 ευθυγράμμων τμημάτων Υπολόγισε την περίμετρο του τριγώνου που ορίζουν Πρόγραμμα Δήλωση μεταβλητών x1, y1, x2, y2, x3, y3 (συντεταγμένες) Δήλωση μεταβλητών m1, m2, m3, per (μήκη, περίμετρος) Ανάγνωση μεταβλητών x1, y1, x2, y2, x3, y3 Υπολογισμός μήκους m1 Υπολογισμός μήκους m2 Υπολογισμός μήκους m3 Υπολογισμός περιμέτρου Εκτύπωση τιμής περιμέτρου στην οθόνη Παράδειγμα ορισμού συναρτήσεων (εκδοχή 1) #include <iostream> <cmath> int main() float x1,x2,x3,y1,y2,y3,m1,m2,m3,per; cout<<"enter x1:"; cin>>x1; cout<<"enter y1:"; cin>>y1; cout<<"enter x2:"; cin>>x2; cout<<"enter y2:"; cin>>y2; cout<<"enter x3:"; cin>>x3; cout<<"enter y3:"; cin>>y3; m1=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); m2=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y2)); m3=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3)); per=m1+m2+m3; cout<<"perimeter="<<per; 5

Παράδειγμα ορισμού συναρτήσεων (εκδοχή 1β) #include <iostream> <cmath> int main() float x1,x2,x3,y1,y2,y3,m1,m2,m3,per; cout<<"enter x1:"; cin>>x1; cout<<"enter y1:"; cin>>y1; cout<<"enter x2:"; cin>>x2; cout<<"enter y2:"; cin>>y2; cout<<"enter x3:"; cin>>x3; cout<<"enter y3:"; cin>>y3; m1=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); m2=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3)); m3=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3)); per=m1+m2+m3; cout<<"perimeter="<<per; Παράδειγμα ορισμού συναρτήσεων (εκδοχή 2) #include <iostream> <cmath> float lengthab(float Xa, float Ya, float Xb, float Yb) float l; l=sqrt((xa-xb)*(xa-xb)+(ya-yb)*(ya-yb)); return l; int main() float x1,x2,x3,y1,y2,y3,m1,m2,m3,per; cout<<"enter x1:"; cin>>x1; cout<<"enter y1:"; cin>>y1; cout<<"enter x2:"; cin>>x2; cout<<"enter y2:"; cin>>y2; cout<<"enter x3:"; cin>>x3; cout<<"enter y3:"; cin>>y3; m1=lengthab(x1,y1,x2,y2); m2=lengthab(x1,y1,x3,y3); m3=lengthab(x2,y2,x3,y3); per=m1+m2+m3; cout<<"perimeter="<<per; 6