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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 Διαδικαστικός Προγραμματισμός Ενότητα 4: Συναρτήσεις- Διαδικασίες Καθηγήτρια Μαρία Σατρατζέμη

2 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

3 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

4 Σκοποί ενότητας Να εκτιμήσετε τις συναρτήσεις ως εργαλείο απλοποίησης της δομής των προγραμμάτων. Να κατανοήσετε την έννοια της κλήσης μιας συνάρτησης και το λόγο για τον οποίο μεταβιβάζονται ορίσματα κατά την κλήση. Να κατανοήσετε τα πρωτότυπα των συναρτήσεων και πώς να τα γράφετε. Να είστε σε θέση να υλοποιείτε απλές συναρτήσεις. Να μπορείτε να χρησιμοποιείτε την εντολή return για τον καθορισμό του αποτελέσματος μιας συνάρτησης. Να κατανοήσετε την έννοια των κατηγορηματικών συναρτήσεων και πώς να τις χρησιμοποιείτε αποτελεσματικά. Να κατανοήσετε τη σχέση μεταξύ των τυπικών παραμέτρων μιας συνάρτησης και των ορισμάτων που μεταβιβάζονται κατά την κλήση της. Να καταλάβετε τη σημασία του όρου διαδικασία. 4

5 Χρήση συναρτήσεων βιβλιοθήκης (1) Μια συνάρτηση (function) αποτελείται από ένα σύνολο εντολών που έχουν ομαδοποιηθεί και τους έχει αποδοθεί ένα όνομα. Μια συνάρτηση, όπως για παράδειγμα η printf, αντιπροσωπεύει ένα σύνολο από βήματα που χρησιμεύουν για την εκτέλεση μιας λειτουργίας. Στη C το κυρίως πρόγραμμα είναι και αυτό μια συνάρτηση με το όνομα main. Η εννοιολογική διαφορά μεταξύ μιας συνάρτησης και ενός προγράμματος έγκειται κυρίως στο ποιος ή τι την/το χρησιμοποιεί: o τα προγράμματα καλούνται και εξυπηρετούν τις ανάγκες ενός εξωτερικού χρήστη o οι συναρτήσεις παρέχουν ένα μηχανισμό με τη βοήθεια του οποίου ένα πρόγραμμα μπορεί να καλέσει για λογαριασμό του ένα σύνολο λειτουργιών που έχουν οριστεί από πριν. 5

6 Χρήση συναρτήσεων βιβλιοθήκης (2) Η πράξη της εκτέλεσης του συνόλου των εντολών που σχετίζονται με μια συνάρτηση είναι γνωστή ως κλήση (calling) αυτής της συνάρτησης. Κατά την κλήση ορισμένων συναρτήσεων πρέπει να δώσουμε επιπλέον πληροφορίες, γνωστές ως ορίσματα (arguments). Όταν η συνάρτηση ολοκληρώσει το έργο της επιστρέφει στο βήμα του προγράμματος από το οποίο έγινε η κλήση της, επιστρέφοντας -ορισμένες φορέςμια τιμή (returning a value). 6

7 Ορίσματα Η κλήση μιας συνάρτησης επιτυγχάνετε γράφοντας το όνομα της συνάρτησης ακολουθούμενο από μια λίστα παραστάσεων μέσα σε παρενθέσεις. Οι παραπάνω παραστάσεις ονομάζονται ορίσματα (arguments) και επιτρέπουν στο καλούν πρόγραμμα να μεταβιβάζει πληροφορίες στη συνάρτηση. Αν μια συνάρτηση δεν απαιτεί πληροφορίες από αυτόν που την καλεί, δεν χρειάζεται να έχει κανένα όρισμα, αλλά το κενό ζεύγος παρενθέσεων είναι απαραίτητο. Για παράδειγμα, η κλήση της συνάρτησης sqrt (της βιβλιοθήκης math) που επιστρέφει την τετραγωνική ρίζα του ορίσματος της θα έχει τη μορφή: root3 = sqrt(3.0) distance = sqrt(x*x + y*y) Αντίθετα, η κλήση της GetInteger που δεν έχει ορίσματα θα έχει τη μορφή: GetInteger(). 7

8 Επιστρεφόμενες τιμές Η συνάρτηση παίρνει τα δεδομένα που της έχουν παρασχεθεί ως ορίσματα, κάνει τη δουλειά της, και μετά επιστρέφει στο βήμα του προγράμματος από το οποίο έγινε η κλήση της. Η παραπάνω διεργασία είναι γνωστή ως επιστροφή (returning) από τη συνάρτηση. Κατά την επιστροφή τους οι συναρτήσεις μπορούν να στέλνουν αποτελέσματα πίσω στο καλούν πρόγραμμα, λειτουργία γνωστή ως επιστροφή τιμής (returning a value). Η συνάρτηση GetInteger(), για παράδειγμα, αφού επιτελέσει το έργο της ανάγνωσης ενός ακεραίου από τον χρήστη, μεταβιβάζει αυτόν τον ακέραιο πίσω στο καλούν πρόγραμμα ως τιμή της κλήσης της GetInteger(). 8

9 Οι έννοιες της εισόδου/εξόδου Επειδή τα ορίσματα παρέχουν κατά μία έννοια είσοδο στις συναρτήσεις και οι τιμές επιστροφής παρέχουν έξοδο πίσω σε αυτές που τις καλούν, συχνά (τα ορίσματα και οι επιστρεφόμενες τιμές) συγχέονται με τις έννοιες της εισόδου και της εξόδου στα πλαίσια ενός προγράμματος. Παρά την εννοιολογική ομοιότητα, είναι εξαιρετικά σημαντικό να διακρίνετε τη λειτουργία της εισόδου (π.χ. την GetInteger) και της χρήσης ορισμάτων στα πλαίσια μιας συνάρτησης. Είναι σημαντικό να κατανοήσετε ότι: Η είσοδος και η έξοδος επιτρέπουν την επικοινωνία ανάμεσα σε ένα πρόγραμμα και τον χρήστη του, ενώ τα ορίσματα και τα αποτελέσματα επιτρέπουν την επικοινωνία ανάμεσα σε μια συνάρτηση και το καλούν πρόγραμμα. 9

