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

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

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

Transcript

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

2 Οι συναρτήσεις τι είναι Πρόκειται για ανεξάρτητα τμήματα ενός προγράμματος (υποπρογράμματα) που επιτελούν συγκεκριμένες εργασίες. Καλούνται από το κυρίως πρόγραμμα ή από άλλες συναρτήσεις (μπορούν να καλέσουν ακόμα και τον εαυτό τους) και παράγουν, όπου είναι σκόπιμο, αποτελέσματα με χρήση δεδομένων. Η χρήση συναρτήσεων μας δίνει τη δυνατότητα να επιμερίσουμε ένα πολύπλοκο πρόγραμμα σε μικρότερα αυτόνομα τμήματα κώδικα (modules) που αναλαμβάνουν να λύσουν μεμονωμένα επί μέρους προβλήμα. Οι συναρτήσεις είναι δομικά στοιχεία της C (τα προγράμματα της, είναι και αποτελούνται από, συναρτήσεις). Όλα τα προγράμματα που έχουμε δει έως τώρα περιέχουν τουλάχιστον μια συνάρτηση: την main() που είναι το κυρίως πρόγραμμα. 2

3 Οι συναρτήσεις που βρίσκονται Υπάρχουν έτοιμες (προ-μεταγλωττισμένες ή όχι) που περιλαμβάνονται σε βιβλιοθήκες, οι οποίες ενσωματώνονται με κατάλληλες εντολές στο κυρίως πρόγραμμα (#include). Μέσα στο κυρίως πρόγραμμα όπου δηλώνονται και συντάσσονται σαν ξεχωριστές ενότητες (δημιουργούνται από τους προγραμματιστές). Επίσης, μπορεί να βρίσκονται και σε αρχεία διαφορετικά από αυτό του κυρίως προγράμματος. Σε κάθε περίπτωση είναι μέρος του κυρίως προγράμματος και μεταγλωττίζονται μαζί με αυτό (ή ενσωματώνονται στο εκτελέσιμο, αν είναι ήδη μεταγλωττισμένες). Η κλήση τους γίνεται με το όνομα τους, που είναι μοναδικό. Είναι δυνατόν να κληθούν πολλές φορές και με διαφορετικά δεδομένα. 3

4 Οι συναρτήσεις πλεονεκτήματα Τα επιμέρους (υπο) προβλήματα διαχειρίζονται πιο εύκολα (μικρότερα προβλήματα --> πιο εύκολα προβλήματα). Ευανάγνωστα προγράμματα. Αποφεύγουμε την επανάληψη κώδικα. Μπορούμε να χρησιμοποιήσουμε τις συναρτήσεις που δημιουργούμε και σε άλλα προγράμματα (επαναχρησιμοποίηση). Αφαίρεση (κρύβουν λεπτομέρειες που δεν είναι πάντα απαραίτητες). Αν διαγραφούν από τον κώδικα, απενεργοποιείται μόνο η συγκεκριμένη λειτουργία που κάνουν. Μπορούν να μεταγλωττιστούν ανεξάρτητα. Μεγαλύτερη ευκολία στον έλεγχο και την διόρθωση του κώδικα. Μειωμένο κόστος ανάπτυξης. Η συντήρηση (μετατροπές/βελτιώσεις) των προγραμμάτων καθίσταται πιο εύκολη. Εφαρμογή του δομημένου προγραμματισμού. 4

5 Συναρτήσεις - χρήση Κάθε συνάρτηση μπορεί να δεχθεί δεδομένα και να επιστρέψει αποτελέσματα στο πρόγραμμα που την καλεί. Για την ανταλλαγή των δεδομένων χρησιμοποιούνται (όχι πάντα παράμετροι (μεταβλητές ή διευθύνσεις αυτών). Υπάρχουν διάφορα είδη συναρτήσεων: Αυτές που δεν χρησιμοποιούν παραμέτρους και δεν επιστρέφουν κάτι. Αυτές που δεν χρησιμοποιούν παραμέτρους και επιστρέφουν κάτι. Αυτές που χρησιμοποιούν παραμέτρους και δεν επιστρέφουν κάτι. Αυτές που χρησιμοποιούν παραμέτρους και επιστρέφουν κάτι. Χαρακτηριστικά: Η είσοδος δεδομένων γίνεται από ένα μόνο σημείο. Όταν καλείται μια συνάρτηση σταματά η εκτέλεση του κυρίως προγράμματος (αναμονή) και εκτελείται μόνο η συνάρτηση. Όταν ολοκληρωθεί η εκτέλεση της συνάρτησης, ο έλεγχος επιστρέφει στο πρόγραμμα που έκανε την κλήση της. 5

6 Ροή προγράμματος όταν καλείται μια συνάρτηση main() Function_1() Function_1(); 6

7 Ροή προγράμματος με κλήση συναρτήσεων main() funct_1() funct_2() funct_1(); funct_2(); 7

8 Ορισμός μιας συνάρτησης στη C H γενική δομή ορισμού μιας συνάρτησης σε C περιλαμβάνει: την επικεφαλίδα και το σώμα της συνάρτησης Η γενική δομή ορισμού έχει ως εξής: τύπος_επιστροφής όνομα_συνάρτησης (τυπικοί παράμετροι) { Δηλώσεις μεταβλητών; Εντολές συνάρτησης; return <εκφραση> ; Τοπικές μεταβλητές Εντολές που επιτελούν συγκεκριμένη εργασία Τιμή που επιστρέφει η συνάρτηση Ο ορισμός μιας συνάρτησης ΔΕΝ μπορεί να γίνει μέσα σε άλλη συνάρτηση. Μπορεί να γίνει πριν ή μετά τη main(). 8

9 Η επικεφαλίδα τύπος_επιστροφής όνομα_συνάρτησης (τυπικοί παράμετροι) Ο τυπος_επιστροφής δηλώνει τον τύπο της τιμής (το πολύ μία) που επιστρέφει η συνάρτηση με την εντολή return. Αν η συνάρτηση δεν επιστρέφει κάποια τιμή (διαδικασία) τότε ο τύπος επιστροφής είναι τύπου void. Το όνομα_συνάρτησης είναι μοναδικό. Οι τυπικοί παράμετροι (μεταβλητές) είναι ουσιαστικά ο μηχανισμός επικοινωνίας της συνάρτησης με τη συνάρτηση (η main ή κάποια άλλη) που την καλεί. Είναι μια λίστα της μορφής: τυπος παραμετρος-1, τύπος παράμετρος-2, τυπος παραμετρος-n Αν δεν υπάρχουν παράμετροι χρησιμοποιείται ο τύπος void. Παράδειγμα ορισμού: τύπος_επιστροφής Όνομα τύπος int find_max ( int n, int m ) παράμετρος 9

10 Το σώμα της συνάρτησης Πρόκειται για κώδικα (εντολές, συναρτήσεις) που περιέχεται σε άγκιστρα και περιλαμβάνει δηλώσεις μεταβλητών και εντολές. Εκτελείται όταν κληθεί η συνάρτηση. Μόνο ο κώδικας της main() εκτελείται αυτόματα. Οι μεταβλητές που δηλώνονται ισχύουν μόνο μέσα στο σώμα της συνάρτησης. Το ίδιο ισχύει και για τις παραμέτρους. Η εκτέλεση τερματίζεται με εντολές return, οι οποίες προκαλούν άμεση έξοδο από τη συνάρτηση. Αν δεν υπάρχει εντολή return, η έξοδος προκαλείται όταν εκτελεστεί η τελευταία εντολή. int find_max (int n, int m) { int max; if (n>m) max=n; else max=m; return max; // επιστροφή τιμής 10

11 Κλήση μιας συνάρτησης Με τη κλήση μιας συνάρτησης, ο έλεγχος του προγράμματος μεταφέρεται στο σώμα της συνάρτησης. Όταν ολοκληρωθεί η εκτέλεση της συνάρτησης, ο έλεγχος του προγράμματος επιστρέφει στη συνάρτηση που έκανε τη κλήση. Μια συνάρτηση καλείται με το όνομα της και τις τιμές που δίνουμε στις μεταβλητές των τυπικών παραμέτρων. Αυτές οι τιμές ονομάζονται ορίσματα (πραγματικοί παράμετροι) και πρέπει να είναι του ίδιου τύπου με τις μεταβλητές των τυπικών παραμέτρων. Όταν καλείται μια συνάρτηση πρέπει να είναι γνωστός ο τύπος επιστροφής: max: ακέραιος max = find_max (a, b); max = find_max (5, 6); Τύπος επιστροφής: int 11

12 Παράδειγμα ορισμού και κλήσης συνάρτησης #include <stdio.h> int find_max (int n, int m) // Ορισμός της συνάρτησης find_max { int max; //τοπική μεταβλητή if(n>m) max=n; else max=m; return max; // επιστροφή τιμής main() // κυρίως πρόγραμμα { Μεταβλητές της main. int a,b, max; printf ("a:"); scanf("%d",&a); printf ("b:"); scanf("%d",&b); max= find_max (a,b); // κλήση της συνάρτησης find_max printf("max of %d and %d is %d\n", a, b, max); εμβέλεια μέσα στη συνάρτηση max διαφορετική από αυτή της συνάρτησης 12

13 Δήλωση μιας συνάρτησης (πρωτότυπο/αρχέτυπο) Απαιτείται αν πρόκειται να χρησιμοποιήσουμε μια συνάρτηση πριν τον ορισμό της. Αυτό συμβαίνει όταν ο ορισμός γίνεται μετά τη συνάρτηση main() ή βρίσκεται σε διαφορετικό αρχείο ή η συνάρτηση είναι ήδη μεταγλωττισμένη. Η δήλωση του πρωτοτύπου μιας συνάρτησης προσδιορίζει τον τύπο επιστροφής της συνάρτησης, το όνομα της και τους τύπους των παραμέτρων της: int find_max (int, int) ; Τελειώνει με το ; Δεν χρειάζονται ονόματα παραμέτρων Δεν υπάρχει σώμα. Μια καλή πρακτική είναι οι δηλώσεις των συναρτήσεων να γίνονται πριν την main(). Αν βρίσκονται σε άλλο αρχείο θα πρέπει να συμπεριλαμβάνονται στο πρόγραμμα με την οδηγία #include. 13

14 Τα πρωτότυπα συναρτήσεων Δεν είναι απαραίτητα, ούτε υποχρεωτικά αλλά είναι πολύ χρήσιμα. Οι πρώτες εκδόσεις της C δεν τα υποστήριζαν. Ένα πρόγραμμα χωρίς πρωτότυπα δεν θεωρείται συντακτικά λανθασμένο. Ένα πρωτότυπο συνάρτησης δηλώνει: το τύπο της τιμής που επιστρέφει η συνάρτηση, τον αριθμό παραμέτρων της συνάρτησης και τους τύπους δεδομένων των παραμέτρων της συνάρτησης. Όλα αυτά είναι πολύ χρήσιμα στη μεταγλώττιση, διότι δίνουν χρήσιμη πληροφόρηση compiler με αποτέλεσμα ν αποφεύγονται πιθανά λάθη. Όταν δεν υπάρχουν παράμετροι στα πρωτότυπα πρέπει να χρησιμοποιείται ο τύπος void. 14

15 Παράδειγμα δήλωσης, κλήσης και ορισμού συνάρτησης #include <stdio.h> int find_max(int, int); //Δήλωση της συνάρτησης - πρωτότυπο main() { int a,b, max; printf ("a:"); scanf("%d",&a); printf ("b:"); scanf("%d",&b); max= find_max(a,b); // Κλήση της συνάρτησης printf("max of %d and %d is %d\n", a, b, max); int find_max (int n, int m) //Ορισμός συνάρτησης { int max; if(n>m) max=n; else max=m; return max; printf("max of %d and %d is %d\n", a, b, find_max(a,b)); Αλλά και: int find_max (int n, int m) { if(n>m) return n; else return m; 15

16 Συναρτήσεις ΧΩΡΙΣ παραμέτρους και ΧΩΡΙΣ επιστροφή ΔΗΛΩΣΗ ΚΛΗΣΗ ΟΡΙΣΜΟΣ Δεν μεταβιβάζεται τιμή στη συνάρτηση. Η συνάρτηση απλά κάνει κάποια εργασία. Δεν επιστρέφει τιμή. #include <stdio.h>. void printstarline(void); /* void printstarline(); */ main() {... for (i=1; i<=n;i++) printstarline();. void printstarline(void) { int i; for (i=1; i<=80;i++) printf ("%c", '*'); 16

17 Συναρτήσεις ΧΩΡΙΣ παραμέτρους ΜΕ επιστροφή ΔΗΛΩΣΗ ΚΛΗΣΗ ΟΡΙΣΜΟΣ Δεν μεταβιβάζεται τιμή στη συνάρτηση. Η συνάρτηση επιστρέφει κάποια τιμή. float findsum(void); main() {... athroisma = findsum(); MO = athroisma/7;. float findsum(void) { int i; float a, sum=0; printf ("You should give 7 numbers\n"); for (i=1; i<=7;i++) { printf("please give %d number:",i); scanf("%f", &a); sum=sum+a; return sum; 17

18 Συναρτήσεις ΜΕ παραμέτρους ΧΩΡΙΣ επιστροφή #include <stdio.h>.. void printchar (int, char);. main() {... C= * ; for (i=1; i<=n;i++) printchar (i, C);. void printchar (int m, char C ) { int i; for (i=1; i<=m;i++) printf ("%c", C); printf ("\n"); ΔΗΛΩΣΗ ΚΛΗΣΗ ΟΡΙΣΜΟΣ Μεταβιβάζονται τιμές (ορίσματα) στη συνάρτηση. Η συνάρτηση δεν επιστρέφει κάποια τιμή. 18

19 Συναρτήσεις ΜΕ παραμέτρους και ΜΕ επιστροφή #include <stdio.h> #define MAXN 12 int compute_factorial (int); main() { int i; for (i=1 ; i <= MAXN ; i++) printf("%2d! = %d\n", i, compute_factorial(i)); getchar();getchar(); int compute_factorial (int n) { int i, factorial=1; for (i=1; i<=n; i++) factorial *= i; return factorial; ΔΗΛΩΣΗ ΚΛΗΣΗ ΟΡΙΣΜΟΣ Μεταβιβάζονται τιμές (ορίσματα) στη συνάρτηση. Η συνάρτηση επιστρέφει κάποια τιμή. 19

20 Μεταβίβαση δεδομένων (κατ αξία και κατ αναφορά) Παράμετροι: οι μεταβλητές που εμφανίζονται στη δήλωση και στον ορισμό της συνάρτησης. Ορίσματα: οι τιμές που περιέχονται στην κλήση της συνάρτησης. Μεταβίβαση δεδομένων κατ αξία (by value), όπου: αντιγράφονται οι τιμές των ορισμάτων στις παραμέτρους που είναι τοπικές μεταβλητές της συνάρτησης και τυχόν αλλαγές δεν επηρεάζουν στις μεταβλητές της συνάρτησης που κάνει τη κλήση. Μεταβίβαση δεδομένων κατ αναφορά (by reference), όπου: δεν μεταβιβάζονται οι αξίες, αλλά οι διευθύνσεις των μεταβλητών που περιέχουν τις τιμές, έτσι η συνάρτηση έχει πρόσβαση στις διευθύνσεις των μεταβλητών και μπορεί να κάνει αλλαγές στις τιμές. Καλώντας κάποια συνάρτηση κατ αναφορά έχουμε τη δυνατότητα ν αλλάξουμε πολλές τιμές μεταβλητών (άρα και να έχουμε επιστροφή πολλών τιμών). 20

21 Παράδειγμα κλήσεων κατ αξία και αναφορά #include <stdio.h> void swap (int, int); main() { int x = 1, y = 2; printf("before: x=%d, y=%d.\n", x, y); swap (x, y); printf("after: x=%d, y=%d. \n", x, y); getchar();getchar(); void swap (int u, int v) { int temp; temp = u; u = v; v = temp; ΔΕΝ ΑΛΛΑΖΟΥΝ ΟΙ ΤΙΜΕΣ ΤΩΝ ΜΕΤΑΒΛΗΤΩΝ #include <stdio.h> void swap (int*, int*); main() { int x = 1, y = 2; printf("before: x=%d, y=%d.\n", x, y); swap(&x, &y); printf("after: x=%d, y=%d. \n", x, y); getchar();getchar(); void swap(int *u, int *v) { int temp; temp = *u; *u = *v; *v = temp; ΑΛΛΑΖΟΥΝ ΟΙ ΤΙΜΕΣ ΤΩΝ ΜΕΤΑΒΛΗΤΩΝ 21

22 Εμβέλεια μεταβλητών Εμβέλεια μιας μεταβλητής είναι το τμήμα του προγράμματος που η μεταβλητή ισχύει (μπορεί ν αξιοποιηθεί). Αναφορικά με την εμβέλεια τους οι μεταβλητές κατηγοριοποιούνται σε: Τοπικές (local) μεταβλητές και Καθολικές (global) μεταβλητές που δηλώνονται εκτός συναρτήσεων και έχουν εμβέλεια σε όλο το πρόγραμμα. Η κατηγοριοποίηση αυτή εξαρτάται από το σημείο που δηλώνεται κάποια μεταβλητή: Οι τοπικές μεταβλητές δηλώνονται μέσα σε μια συνάρτηση (στο σώμα της) και έχουν εμβέλεια μόνο μέσα σε αυτή. Οι καθολικές μεταβλητές δηλώνονται εκτός συναρτήσεων (συνήθως στη αρχή του αρχείου του κώδικα) και έχουν εμβέλεια σε όλο το πρόγραμμα. 22

23 Παρατηρήσεις στη εμβέλεια των μεταβλητών - Ι Τοπικές μεταβλητές μπορούν να δηλωθούν και σε κάποιο τμήμα του κώδικα (block που αρχίζει και τελειώνει με άγκιστρα: {. ). Η τοπική μεταβλητή έχει εμβέλεια μόνο μέσα στο συγκεκριμένο τμήμα που έχει δηλωθεί. Η απόδοση αρχικών τιμών σε τοπικές μεταβλητές είναι μέριμνα του προγραμματιστή (δεν αποδίδονται αυτόματα αρχικές τιμές). Σε μια συνάρτηση εκτός των μεταβλητών που δηλώνονται μέσα στο σώμα της συνάρτησης, τοπικές μεταβλητές είναι και οι παράμετροι στον ορισμό της συνάρτησης. Οι παράμετροι δεν χρειάζονται αρχική τιμή διότι παίρνουν τιμές όταν καλείται η συνάρτηση (από τις τιμές των ορισμάτων). Οι τοπικές μεταβλητές μπορούν να έχουν το ίδιο όνομα σε διαφορετικές συναρτήσεις. Είναι όμως διαφορετικές μεταβλητές. 23

24 Παρατηρήσεις στη εμβέλεια των μεταβλητών - ΙΙ Οι καθολικές μεταβλητές έχουν εμβέλεια σε όλο το πρόγραμμα και κάθε συνάρτηση του προγράμματος μπορεί να τις χρησιμοποιήσει. Στις καθολικές μεταβλητές αποδίδεται αυτόματα η τιμή 0 (εκτός αν ο προγραμματιστής της αναθέσει κάποια άλλη αρχική τιμή). Οι τοπικές και οι καθολικές μεταβλητές μπορούν να έχουν το ίδιο όνομα, αλλά δεν παύουν να είναι διαφορετικές. Σε περίπτωση που έχουμε μια τοπική και μια καθολική μεταβλητή με το ίδιο όνομα, στο τμήμα (εμβέλεια) που έχει δηλωθεί η τοπική μεταβλητή, αυτή υπερισχύει της καθολικής. Η εμβέλεια μια καθολικής μεταβλητής ξεκινά από το σημείο που δηλώνεται αυτή και όλες οι συναρτήσεις που ορίζονται μετά από τη δήλωση της μπορούν να τη χρησιμοποιήσουν. 24

25 Παράδειγμα με τοπικές και καθολικές μεταβλητές #include <stdio.h> int find_max(int, int); main() Όλες οι μεταβλητές { είναι τοπικές int a,b, max; printf ("a:"); scanf("%d",&a); printf ("b:"); scanf("%d",&b); max= find_max(a,b); printf("max is: %d\n", a, b, max); getchar();getchar(); int find_max (int n, int m) { int max; if(n>m) max=n; else max=m; return max; 2 διαφορετικές max #include <stdio.h> int max; max: καθολική int find_max(int, int); main() { int a,b; a, b : τοπικές printf ("a:");scanf("%d",&a); printf ("b:");scanf("%d",&b); find_max(a,b); printf("max is:%d\n",max); getchar();getchar(); n, m : τοπικές int find_max(int n, int m) { if(n>m) max=n; else max=m; Χωρίς return! Δίνουμε τιμές στη καθολική max 25

26 Μεταβλητές static (τοπικές) Το χαρακτηριστικό γνώρισμα μιας static τοπικής μεταβλητής είναι ότι μπορεί να διατηρήσει τη τιμή της σε διαδοχικές κλήσεις της συνάρτησης. static int i; Αυτό είναι χρήσιμο όταν θέλουμε να διατηρήσουμε τη τιμή μιας τοπικής μεταβλητής ανάμεσα σε κλήσεις της συνάρτησης. Η static τοπική μεταβλητή παίρνει τιμή όταν καλείται για πρώτη φορά η συνάρτηση και διατηρεί τη τελευταία της τιμή στις επόμενες κλήσεις της συνάρτησης. Κρατά τη ίδια θέση μνήμης κατά τη διάρκεια της εκτέλεσης του προγράμματος. Ισχύει όμως μόνο μέσα στη εμβέλειας της (στο τμήμα που έχει δηλωθεί). 26

27 Παράδειγμα με static μεταβλητή #include <stdio.h> #define N 5 void func(void); Δήλωση main() { int i; for (i=1; i<=n; i++) func(); Κλήση getchar();getchar(); void func() Ορισμός { static int x = 1; x: static int i; for (i=1;i<=x;i++) x = x + 1; printf("\n"); printf("%c", '*'); Αποτέλεσμα εκτέλεσης * ** *** **** ***** Η τιμή της x διατήρείται και στη επόμενη κλήση 27

28 Μεταβλητές extern (καθολικές) Χρησιμοποιούνται όταν η εμβέλεια μιας καθολικής μεταβλητής πρέπει να περιλαμβάνει και άλλα αρχεία εκτός του αρχείου του προγράμματος (ένα πρόγραμμα μπορεί ν αποτελείται από πολλά αρχεία). Ουσιαστικά δηλώνεται ξανά μια καθολική μεταβλητή, η οποία έχει οριστεί σε κάποιο άλλο αρχείο του προγράμματος. Βρίσκει εφαρμογή σε μεγάλα προγράμματα που εκτείνονται σε πολλά αρχεία. Η εντολή: extern int global; ενημερώνει το μεταγλωττιστή ότι η μεταβλητή global έχει οριστεί σε άλλο αρχείο του προγράμματος. Όλα τα αρχεία του προγράμματος στα οποία δηλώνεται η εξωτερική (extern) μεταβλητή μπορούν να την επεξεργαστούν. 28

29 Έτοιμες συναρτήσεις της C Περιλαμβάνονται σε πρότυπες βιβλιοθήκες της C που δηλώνονται με την οδηγία #include (header files) Τα header files, περιέχουν πρότυπα συναρτήσεων και δηλώσεις σταθερών και τύπων δεδομένων για κάποια συγκεκριμένη βιβλιοθήκη. Γνωστές βιβλιοθήκες έτοιμων συναρτήσεων: <stdio.h> //συναρτήσεις εισόδου/ εξόδου <math.h> //μαθηματικές συναρτήσεις <string.h> // συναρτήσεις για χειρισμό συμβολοσειρών <stdlib.h> // μετατροπής αριθμών, διαχείρισης μνήμης κ.α <time.h> // διαχείρισης ημερομηνιών και ώρας <ctype.h> // διαχείρισης χαρακτήρων <limits.h> // σταθερές που ορίζουν όρια των ακεραίων <float.h> // σταθερές που ορίζουν όρια πραγματικών (double) 29

30 Καποιες συναρτήσεις της βιβλιοθηκης <math.h> double sqrt(double x); //τετραγωνική ρίζα του x (πρέπει x > 0) double exp(double x); //εκθετικό του x, e x double log(double x); // φυσικός λογάριθμος του x (με βάση το e) double log10(double x); // λογάριθμος με βάση το 10 του x int abs(int x); // απόλυτη τιμή της ακεραίας μεταβλητής x double fabs(double x); // απόλυτη τιμή της μεταβλητής x (double) double pow(double x, double y); // το x y double sin(double x); // ημίτονο του x (σε rad) double cos(double x); // συνημίτονο του x (σε rad) double tan(double x); //εφαπτομένη του x (σε rad) double ceil(double x); //στρογγυλοποιεί προς τα πάνω τον x double floor(double x); //στρογγυλοποιεί προς τα κάτω τον x 30

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

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

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

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

Παραδείγματα με συναρτήσεις στη C Παραδείγματα με συναρτήσεις στη C PrintStarline Εκτύπωση γραμμής με αστεράκια (80) -χωρίς ορίσματα με τιμή επιστροφής void void printstarline(void); //Δήλωση της συνάρτησης printstarline(); //Κλήση της

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 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 (); Πρότυπο ( ήλωση) Συνάρτησης (

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

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

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

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

Προγραμματισμός Συστημάτων

Προγραμματισμός Συστημάτων MYY502 Προγραμματισμός Συστημάτων Β. Δημακόπουλος dimako@cse.uoi.gr http://www.cse.uoi.gr/~dimako Εργαστήρια Μάλλον (!) ξεκινούν την επόμενη εβδομάδα Εγγραφές στο εργαστήριο 2 βάρδιες, 15:00 17:00 και

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

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

12. Συναρτήσεις (Μέρος ΙI) Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 12. Συναρτήσεις (Μέρος ΙI) Ιωάννης Κατάκης Σήμερα o Συναρτήσεις χωρίς παραμέτρους o Συναρτήσεις με παραμέτρους Χωρίς επιστροφή τιμής Με επιστροφή τιμής o Εμβέλεια

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Ι. Συναρτήσεις. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Συναρτήσεις Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Προγραμματισμός Δ. Τσελίκας Ι Συναρτήσεις - Εισαγωγή Μία συνάρτηση είναι ένα ανεξάρτητο τμήμα κώδικα, που εκτελεί μία

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

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

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

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

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Προγραμματισμός Συναρτήσεις Προγραμματισμός Αλγόριθμοι / Προγράμματα Λύνουμε ένα πρόβλημα εκτελώντας μια ακολουθία από εντολές σε συγκεκριμένη σειρά Αλγόριθμος: καθορίζει τις εντολές και τη σειρά

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

ΑΣΚΗΣΗ 8: ΣΥΝΑΡΤΗΣΕΙΣ

ΑΣΚΗΣΗ 8: ΣΥΝΑΡΤΗΣΕΙΣ Σκοπός της Άσκησης ΑΣΚΗΣΗ 8: ΣΥΝΑΡΤΗΣΕΙΣ Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η εξοικείωση με τη χρήση συναρτήσεων στη Γλώσσας Προγραμματισμού C. H συγκεκριμένη άσκηση πραγματεύεται τα παρακάτω:

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

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

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

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

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

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8 Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 1000 1001 1002 1003 1004 1005 12 9.8 9976 3 1010 26 1006 1007 1008 1009 1010 1011 16 125 1299 a 13 1298 Δήλωση Δήλωση Τύπος

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

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

Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C (2) Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C (2) Κατηγορίες μνήμης εκτελέσιμου προγράμματος Στις καθολικές και στατικές μεταβλητές οι χώροι μνήμης δεσμεύονται κατά την διάρκεια της μεταγλώττισης. Οι

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

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

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

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

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

Προγραµµατιστικές Τεχνικές Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Προγραµµατιστικές Τεχνικές Βασίλειος Βεσκούκης ρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Ρωµύλος Κορακίτης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΛΟΓΙΣΜΙΚΟΥ Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΛΟΓΙΣΜΙΚΟΥ Εμβέλεια Μεταβλητών Εμβέλεια Μεταβλητής Οι μεταβλητές που έχουμε δει μέχρι τώρα είναι

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

int abs( int x ), επιστρέφει την απόλυτη τιμή του ακεραίου x Πχ abs( 11) ισούται με 11, abs(34) ισούται με 34 double fb( fabs( double x ), επιστρέφει

int abs( int x ), επιστρέφει την απόλυτη τιμή του ακεραίου x Πχ abs( 11) ισούται με 11, abs(34) ισούται με 34 double fb( fabs( double x ), επιστρέφει Συναρτήσεις της βιβλιοθήκης math.h h (1/5) int abs( int x ), επιστρέφει την απόλυτη τιμή του ακεραίου x Πχ abs( 11) ισούται με 11, abs(34) ισούται με 34 double fb( fabs( double x ), επιστρέφει την απόλυτη

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

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

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

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

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

Ορισμός μεταβλητών δεικτών και αρχικοποίηση Ορισμός μεταβλητών δεικτών και αρχικοποίηση Η έννοια του δείκτη Κάθε μεταβλητή σχετίζεται με μια θέση στην κύρια μνήμη του Η/Υ η οποία έχει τη δική της ξεχωριστή διεύθυνση Ο δείκτης είναι μια μεταβλητή

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ IΙ Λύβας Χρήστος chrislibas@ssl-unipi.gr Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος >_ ΣΥΝΑΡΤΗΣΕΙΣ ΣΤΗ C (1/3) +- Στη C χρησιμοποιούμε συχνα τις συναρτήσεις (functions),

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟN ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟN ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Εμβέλεια Μεταβλητών Εμβέλεια = το τμήμα του προγράμματος στο οποίο έχει ισχύ ή είναι ορατή η μεταβλητή.

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

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

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

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

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

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

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

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

ΣΥΝΑΡΤΗΣΕΙΣ (Functions) ΣΥΝΑΡΤΗΣΕΙΣ (Functions) Δομή Συνάρτησης τύπος όνομα ( λίστα τυπικών παραμέτρων ) Δηλώσεις μεταβλητών εντολή_1 εντολή_2 : εντολή_ν Σώμα της συνάρτησης Δομή της Λίστας Τυπικών Παραμέτρων τύπος_1 τύπος_2

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

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

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

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

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

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

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

Εργαστήριο 1: Επανάληψη Βασικών Εννοιών στη Γλώσσα C

Εργαστήριο 1: Επανάληψη Βασικών Εννοιών στη Γλώσσα C Εργαστήριο 1: Επανάληψη Βασικών Εννοιών στη Γλώσσα C Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Συναρτήσεις - Εξωτερικές μεταβλητές - Κανόνες εμβέλειας - Διάρκεια

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

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128] ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Α Περιόδου 2017 (27/1/2017) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................

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

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

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

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

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

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

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

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

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact:

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: nifantop@unipi.gr Συναρτήσεις (1/2) Στη C χρησιμοποιούμε συχνά τις συναρτήσεις (functions), οι οποίες είναι ρουτίνες που επαναλαμβάνονται

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

Κλήση Συναρτήσεων ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. Γεώργιος Παπαϊωάννου ( )

Κλήση Συναρτήσεων ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. Γεώργιος Παπαϊωάννου ( ) ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ Γεώργιος Παπαϊωάννου (2013-16) gepap@aueb.gr Περιγραφή: Μορφές μεταβίβασης ορισμάτων σε συναρτήσεις (και μεθόδους) και οι επιπτώσεις τους Επιστροφή τιμών από κλήση συναρτήσεων Υπερφόρτωση

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

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

Κεφάλαιο 10 ο Υποπρογράµµατα Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,

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

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

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

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

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

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

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

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

Θέματα Προγραμματισμού Η/Υ Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 8: Θεματική Ενότητα: Συναρτήσεις ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική Ενότητα 8 Συναρτήσεις Πληροφορική

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

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

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

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

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

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

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

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

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

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

Συναρτήσεις διαχείρισης αλφαριθμητικών

Συναρτήσεις διαχείρισης αλφαριθμητικών Συναρτήσεις διαχείρισης αλφαριθμητικών Όνομα βιβλιοθήκης: string.h Ενδεικτικές συναρτήσεις: char *strcpy(char *s1, char *s2): Αντιγράφει την ακολουθία χαρακτήρων s2 στον πίνακα s1. Επιστρέφεται η τιμή

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

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

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

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Οι εντολές επανάληψης (while, do-while, for) Γενικά για τις εντολές επανάληψης Συχνά στο προγραμματισμό είναι επιθυμητή η πολλαπλή εκτέλεση μιας ενότητας εντολών, είτε για ένα

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

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

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

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

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

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (Programming in the large) Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (Programming in the large) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Συναρτήσεις Εξωτερικές µεταβλητές Κανόνες εµβέλειας ιάρκεια µεταβλητών Αρχικοποίηση

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Οι εντολές επανάληψης (while, do-while, for) Γενικά για τις εντολές επανάληψης Συχνά στο προγραμματισμό είναι επιθυμητή η πολλαπλή εκτέλεση μιας ενότητας εντολών, είτε για ένα

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

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

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

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

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

Βασικές Αρχές Προγραμματισμού Βασικές Αρχές Προγραμματισμού Κεφάλαιο 2 ΗγλώσσαC Ιστορική Αναδρομή ΗανάπτυξητηςC ξεκίνησε το 1972 στα εργαστήρια Bell από τον Dennis Ritchie με σκοπό την ανάπτυξη ενός λειτουργικού συστήματος για τον

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

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

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

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

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

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. (Διάλεξη 14) Παράδειγμα: Αλλαγή τιμής μεταβλητής μόνο τοπικά Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός (Διάλεξη 14) 14-1 Παράδειγμα: Αλλαγή τιμής μεταβλητής μόνο τοπικά ΛΑΘΟΣ τρόπος να αυξήσουμε το κατά 1 #include void AddOne (int); void AddOne

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

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

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

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

Οι συναρτήσεις στη γλώσσα C

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

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

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

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

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

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

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

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

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

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

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

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Περισσότερα για τις Κλάσεις, τα Αντικείμενα και τις Μεθόδους

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Περισσότερα για τις Κλάσεις, τα Αντικείμενα και τις Μεθόδους ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Περισσότερα για τις Κλάσεις, τα Αντικείμενα και τις Μεθόδους Σύνοψη των βασικών λειτουργιών

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

Περιεχόμενα. Πρόλογος... 21

Περιεχόμενα. Πρόλογος... 21 Περιεχόμενα Πρόλογος... 21 Κεφάλαιο 1: Εισαγωγή στον προγραμματισμό... 25 Εισαγωγή...27 Πώς να διαβάσετε αυτό το βιβλίο...27 Η δομή των κεφαλαίων...28 Γιατί να μάθω προγραμματισμό;...31 Γιατί να μάθω C;...31

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

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 1η εβδομάδα. Κοζάνη, 5 Οκτωβρίου 2007. Βασικά στοιχεία γραφής προγραμμάτων με τη C: α) Case Sensitive!!! β) Δυνατότητα εισαγωγής σχολίων με /*

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

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

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. Δείκτες (Διάλεξη 14) Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός Δείκτες (Διάλεξη 14) 14-1 Παράδειγμα: Αλλαγή τιμής μεταβλητής μόνο τοπικά ΛΑΘΟΣ τρόπος να αυξήσουμε το num κατά 1 #include void AddOne (int);

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

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

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

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

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

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

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

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Ασκήσεις Επανάληψης

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Ασκήσεις Επανάληψης Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ασκήσεις Επανάληψης Άσκηση 1 Το παρακάτω πρόγραμμα περιέχει μια δομή επανάληψης τύπου for. Να ξαναγραφεί ώστε να έχει ακριβώς την ίδια λειτουργία, χρησιμοποιώντας

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

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

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

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 5ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος Πίνακες 77 Στατική δομή αποθήκευσης δεδομένων (το μέγεθος ορίζεται εξαρχής και δεν αλλάζει) Αποθήκευση πολλών μεταβλητών

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

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

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

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

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β 1. (10 μον.) Απαντήστε σωστό ή λάθος στις παρακάτω ερωτήσεις (αʹ) _2togo είναι έγκυρο όνομα μεταβλητής (βʹ) Αν p είναι δείκτης στο πρώτο στοιχείο

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

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

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

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

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

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

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

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

Προγραμματισμός Η/Y. Διάλεξη 6 η : Συναρτήσεις Προγραμματισμός Η/Y Διάλεξη 6 η : Συναρτήσεις Η C είναι συναρτησιακή γλώσσα προγραμματισμού Ως τώρα όλα τα προγράμματα που είδαμε ήταν γραμμένα μέσα στην main Τι θα κάνουμε όμως αν Το πρόγραμμα είναι τεράστιο

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

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

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

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

Περιεχόμενα. Πρόλογος... 17

Περιεχόμενα. Πρόλογος... 17 Περιεχόμενα Πρόλογος... 17 Κεφάλαιο 1: Εισαγωγή... 19 Πώς να διαβάσετε αυτό το βιβλίο... 20 Η γλώσσα C Ιστορική αναδρομή... 22 Τα χαρακτηριστικά της C... 23 C Μια δομημένη γλώσσα... 23 C Μια γλώσσα για

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

ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Τµήµα Πληροφορικής και Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C Τµήµα Πληροφορικής και Τηλεπικοινωνιών Περιεχόµενα Εισαγωγή Πρόγραµµα Φάσεις Υλοποίησης µε χρήση του εργαλείου DEV C + + οµή Προγράµµατος Η συνάρτηση main Μεταβλητές Τι είναι

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

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

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

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