Εισαγωγή στον Προγραμματισμό
|
|
- Ἐλισάβετ Μητσοτάκης
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Εισαγωγή στον Προγραμματισμό Συναρτήσεις Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος
2 Συναρτήσεις Ως τώρα γράφαμε όλα τα προγράμματα μας μέσα στην main..1 Τι θα γινόταν όμως εαν ένα πρόγραμμα μας είναι γραμμές κώδικα;.2 Στην περίπτωση που θέλουμε να εκτελέσουμε τον ίδιο ή παρόμοιο κώδικα πολλές φορές; Χαροκόπειο Πανεπιστήμιο 2/47
3 Συναρτήσεις.1 Χωρίζουμε το πρόγραμμα σε μέρη.2 Φιλοσοφία του "διαίρει και βασίλευε" (divide and conquer).3 Τα μέρη αντιστοιχούν σε επιμέρους και μικρότερα υποπροβλήματα Αναλογία με τον πραγματικό κόσμο: Ο προϊστάμενος αναθέτει μια δουλειά σε κάποιον υφιστάμενο χωρίς να γνωρίζει τις λεπτομέρειες. Χαροκόπειο Πανεπιστήμιο 3/47
4 Συναρτήσεις.1 Τα υποπροβλήματα είναι πιο εύκολα διαχειρίσιμα.2 Δημιουργούμε μια συνάρτηση για κάθε υποπρόβλημα.3 Ο κώδικας είναι πιο ευανάγνωστος και διαχειρίσιμος.4 Χρησιμοποιούμε υπάρχουσες συναρτήσεις σε καινούρια προγράμματα για την λύση νέων προβλημάτων.5 Δεν επαναλαμβάνουμε ίδιο κώδικα πολλές φορές στα προγράμματα μας.6 Αφαίρεση (abstraction): Κρύβουμε λεπτομέρειες που δεν είναι απαραίτητες στον προγραμματιστή Χαροκόπειο Πανεπιστήμιο 4/47
5 Συναρτήσεις.1 Τα υποπροβλήματα είναι πιο εύκολα διαχειρίσιμα.2 Δημιουργούμε μια συνάρτηση για κάθε υποπρόβλημα.3 Ο κώδικας είναι πιο ευανάγνωστος και διαχειρίσιμος.4 Χρησιμοποιούμε υπάρχουσες συναρτήσεις σε καινούρια προγράμματα για την λύση νέων προβλημάτων.5 Δεν επαναλαμβάνουμε ίδιο κώδικα πολλές φορές στα προγράμματα μας.6 Αφαίρεση (abstraction): Κρύβουμε λεπτομέρειες που δεν είναι απαραίτητες στον προγραμματιστή Χαροκόπειο Πανεπιστήμιο 4/47
6 Συναρτήσεις.1 Τα υποπροβλήματα είναι πιο εύκολα διαχειρίσιμα.2 Δημιουργούμε μια συνάρτηση για κάθε υποπρόβλημα.3 Ο κώδικας είναι πιο ευανάγνωστος και διαχειρίσιμος.4 Χρησιμοποιούμε υπάρχουσες συναρτήσεις σε καινούρια προγράμματα για την λύση νέων προβλημάτων.5 Δεν επαναλαμβάνουμε ίδιο κώδικα πολλές φορές στα προγράμματα μας.6 Αφαίρεση (abstraction): Κρύβουμε λεπτομέρειες που δεν είναι απαραίτητες στον προγραμματιστή Χαροκόπειο Πανεπιστήμιο 4/47
7 Συναρτήσεις.1 Τα υποπροβλήματα είναι πιο εύκολα διαχειρίσιμα.2 Δημιουργούμε μια συνάρτηση για κάθε υποπρόβλημα.3 Ο κώδικας είναι πιο ευανάγνωστος και διαχειρίσιμος.4 Χρησιμοποιούμε υπάρχουσες συναρτήσεις σε καινούρια προγράμματα για την λύση νέων προβλημάτων.5 Δεν επαναλαμβάνουμε ίδιο κώδικα πολλές φορές στα προγράμματα μας.6 Αφαίρεση (abstraction): Κρύβουμε λεπτομέρειες που δεν είναι απαραίτητες στον προγραμματιστή Χαροκόπειο Πανεπιστήμιο 4/47
8 Συναρτήσεις.1 Τα υποπροβλήματα είναι πιο εύκολα διαχειρίσιμα.2 Δημιουργούμε μια συνάρτηση για κάθε υποπρόβλημα.3 Ο κώδικας είναι πιο ευανάγνωστος και διαχειρίσιμος.4 Χρησιμοποιούμε υπάρχουσες συναρτήσεις σε καινούρια προγράμματα για την λύση νέων προβλημάτων.5 Δεν επαναλαμβάνουμε ίδιο κώδικα πολλές φορές στα προγράμματα μας.6 Αφαίρεση (abstraction): Κρύβουμε λεπτομέρειες που δεν είναι απαραίτητες στον προγραμματιστή Χαροκόπειο Πανεπιστήμιο 4/47
9 Συναρτήσεις.1 Τα υποπροβλήματα είναι πιο εύκολα διαχειρίσιμα.2 Δημιουργούμε μια συνάρτηση για κάθε υποπρόβλημα.3 Ο κώδικας είναι πιο ευανάγνωστος και διαχειρίσιμος.4 Χρησιμοποιούμε υπάρχουσες συναρτήσεις σε καινούρια προγράμματα για την λύση νέων προβλημάτων.5 Δεν επαναλαμβάνουμε ίδιο κώδικα πολλές φορές στα προγράμματα μας.6 Αφαίρεση (abstraction): Κρύβουμε λεπτομέρειες που δεν είναι απαραίτητες στον προγραμματιστή Χαροκόπειο Πανεπιστήμιο 4/47
10 Συναρτήσεις της Βιβλιοθήκης της C Η βιβλιοθήκη της C παρέχει πολλές συναρτήσεις. Μερικές τις έχουμε πετύχει ήδη:.1 printf() βοηθάει για να εκτυπώσουμε στην οθόνη.2 scanf() διαβάζει από το πληκτρολόγιο.3 getchar() διαβάζει ένα χαρακτήρα από το πληκτρολόγιο Όταν γράφουμε προγράμματα δεν πρέπει να ανακαλύπτουμε τον τροχό! Χρησιμοποιούμε τις έτοιμες βιβλιοθήκες συναρτήσεων. Χαροκόπειο Πανεπιστήμιο 5/47
11 Ορισμός Συνάρτησης σε C Παρακάτω βλέπουμε την γενική δομή ορισμού μιας συνάρτησης σε C: 1 return value type procedure name ( comma separated parameter list ) 2 { 3 declarations 4 5 statements 6 } Κάθε συνάρτηση έχει:.1 ένα μοναδικό όνομα.2 μια λίστα παραμέτρων.3 μια τιμή επιστροφής Χαροκόπειο Πανεπιστήμιο 6/47
12 Συνάρτηση Συνάρτηση παράµετροι κώδικας συνάρτησης έξοδος συνάρτησης Χαροκόπειο Πανεπιστήμιο 7/47
13 Παράδειγμα Ορισμού Συνάρτησης σε C Παρακάτω βλέπουμε τον ορισμό μιας συνάρτησης σε C η οποία υπολογίζει το τετράγωνο ενός αριθμού: 1 int square ( int x ) 2 { 3 return x * x ; 4 } η συνάρτηση επιστρέφει έναν ακέραιο η συνάρτηση παίρνει μια παράμετρο με όνομα x και τύπο ακέραιο Χαροκόπειο Πανεπιστήμιο 8/47
14 Συνάρτηση Υπολογισμού Τετραγώνου square παράµετρος ακέραιος x κώδικας έξοδος : ακέραιος µε τιµή x 2 συνάρτησης Χαροκόπειο Πανεπιστήμιο 9/47
15 Παράδειγμα Ορισμού Συνάρτησης σε C Ορισμός μιας συνάρτησης σε C η οποία υπολογίζει το μέγιστο δύο ακεραίων: 1 int max ( int x, int y ) 2 { 3 if ( x > y ) 4 return x ; 5 else 6 return y ; 7 } η συνάρτηση επιστρέφει έναν ακέραιο η συνάρτηση παίρνει δύο ακέραιες παραμέτρους x και y Χαροκόπειο Πανεπιστήμιο 10/47
16 Συνάρτηση Υπολογισμού Μεγίστου 2 Ακεραίων max παράµετρος ακέραιος x παράµετρος ακέραιος y κώδικας συνάρτησης έξοδος : ακέραιος µε την µέγιστη τιµή των x και y Χαροκόπειο Πανεπιστήμιο 11/47
17 Κώδικας Συνάρτησης Σε μια συνάρτηση γράφουμε κώδικα όπως ακριβώς γράφουμε στην συνάρτηση main(). 1 #include < s t d i o. h> 2 3 int max ( int a, int b, int c ) { 4 int max = a ; 5 if ( b > max ) 6 max = b ; 7 if ( c > max ) 8 max = c ; 9 return max ; 10 } int main ( ) { 13 printf ( "max of 1, 2 and 3 = %d", max ( 1, 2, 3 ) ) ; 14 } Χαροκόπειο Πανεπιστήμιο 12/47
18 Μεταβλητές Συνάρτησης 1 int max ( int a, int b, int c ) { 2 int max ; 3 4 max = a ; 5 if ( b > max ) 6 max = b ; 7 if ( c > max ) 8 max = c ; 9 10 return max ; 11 } Η παραπάνω συνάρτηση έχει 4 τοπικές μεταβλητές. τις παραμέτρους a, b και c την μεταβλητή max Η μεταβλητές αυτές είναι γνωστές μόνο μέσα στην συνάρτηση. Χαροκόπειο Πανεπιστήμιο 13/47
19 Κλήση Συνάρτησης Καλούμε μια συνάρτηση με το όνομα της και τιμές για τις παραμέτρους μέσα σε παρενθέσεις. 1 int main ( ) { 2 int i, j, k ; 3 int m ; 4 5 printf ( "Give 3 values\n" ) ; 6 7 scanf ( "%d%d%d", &i, &j, &k ) ; m = max ( i, j, k ) ; 11 printf ( "maximum = %d\n", m ) ; 12 } Την τιμή επιστροφής πρέπει είτε να την αναθέσουμε σε κάποια μεταβλητή ή να την χρησιμοποιήσουμε απευθείας π.χ να την τυπώσουμε με την printf(). Χαροκόπειο Πανεπιστήμιο 14/47
20 Τύπος Επιστροφής Όταν ορίζουμε μια συνάρτηση πρέπει να δηλώσουμε και τι τύπο δεδομένων θα επιστρέψει, π.χ 1 int max ( int x, int y ) { 2 return ( x>y)?x : y ; 3 } Τι κάνουμε όμως στην περίπτωση που δεν θέλουμε να επιστρέψουμε τίποτα; Χαροκόπειο Πανεπιστήμιο 15/47
21 Τύπος Επιστροφής Η C μας παρέχει την δεσμευμένη λέξη void που υποδηλώνει πως μια συνάρτηση δεν επιστρέφει τίποτα. 1 void printstars ( int n ) { 2 int i ; 3 4 for ( i = 0 ; i < n ; i++) 5 putchar ( '*' ) ; 6 7 return ; / * could be omitted * / 8 } Η παραπάνω συνάρτηση τυπώνει n αστερίσκους και δεν επιστρέφει τίποτα. Χαροκόπειο Πανεπιστήμιο 16/47
22 Επιστροφή από Συνάρτηση Με την δεσμευμένη λέξη return τερματίζει η εκτέλεση μιας συνάρτησης. 1 void printstars ( int n ) { 2 int i ; 3 4 for ( i = 0 ; i < n ; i++) 5 putchar ( '*' ) ; 6 7 return ; / * FUNCTION END HERE * / 8 9 for ( i = 0 ; i < n ; i++) 10 putchar ( '*' ) ; 11 } Ο κώδικας που ακολουθεί την return δεν θα εκτελεστεί ποτέ. Χαροκόπειο Πανεπιστήμιο 17/47
23 Ροή Προγράμματος Η ροή του προγράμματος αλλάζει όταν συναντήσει μια κλήση συνάρτησης f(a, b, c).1 πρώτα υπολογίζονται οι εκφράσεις που αντιστοιχούν στα ορίσματα a, b και c,.2 οι τιμές των εκφράσεων a, b και c αντιγράφονται στα ορίσματα της f με την ίδια σειρά,.3 ο έλεγχος μεταπηδά στην πρώτη εντολή της f,.4 οι εντολές της f εκτελούνται μέχρι να συναντηθεί return τέλος συνάρτησης, δηλαδή },.5 η κλήση f(a,b,c) αντικαθίσταται με την τιμή επιστροφής,.6 ο έλεγχος συνεχίζει με τον κώδικα που ακολουθεί την κλήση της συνάρτησης. Χαροκόπειο Πανεπιστήμιο 18/47
24 Κλήση Συνάρτησης 1 #include < s t d i o. h> 2 3 void printstars ( int n ) { 4 int i ; 5 for ( i = 0 ; i < n ; i++) 6 putchar ( '*' ) ; 7 } 8 9 int main ( ) { 10 int i ; 11 for ( i = 1 ; i <= 5 ; i++) { 12 printstars ( i ) ; 13 printf ( "\n" ) ; 14 } 15 } Μόλις καλέσουμε μια συνάρτηση το πρόγραμμα αρχίζει και εκτελεί τον κώδικα της συνάρτησης. Χαροκόπειο Πανεπιστήμιο 19/47
25 Κλήση Συνάρτησης 1 #include < s t d i o. h> 2 3 void printstars ( int n ) { 4 int i ; 5 for ( i = 0 ; i < n ; i++) 6 putchar ( '*' ) ; 7 } 8 9 int main ( ) { 10 int i ; 11 for ( i = 1 ; i <= 5 ; i++) { 12 printstars ( i ) ; 13 printf ( "\n" ) ; 14 } 15 } Πριν ξεκινήσει να εκτελεί τον κώδικα της συνάρτησης αναθέτει στην τοπική μεταβλητή n της συνάρτησης την τιμή που δώσαμε όταν καλέσαμε την συνάρτηση. Χαροκόπειο Πανεπιστήμιο 19/47
26 Κλήση Συνάρτησης 1 #include < s t d i o. h> 2 3 void printstars ( int n ) { 4 int i ; 5 for ( i = 0 ; i < n ; i++) 6 putchar ( '*' ) ; 7 } 8 9 int main ( ) { 10 int i ; 11 for ( i = 1 ; i <= 5 ; i++) { 12 printstars ( i ) ; 13 printf ( "\n" ) ; 14 } 15 } Η εκτέλεση μιας συνάρτησης τερματίζει είτε με την εντολή return είτε άμα φτάσει η εκτέλεση στο τέλος της συνάρτησης. Χαροκόπειο Πανεπιστήμιο 19/47
27 Κλήση Συνάρτησης 1 #include < s t d i o. h> 2 3 void printstars ( int n ) { 4 int i ; 5 for ( i = 0 ; i < n ; i++) 6 putchar ( '*' ) ; 7 } 8 9 int main ( ) { 10 int i ; 11 for ( i = 1 ; i <= 5 ; i++) { 12 printstars ( i ) ; 13 printf ( "\n" ) ; 14 } 15 } Μόλις τελειώσει η εκτέλεση της συνάρτησης, η εκτέλεση επιστρέφει στην γραμμή του προγράμματος που κάλεσε την συνάρτηση και συνεχίζει κανονικά. Χαροκόπειο Πανεπιστήμιο 19/47
28 Κλήση Συνάρτησης από Συνάρτηση 1 #include < s t d i o. h> 2 3 void printchar ( char c, int s ) { 4 int i ; 5 for ( i = 0 ; i < s ; i++) 6 putchar ( c ) ; 7 } 8 9 void printstarspaces ( int s, int n ) { 10 printchar ( ' ', s ) ; 11 printchar ( '*', n ) ; 12 printchar ( ' ', s ) ; 13 } int main ( ) { 16 int i, n = 9 ; 17 for ( i = 1 ; i <= n ; i+=2) { 18 printstarspaces ( ( n i ) / 2, i ) ; 19 printf ( "\n" ) ; 20 } 21 } Μέσα από μια συνάρτηση μπορούμε να καλέσουμε άλλες συναρτήσεις. Χαροκόπειο Πανεπιστήμιο 20/47
29 Κλήση Συνάρτησης από Συνάρτηση 1 #include < s t d i o. h> 2 3 void printchar ( char c, int s ) { 4 int i ; 5 for ( i = 0 ; i < s ; i++) 6 putchar ( c ) ; 7 } 8 9 void printstarspaces ( int s, int n ) { 10 printchar ( ' ', s ) ; 11 printchar ( '*', n ) ; 12 printchar ( ' ', s ) ; 13 } int main ( ) { 16 int i, n = 9 ; 17 for ( i = 1 ; i <= n ; i+=2) { 18 printstarspaces ( ( n i ) / 2, i ) ; 19 printf ( "\n" ) ; 20 } 21 } Τι τυπώνει αυτός ο κώδικας; Χαροκόπειο Πανεπιστήμιο 20/47
30 Αρχέτυπα και Ορισμοί 1 #include <stdio. h> 2 3 int max (int x, int y ) ; 4 5 int main ( ) { 6 int a, b ; 7 8 printf ( "Enter two integers: " ) ; 9 scanf ( "%d%d", &a, &b ) ; 10 printf ( "Maximum is: %d\n", max (a, b ) ) ; 11 } int max ( int x, int y ) { 14 if ( x > y ) 15 return x ; 16 else 17 return y ; 18 } με την χρήση αρχέτυπου μπορούμε να καλέσουμε μια συνάρτηση χωρίς να την έχουμε πλήρως ορίσει Χαροκόπειο Πανεπιστήμιο 21/47
31 Αρχέτυπα και Ορισμοί 1 #include <stdio. h> 2 3 int max (int x, int y ) ; 4 5 int main ( ) { 6 int a, b ; 7 8 printf ( "Enter two integers: " ) ; 9 scanf ( "%d%d", &a, &b ) ; 10 printf ( "Maximum is: %d\n", max (a, b ) ) ; 11 } int max ( int x, int y ) { 14 if ( x > y ) 15 return x ; 16 else 17 return y ; 18 } με την χρήση αρχέτυπου μπορεί μια συνάρτηση να είναι ορισμένη σε άλλο αρχείο κώδικα Χαροκόπειο Πανεπιστήμιο 21/47
32 Αρχέτυπα και Ορισμοί 1 #include <stdio. h> 2 3 int max (int x, int y ) ; 4 5 int main ( ) { 6 int a, b ; 7 8 printf ( "Enter two integers: " ) ; 9 scanf ( "%d%d", &a, &b ) ; 10 printf ( "Maximum is: %d\n", max (a, b ) ) ; 11 } int max ( int x, int y ) { 14 if ( x > y ) 15 return x ; 16 else 17 return y ; 18 } με την χρήση αρχέτυπου μπορεί μια συνάρτηση να είναι ήδη μεταγλωττισμένη Χαροκόπειο Πανεπιστήμιο 21/47
33 Αρχέτυπα και Ορισμοί 1 #include <stdio. h> 2 3 int max (int x, int y ) ; 4 5 int main ( ) { 6 int a, b ; 7 8 printf ( "Enter two integers: " ) ; 9 scanf ( "%d%d", &a, &b ) ; 10 printf ( "Maximum is: %d\n", max (a, b ) ) ; 11 } int max ( int x, int y ) { 14 if ( x > y ) 15 return x ; 16 else 17 return y ; 18 } με την χρήση αρχέτυπου ο μεταγλωττιστής έχει αρκετές πληροφορίες για να επικυρώσει πως η κλήση της συγκεκριμένης συνάρτησης είναι σωστή Χαροκόπειο Πανεπιστήμιο 21/47
34 Αρχεία Επικεφαλίδων Από την αρχή του μαθήματος λέμε στον προ-επεξεργαστή να διαβάσει το αρχείο "stdio.h". 1 #include < s t d i o. h> 2 3 int main ( ) { 4 / * code goes here * / 5 } Αυτό το αρχείο βρίσκεται σε κάποιο καλά ορισμένο μέρος στο σύστημα (διαφορετικό ανάλογα με το λειτουργικό σύστημα) και περιέχει αρχέτυπα συναρτήσεων για Είσοδο/Έξοδο (I/O). Χαροκόπειο Πανεπιστήμιο 22/47
35 Αρχεία Επικεφαλίδων Τι είναι μια βιβλιοθήκη; συλλογή συναρτήσεων και τύπων δεδομένων συνήθως παρέχει κάποια εξειδικευμένη λειτουργία ήδη μεταγλωττισμένος κώδικας παρέχει αρχεία επικεφαλίδων για να ξέρουμε τι δυνατότητες υπάρχουν (ονόματα συναρτήσεων, τύποι δεδομένων, κ.τ.λ) καλή τεκμηρίωση των δυνατοτήτων του κώδικα Η βιβλιοθήκη της C (standard library) παρέχει πάρα πολλές δυνατότητες. Χαροκόπειο Πανεπιστήμιο 23/47
36 Βασικά Αρχεία Επικεφαλίδων Βιβλιοθήκης C <stdio.h> αρχέτυπα συναρτήσεων για είσοδο/έξοδο <stdlib.h> αρχέτυπα συναρτήσεων για μετατροπή αριθμών σε κείμενο και αντίστροφα, κατανομή μνήμης, τυχαίους αριθμούς και άλλες βοηθητικές συναρτήσεις <math.h> αρχέτυπα συναρτήσεων για μαθηματικές συναρτήσεις <assert.h> προσθήκη διαγνωστικών για διόρθωση προγράμματος <ctype.h> έλεγχος ιδιοτήτων χαρακτήρων και μετατροπές από πεζά γράμματα σε κεφαλαία και αντιστρόφως Χαροκόπειο Πανεπιστήμιο 24/47
37 Μαθηματικές Συναρτήσεις και ο Τύπος double Ο τύπος double όπως και ο τύπος float είναι μια προσεγγιστική αναπαράσταση των πραγματικών αριθμών. Έχει μεγαλύτερο μέγεθος και μπορεί να αναπαραστήσει περισσότερους αριθμούς. Χαροκόπειο Πανεπιστήμιο 25/47
38 Μαθηματικές Συναρτήσεις και ο Τύπος double Η βιβλιοθήκη της C ορίζει μέσω του <math.h> διάφορες μαθηματικές συναρτήσεις, όπως 1 double sqrt ( double x ) ; 2 3 double exp ( double x ) ; 4 5 double log ( double x ) ; 6 7 double pow ( double x, double y ) ; 8 9 double sin ( double x ) ; και άλλες παρόμοιες. Πολλές από αυτές υπάρχουν και για τον τύπο float. Χαροκόπειο Πανεπιστήμιο 26/47
39 Κλήση Συναρτήσεων και Παράμετροι Οι γλώσσες προγραμματισμού παρέχουν 2 τρόπους κλήσης μιας συνάρτησης:.1 κλήση μέσω τιμής (call by value).2 κλήση μέσω αναφοράς (call by reference) Χαροκόπειο Πανεπιστήμιο 27/47
40 Κλήση Μέσω Τιμής Call by Value Στην κλήση μέσω τιμής, πριν κληθεί μια συνάρτηση γίνεται ένα αντίγραφο όλων των μεταβλητών που έχουν δοθεί ως παράμετροι. Η συνάρτηση καλείτε με παραμέτρους αυτά τα αντίγραφα. Με το τέλος της συνάρτησης τα αντίγραφα αυτά σβήνονται από την μνήμη. Χαροκόπειο Πανεπιστήμιο 28/47
41 Κλήση Μέσω Αναφοράς Call by Reference Στην κλήση μέσω αναφοράς η συνάρτηση καλείτε με τις πραγματικές μεταβλητές ως παραμέτρους. Η γλώσσα C δεν υποστηρίζει κλήση μέσω αναφοράς, αλλά μπορεί να την προσομοιώσει. Δεν έχουμε ακόμη τις απαραίτητες γνώσεις για να δούμε τις λεπτομέρειες. Χαροκόπειο Πανεπιστήμιο 29/47
42 Κλήση Μέσω Τιμής Call by Value 1 #include < s t d i o. h> 2 3 void increment ( int x ) { 4 x++; 5 } 6 7 int main ( ) { 8 int y = 5 ; 9 10 printf ( "y = %d\n", y ) ; 11 increment ( y ) ; 12 printf ( "y = %d\n", y ) ; 13 } Χαροκόπειο Πανεπιστήμιο 30/47
43 Κλήση Μέσω Τιμής Call by Value 1 #include < s t d i o. h> 2 3 void increment ( int x ) { 4 x++; 5 } 6 7 int main ( ) { 8 int y = 5 ; 9 10 printf ( "y = %d\n", y ) ; 11 increment ( y ) ; 12 printf ( "y = %d\n", y ) ; 13 } Και τα δύο printf() τυπώνουν την τιμή 5 μιας και πριν κληθεί η συνάρτηση increment() δημιουργείτε ένα αντίγραφο της μεταβλητής y. Χαροκόπειο Πανεπιστήμιο 30/47
44 Κλήση Μέσω Αναφοράς Call by Reference Η γλώσσα C δεν υποστηρίζει κλήση μέσω αναφοράς, αλλά μπορεί να την προσομοιώσει Δεν έχουμε ακόμη τις απαραίτητες γνώσεις για να δούμε τις λεπτομέρειες. Το έχουμε δει όμως στην πράξη όταν καλούμε την συνάρτηση scanf(): 1 #include < s t d i o. h> 2 3 int main ( ) { 4 int x ; 5 6 printf ( "Give a number\n" ) ; 7 scanf ( "%d", &x ) ; 8 9 / *... * / 10 } Χαροκόπειο Πανεπιστήμιο 31/47
45 Κανόνες Εμβέλειας Μεταβλητών Μία μεταβλητή είναι γνωστή στο μπλόκ που δηλώνεται: 1 #include < s t d i o. h> 2 3 void fun ( ) { 4 int x = 4 ; 5 / * a i s NOT present here * / 6 } 7 8 void more fun ( ) { 9 int a = 5 ; 10 / * x i s not present here * / 11 } int main ( ) { 14 / * a or x are NOT present here * / / *... * / 17 } Μία μεταβλητή έχει εμβέλεια μέχρι να κλείσει το μπλοκ ({ }). Χαροκόπειο Πανεπιστήμιο 32/47
46 Κανόνες Εμβέλειας Μεταβλητών Οι παράμετροι των συναρτήσεων θεωρούνται τοπικές μεταβλητές των συναρτήσεων και άρα είναι γνωστές μόνο στο μπλοκ της εκάστοτε συνάρτησης: 1 #include < s t d i o. h> 2 3 int min ( int x, int y ) { 4 / * a or b are NOT present here * / 5 return ( x<y)?x : y ; 6 } 7 8 int max ( int a, int b ) { 9 / * x or y are NOT present here * / 10 return ( a>b)?a : b ; 11 } int main ( ) { 14 / * a, b, x or y are not present here * / / *... * / 17 } Μία μεταβλητή έχει εμβέλεια μέχρι να κλείσει το μπλοκ ({ }). Χαροκόπειο Πανεπιστήμιο 33/47
47 Κανόνες Εμβέλειας Μεταβλητών Τοπικές μεταβλητές με ίδιο όνομα είναι διαφορετικές μεταβλητές. 1 #include < s t d i o. h> 2 3 int fun ( int x ) { 4 int a = 1 ; 5 6 / * a i s d i f f e r e n t from a o f morefun * / 7 } 8 9 int morefun ( int y ) { 10 int a = 2 ; / * a i s d i f f e r e n t from a o f fun * / 13 } int main ( ) { 16 / * no v a r i a b l e a i s present here * / 17 } Χαροκόπειο Πανεπιστήμιο 34/47
48 Κανόνες Εμβέλειας Μεταβλητών Μπορούμε να δηλώσουμε μεταβλητές έξω από οποιαδήποτε συνάρτηση (εμβέλεια αρχείου). 1 #include < s t d i o. h> 2 3 void fun ( ) { 4 / * a i s NOT present here * / 5 } 6 7 int a = 5 ; 8 9 void more fun ( ) { 10 / * a IS present here * / 11 } int main ( ) { 14 / * a IS present here * / 15 / * some code * / 16 } Μια μεταβλητή με εμβέλεια αρχείου είναι γνωστή από το σημείο που δηλώνεται και κάτω. Χαροκόπειο Πανεπιστήμιο 35/47
49 Κανόνες Εμβέλειας Μεταβλητών Σε περίπτωση που δηλωθεί μια τοπική μεταβλητή με ίδιο όνομα με μια μεταβλητή που έχει εμβέλεια αρχείου (global variable) τότε η τοπική επικαλύπτει την καθολική μεταβλητή. 1 #include <stdio. h> 2 3 int a = 5 ; 4 5 void fun ( ) { 6 int a = 200; 7 / * a here i s 200 and d i f f e r e n t from g l o b a l a * / 8 a++; 9 } void morefun ( ) { 12 / * a here has value 5 * / 13 a++; 14 } int main ( ) { 17 fun ( ) ; 18 morefun ( ) ; / * a here has value 6 * / 21 } Χαροκόπειο Πανεπιστήμιο 36/47
50 Στατικές Μεταβλητές Λέξη κλειδί static Μπορούμε να δηλώσουμε πως μια μεταβλητή είναι στατική: 1 static int x ; 2 static float f ; Το αποτέλεσμα εξαρτάται από την εμβέλεια της δήλωσης μας. Χαροκόπειο Πανεπιστήμιο 37/47
51 Καθολικές Στατικές Μεταβλητές Μπορούμε να δηλώσουμε πως μια καθολική μεταβλητή (εμβέλεια αρχείου) είναι στατική: 1 #include < s t d i o. h> 2 3 static int x ; 4 5 int main ( ) { 6 / *... * / 7 } Το οποίο σημαίνει πως η μεταβλητή έχει εμβέλεια μόνο το αρχείο στο οποίο δηλώνεται. Δεν έχουμε μιλήσει ακόμη για πολλαπλά αρχεία. Είναι γενικά δυνατό να ορίζουμε μια μεταβλητή σε ένα αρχείο C και να την χρησιμοποιούμε σε άλλο αρχείο. Χαροκόπειο Πανεπιστήμιο 38/47
52 Τοπικές Στατικές Μεταβλητές Έχουν την τοπική τους εμβέλεια αλλά έχουν στατική διάρκεια αποθήκευσης. Μόλις αρχικοποιηθούν παραμένουν στη μνήμη για όλη την διάρκεια του προγράμματος. 1 #include < s t d i o. h> 2 3 void foo ( ) { 4 static int x = 0 ; 5 6 printf ( "function foo has been called %d time(s)\n", ++x ) ; 7 } 8 9 int main ( ) { 10 int i ; 11 for ( i = 0 ; i < 100; i++) { 12 foo ( ) ; 13 } 14 } Κάθε φορά που καλούμε την συνάρτηση foo χρησιμοποιείται η ίδια μεταβλητή x η οποία διατηρεί την τιμή της. Χαροκόπειο Πανεπιστήμιο 39/47
53 Αναδρομή Αναδρομή είναι η διαδικασία που μια συνάρτηση καλεί τον εαυτό της. Πολλές φορές μπορούμε να υλοποιήσουμε κάτι πολύ πιο εύκολα χρησιμοποιώντας αυτήν την τεχνική. Χαροκόπειο Πανεπιστήμιο 40/47
54 Υπολογισμός του Παραγοντικού Ο μαθηματικός τύπος του παραγοντικού είναι αναδρομικός: { 1 if n = 0, n! = n (n 1)! if n > 0. Μπορούμε να γράψουμε απευθείας αυτό τον τύπο σε C: 1 int factorial ( int n ) { 2 if ( n <= 0) 3 return 1 ; 4 return n * factorial ( n 1); 5 } Χαροκόπειο Πανεπιστήμιο 41/47
55 Σειρά Fibonacci Η σειρά Fibonacci 0, 1, 1, 2, 3, 5, 8, 13, 21, 34,... αρχίζει με το 0 και το 1 και έχει την ιδιότητα πως κάθε επόμενος αριθμός είναι το άθροισμα των δύο προηγούμενων αριθμών Fibonacci. 1 #include <stdio. h> 2 3 long fibonacci (long ) ; 4 5 int main ( ) { 6 long result, number ; 7 8 printf ( "Enter an integer: " ) ; 9 scanf ( "%ld", &number ) ; 10 result = fibonacci (number ) ; 11 printf ( "Fibonacci( %ld ) = %ld\n", number, result ) ; 12 } long fibonacci ( long n ) { 15 if ( n == 0 n == 1) 16 return n ; 17 return fibonacci ( n 1) + fibonacci ( n 2); 18 } Χαροκόπειο Πανεπιστήμιο 42/47
56 Σειρά Fibonacci f(3) return f(2) + f(1) return f(1) + f(0) return 1 return 1 return 0 Χαροκόπειο Πανεπιστήμιο 43/47
57 Επανάληψη με Αναδρομή Το γεγονός πως η κλήση των συναρτήσεων γίνεται με με call-by-value, επιτρέπει την χρήση της αναδρομής για να κάνουμε επανάληψη. 1 #include < s t d i o. h> 2 3 void backwards ( int x ) { 4 if ( x < 0) 5 return ; 6 printf ( "%d ", x ) ; 7 backwards ( x 1); 8 } 9 10 int main ( ) { 11 backwards ( ) ; 12 } Χαροκόπειο Πανεπιστήμιο 44/47
58 Επανάληψη με Αναδρομή Το γεγονός πως η κλήση των συναρτήσεων γίνεται με με call-by-value, επιτρέπει την χρήση της αναδρομής για να κάνουμε επανάληψη. 1 #include < s t d i o. h> 2 3 void backwards ( int x ) { 4 if ( x < 0) 5 return ; 6 printf ( "%d ", x ) ; 7 backwards ( x 1); 8 } 9 10 int main ( ) { 11 backwards ( ) ; 12 } Το παραπάνω πρόγραμμα τυπώνει Χαροκόπειο Πανεπιστήμιο 44/47
59 Επανάληψη με Αναδρομή Το γεγονός πως η κλήση των συναρτήσεων γίνεται με με call-by-value, επιτρέπει την χρήση της αναδρομής για να κάνουμε επανάληψη. 1 #include < s t d i o. h> 2 3 void backwards ( int x ) { 4 if ( x < 0) 5 return ; 6 printf ( "%d ", x ) ; 7 backwards ( x 1); 8 printf ( "%d ", x ) ; 9 } int main ( ) { 12 backwards ( ) ; 13 } Το παραπάνω πρόγραμμα τυπώνει Χαροκόπειο Πανεπιστήμιο 45/47
60 Επανάληψη με Αναδρομή Έστω ο παρακάτω κώδικας που υπολογίζει το άθροισμα από 0 έως n. 1 #include < s t d i o. h> 2 3 int main ( ) { 4 int i, n, sum ; 5 6 scanf ( "%d", &n ) ; 7 8 for ( i = 0, sum = 0 ; i <= n ; i++) { 9 sum += i ; 10 } printf ( "sum = %d\n", sum ) ; 13 } Μπορούμε να το υλοποιήσουμε με την χρήση μίας αναδρομικής συνάρτησης, χωρίς επανάληψη; Χαροκόπειο Πανεπιστήμιο 46/47
61 Επανάληψη με Αναδρομή Ο παρακάτω κώδικας υπολογίζει το άθροισμα από 0 έως n με την χρήση μιας αναδρομικής συνάρτησης. 1 #include < s t d i o. h> 2 3 int sum ( int i ) { 4 if ( i == 0) 5 return i ; 6 return sum ( i 1) + i ; 7 } 8 9 int main ( ) { 10 int n ; scanf ( "%d", &n ) ; printf ( "sum = %d\n", sum ( n ) ) ; 15 } Χαροκόπειο Πανεπιστήμιο 47/47
Εισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα
Διαβάστε περισσότεραΗ γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C Οι συναρτήσεις τι είναι Πρόκειται για ανεξάρτητα τμήματα ενός προγράμματος (υποπρογράμματα) που επιτελούν συγκεκριμένες εργασίες. Καλούνται από το κυρίως
Διαβάστε περισσότεραΗ γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C Οι συναρτήσεις τι είναι Πρόκειται για ανεξάρτητα τμήματα ενός προγράμματος (υποπρογράμματα) που επιτελούν συγκεκριμένες εργασίες. Καλούνται από το κυρίως
Διαβάστε περισσότεραΚεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)
Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II (Διάλεξη 12) 12-1 Ανασκόπηση Δομής Προγράμματος με Συναρτήσεις 1 void PrintMessage (); Πρότυπο (Δήλωση) Συνάρτησης (Δηλώνουν τι επιπλέον συναρτήσεις θα χρησιμοποιήσουμε
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16
Διαβάστε περισσότεραΕισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ
Εισαγωγή στον Προγραµµατισµό Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Συναρτήσεις 19.11.16 Β. Ντουφεξή 2 Προβλήματα: Οσο μεγαλώνουν τα προγράμματα, γίνονται πιο πολύπλοκα.
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε
Διαβάστε περισσότεραΠρογραμματισμός Ι. Εγγραφές. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Εγγραφές Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Η Ανάγκη Ομαδοποίησης Πολλές φορές έχουμε πληροφορίες διαφορετικού τύπου οι οποίες όμως έχουν μεγάλη
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις
Διαβάστε περισσότεραΠρογραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Προχωρημένα Θέματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανακατεύθυνση Εισόδου/Εξόδου Συνήθως η τυπική είσοδος ενός προγράμματος (stdin) προέρχεται
Διαβάστε περισσότεραΜεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 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) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 12-1 Ανασκόπηση οµής Προγράµµατος µε Συναρτήσεις #include 1 void PrintMessage (); Πρότυπο ( ήλωση) Συνάρτησης (
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δείκτες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Τι είναι ο δείκτης Ένας δείκτης είναι μια μεταβλητή που περιέχει μια διεύθυνση μνήμης. Θυμηθείτε πως
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Ορισμός
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Συναρτήσεις
Διαβάστε περισσότεραΠρογραμματισμός Η/Y. Διάλεξη 6 η : Συναρτήσεις
Προγραμματισμός Η/Y Διάλεξη 6 η : Συναρτήσεις Η C είναι συναρτησιακή γλώσσα προγραμματισμού Ως τώρα όλα τα προγράμματα που είδαμε ήταν γραμμένα μέσα στην main Τι θα κάνουμε όμως αν Το πρόγραμμα είναι τεράστιο
Διαβάστε περισσότεραΔείκτες (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 Δήλωση Δήλωση Τύπος
Διαβάστε περισσότεραΗ βασική συνάρτηση προγράμματος main()
Η βασική συνάρτηση προγράμματος main() HEADER FILES main(){ ΔΗΛΩΣΕΙΣ ΜΕΤΑΒΛΗΤΩΝ ΕΝΤΟΛΕΣ (σειριακές, επιλογής ή επανάληψης) ΕΠΙΣΤΡΕΦΟΜΕΝΟΣ ΤΥΠΟΣ (return 0;) Συναρτήσεις Η συνάρτηση είναι ένα υποπρόγραμμα
Διαβάστε περισσότερα3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις
3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα
Διαβάστε περισσότερα7. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΣΥΝΑΡΤΗΣΕΙΣ
7. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΣΥΝΑΡΤΗΣΕΙΣ 7.1 Ορισμός και δήλωση συνάρτησης Μία συνάρτηση είναι μία ενότητα οδηγιών οι οποίες μαζί εκτελούν μία συγκεκριμένη εργασία. Παρέχει έναν κατάλληλο τρόπο να μπορέσουμε να κάνουμε
Διαβάστε περισσότεραΚεφάλαιο 3.1, : Συναρτήσεις I. (Διάλεξη 11)
Κεφάλαιο 3.1,3.3-3.4: Συναρτήσεις I (Διάλεξη 11) 11-1 Μη-Δομημένος Προγραμματισμός Το πρόγραμμα στα αριστερά δεν είναι Αρθρωτό (δεν έχει σωστή δομή). Όλη η λειτουργικότητα ορίζεται μέσα στην main. Το αποτέλεσμα
Διαβάστε περισσότεραΔιάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος
Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15
Διαβάστε περισσότεραΗβασικήσυνάρτηση προγράμματος main()
Ηβασικήσυνάρτηση προγράμματος main() HEADER FILES main(){ ΔΗΛΩΣΕΙΣ ΜΕΤΑΒΛΗΤΩΝ ΕΝΤΟΛΕΣ (σειριακές, επιλογής ή επανάληψης) ΕΠΙΣΤΡΕΦΟΜΕΝΟΣ ΤΥΠΟΣ (return 0;) Συναρτήσεις Ησυνάρτησηείναι ένα υποπρόγραμμα που
Διαβάστε περισσότεραΣΥΝΑΡΤΗΣΕΙΣ (Functions)
ΣΥΝΑΡΤΗΣΕΙΣ (Functions) Δομή Συνάρτησης τύπος όνομα ( λίστα τυπικών παραμέτρων ) Δηλώσεις μεταβλητών εντολή_1 εντολή_2 : εντολή_ν Σώμα της συνάρτησης Δομή της Λίστας Τυπικών Παραμέτρων τύπος_1 τύπος_2
Διαβάστε περισσότεραΠρογραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 9: Συναρτήσεις Ορισμός συναρτήσεων () { /* δήλωση μεταβλητών */ /* εντολές ελέγχου/επεξεργασίας */ o Μια συνάρτηση ορίζεται δίνοντας
Διαβάστε περισσότεραΣυναρτήσεις. Εισαγωγή
Συναρτήσεις Εισαγωγή Η χρήση συναρτήσεων στα προγράμματα της γλώσσας C είναι πολύ σημαντική καθώς μας επιτρέπει τη διάσπαση ενός προβλήματος σε μικρότερα υποπροβλήματα τα οποία μπορούμε να επιλύσουμε πιο
Διαβάστε περισσότεραΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 2 Επιμέλεια: Βασίλης Παλιουράς, Αναπληρωτής Καθηγητής Ευάγγελος Δερματάς, Αναπληρωτής Καθηγητής Σταύρος Νούσιας, Βοηθός Ερευνητή Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών
Διαβάστε περισσότερα12. Συναρτήσεις (Μέρος ΙI)
Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 12. Συναρτήσεις (Μέρος ΙI) Ιωάννης Κατάκης Σήμερα o Συναρτήσεις χωρίς παραμέτρους o Συναρτήσεις με παραμέτρους Χωρίς επιστροφή τιμής Με επιστροφή τιμής o Εμβέλεια
Διαβάστε περισσότεραPascal. 15 Νοεμβρίου 2011
Pascal 15 Νοεμβρίου 011 1 Procedures σε Pascal Στην Pascal μπορούμε να ορίσουμε διαδικασίες (procedures). Αυτές είναι ομάδες εντολών οι οποίες έχουν ένα όνομα. Γράφοντας το όνομα μιας διαδικασίας μπορούμε
Διαβάστε περισσότεραΣε γενικές γραμμές, είναι καλή πρακτική να γράϕουμε προγράμματα C που αποτελούνται από πολλές και μικρές συναρτήσεις, παρά από λίγες και μεγάλες.
58 Δομή ενός προγράμματος C Συναρτήσεις Μία συνάρτηση C είναι ένα αυτόνομο, πακεταρισμένο τμήμα προγράμματος που ϕέρει σε πέρας μία διαδικασία η οποία έχει σαϕείς προδιαγραϕές εισόδου και εξόδου και συγκεκριμένο
Διαβάστε περισσότεραΠρογραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Είσοδος/Έξοδος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Είσοδος/Έξοδος Μέχρι τώρα όποτε θέλαμε να διαβάσουμε χρησιμοποιούσαμε πάντα
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Συναρτήσεις της C Τα Λοιπά Στοίβα και μηχανισμός κλήσης Αναδρομικές συναρτήσεις Στατικές μεταβλητές Άλλα θέματα Μηχανισμός
Διαβάστε περισσότεραΑσκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)
Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις Επανάληψη για την ενδιάμεση εξέταση (Διάλεξη 13) 13-1 Πρόβλημα 1 Γράψετε τον ορισμό μίας συνάρτησης η οποία υπολογίζει το μέγιστο 2 ακεραίων αριθμών και
Διαβάστε περισσότεραΜεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 9 Συναρτήσεις Μέρος I Θέματα ιάλεξης Μη- ομημένος
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Διαβάστε περισσότεραΠρογραµµατισµός. Αναδροµή (1/2)
Προγραµµατισµός Αναδροµή (1/2) Προγραµµατισµός Κλήσεις Συναρτήσεων Όταν καλείται µια συνάρτηση, πρέπει Να θυµάται σε ποιο σηµείο του προγράµµατος θα επιστρέψει Να δεσµεύσει χώρο για την τιµή που θα επιστρέψει
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 10: Συναρτήσεις Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Διαβάστε περισσότεραΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ
ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας
Διαβάστε περισσότεραPascal. 26 Οκτωβρίου 2011
Pascal 6 Οκτωβρίου 011 1 Procedures σε Pascal Στην Pascal μπορούμε να ορίσουμε διαδικασίες (procedures). Αυτές είναι ομάδες εντολών οι οποίες έχουν ένα όνομα. Γράφοντας το όνομα μιας διαδικασίας μπορούμε
Διαβάστε περισσότεραΔιάλεξη 5η: Εντολές Επανάληψης
Διάλεξη 5η: Εντολές Επανάληψης Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Εντολές Επανάληψης CS100, 2015-2016
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Ψευδοτυχαίοι Αριθμοί Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Ψευδοτυχαίοι Αριθμοί Μια γεννήτρια ψευδοτυχαίων αριθμών είναι
Διαβάστε περισσότεραΣτόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή
Στόχοι και αντικείμενο ενότητας Η έννοια του Τελεστή #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Εκφράσεις Προτεραιότητα Προσεταιριστικότητα Χρήση παρενθέσεων Μετατροπές Τύπων Υπονοούμενες και ρητές μετατροπές
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων
Διαβάστε περισσότεραΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β
ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β 1. (10 μον.) Απαντήστε σωστό ή λάθος στις παρακάτω ερωτήσεις (αʹ) _2togo είναι έγκυρο όνομα μεταβλητής (βʹ) Αν p είναι δείκτης στο πρώτο στοιχείο
Διαβάστε περισσότεραΗΥ-150. Προγραμματισμός
ΗΥ-150 Προγραμματισμός Συναρτήσεις Προγραμματισμός Αλγόριθμοι / Προγράμματα Λύνουμε ένα πρόβλημα εκτελώντας μια ακολουθία από εντολές σε συγκεκριμένη σειρά Αλγόριθμος: καθορίζει τις εντολές και τη σειρά
Διαβάστε περισσότεραΗ γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η
Διαβάστε περισσότεραΠρογραμματισμό για ΗΜΥ
ΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 5 Συναρτήσεις Θέματα ιάλεξης Χρησιμότητα Συναρτήσεων Σύνταξη
Διαβάστε περισσότεραΕισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C
Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 3: Συναρτήσεις printf() και scanf() Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΜεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 13 Πίνακες & Συναρτήσεις Εισαγωγή Στις προηγούμενες
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python
ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής
Διαβάστε περισσότεραΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΛΟΓΙΣΜΙΚΟΥ
Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΛΟΓΙΣΜΙΚΟΥ Εμβέλεια Μεταβλητών Εμβέλεια Μεταβλητής Οι μεταβλητές που έχουμε δει μέχρι τώρα είναι
Διαβάστε περισσότεραΠρογραμματισμός ΙI (Θ)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017
Διαβάστε περισσότεραΠρογραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών
Χαρακτήρες Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Προγραμματισμός Δ. Τσελίκας Ι Χαρακτήρες - Εισαγωγή Έως τώρα έχουμε κατά κύριο λόγο χρησιμοποιήσει τους αριθμητικούς τύπους
Διαβάστε περισσότεραΠρογραμματισμός Ι. Προεπεξεργαστής. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Προεπεξεργαστής Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαδικασία Μεταγλώττισης πρόγραµµα επεξεργασίας κειµένου if a
Διαβάστε περισσότεραΗ τιµή εξόδου κάποιας συνάρτησης µπορεί να είναι δείκτης, π.χ.
είκτες ως Τιµές Εξόδου Η τιµή εξόδου κάποιας συνάρτησης µπορεί να είναι δείκτης, π.χ. int *select (int f (int, int), int *add1, int *add2) { if (f (*add1, *add2)) return add1; else return add2; Η συνάρτηση
Διαβάστε περισσότεραΗ γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Οι δείκτες στη C Η έννοια του δείκτη Την έννοια του δείκτη τη συναντήσαμε σε προηγούμενα μαθήματα. Η συνάρτηση scanf(), καταχωρίζει τιμές σε μεταβλητές χρησιμοποιώντας τον τελεστή
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ. Ενότητα 7: Συναρτήσεις
Προγραμματισμός Η/Υ Ενότητα 7: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Κατανόηση του ορισμού και της κλήση
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Δομές Δεδομένων
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Πέμπτη (5 η ) τρίωρη διάλεξη. Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/
Διαβάστε περισσότεραΠρογραμματισμός Ι. Συναρτήσεις. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών
Συναρτήσεις Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Προγραμματισμός Δ. Τσελίκας Ι Συναρτήσεις - Εισαγωγή Μία συνάρτηση είναι ένα ανεξάρτητο τμήμα κώδικα, που εκτελεί μία
Διαβάστε περισσότεραΠρογραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Κλάσεις και Αντικείμενα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Κλάσεις Η γενική μορφή μιας κλάσης είναι η εξής: class class-name { private data and
Διαβάστε περισσότεραΠ. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7
Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ❶ Προετοιµασία για το 1 ο Εργαστήριο
Διαβάστε περισσότεραΠρογραμματισμό για ΗΜΥ
ΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 3 Εισαγωγή στην C Θέματα ιάλεξης Σύνταξη και Σημασιολογία
Διαβάστε περισσότεραΚεφάλαιο 3.1, : Συναρτήσεις I. ( ιάλεξη 11) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
Κεφάλαιο 3.1,3.3-3.4: Συναρτήσεις I ( ιάλεξη 11) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 11-1 Μη- οµηµένος Προγραµµατισµός Το πρόγραµµα στα αριστερά δεν είναι Αρθρωτό (δεν έχει σωστή δοµή). Όλη η λειτουργικότητα
Διαβάστε περισσότεραC Programming EPL032 Maria Stavrinou Ioannou Εισαγωγή στη Γλώσσα C
Εισαγωγή στη Γλώσσα C Η C είναι µια δοµηµένη (structured ) γλώσσα ηλαδή ένα C πρόγραµµα αποτελείται από υποπρογράµµατα τα οποία ονοµάζονται συναρτήσεις ( functions ), όπου η κάθε συνάρτηση εκτελεί µια
Διαβάστε περισσότεραΚεφάλαιο 7: Υποπρογράμματα. Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών
Κεφάλαιο 7: Υποπρογράμματα Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Ορισμός Αφαίρεση με χρήση υποπρογραμμάτων (subprogram abstraction) είναι η αντιστοίχιση ενός συνόλου εισόδων σε ένα σύνολο εξόδων
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 11 η Συναρτήσεις Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15
Διαβάστε περισσότεραΠρογραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 3: Είσοδος / Έξοδος, Βασικοί Τύποι, Δήλωση Μεταβλητών Ένα Ακόμα Παράδειγμα #include int main(int argc, char* argv[]) { } putchar('h'); putchar('e'); putchar('l');
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Συναρτήσεις (Functions) Οι βασικές λειτουργικές ενότητες ενός προγράμματος C Καλούνται με ορίσματα που αντιστοιχούνται σε
Διαβάστε περισσότεραΠεριεχόμενα. Πρόλογος... 21
Περιεχόμενα Πρόλογος... 21 Κεφάλαιο 1: Εισαγωγή στον προγραμματισμό... 25 Εισαγωγή...27 Πώς να διαβάσετε αυτό το βιβλίο...27 Η δομή των κεφαλαίων...28 Γιατί να μάθω προγραμματισμό;...31 Γιατί να μάθω C;...31
Διαβάστε περισσότεραΚεφάλαιο 7: Υπορουτίνες
Κεφάλαιο 7: Υπορουτίνες Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Ορισμός Αφαίρεση με χρήση υπορουτινών (subroutine abstraction) είναι η αντιστοίχιση ενός συνόλου εισόδων σε ένα σύνολο εξόδων που μπορεί
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 10: Συναρτήσεις Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό με C++
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στον Προγραμματισμό με C++ Ενότητα # 6: Συναρτήσεις Κωνσταντίνος Κουκουλέτσος Τμήμα Αυτοματισμού Άδειες Χρήσης Το παρόν
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 3ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΕΚΤΥΠΩΣΗ ΚΕΙΜΕΝΟΥ Ένα κείμενο μπορεί να εκχωρηθεί ως τιμή μιας μεταβλητής
Διαβάστε περισσότεραΗ πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης
Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται
Διαβάστε περισσότεραΣυναρτήσεις και διαδικασίες
Συναρτήσεις και διαδικασίες Χρήση συναρτήσεων βιβλιοθήκης Εντολή κλήσης της συνάρτησης printf: printf( Hello, world\n ); Μια συνάρτηση είναι ένα σύνολο εντολών που έχουν ομαδοποιηθεί και τους έχει αποδοθεί
Διαβάστε περισσότεραΥπολογισμός - Εντολές Επανάληψης
Προγραμματισμός Η/Υ Ι Υπολογισμός - Εντολές Επανάληψης ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συνεχίσουμε τη συζήτησή μας για τα βασικά στοιχεία
Διαβάστε περισσότεραΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2017-2018 ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ ΜΑΘΗΜΑ: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Εισαγωγή ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ Ένα πρόγραμμα σε C περιλαμβάνει μια ή περισσότερες συναρτήσεις
Διαβάστε περισσότεραΠαρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.
Ερωτήσεις προόδου C Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα. #include // δίνει οδηγία στον compiler να // συμπεριλάβει την βιβλιοθήκη stdio int
Διαβάστε περισσότεραΔιάλεξη 15η: Αναδρομή, μέρος 1ο
Διάλεξη 15η: Αναδρομή, μέρος 1ο Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Αναδρομή I CS100, 2016-2017
Διαβάστε περισσότεραΗ γλώσσα προγραμματισμού C Οι συναρτήσεις στη C (2)
Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C (2) Κατηγορίες μνήμης εκτελέσιμου προγράμματος Στις καθολικές και στατικές μεταβλητές οι χώροι μνήμης δεσμεύονται κατά την διάρκεια της μεταγλώττισης. Οι
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΕισαγωγή στον δομημένο προγραμματισμό
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στον δομημένο προγραμματισμό Ενότητα 9 η : Συναρτήσεις Αν. καθηγητής Στεργίου Κώστας e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών
Διαβάστε περισσότεραΠρογραμματισμός ΙI (Θ)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ. Ενότητα 3: Top Down Σχεδιασμός
Προγραμματισμός Η/Υ Ενότητα 3: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Κατανόηση της έννοιας της διεργασίας
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 5: H ΓΛΩΣΣΑ C++ Συναρτήσεις - Μεταβλητές ΔΙΔΑΣΚΟΝΤΕΣ: Iωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Συναρτήσεις / Μεταβλητές
Διαβάστε περισσότεραΕισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python
Εισαγωγή στην Επιστήμη Υπολογιστών Εισαγωγή στην Python Β Μέρος Δομή Ελέγχου if-elif-else Επαναληπτική Δομή Ελέγχου while Επαναληπτική Δομή Ελέγχου for Αλληλεπίδραση χρήστη-προγράμματος Συναρτήσεις Η δομή
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Παρατηρήσεις
Διαβάστε περισσότεραMaster Mind εφαρμογή στη γλώσσα προγραμματισμού C
Master Mind εφαρμογή στη γλώσσα προγραμματισμού C Φεβρουάριος/Μάρτιος 2013 v. 0.1 Master-mind: κανόνες παιχνιδιού Στο master mind χρειάζεται να παράγονται κάθε φορά 4 τυχαία σύμβολα από ένα πλήθος 6 διαφορετικών
Διαβάστε περισσότερα11. Συναρτήσεις (Μέρος Ι)
Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 11. Συναρτήσεις (Μέρος Ι) Ιωάννης Κατάκης Σήμερα o Δομημένος Προγραμματισμός o Ορισμός Συνάρτησης o Δήλωση Συνάρτησης o Κλήση συνάρτησης Ο ρόλος των συναρτήσεων
Διαβάστε περισσότερα#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Α Περιόδου 2017 (27/1/2017) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................
Διαβάστε περισσότεραΑ' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 2η σειρά ασκήσεων. Κοζάνη, 19 Οκτωβρίου 2007. Δεν ξεχνάμε τα εξής: Case Sensitive!!! Άλλα τα κεφαλαία και άλλα τα μικρά! Με ο,τι τρόπο γράψουμε
Διαβάστε περισσότερα