10 Δήλωση συναρτήσεων Στην ANSI C, όλες οι συναρτήσεις όπως και οι μεταβλητές- πρέπει να έχουν δηλωθεί για να μπορούν να χρησιμοποιηθούν. Μια δήλωση συνάρτησης στη C ονομάζεται πρωτότυπο συνάρτησης (function protoype) και έχει την ακόλουθη μορφή: επιστρεφόμενος_τύπος όνομα(προσδιοριστικά_ορισμάτων); όπου: επιστρεφόμενος_τύπος είναι ο τύπος της τιμής που επιστρέφει η συνάρτηση όνομα είναι το όνομα της συνάρτησης προσδιοριστικά_ορισμάτων είναι μια λίστα, με κόμματα ως διαχωριστικά, των μεμονωμένων προδιαγραφών των τύπων των ορισμάτων. Κάθε προδιαγραφή ορίσματος αποτελείται από έναν τύπο ο οποίος ακολουθείται προαιρετικά από ένα περιγραφικό όνομα μεταβλητής Στο πρωτότυπο καθορίζονται μόνο οι τύποι των τιμών οι οποίες μεταβιβάζονται από και προς τον καλούντα και την ίδια τη συνάρτηση, και δεν παρέχεται καμία πληροφορία για τις εντολές που απαρτίζουν τη συνάρτηση και το τι κάνει αυτή. 10

11 Συγγραφή συναρτήσεων Η προσθήκη μιας νέας συνάρτησης σε ένα πρόγραμμα C αποτελείται από δύο χωριστά βήματα: Χρειάζεται να ορίσετε το πρωτότυπο της συνάρτησης, κάτι που συνήθως γίνεται κοντά στην αρχή του προγράμματος, μετά τις γραμμές #include. Σε κάποιο μεταγενέστερο σημείο του προγράμματος θα πρέπει να συμπεριλάβετε την υλοποίηση αυτής της συνάρτησης, στην οποία θα ορίζετε τα πραγματικά βήματα που πρέπει να εκτελεστούν. Η υλοποίηση μιας συνάρτησης: γίνεται με βάση το πρωτότυπο της αφαιρώντας το ελληνικό ερωτηματικό μετά τη λίστα ορισμάτων και προσθέτοντας το σώμα της συνάρτησης το σώμα της συνάρτησης (function body), όπως και κάθε άλλο μπλοκ κώδικα, αποτελείται από εντολές που περικλείονται σε άγκιστρα. Στο σώμα της συνάρτησης μπορούμε να έχουμε δηλώσεις μεταβλητών, απλές εντολές, εντολές υπό συνθήκη/επανάληψης, κλήσεις άλλων συναρτήσεων και επιπλέον μια εντολή return 11

12 Η εντολή return Αν μια συνάρτηση επιστρέφει κάποιο αποτέλεσμα τότε οι εντολές που περιλαμβάνονται στο σώμα της πρέπει να περιέχουν τουλάχιστον μία εντολή return, η οποία να καθορίζει την τιμή που πρόκειται να επιστραφεί: return (παράσταση); όπου: παράσταση είναι η τιμή που πρόκειται να επιστραφεί Αν η συνάρτηση δεν έχει αποτέλεσμα η σύνταξη είναι: return; Η εντολή return έχει διπλό ρόλο: δηλώνει ότι η εκτέλεση της συνάρτησης έχει ολοκληρωθεί, οπότε ο έλεγχος του προγράμματος επιστρέφει σε εκείνο το σημείο όπου έγινε η κλήση της επιστρέφει την τιμή που προκύπτει από την αποτίμηση της παράστασης. 12

13 Συνδυασμός συναρτήσεων με κύρια Πρόβλημα: να γράψετε ένα πρόγραμμα που να δημιουργεί και εμφανίζει έναν πίνακα μετατροπής θερμοκρασιών από την κλίμακα Κελσίου (C) [0, 100] στην κλίμακα Φαρενάιτ (F) βάσει του τύπου: #include <stdio.h> #include "genlib.h" προγράμματα F /* * ΣΤΑΘΕΡΕΣ * LowerLimit - αρχική τιμή του πίνακα θερμοκρασιών * UpperLimit - τελική τιμή του πίνακα θερμοκρασιών * StepSize -- μέγεθος βήματος μεταξύ των καταχωρήσεων του πίνακα */ #define LowerLimit 0 #define UpperLimit 100 #define StepSize 5 9 C 5 32 /* Πρωτότυπα συναρτήσεων */ double CelsiusToFahrenheit(double c); πρωτότυπο συνάρτησης 13

14 Συνδυασμός συναρτήσεων με κύρια /* Κυρίως Πρόγραμμα */ main() int c; προγράμματα printf("celsius to Fahrenheit table.\n"); printf(" C F\n"); for (c = LowerLimit; c <= UpperLimit; c += StepSize) printf("%3d %3g\n", c, CelsiusToFahrenheit(c)); /* * Συνάρτηση: CelsiusToFahrenheit * Χρήση: f = CelsiusToFahrenheit(c); * * Επιστρέφει την ισοδύναμη θερμοκρασία σε βαθμούς Φαρενάιτ * της εκφρασμένης σε βαθμούς Κελσίου θερμοκρασίας c. */ double CelsiusToFahrenheit(double c) return (9.0 / 5.0 * c + 32); Κλήση συνάρτησης Υλοποίηση (συγγραφή) συνάρτησης 14

15 Συναρτήσεις με εσωτερικές δομές ελέγχου (1) Έστω ότι έπρεπε να υλοποιήσουμε τη συνάρτηση abs που ορίζεται στην πρότυπη βιβλιοθήκη ANSI stdlib και επιστρέφει την απόλυτη τιμή του ορίσματος της. Λαμβάνοντας υπόψη ότι η συνάρτηση έχει το εξής πρωτότυπο int abs(int n); θα μπορούσαμε να την υλοποιήσουμε ως εξής: int abs(int n) if (n < 0) return (-n); else return (n); Παρομοίως, θα μπορούσαμε να ορίσουμε μια συνάρτηση MinF που να επιστρέφει το μικρότερο από 2 ορίσματα κινητής υποδιαστολής που της μεταβιβάζονται: double MinF(double x, double y) if (x < y) return (x); else return (y); 15

16 Συναρτήσεις με εσωτερικές δομές ελέγχου (2) Τέλος, θα μπορούσαμε να γράψουμε μια συνάρτηση με όνομα Factorial που να δέχεται έναν ακέραιο n και να επιστρέφει το παραγοντικό του (το γινόμενο μεταξύ του 1 και του n): Factoriali(0) = 1 (εξ ορισμού) Factoriali(1) = 1 = 1 Factoriali(2) = 2 = 1 x 2 Factoriali(6) = 720 = 1 x 2 x 3 x 4 x 5 x 6 int Factorial(int n) int product, i; product = 1; for (i = 1; i <= n; i++) product *= i; return (product); 16

