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

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

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

Transcript

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

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

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

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

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

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

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

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

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

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

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

12 Συνδυασμός συναρτήσεων με κύρια προγράμματα /* Κυρίως Πρόγραμμα */ 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); Υλοποίηση (συγγραφή) συνάρτησης 12

13 Συναρτήσεις με εσωτερικές δομές ελέγχου (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) y if (x < y) return (x); else return (y); 13

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

15 Συναρτήσεις που επιστρέφουν αλφαριθμητικά (1) Αν και έχουν παρουσιαστεί μόνο αριθμητικές συναρτήσεις, οι συναρτήσεις της C μπορούν να επιστρέφουν τιμές οποιουδήποτε τύπου δεδομένων, όπως για παράδειγμα string όνομα(προσδιοριστικά προσδιοριστικά_ορισμάτων); αλφαριθμητικά: Πρόβλημα: να γράψετε μια string MonthName(int month) συνάρτηση η οποία να μετατρέπει τον αριθμό του μήνα (από 1 έως 12) στο αλφαριθμητικό του αντίστοιχου ονόματος του μήνα (από τον Ιανουάριο έως το εκέμβριο), προκειμένου να χρησιμοποιηθεί σε ένα πρόγραμμα που επεξεργάζεται ημερομηνίες. 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"); 15

16 Συναρτήσεις που επιστρέφουν αλφαριθμητικά (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. 16

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

18 Κατηγορηματικές συναρτήσεις (2) Έστω, για παράδειγμα, ότι σας ζητήθηκε να γράψετε μια συνάρτηση, ηοποία, όταν της μεταβιβαστεί ένας ακέραιος n, απαντά στην ερώτηση «αν ο n είναι άρτιος»: bool IsEven(int n) return (n % 2 == 0); Επειδή η IsEven επιστρέφει ένα λογικό αποτέλεσμα, μπορεί να χρησιμοποιηθεί απευθείας σε οποιαδήποτε συνθήκη. Στο διπλανό παράδειγμα η 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 είναι περιττό 18

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

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

21 Η συνάρτηση 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; 1 3 Ξυνόγαλος Στέλιος, Προγραμματισμός Υπολογιστών, Τμήμα ιοίκησης Τεχνολογίας 21

22 Ένα πρόγραμμα υπολογισμού πίνακα παραγοντικών #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); 22

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

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

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

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

27 Εκτέλεση προγράμματος (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 Η τιμή του ορίσματος αντιγράφεται στην τυπική παράμετρο της Factorial n 0 product i 27

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

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

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

31 Κλήση συναρτήσεων μέσα σε άλλες (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(n) / (Factorial(k) * Factorial(n - k))); )); /* ο ορισμός της συνάρτησης Factorial */ int Factorial(int n) //ο κώδικας παραλείπεται 31

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

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

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

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

36 Βηματική εκλέπτυνση (3) Υλοποίηση της void PrintCalendar(int year) PrintCalendar int month; for (month = 1; month <= 12; month++) PrintCalendarMonth(month,, year); printf("\n"); Υλοποίηση της void PrintCalendarMonth(int month, int year) PrintCalendarMonth 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"); 36

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

38 Βηματική εκλέπτυνση (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"); 38

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

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

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

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

Συναρτήσεις και διαδικασίες Συναρτήσεις και διαδικασίες Χρήση συναρτήσεων βιβλιοθήκης Εντολή κλήσης της συνάρτησης 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος 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 επιτρέπει

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι 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

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

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

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

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

Α. 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) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 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 στην

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Η/Υ (ΤΛ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. Το αποτέλεσμα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ενότητα 5: «Εισαγωγή στον Προγραμματισμό. Απλές ασκήσεις με γλώσσα C» Ενισχυτική διδασκαλία διδακτικές ενότητες αλγοριθμικής και εισαγωγής στον προγραμματισμό Ενότητα 5: «Εισαγωγή στον Προγραμματισμό. Απλές ασκήσεις με γλώσσα C» διδάσκων: χρήστος σκουρλάς, cskourlas@teiath.gr

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

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

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

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

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

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

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

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

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

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

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

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

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

Τυχαίοι αριθμοί Αλφαριθμητικά και χαρακτήρες

Τυχαίοι αριθμοί Αλφαριθμητικά και χαρακτήρες Τυχαίοι αριθμοί Αλφαριθμητικά και χαρακτήρες Παραγωγή τυχαίων αριθμών: Η συνάρτηση rand Η συνάρτηση rand() ανήκει στη βιβλιοθήκη stdlib της C. int rand(void); Για την χρήση της σε ένα πρόγραμμα εισάγουμε

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

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

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης Γλώσσες Προγραμματισμού Εργαστήριο 2ο Τύποι Δεδομένων - Είσοδος / Έξοδος Εργαστήριο 2ο Περίγραμμα Εργαστηριακής Άσκησης Εργαστήριο 2ο...1 Θεωρία εργαστηρίου...2 Τύποι δεδομένων...2 Η συνάρτηση printf()...3

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

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

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

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

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα

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

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

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Τελεστές - Κατηγορίες Εκφράσεις - Κατηγορίες Υπολογισμός εκφράσεων Προτάσεις - Κατηγορίες

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

Εντολές ελέγχου ροής if, for, while, do-while

Εντολές ελέγχου ροής if, for, while, do-while Εντολές ελέγχου ροής if, for, while, do-while 1 Μαρτίου 014 1 Εντολές εκτέλεσης υπό συνθήκη Μπορούμε να εκτελέσουμε εντολές της γλώσσας σε περίπτωση που κάποια συνθήκη ισχύει χρησιμοποιώντας την εντολή

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

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

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12) Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II (Διάλεξη 12) 12-1 Ανασκόπηση Δομής Προγράμματος με Συναρτήσεις 1 void PrintMessage (); Πρότυπο (Δήλωση) Συνάρτησης (Δηλώνουν τι επιπλέον συναρτήσεις θα χρησιμοποιήσουμε

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

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

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

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Συναρτήσεις Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Συναρτήσεις Ως τώρα γράφαμε όλα τα προγράμματα μας μέσα στην main..1

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός

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

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

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

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

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

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

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

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

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας

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

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

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

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

4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for)

