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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

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

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

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

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

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

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

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

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

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

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

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

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος

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

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

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

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

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

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

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος

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

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

Εισαγωγή στον Προγραμματισμό (με. τη C)

Ορισμός μεταβλητών δεικτών και αρχικοποίηση

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

Ηβασικήσυνάρτηση προγράμματος main()

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

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 2)

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 6 Ο. Συναρτήσεις Τοπικές, καθολικές, στατικές μεταβλητές Μεταβλητές τύπου extern και register Αναδρομή

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

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

Συναρτήσεις. Υποπρόγραμμα

Η βασική συνάρτηση προγράμματος main()

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

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

Σημειωματάριο Δευτέρας 30 Οκτ. 2017

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

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

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

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος

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

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

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 4

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Διαδικασίες και συναρτήσεις. 22 Νοε 2008 Ανάπτυξη εφαρμογών/ Υποπρογράμματα 1

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

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

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

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

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

Κλάσεις και Αντικείµενα

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

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

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

Pascal. 15 Νοεμβρίου 2011

Ενδεικτικές λύσεις και στατιστικά

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

Τεχνικός Εφαρμογών Πληροφορικής

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

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

ΣΥΝΑΡΤΗΣΕΙΣ Παραδείγματα χρήσης συναρτήσεων

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

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

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

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

7. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΣΥΝΑΡΤΗΣΕΙΣ

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

Οντοκεντρικός Προγραμματισμός

Κεφάλαιο 7: Υποπρογράμματα. Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

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

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

ΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΛΟΓΙΣΜΙΚΟΥ

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

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

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

Χρησιμοποιώντας συναρτήσεις

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 3-4: Προγραμματισμός MIPS. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Κεφάλαιο 7: Υπορουτίνες

Transcript:

Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου

Συναρτήσεις (Functions) Οι βασικές λειτουργικές ενότητες ενός προγράμματος C Καλούνται με ορίσματα που αντιστοιχούνται σε ειδικές τοπικές μεταβλητές, τις τυπικές παραμέτρους, εκτελούν τον κώδικά τους και επιστρέφουν στο σημείο κλήσης τους Έχουν άμεσα ή έμμεσα αποτελέσματα Μπορούν να καλούνται αναδρομικά

Συναρτήσεις της C Τα Βασικά Δήλωση συνάρτησης Παράμετροι και αποτέλεσμα Κλήση συνάρτησης

Δήλωση (Ορισμός) Συνάρτησης Ο τύπος και το όνομα της συνάρτησης Ο τύπος είναι ο τύπος αποτελέσματος Οι παράμετροι της συνάρτησης Το σώμα της συνάρτησης Στην ουσία μία σύνθετη εντολή

Τύπος Συνάρτησης Αν η συνάρτηση δεν επιστρέφει κάποια τιμή, ο τύπος της είναι void Διαφορετικά είναι ο τύπος του αποτελέσματος που επιστρέφεται άμεσα από τη συνάρτηση Άμεση επιστροφή με εντολή return Δεν επιτρέπεται επιστροφή πίνακα (αλλά επιτρέπεται επιστροφή δείκτη)

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

Παραδείγματα int fu1(int x, int y) { } return x*y; void fu2(int n, int *a, int *b, int *c) { } int i; for (i = 0; i < n; i++) c[i] = fu1(a[i],b[i]); void done(void) { } printf( Done!\n ); επικεφαλίδα συνάρτησης σώμα συνάρτησης

Τοπικές Μεταβλητές Οι μεταβλητές που δηλώνονται μέσα στο σώμα της συνάρτησης Τοπικές σημαίνει ότι δεν μπορούν να τις δουν άλλες συναρτήσεις Πιθανή αρχικοποίησή τους μετατρέπεται σε ανάθεση

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

Εμβέλειες Φωλιασμένες δηλώσεις μεταβλητών σε σύνθετες εντολές Ένα όνομα επισκιάζει το ίδιο όνομα από εξωτερική εμβέλεια Στο τέλος της σύνθετης εντολής επανερχόμαστε στα ονόματα της προηγούμενης εμβέλειας Όμοια για τις τοπικές σε σχέση με τις καθολικές μεταβλητές

Κλήση Συνάρτησης Μια συνάρτηση καλείται με το όνομά της και σε παρένθεση εκφράσεις ορίσματα που αντιστοιχούνται στις παραμέτρους με την ίδια σειρά Ο έλεγχος μεταβαίνει στο σώμα της συνάρτησης και το εκτελεί χρησιμοποιώντας τις τιμές των εκφράσεων ως αρχικές τιμές των παραμέτρων Με το τέλος της συνάρτησης, ο έλεγχος επιστρέφει στο σημείο που ακολουθεί το σημείο κλήσης

Πέρασμα Παραμέτρων Η χρήση των τιμών των ορισμάτων για τις παραμέτρους υπονοεί «πέρασμα κατ αξία» «Πέρασμα κατ αναφορά» υλοποιείται μέσω δεικτών Ο δείκτης ως μεταβλητή έχει τιμή μια διεύθυνση Αν γράψουμε εκεί που δείχνει ο δείκτης, στην ουσία γράφουμε στο στοιχείο της καλούσας συνάρτησης Οι πίνακες περνάνε πάντα ως δείκτες, άρα κατ αναφορά

Επιστροφή Αποτελέσματος Με την εντολή return το άμεσο αποτέλεσμα της συνάρτησης επιστρέφει στο καλούν περιβάλλον Αυτό σημαίνει ότι η κλήση γίνεται μέσα σε έκφραση Εντολή return μπορεί να υπάρχει οπουδήποτε στο σώμα της συνάρτησης Και για συναρτήσεις χωρίς άμεσο αποτέλεσμα! Έμμεσα αποτελέσματα λαμβάνονται με το πέρασμα κατ αναφορά ή με καθολικές μεταβλητές

Παράδειγμα int main() { int x[100], y[100], z[100]; fu2 (100, x, y, z); done (); } void done(void) { printf( Done!\n ); } void fu2 (int n, int *a, int *b, int *c) { for fu1(a[i],b[i]); } a[0],b[0] a[1],b[1] int κοκ fu1(int x, int y) { return x*y; }

Τι Μάθαμε Σήμερα Συναρτήσεις της C Παράμετροι και πέρασμά τους Τοπικές/Καθολικές μεταβλητές Εμβέλεια