17 Συναρτήσεις που επιστρέφουν αλφαριθμητικά (1) Αν και έχουν παρουσιαστεί μόνο αριθμητικές συναρτήσεις, οι συναρτήσεις της C μπορούν να επιστρέφουν τιμές οποιουδήποτε τύπου δεδομένων, όπως για παράδειγμα αλφαριθμητικά: Πρόβλημα: να γράψετε μια συνάρτηση η οποία να μετατρέπει τον αριθμό του μήνα (από 1 έως 12) στο αλφαριθμητικό του αντίστοιχου ονόματος του μήνα (από τον Ιανουάριο έως το Δεκέμβριο), προκειμένου να χρησιμοποιηθεί σε ένα πρόγραμμα που επεξεργάζεται ημερομηνίες. string όνομα(προσδιοριστικά_ορισμάτων); string MonthName(int month) switch (month) case 1: return ("January"); case 2: return ("February"); case 3: return ("March"); case 4: return ("April"); case 5: return ("May"); case 6: return ("June"); case 7: return ("July"); case 8: return ("August"); case 9: return ("September"); case 10: return ("October"); case 11: return ("November"); case 12: return ("December"); default: return ("Illegal month"); 17

18 Συναρτήσεις που επιστρέφουν αλφαριθμητικά (2) Στη συνέχεια, μπορούμε να χρησιμοποιήσουμε τη συνάρτηση MonthName, καλώντας την από κάποιο άλλο σημείο του προγράμματος και χρησιμοποιώντας για παράδειγμα- την printf για να εμφανίσουμε το αποτέλεσμα. Για παράδειγμα, οι παρακάτω εντολές int month, day, year; month = 7; day = 20; year = 1969; printf( %s %d, %d\n, MonthName(month), day, year); θα έχουν ως αποτέλεσμα July 20, 1969 Προσοχή!! Στην εντολή switch της συνάρτησης MonthName, οι εντολές return σε κάθε όρο case προκαλούν την αυτόματη έξοδο από ολόκληρη τη συνάρτηση και κάνουν περιττή τη χρήση μιας ρητής εντολής break. Σε κάθε περίπτωση, κάθε όρος case πρέπει να τελειώνει είτε με μια εντολή break είτε με μια return. 18

19 Κατηγορηματικές συναρτήσεις (1) Κατηγορηματικές συναρτήσεις (predicate functions) ονομάζονται οι συναρτήσεις που επιστρέφουν τιμές τύπου bool. Θυμηθείτε ότι ο τύπος bool, όπως και ο τύπος string, δεν έχει οριστεί στις πρότυπες βιβλιοθήκες της ANSI C και συνεπώς για να χρησιμοποιηθεί θα πρέπει να έχει συμπεριληφθεί στο πρόγραμμα η βιβλιοθήκη genlib στην οποία ορίζονται οι παραπάνω τύποι. Εφόσον υπάρχουν μόνο δύο τιμές τύπου bool οι TRUE και FALSE μια κατηγορηματική συνάρτηση ανεξάρτητα από το πόσα ορίσματα δέχεται ή πόσο περίπλοκη είναι η εσωτερική της διεργασία πρέπει τελικά να επιστρέψει μία από τις δύο προαναφερθείσες τιμές. bool όνομα(προσδιοριστικά_ορισμάτων); 19

20 Κατηγορηματικές συναρτήσεις (2) Έστω, για παράδειγμα, ότι σας ζητήθηκε να γράψετε μια συνάρτηση, η οποία, όταν της μεταβιβαστεί ένας ακέραιος n, απαντά στην ερώτηση «αν ο n είναι άρτιος»: Επειδή η IsEven επιστρέφει ένα λογικό αποτέλεσμα, μπορεί να χρησιμοποιηθεί απευθείας σε οποιαδήποτε συνθήκη. bool IsEven(int n) return (n % 2 == 0); Στο διπλανό παράδειγμα η IsEven χρησιμοποιείται σε ένα πρόγραμμα για την εμφάνιση όλων των άρτιων ακεραίων μεταξύ του 1 και του 10: main() int i; for (i = 1; i <= 10; i++) if (IsEven(i)) printf(%2d\n, i); Θυμηθείτε ότι είναι περιττό στην υλοποίηση της IsEven να προσθέσουμε μια if, ή να κάνουμε περιττές συγκρίσεις με την τιμή TRUE: if (IsEven(i) == TRUE) - -- το == TRUE είναι περιττό 20

21 Κατηγορηματικές συναρτήσεις (3) Στη συνέχεια, παρουσιάζεται ένα ακόμα παράδειγμα κατηγορηματικής συνάρτησης που ελέγχει αν ένα έτος είναι δίσεκτο ή όχι και επιστρέφει την τιμή TRUE ή FALSE αντίστοιχα: bool IsleapYear(int year) return ( ((year % 4 == 0) && (year % 100!=0)) (year % 400 == 0) ); Έχοντας υλοποιήσει τη συνάρτηση μπορούμε να τη χρησιμοποιήσουμε σε οποιαδήποτε συνθήκη: if (IsLeapYear(year))... 21

22 Η συνάρτηση StringEqual (1) Η συνάρτηση StringEqual: ορίζεται στη βιβλιοθήκη strlib όπως φαίνεται και από το πρωτότυπο της bool StringEqual(string s1, string s2); πρόκειται για μια κατηγορηματική συνάρτηση που δέχεται ως ορίσματα δύο αλφαριθμητικά ελέγχει χαρακτήρα προς χαρακτήρα τα δύο ορίσματα και - επιστρέφει την τιμή TRUE αν τα 2 αλφαριθμητικά είναι ακριβώς ίδια - επιστρέφει την τιμή FALSE αν υπάρχει οποιαδήποτε διαφορά: StringEqual( abc, abc ) StringEqual( abc, def ) StringEqual( abc, abcd ) StringEqual( abc, abc ) επιστρέφει TRUE επιστρέφει FALSE επιστρέφει FALSE επιστρέφει FALSE 22

23 Η συνάρτηση StringEqual (2) Η συνάρτηση StringEqual μπορεί να χρησιμοποιηθεί, για παράδειγμα, κάθε φορά που θέλετε να θέσετε στον χρήστη μια ερώτηση και έπειτα να ενεργήσετε ανάλογα με την απάντηση του. Υποθέστε ότι έχετε γράψει ένα πρόγραμμα-παιχνίδι και θέλετε να δώσετε στο χρήστη τη δυνατότητα να ξαναπαίξει το παιχνίδι όταν τελειώσει μια παρτίδα. Μπορείτε πολύ απλά 1. να κάνετε μια ερώτηση εμφανίζοντας ένα προτρεπτικό μήνυμα 2. να πάρετε την απάντηση καλώντας τη συνάρτηση GetLine 3. να ελέγξετε την απάντηση χρησιμοποιώντας την StringEqual main() string answer; while(true) PlayOneGame(); printf( Would you like to play again? ); 2 answer = GetLine(); if (StringEqual(answer, no )) break;