4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for) 4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for) 4.1 Μετρητές Ένας μετρητής (counter) είναι μία μεταβλητή η οποία ξεκινά με μία αρχική τιμή και αυξάνεται κατά ένα κάθε φορά που εκτελείται. Ο αλγόριθμος για έναν μετρητή

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

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

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

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

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

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 12-1 Ανασκόπηση οµής Προγράµµατος µε Συναρτήσεις #include 1 void PrintMessage (); Πρότυπο ( ήλωση) Συνάρτησης (

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

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

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

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

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

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

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

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

Κεφάλαιο : Επαναλήψεις (for, do-while) Κεφάλαιο 5.4-5.11: Επαναλήψεις (for, do-while) 10-1 Εντολές Επανάληψης που θα καλυφθούν σήµερα while(){ τελεστές postfix/prefix (++, --,...) και σύνθετοι τελεστές Παραδείγµατα Σήµερα for(){ Η εντολές break/continue;

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

Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C (2)

Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C (2) Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C (2) Τι γίνεται όταν καλείται μια συνάρτηση Όταν γίνεται η κλήση μιας συνάρτησης, ο μεταγλωττιστής δεσμεύει μνήμη για τις μεταβλητές που δηλώνονται σαν παράμετροι

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

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

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

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

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

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

Άσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN:

Άσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN: Άσκηση 1 Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του J στα παρακάτω κομμάτια κώδικα FORTRAN: INTEGER J J = 5 J = J + 1 J = J + 1 INTEGER X, Y, J X = 2 Y =

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

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ Εισαγωγή στην γλώσσα προγραμματισμού Ακαδημαϊκό έτος 2016-2017, Εαρινό εξάμηνο Οι σημειώσεις βασίζονται στα συγγράμματα: A byte of Python (ελληνική

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

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

Η βασική συνάρτηση προγράμματος main() Η βασική συνάρτηση προγράμματος main() HEADER FILES main(){ ΔΗΛΩΣΕΙΣ ΜΕΤΑΒΛΗΤΩΝ ΕΝΤΟΛΕΣ (σειριακές, επιλογής ή επανάληψης) ΕΠΙΣΤΡΕΦΟΜΕΝΟΣ ΤΥΠΟΣ (return 0;) Συναρτήσεις Η συνάρτηση είναι ένα υποπρόγραμμα

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

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

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

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

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

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 7: Δομές Επανάληψης - Αναγνωσιμότητα 19/10/2015 Επανάληψη εκτέλεσης: while 2 while () lexpr true false body Όσο η λογική συνθήκη επανάληψης lexpr αποτιμάται

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

Η τιµή εξόδου κάποιας συνάρτησης µπορεί να είναι δείκτης, π.χ.

Η τιµή εξόδου κάποιας συνάρτησης µπορεί να είναι δείκτης, π.χ. είκτες ως Τιµές Εξόδου Η τιµή εξόδου κάποιας συνάρτησης µπορεί να είναι δείκτης, π.χ. int *select (int f (int, int), int *add1, int *add2) { if (f (*add1, *add2)) return add1; else return add2; Η συνάρτηση

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

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 5 η Έλεγχος Προγράμματος Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή

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

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

Εισαγωγή στον Προγραμματισμό (με. τη C) Υποχρεωτικό Μάθημα 3 ου Εξαμήνου Χειμερινό Εξάμηνο Ακ. Έτους 20 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Εισαγωγή στον Προγραμματισμό (με τη C) Διδάσκουσα: Φατούρου Παναγιώτα faturu [at] csd.uoc.gr

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