24 Ένα πρόγραμμα υπολογισμού πίνακα #include <stdio.h> #include "genlib.h" παραγοντικών #define LowerLimit 0 /* σταθερά αρχική τιμή πίνακα παραγοντικών */ #define UpperLimit 7 /* σταθερά αρχική τιμή πίνακα παραγοντικών */ int Factorial(int n); /* πρωτότυπο συνάρτησης */ main() /* κυρίως πρόγραμμα */ int i; for (i = LowerLimit; i <= UpperLimit; i++) printf("%d! = %5d\n", i, Factorial(i)); int Factorial(int n) /* ορισμός συνάρτησης */ int product, i; product = 1; for (i = 1; i <= n; i++) product *= i; return (product); 24

25 Ο μηχανισμός κλήσης συναρτήσεων Αν δείτε το προηγούμενο πρόγραμμα ως δύο μέρη το κυρίως πρόγραμμα και τη συνάρτηση Factorial είναι μάλλον εύκολο να το κατανοήσετε. Αν όμως δείτε το πρόγραμμα συνολικά και δεν έχετε κατανοήσει τον τρόπο με τον οποίο πρέπει να βλέπετε τις συναρτήσεις θα υπάρχει μια σύγχυση, αφού: υπάρχουν δύο μεταβλητές με όνομα i, μία στο κυρίως πρόγραμμα και μία στη συνάρτηση Factorial, οι οποίες χρησιμοποιούνται ως μεταβλητές βρόχου αλλά έχουν διαφορετικές τιμές χρησιμοποιούνται δύο διαφορετικά ονόματα (i, n) που αναφέρονται στην ίδια τιμή: στο κυρίως πρόγραμμα το i έχει ως τιμή κάθε φορά τον αριθμό του οποίου το παραγοντικό επιχειρούμε να υπολογίσουμε, ενώ στη συνάρτηση Factorial αυτή η ίδια τιμή ονομάζεται n Για να κατανοήσετε τι αντιπροσωπεύει η κάθε μεταβλητή θα πρέπει να καταλάβετε πως δουλεύουν οι συναρτήσεις εσωτερικά και πως συνεργάζονται μεταξύ τους και με το κυρίως πρόγραμμα. 25

26 Μεταβίβαση παραμέτρων Στο πρωτότυπο της συνάρτησης Factorial int Factorial(int n) δηλώνεται μια μεταβλητή τύπου int με όνομα n, η οποία χρησιμεύει ως δεσμευτικό θέσης για το πραγματικό όρισμα, με απλά λόγια για μια συγκεκριμένη τιμή του ίδιου τύπου που θα μεταβιβαστεί στη συνάρτηση κατά την κλήση της είτε από μια άλλη συνάρτηση είτε από το κυρίως πρόγραμμα. Μια τέτοια μεταβλητή, η οποία ορίζεται στην κεφαλίδα μιας συνάρτησης και χρησιμεύει ως δεσμευτικό θέσης ονομάζεται τυπική παράμετρος (formal parameter). Για παράδειγμα, αν στη main υπάρχει η κλήση Factorial(4) τότε στην τυπική παράμετρο n της συνάρτησης αντιγράφεται η τιμή 4, ή αλλιώς λέμε ότι στη συνάρτηση μεταβιβάζεται η τιμή 4 ή αλλιώς ότι η συνάρτηση δέχεται την τιμή 4. 26

27 Κλήση μιας συνάρτησης Όταν καλείται μια συνάρτηση, εκτελούνται τα ακόλουθα βήματα: 1. Οι τιμές κάθε ορίσματος υπολογίζονται ως μέρος της λειτουργίας του καλούντος προγράμματος. Τα ορίσματα είναι παραστάσεις και μπορεί να περιλαμβάνουν τελεστές ή ακόμα και άλλες συναρτήσεις που πρέπει να αποτιμηθούν πριν να κληθεί η νέα συνάρτηση. 2. Η τιμή κάθε ορίσματος αντιγράφεται στην αντίστοιχη τυπική παράμετρο. Αν είναι αναγκαίο, εκτελείται αυτόματη μετατροπή τύπων μεταξύ των τιμών των ορισμάτων και των τυπικών παραμέτρων, όπως ακριβώς και σε μια εντολή ανάθεσης. 3. Οι εντολές που περιλαμβάνονται στο σώμα της συνάρτησης αποτιμώνται μέχρι να εμφανιστεί μια εντολή return. 4. Η τιμή της παράστασης αποτιμάται και μετατρέπεται, αν είναι αναγκαίο, στον τύπο αποτελέσματος που καθορίζεται για τη συνάρτηση. 5. Η εκτέλεση του καλούντος προγράμματος συνεχίζεται, με την κλήση της συνάρτησης να αντικαθιστάται από την επιστρεφόμενη τιμή της. 27

28 Τοπικές μεταβλητές Κάθε κλήση μιας συνάρτησης έχει ως αποτέλεσμα τη δημιουργία ενός χωριστού συνόλου μεταβλητών, συμπεριλαμβανομένων και των τυπικών παραμέτρων. Αυτές οι μεταβλητές έχουν νόημα μόνο μέσα στη συνάρτηση (δηλαδή στο κυρίως πρόγραμμα ή οποιαδήποτε άλλη συνάρτηση) όπου δηλώνονται και γι αυτόν το λόγο ονομάζονται τοπικές μεταβλητές (local variables). Η συλλογή μεταβλητών ονομάζεται πλαίσιο (frame) ή για λόγους που θα γίνουν προφανείς στη συνέχεια, στοίβα πλαισίων (stack frame) της συγκεκριμένης συνάρτησης. main Factorial i n product i 28

29 Εκτέλεση προγράμματος (1) #define LowerLimit 0 main() int i; 1 ος κύκλος εκτέλεσης του for for (i = LowerLimit; i <= UpperLimit; i++) printf("%d! = %5d\n", i, Factorial(i)); Κλήση της Factorial main i 0 Factorial n product i 0 Η τιμή του ορίσματος αντιγράφεται στην τυπική παράμετρο της Factorial 29

30 Εκτέλεση προγράμματος (2) int Factorial(int n) int product, i; product = 1; for (i = 1; i <= n; i++) product *= i; return (product); Εκτέλεση της Factorial To σώμα του for δεν εκτελείται καμία φορά main i 0 Factorial n product i Με την εντολή return ολοκληρώνεται η εκτέλεση της συνάρτησης και επιστρέφεται η τιμή της product εκεί που έγινε η κλήση της 30

31 Εκτέλεση προγράμματος (3) main i 0 Factorial n product i main() int i; for (i = LowerLimit; i <= UpperLimit; i++) printf("%d! = %5d\n", i, Factorial(i)); Ολοκληρώνεται η εκτέλεση της printf και εμφανίζονται στην οθόνη τα εξής: 0! = 1 Επιστροφή μετά την εκτέλεση της Factorial Ως αποτέλεσμα εκτέλεσης της i συνάρτησης επιστρέφεται η τιμή 1 main 0 31

32 Κλήση συναρτήσεων μέσα σε άλλες (1) Από τη στιγμή που θα ορίσουμε μία συνάρτηση μπορούμε να τη χρησιμοποιήσουμε, όχι μόνο στα πλαίσια του κύριου προγράμματος, αλλά και στον ορισμό άλλων συναρτήσεων. Όταν ο υπολογιστής εκτελεί μια νέα κλήση συνάρτησης, καταγράφει το σημείο του καλούντος προγράμματος από το οποίο θα πρέπει να συνεχίσει η εκτέλεση του προγράμματος, μόλις ολοκληρωθεί η εκτέλεση της συνάρτησης που κλήθηκε. Αυτό το σημείο ονομάζεται διεύθυνση επιστροφής μεταβλητές (return address). Στη συνέχεια, παρουσιάζεται ένα παράδειγμα όπου χρησιμοποιείται η συνάρτηση Factorial στον ορισμό της νέας συνάρτησης Combinations που υλοποιεί τη συνάρτηση συνδυασμών, η οποία δίνει το πλήθος των τρόπων με τους οποίους μπορεί να επιλεγεί ένα υποσύνολο k αντικειμένων από ένα σύνολο n διακριτών αντικειμένων: C( n, k) k! n! ( n k)! 32

33 Κλήση συναρτήσεων μέσα σε άλλες (2) #include <stdio.h> #include "genlib.h" #include "simpio.h" /* πρωτότυπα συναρτήσεων */ int Combinations(int n, int k); int Factorial(int n); /* κυρίως πρόγραμμα */ main() int n, k; printf("enter number of objects in the set (n)? "); n = GetInteger(); printf("enter number to be chosen (k)? "); k = GetInteger(); printf("c(%d, %d) = %d\n", n, k, Combinations(n, k)); /* ο ορισμός της συνάρτησης Combinations */ int Combinations(int n, int k) return (Factorial(n) / (Factorial(k) * Factorial(n - k))); /* ο ορισμός της συνάρτησης Factorial */ int Factorial(int n) //ο κώδικας παραλείπεται 33

34 Διαδικασίες (1) Μια συνάρτηση η οποία δεν επιστρέφει κάποια τιμή, αλλά εκτελείται για την επίδραση που έχει ονομάζεται διαδικασία (procedure). Σε αρκετές γλώσσες προγραμματισμού, όπως στην Pascal και την Fortran, οι συναρτήσεις και οι διαδικασίες είναι διαφορετικές εννοιολογικές οντότητες και ορίζονται με εντελώς διαφορετικούς μηχανισμούς. Στη C, οι έννοιες της συνάρτησης και της διαδικασίας είναι συγχωνευμένες, και τις περισσότερες φορές ο όρος συνάρτηση χρησιμοποιείται και για τις συναρτήσεις και για τις διαδικασίες. Στη C, μια διαδικασία αναγνωρίζεται από το γεγονός ότι στο πρωτότυπο της συνάρτησης χρησιμοποιείται ως τύπος του αποτελέσματος της η λέξη-κλειδί void: void όνομα(προσδιοριστικά_ορισμάτων); 34

35 Διαδικασίες (2) Μια διαδικασία μπορεί να χρησιμοποιηθεί, για παράδειγμα, προκειμένου να εμφανίσουμε με εντολές printf κάποιες πληροφορίες ή ένα μενού επιλογών και να έχουμε ένα πιο ευανάγνωστο κύριο πρόγραμμα. /* πρωτότυπο συνάρτησης */ void GiveInstructions(void); main() GiveInstructions(); /* υπόλοιπο του κύριου προγράμματος */ /* ορισμός συνάρτησης */ void GiveInstructions(void) printf( ); 35

36 Βηματική εκλέπτυνση (1) Η διαδικασία της διαίρεσης ενός προβλήματος σε μικρότερα μέρη, τα οποία μπορούμε να διαχειριστούμε ευκολότερα, ονομάζεται αποσύνθεση (decomposition) και αποτελεί μια θεμελιώδη στρατηγική του προγραμματισμού. Η εύρεση της ενδεδειγμένης μεθόδου αποσύνθεσης είναι αρκετά δύσκολη και απαιτεί εξάσκηση. Μια γνωστή στρατηγική επίλυσης προβλημάτων είναι η βηματική εκλέπτυνση (stepwise refinement) ή αναλυτικός σχεδιασμός (top-down design, σχεδιασμός από πάνω προς τα κάτω ): o αρχίζουμε με το κύριο πρόγραμμα, και προσπαθούμε να διακρίνουμε τα κύρια μέρη/ κομμάτια του προγράμματος o τα κομμάτια ή αλλιώς τα συστατικά στοιχεία του προγράμματος που είναι πολύπλοκα υποδιαιρούνται σε μικρότερα μέρη o η διεργασία αυτή συνεχίζεται μέχρι κάθε κομμάτι του προβλήματος να είναι αρκετά απλό ώστε να είναι δυνατό να λυθεί από μόνο του. 36

37 Βηματική εκλέπτυνση (2) Πρόβλημα: να γράψετε ένα πρόγραμμα που θα δέχεται ένα έτος και θα εμφανίζει στην οθόνη ένα ημερολόγιο για όλο το έτος, όπως φαίνεται παρακάτω: main() int year; Ξεκίνημα από επάνω κυρίως πρόγραμμα GiveInstructions(); year = GetYearFromUser(); PrintCalendar(year); 37

38 Βηματική εκλέπτυνση (3) void PrintCalendar(int year) int month; for (month = 1; month <= 12; month++) PrintCalendarMonth(month, year); printf("\n"); void PrintCalendarMonth(int month, int year) int weekday, ndays, day; printf(" %s %d\n", MonthName(month), year); printf(" Su Mo Tu We Th Fr Sa\n"); ndays = MonthDays(month, year); weekday = FirstDayOfMonth(month, year); IndentFirstLine(weekday); for (day = 1; day <= ndays; day++) printf(" %2d", day); if (weekday == Saturday) printf("\n"); weekday = (weekday + 1) % 7; if (weekday!= Sunday) printf("\n"); Υλοποίηση της PrintCalendar Υλοποίηση της PrintCalendarMonth 38

39 Βηματική εκλέπτυνση (4) void IndentFirstLine(int weekday) int i; Υλοποίηση της IndentFirstLine for (i = 0; i < weekday; i++) printf(" "); int MonthDays(int month, int year) switch (month) case 2: if (IsLeapYear(year)) return (29); return (28); case 4: case 6: case 9: case 11: return (30); default: return (31); Υλοποίηση της MonthDays 39

40 Βηματική εκλέπτυνση (5) int FirstDayOfMonth(int month, int year) Υλοποίηση της int weekday, i; FirstDayOfMonth weekday = Monday; for (i = 1900; i < year; i++) weekday = (weekday + 365) % 7; if (IsLeapYear(i)) weekday = (weekday + 1) % 7; for (i = 1; i < month; i++) weekday = (weekday + MonthDays(i, year)) % 7; return (weekday); int GetYearFromUser(void) int year; Συμπλήρωση των τελευταίων κενών while (TRUE) printf("which year? "); year = GetInteger(); if (year >= 1900) return (year); printf("the year must be at least 1900.\n"); 40

41 Τέλος Ενότητας

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

ιαδικαστικός Προγραμματισμός ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ιαδικαστικός Προγραμματισμός Α Εξάμηνο Μάθημα 4 ο : Συναρτήσεις - ιαδικασίες Στόχοι μαθήματος Να εκτιμήσετε τις συναρτήσεις ως εργαλείο απλοποίησης της δομής των προγραμμάτων.

Διαβάστε περισσότερα

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

Συναρτήσεις και διαδικασίες Συναρτήσεις και διαδικασίες Χρήση συναρτήσεων βιβλιοθήκης Εντολή κλήσης της συνάρτησης printf: printf( Hello, world\n ); Μια συνάρτηση είναι ένα σύνολο εντολών που έχουν ομαδοποιηθεί και τους έχει αποδοθεί

Διαβάστε περισσότερα

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

Δομημένος Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 8 η : Συναρτήσεις Χειµερινό Εξάµηνο 2011

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 8 η : Συναρτήσεις Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 8 η : Συναρτήσεις Χειµερινό Εξάµηνο 2011 Συναρτήσεις (functions) Συνάρτηση (function) σύνολο εντολών που έχει οµαδοποιηθεί και τους έχει αποδοθεί ένα όνοµα Κλήση (calling)

Διαβάστε περισσότερα

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

Εισαγωγή στην γλώσσα προγραμματισμού C Εισαγωγή στην γλώσσα προγραμματισμού C Χαρακτηριστικά της C Ιδιαίτερα δημοφιλής Έχει χρησιμοποιηθεί για τον προγραμματισμό ευρέος φάσματος συστημάτων και εφαρμογών Γλώσσα μετρίου επιπέδου Φιλοσοφία: Ο

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15

Διαβάστε περισσότερα

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

Διαδικαστικός Προγραμματισμός Διαδικαστικός Προγραμματισμός Ενότητα 3: Εντολές ελέγχου επανάληψη Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 10: Συναρτήσεις Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό με C++ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στον Προγραμματισμό με C++ Ενότητα # 6: Συναρτήσεις Κωνσταντίνος Κουκουλέτσος Τμήμα Αυτοματισμού Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

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

Διαδικαστικός Προγραμματισμός Διαδικαστικός Προγραμματισμός Ενότητα 8: Παραδείγματα με μονοδιάστατους πίνακες, συναρτήσεις, δείκτες, πέρασμα παραμέτρων με αναφορά Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

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

Διαδικαστικός Προγραμματισμός Διαδικαστικός Προγραμματισμός Ενότητα 7: Δείκτες Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 5: Εντολές συνθήκης Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Πέμπτη (5 η ) τρίωρη διάλεξη. Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/

Διαβάστε περισσότερα

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C Οι συναρτήσεις τι είναι Πρόκειται για ανεξάρτητα τμήματα ενός προγράμματος (υποπρογράμματα) που επιτελούν συγκεκριμένες εργασίες. Καλούνται από το κυρίως

Διαβάστε περισσότερα

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #2 2 Γενικά Στο Εργαστήριο αυτό θα αναλύσουμε τη χρήση της βασικής εντολής ελέγχου ροής

Διαβάστε περισσότερα

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

Υπολογισμός - Εντολές Επανάληψης Προγραμματισμός Η/Υ Ι Υπολογισμός - Εντολές Επανάληψης ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συνεχίσουμε τη συζήτησή μας για τα βασικά στοιχεία

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15

Διαβάστε περισσότερα

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

Εισαγωγή στον δομημένο προγραμματισμό Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στον δομημένο προγραμματισμό Ενότητα 12 η : Δυναμική Ανάθεση Θέσης Αν. καθηγητής Στεργίου Κώστας e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

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

Διαδικαστικός Προγραμματισμός Διαδικαστικός Προγραμματισμός Ενότητα 6: Πίνακες-Συναρτήσεις Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 4: Τύποι Δεδομένων και τελεστές Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων

Διαβάστε περισσότερα

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

7. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΣΥΝΑΡΤΗΣΕΙΣ 7. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΣΥΝΑΡΤΗΣΕΙΣ 7.1 Ορισμός και δήλωση συνάρτησης Μία συνάρτηση είναι μία ενότητα οδηγιών οι οποίες μαζί εκτελούν μία συγκεκριμένη εργασία. Παρέχει έναν κατάλληλο τρόπο να μπορέσουμε να κάνουμε

Διαβάστε περισσότερα

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

ιαδικαστικός Προγραμματισμός ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ιαδικαστικός Προγραμματισμός Α Εξάμηνο Μάθημα 2 ο : Εντολές ελέγχου > εντολές υπό συνθήκη Στόχοι μαθήματος Να κατανοήσετε τη σχέση μεταξύ εντολών και παραστάσεων. Να αναγνωρίζετε

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ιαδικαστικός Προγραμματισμός ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ιαδικαστικός Προγραμματισμός Α Εξάμηνο Μάθημα 3 ο : Εντολές ελέγχου > επανάληψη Στόχοι μαθήματος Να μάθετε τις λεπτομέρειες των εντολών while και for και τις περιπτώσεις

Διαβάστε περισσότερα

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 7: Συναρτήσεις Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 2 Επιμέλεια: Βασίλης Παλιουράς, Αναπληρωτής Καθηγητής Ευάγγελος Δερματάς, Αναπληρωτής Καθηγητής Σταύρος Νούσιας, Βοηθός Ερευνητή Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Hello World /* Αρχείο hello.c * Εµφανίζει στην οθόνη το * µήνυµα hello world */ #include

Διαβάστε περισσότερα

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C Οι συναρτήσεις τι είναι Πρόκειται για ανεξάρτητα τμήματα ενός προγράμματος (υποπρογράμματα) που επιτελούν συγκεκριμένες εργασίες. Καλούνται από το κυρίως

Διαβάστε περισσότερα

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

Διαβάστε περισσότερα

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

Διαδικαστικός Προγραμματισμός ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Διαδικαστικός Προγραμματισμός Α Εξάμηνο Μάθημα 7 ο : Δείκτες Στόχοι μαθήματος Να κατανοήσετε τη δυνατότητα χρήσης διευθύνσεων ως τιμών δεδομένων. Να μπορείτε να χρησιμοποιείτε

Διαβάστε περισσότερα

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

Δομημένος Προγραμματισμός Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 10: Συναρτήσεις Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 9: Συναρτήσεις Ορισμός συναρτήσεων () { /* δήλωση μεταβλητών */ /* εντολές ελέγχου/επεξεργασίας */ o Μια συνάρτηση ορίζεται δίνοντας

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 4η Διάλεξη Πίνακες Συναρτήσεις Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό 4η Διάλεξη Πίνακες Συναρτήσεις Πίνακες (1) Μια συλλογή μεμονωμένων τιμών δεδομένων Οι πίνακες είναι διατεταγμένοι τα στοιχεία ενός πίνακα είναι τοποθετημένα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 23 ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 2ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος I/O 24 Βασική βιβλιοθήκη συναρτήσεων εισόδου/εξόδου #include Η συνάρτηση εξόδου printf printf("συμβολοσειρά

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python Εισαγωγή στην Επιστήμη Υπολογιστών Εισαγωγή στην Python Β Μέρος Δομή Ελέγχου if-elif-else Επαναληπτική Δομή Ελέγχου while Επαναληπτική Δομή Ελέγχου for Αλληλεπίδραση χρήστη-προγράμματος Συναρτήσεις Η δομή

Διαβάστε περισσότερα

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

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα

Διαβάστε περισσότερα

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

Προγραμματισμό για ΗΜΥ ΕΠΛ 34: Εισαγωγή στον Προγραμματισμό για ΗΜΥ Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 12 Πίνακες εικτών (Pointers Arrays) Θέματα ιάλεξης Στην ενότητα

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

Διαβάστε περισσότερα

Σε γενικές γραμμές, είναι καλή πρακτική να γράϕουμε προγράμματα C που αποτελούνται από πολλές και μικρές συναρτήσεις, παρά από λίγες και μεγάλες.

Σε γενικές γραμμές, είναι καλή πρακτική να γράϕουμε προγράμματα C που αποτελούνται από πολλές και μικρές συναρτήσεις, παρά από λίγες και μεγάλες. 58 Δομή ενός προγράμματος C Συναρτήσεις Μία συνάρτηση C είναι ένα αυτόνομο, πακεταρισμένο τμήμα προγράμματος που ϕέρει σε πέρας μία διαδικασία η οποία έχει σαϕείς προδιαγραϕές εισόδου και εξόδου και συγκεκριμένο

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Εισαγωγή στον Προγραµµατισµό Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Συναρτήσεις 19.11.16 Β. Ντουφεξή 2 Προβλήματα: Οσο μεγαλώνουν τα προγράμματα, γίνονται πιο πολύπλοκα.

Διαβάστε περισσότερα

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

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

Διαβάστε περισσότερα

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 4: Δομές Ελέγχου Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 2 η Δ.Π.Θ. - Πολυτεχνική Σχολή Τμήμα Μηχανικών Παραγωγής & Διοίκησης Ακαδ. έτος 2017-2018 Τομέας Συστημάτων Παραγωγής Εξάμηνο Β Αναπληρωτής Καθηγητής Στέφανος Δ. Κατσαβούνης ΜΑΘΗΜΑ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Έβδοµη ιάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών Συναρτήσεις 60 Ροή ελέγχου Είναι η σειρά µε την οποία εκτελούνται οι εντολές. Μέχρι τώρα, «σειριακή»,

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ. Ενότητα 3: Top Down Σχεδιασμός Προγραμματισμός Η/Υ Ενότητα 3: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Κατανόηση της έννοιας της διεργασίας

Διαβάστε περισσότερα

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής Ενότητα 5: Δείκτες και Δυναμική Δέσμευση- Αποδέσμευση Μνήμης στη C/ Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με δείκτες /Ένα πακέτο για τον ΑΤΔ Συνδεδεμένη Λίστα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 12 Επιμέλεια: Βασίλης Παλιουράς, Αναπληρωτής Καθηγητής Ευάγγελος Δερματάς, Αναπληρωτής Καθηγητής Σταύρος Νούσιας, Βοηθός Ερευνητή Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών

Διαβάστε περισσότερα

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

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

Διαβάστε περισσότερα

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

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf(%u\n, x); Β. unsigned char ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Β Περιόδου 2015 (8/9/2015) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................

Διαβάστε περισσότερα

Δομές Δεδομένων. Ενότητα 1: Εισαγωγή-Υλοποίηση του ΑΤΔ Σύνολο με Πίνακα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.

Δομές Δεδομένων. Ενότητα 1: Εισαγωγή-Υλοποίηση του ΑΤΔ Σύνολο με Πίνακα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Ενότητα 1: Εισαγωγή-Υλοποίηση του ΑΤΔ Σύνολο με Πίνακα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 3: Συναρτήσεις printf() και scanf() Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

Διαβάστε περισσότερα

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 3 Επανάληψη Γ μέρος

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 3 Επανάληψη Γ μέρος ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ Δομές Δεδομένων (Εργ.) Ακ. Έτος 2017-18 Διδάσκων: Ευάγγελος Σπύρου Εργαστήριο 3 Επανάληψη Γ μέρος 1. Στόχος του εργαστηρίου Στόχος του τρίτου εργαστηρίου είναι

Διαβάστε περισσότερα

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

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY120) #5 εκτέλεση υπό συνθήκη 1 Σπύρος Λάλης Ροή εκτέλεσης Μέχρι στιγμής η ροή εκτέλεσης του κώδικα είναι αυστηρά γραμμική Οι εντολές που γράφουμε στον κώδικα μας εκτελούνται μια προς

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Δομημένος Προγραμματισμός Ενότητα 4(β): Εργαστηριακή Άσκηση Αναπλ. Καθηγητής: Κωνσταντίνος Στεργίου Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Ενότητα 7: Υπορουτίνες Καθ. Γιάννης Γαροφαλάκης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ και Πληροφορικής Ορισμός Αφαίρεση με χρήση υπορουτινών (subroutine abstraction)

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 13/12/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 13/12/07 Ένα απλό παράδειγμα μιας κλάσης εφαρμογής με δύο μεθόδους (κλήση μεθόδου μέσα στην ίδια κλάση): import java.util.*; public class Example

Διαβάστε περισσότερα

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

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY120) #6 εκτέλεση σε επανάληψη 1 Σπύρος Λάλης Εκτέλεση σε επανάληψη: while while () lexpr body true false Όσο η λογική συνθήκη επανάληψης lexpr αποτιμάται σε μια τιμή

Διαβάστε περισσότερα

3 η ΕΝΟΤΗΤΑ Συναρτήσεις στο MATLAB

3 η ΕΝΟΤΗΤΑ Συναρτήσεις στο MATLAB ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΜΕΘΟΔΟΙ ΕΠΙΛΥΣΗΣ ΜΕ Η/Υ 3 η ΕΝΟΤΗΤΑ Συναρτήσεις στο MATLAB Ν.Δ. Λαγαρός Μ. Φραγκιαδάκης Α. Στάμος Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες Χρήσης Creative

Διαβάστε περισσότερα

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

Προγραμματισμός ΙI (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017

Διαβάστε περισσότερα

Ενδεικτική περιγραφή μαθήματος

Ενδεικτική περιγραφή μαθήματος ΜΑΘΗΜΑ: ΔΙΔΑΣΚΩΝ: ΤΜΗΜΑ: Προγραμματισμός Η/Υ Συνδουκάς Δημήτριος Διοίκησης Επιχειρήσεων (Γρεβενά) Ενδεικτική περιγραφή μαθήματος 1. Εισαγωγή: Εισαγωγή στον προγραμματισμό, γλώσσες προγραμματισμού, μεταγλωτιστές.

Διαβάστε περισσότερα

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

Συναρτήσεις. Εισαγωγή Συναρτήσεις Εισαγωγή Η χρήση συναρτήσεων στα προγράμματα της γλώσσας C είναι πολύ σημαντική καθώς μας επιτρέπει τη διάσπαση ενός προβλήματος σε μικρότερα υποπροβλήματα τα οποία μπορούμε να επιλύσουμε πιο

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Έκτη (6 η ) τρίωρη διάλεξη. Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 4: Δείκτες (pointers) και Πίνακες Δεικτών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Πίνακες Δεικτών - Πολυδιάστατοι πίνακες - Πέρασμα παραμέτρων σε προγράμματα

Διαβάστε περισσότερα

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

Κεφάλαιο 3.1, : Συναρτήσεις I. (Διάλεξη 11) Κεφάλαιο 3.1,3.3-3.4: Συναρτήσεις I (Διάλεξη 11) 11-1 Μη-Δομημένος Προγραμματισμός Το πρόγραμμα στα αριστερά δεν είναι Αρθρωτό (δεν έχει σωστή δομή). Όλη η λειτουργικότητα ορίζεται μέσα στην main. Το αποτέλεσμα

Διαβάστε περισσότερα

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Μεταγλωττιστές Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι είναι ; Συναρτήσεις. Παράδειγμα #1. double convert ( double cm ) { double inch; ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Τι είναι ; Συναρτήσεις Αυτόνομα τμήματα κώδικα (υποπρογράμματα) που πραγματοποιούν μια καθορισμένη εργασία. Χρήσιμες για περιπτώσεις που ο ίδιος υπολογισμός επαναλαμβάνεται πολλές φορές

Διαβάστε περισσότερα

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟ ΟΣ: ΣΕΠΤΕΜΒΡΙΟΥ 6 Ι ΑΣΚΩΝ: Ε. ΚΟΦΙ ΗΣ Όλα τα ερωτήµατα είναι ισοδύναµα. Καλή επιτυχία! ΘΕΜΑ ο a) Βρείτε την αναπαράσταση

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Οργάνωση Προγράµµατος Header Files Μετάφραση και σύνδεση αρχείων προγράµµατος ΕΠΛ 132 Αρχές Προγραµµατισµού

Διαβάστε περισσότερα

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

Διαβάστε περισσότερα

Προγραμματισμός Υπολογιστών

Προγραμματισμός Υπολογιστών ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Προγραμματισμός Υπολογιστών Β Εξάμηνο Μάθημα 6 ο - 7 ο : Πίνακες Στόχοι μαθήματος Να εκτιμήσετε τη σημασία που έχουν για τον προγραμματισμό οι πίνακες δεδομένων. Να μπορείτε

Διαβάστε περισσότερα

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Προγραμματισμός Η/Υ Ενότητα 4 η : Η Γλώσσα Προγραμματισμού VB.NET (3 ο Μέρος) Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα Λογιστικής & Χρηματοοικονομικής

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Ενότητα 3: Αρχεία script- Αρχεία συναρτήσεων Διδάσκουσα: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

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

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα. Ερωτήσεις προόδου C Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα. #include // δίνει οδηγία στον compiler να // συμπεριλάβει την βιβλιοθήκη stdio int

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ 032 2 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ Ενδιάμεση Εξέταση Ημερομηνία:08/03/10 Διάρκεια: 13:30 15:00 Διδάσκων: Παύλος Αντωνίου Ονοματεπώνυμο: Αριθμός Ταυτότητας: Η εξέταση

Διαβάστε περισσότερα

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Συναρτήσεις της C Τα Λοιπά Στοίβα και μηχανισμός κλήσης Αναδρομικές συναρτήσεις Στατικές μεταβλητές Άλλα θέματα Μηχανισμός

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16

Διαβάστε περισσότερα

Ηλεκτρονικοί Υπολογιστές

Ηλεκτρονικοί Υπολογιστές ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 9: Πίνακες στη C++ Ζαχαρούλα Ανδρεοπούλου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 4ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος Συναρτήσεις (functions) 56 Τεμαχισμός του προγράμματος σε μικρότερα κομμάτια που είναι πιο κατανοητά, πιο εύκολα

Διαβάστε περισσότερα

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Συναρτήσεις (Functions) Οι βασικές λειτουργικές ενότητες ενός προγράμματος C Καλούνται με ορίσματα που αντιστοιχούνται σε

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ. Ενότητα 5: Εντολές Επανάληψης

Προγραμματισμός Η/Υ. Ενότητα 5: Εντολές Επανάληψης Προγραμματισμός Η/Υ Ενότητα 5: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Έλεγχος της ροής του προγράμματος

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό με C++ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στον Προγραμματισμό με C++ Ενότητα # 2: Εντολή If Κωνσταντίνος Κουκουλέτσος Τμήμα Αυτοματισμού Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα