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

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

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

Transcript

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

2 Ο γενικός τύπος μιας συνάρτησης είναι: όνομα_ συνάρτησης (λίστα παραμέτρων) δηλώσεις παραμέτρων; σώμα της συνάρτησης (διάφορες εντολές) ; Ο αριθμός των παραμέτρων μπορεί να είναι από 0 μέχρι 255. Av δεν υπάρχουν καθόλου παράμετροι δεν χρειάζεται η δήλωσή τους. Συναρτήσεις - 2

3 Ο γενικός τύπος μιας συνάρτησης μπορεί να γίνει: όνομα_ συνάρτησης (ταυτόχρονη δήλωση του τύπου και του ονόματος των παραμέτρων) σώμα της συνάρτησης (διάφορες εντολές) ; Π.χ. max_number( a, b, c) int a, b, c; ή max_number( int a, int b, int c) Συναρτήσεις - 3

4 Τιμές επιστροφής '0λες οι συναρτήσεις επιστρέφουν μία τιμή. Αυτή η τιμή μπορεί είτε να προσδιορισθεί απόλυτα από την εντολή return, είτε να είναι 0, αν δεν προσδιορίζεται καμιά άλλη τιμή. Ελλείψει προσδιορισμού του τύπου της επιστροφής οι συναρτήσεις θα επιστρέψουν ακέραιες τιμές. Συναρτήσεις - 4

5 Συναρτήσεις Επιστροφής Μη-Ακεραίων Τιμών Ο γενικός τύπος δήλωσης μιας συνάρτησης είναι: τύπος όνομα_συνάρτησης (λίστα παραμέτρων) δήλωση παραμέτρων; εντολές της συνάρτησης; Παράδειγμα float fsum(x,y) float x,y; return(x+y); Συναρτήσεις - 5

6 Ορισμός και χρήση μιας συνάρτησης #include <stdio.h> float somme ( a, b ) float a, b ; return (a+b); main( ) float x, y, z ; x=10.5 ; y= ; z=somme (x, y);..... Συναρτήσεις - 6

7 Χρήση των τιμών επιστροφής των συναρτήσεων int mul ( a, b ) int a, b; return (a*b) ; main ( ) int x, y, z; x=10; y=20; z = mul (x, y); printf("%d", mul (x, y) ); mul (x, y); Συναρτήσεις - 7

8 Παράδειγμα πρωθύστερης δήλωσης main( ) float first, second, sum( ) ; first=123.23; second=99.09; printf("%f", sum(first, second)) ; float sum(a, b) float a,b; return a+b; Συναρτήσεις - 8

9 Το πεδίο εμβέλειας των μεταβλητών Μία τοπική μεταβλητή είναι δυναμική, δημιουργείται όταν εκτελείται η συνάρτηση και καταστρέφεται όταν τελειώνει η συνάρτηση. Δηλαδή, μία τοπική μεταβλητή είναι γνωστή μόνο στη συνάρτηση στην οποία δηλώνεται. Μία γενική μεταβλητή δηλώνεται έξω από οποιαδήποτε συνάρτηση και είναι γνωστή σε όλες τις συναρτήσεις του προγράμματος. Οι γενικές μεταβλητές παραμένουν καθ' όλη τη διάρκεια του προγράμματος. Μία στατική μεταβλητή κρατάει την τιμή της μέσα σε μια συνάρτηση από κλήση σε κλήση. Είναι γνωστή μόνο στη συνάρτησή της ή στο αρχείο της και παραμένει κατά τη διάρκεια όλου του προγράμματος. Συναρτήσεις - 9

10 δήλωση μιας μεταβλητής ως static int number( ) static int new_num ; new_num = new_num +25; return(new_num); Συναρτήσεις - 10

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

12 Παραδείγματα sqr(x) int x; x = x*x; return(x); swap (x, y) int *x,*y; int tmp; tmp = *x; /* Αντικαθίσταται η τιμή της διεύθυνσης της μεταβλητής x */ *x=*y; *y=tmp; Συναρτήσεις - 12

13 Ο σωστός τρόπος κλίσης της συνάρτησης swap( ) main( ) int x, y; x=10; y=20; swap(&x, &y); printf("%d %d", x, y); Συναρτήσεις - 13

14 Κλήση συναρτήσεων με πίνακες main () int t[10], i; for(i=0; i<10; ++i) scanf("%d", t[i]); display(t); display(num) int *num; int i; for(i=0; i<l0; ++i) printf("%d ", num[i]); main( ) int t [10], i; for(i=0; i<10; ++i) scanf("%d", t[i]); for(i=0; i<10; ++i) display(t[i]); display(num) int num; printf("%d ",num); Συναρτήσεις - 14

15 ΑΣΚΗΣΗ Να γραφτεί ένα πρόγραμμα το οποίο θα διαβάζει μία σειρά χαρακτήρων από το πληκτρολόγιο και θα την εμφανίζει ανάποδα: π.χ. το hello να γράφεται olleh Συναρτήσεις - 15

16 Λύση main( ) int t; char s[80]; gets(s); for ( t=strlen(s); t; t - - ) putchar(s[t-1]); Συναρτήσεις - 16

17 Αναδρομή (recursion) Μία συνάρτηση είναι αναδρομική όταν μία εντολή στο σώμα της συνάρτησης καλεί την ίδια τη συνάρτηση. Η αναδρομή μερικές φορές λέγεται και κυκλικός ορισμός. Ένα πολύ χαρακτηριστικό παράδειγμα αναδρομής είναι η συνάρτηση η οποία υπολογίζει το παραγοντικό ενός ακεραίου αριθμού. Συναρτήσεις - 17

18 Μη αναδρομική έκδοση υπολογισμού του παραγοντικού int fact(n) int n; int t, answer; answer=1; // Αρχική τιμή του παραγοντικού for(t=1; t<=n ;t++) // Υπολογισμός των διαδοχικών τιμών answer=answer*(t); return(answer); Συναρτήσεις - 18

19 Αναδρομική έκδοση υπολογισμού του παραγοντικού int fact_r(n) int n; int answer; if( n==1 ) return(1); // Αναδρομική κλήση της συνάρτησης fact_r( ) answer=fact_r(n-1)*n; return(answer); Συναρτήσεις - 19

20 ΠΑΡΑΤΗΡΗΣΗ Όταν γράφουμε αναδρομικές συναρτήσεις, θα πρέπει να προβλέπουμε μία εντολή ελέγχου η οποία θα προκαλέσει το τέλος των πράξεων της συνάρτησης δηλαδή, να μην εκτελεστεί μια νέα επί πλέον αναδρομική κλήση. Αν δεν το κάνουμε και καλέσουμε μια αναδρομική συνάρτηση χωρίς έλεγχο τότε, αυτή η κλήση δεν θα επιστρέψει ποτέ και θα επαναλαμβάνεται συνεχώς η αναδρομή. Αυτό το σφάλμα εμφανίζεται συχνά, όταν γράφουμε αναδρομικές συναρτήσεις και για το λόγο αυτό χρειάζεται ιδιαίτερη προσοχή. Συναρτήσεις - 20

21 ΑΣΚΗΣΗ Να γράψετε ένα πρόγραμμα το οποίο να ζητά να πληκτρολογήσει ο χρήστης ένα αριθμό μεταξύ των αριθμών -25 και 25. Να γράψετε και μία αναδρομική συνάρτηση η οποία να δέχεται μια ακέραια παράμετρο και να εμφανίζει τους αριθμούς από την τιμή της παραμέτρου της μέχρι τον αριθμό επτά (7) στην οθόνη. Συναρτήσεις - 21

22 #include<stdio.h> int fact2(int); void main() int k; int fact3(int); // Δήλωση των συναρτήσεων printf("πρόγραμμα το οποίο ζητά ένα αριθμό μεταξύ των -25 και 25 (έστω m) \n"); printf(" και εμφανίζει όλους τους αριθμούς από το m μέχρι τον αριθμό 7 \n"); do printf("\nδώστε ένα αριθμό >-25 και <25 : "); scanf("%d",&k); fflush(stdin); while (!(k<25 && k>-25)); // έλεγχος της τιμής εισόδου printf("εμφάνιση των αριθμών από %d μέχρι τον αριθμό 7 \n",k); /* Κλήση της κατάλληλης συνάρτησης */ if(k>=7) fact2(k); else fact3(k); Συναρτήσεις - 22

23 int fact2(int n) /* Αναδρομική συνάρτηση όταν η παράμετρος >= 7 */ if(n==7) return (printf("%d \n",n)); else printf("%d ",n); return(fact2(n-1)); printf("\n"); int fact3(int n) /* Αναδρομική συνάρτηση όταν η παράμετρος < 7 */ if(n==7) return(printf("%d \n",n)); else printf("%d ",n); return(fact3(n+1)); printf("\n"); Συναρτήσεις - 23

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

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

26 Βιβλιοθήκες (Header Files) της γλώσσας C Όνομα Περιγραφή Δήλωση <stdio.h> Βιβλιοθήκη συναρτήσεων Εισόδου/Εξόδου printf Γράφει μορφοποιημένα δεδομένα στη stdout int printf(const char *format,...); <stdlib.h> Βιβλιοθήκη βασικών συναρτήσεων (γενικής χρήσης) abs Απόλυτη τιμή int abs(int x); <string.h> strlen Βιβλιοθήκη επεξεργασίας χαρακτήρων Προσδιορίζει το πλήθος των χαρακτήρων της μεταβλητής str size_t strlen(const char *str); Συναρτήσεις - 26

27 Βιβλιοθήκες (Header Files) της γλώσσας C Όνομα <math.h> <time.h> <ctype.h > <limits.h> <complex.h> Περιγραφή Βιβλιοθήκη Μαθηματικών συναρτήσεων Βιβλιοθήκη συναρτήσεων Ημερομηνίας και ώρας Βιβλιοθήκη συναρτήσεων ελέγχου και μετατροπής χαρακτήρων Βιβλιοθήκη για τον ορισμό των ιδιοτήτων των διαφόρων τύπων των μεταβλητών. Περισσότερα στη διεύθυνση : Βιβλιοθήκη συναρτήσεων για επεξεργασία μιγαδικών αριθμών Περισσότερες πληροφορίες: /basedefs/complex.h.html Συναρτήσεις - 27

28 Δημιουργία τυχαίων αριθμός Ο όρος τυχαίος αριθμός, στην πληροφορική, δεν σημαίνει ότι οι παραγόμενοι αριθμοί είναι απόλυτα τυχαίοι αλλά εξαρτώνται από τον αλγόριθμο δημιουργίας τους γι αυτό και λέγονται ψευδο-τυχαίοι ( pseudo-random) Ένας τυχαίος αριθμός παράγεται από τη συνάρτηση rand( ), η οποία βρίσκεται στο επικεφαλής αρχείο stdlib.h Για τη δημιουργία διαφορετικού αρχικού σημείου εκκίνησης για την παραγωγή τυχαίων αριθμών πρέπει να κληθεί η συνάρτηση srand( ) Συναρτήσεις - 28

29 Παραγωγή και εμφάνιση τυχαίων αριθμών με εύρος void main() int k, t; printf("πρόγραμμα το οποίο παράγει 10 τυχαίους \n"); for(t=0; t<10; ++t) k = tux_arith(t) ; /* δημιουργούμε ένα τυχαίο αριθμό * printf("%d", "Αριθμός = ", k\n"); Συναρτήσεις - 29

30 #include<stdio.h> #include<stdlib.h> #include<time.h> /*Συνάρτηση για την παραγωγή τυχαίων αριθμών*/ int tux_arith(int m) int x,y,zz; time_t z ; (void ) time(&z); (void) srand(m*z) ; // δημιουργία διαφορετικού αρχικού σημείου x=rand() ; /* δημιουργία τυχαίου αριθμού */ y=(x%100)+1 ; // μετατροπή του σε εύρος return(y) ; Συναρτήσεις - 30

31 Ασκήσεις Να γράψετε ένα πρόγραμμα προσομοίωσης μιας ζαριάς δηλαδή, τυχαία εμφάνιση δύο αριθμών με τιμές 1 μέχρι 6. Συναρτήσεις - 31

32 Ειδική εκτέλεση προγραμμάτων Πολλές φορές απαιτείται να δώσουμε αρχικές τιμές ή ειδικές τιμές σε ένα πρόγραμμα άμεσα δηλαδή, με την έναρξη της εκτέλεσης των πράξεων από τον υπολογιστή Ο ειδικός τρόπος με τον οποίο αντιμετωπίζει η γλώσσα C αυτή την περίπτωση δηλαδή, την άμεση εισαγωγή πληροφοριών στη συνάρτηση main( ) είναι η χρήση δύο ειδικών ενσωματωμένων παραμέτρων Αυτές είναι η argc και η argv οι οποίες είναι οι μοναδικές παράμετροι τις οποίες μπορεί να έχει η συνάρτηση main( ) Συναρτήσεις - 32

33 Ειδική εκτέλεση προγραμμάτων Για να μεταφερθούμε στη μορφή εντολών του λειτουργικού συστήματος των Windows πρέπει να εκτελέσουμε την εντολή command.com ή την εντολή cmd. Για να επανέλθουμε στη γραφική μορφή του περιβάλλοντος των Windows πρέπει να γράψουμε την εντολή exit Συναρτήσεις - 33

34 Οι παράμετροι argc και argv Εμφάνιση χαιρετισμού προς το χρήστη main(argc, argv) int argc; char *argv [ ]; if( argc!= 2) printf("ξεχάσατε να γράψετε το όνομα\n"); exit(0); printf("hello %s", argv[ 1 ]); Συναρτήσεις - 34

35 Ένα πρόγραμμα που εμφανίζει τις παραμέτρους που χρησιμοποιούνται στην κλήση του main (argc, argv) int argc; char *argv [ ]; int t; for(t=0; t<argc; ++t) i=0; while(argv [t] [i] ) putchar(argv [t] [i] ); ++i; Συναρτήσεις - 35

36 Παράδειγμα argc = 3 argv[0] = add argv[1] = 4 argv[2] = 5 Συναρτήσεις - 36

37 Οργάνωση των συναρτήσεων Όταν πρόκειται να γράψουμε μία συνάρτηση, υπάρχουν τρεις διαφορετικές περιπτώσεις διαχείρισης του τελικού κειμένου της συνάρτησης: να αφήσουμε τη συνάρτηση στο ίδιο αρχείο μαζί με τη συνάρτηση main( ) να τοποθετήσουμε τη συνάρτηση σε ένα άλλο ξεχωριστό αρχείο, μαζί με τις υπόλοιπες συναρτήσεις τις οποίες ήδη έχουμε γράψει να τοποθετήσουμε τη συνάρτηση σε μία βιβλιοθήκη συναρτήσεων για μελλοντική χρήση Συναρτήσεις - 37

38 Βιβλιοθήκες συναρτήσεων Στον προγραμματισμό, λέμε βιβλιοθήκη (library) μία συλλογή χρήσιμων συναρτήσεων και βοηθητικών δηλώσεων Μία βιβλιοθήκη χρήσιμων συναρτήσεων διαφέρει από ένα ξεχωριστά μεταγλωττισμένο αρχείο συναρτήσεων Όταν κάνουμε χρήση μίας βιβλιοθήκης, μόνο οι συναρτήσεις οι οποίες καλούνται για χρήση από το πρόγραμμά μας φορτώνονται στη μνήμη και συνδέονται με αυτό. Οι υπόλοιπες συναρτήσεις παραμένουν στη βιβλιοθήκη και δεν επιβαρύνουν τη μνήμη του υπολογιστή Συναρτήσεις - 38

39 Πρότυπη βιβλιοθήκη (standard library) Η πρότυπη βιβλιοθήκη είναι μια συλλογή από αρχεία επικεφαλίδων και συναρτήσεις βιβλιοθήκης οι οποίες υλοποιούν τις βασικές λειτουργίες εισόδου/εξόδου, χειρίζονται αλφαριθμητικά δεδομένα, υπολογίζουν απλούς μαθηματικούς τύπους και πολλές άλλες κλασικές λειτουργίες οι οποίες διευκολύνουν τους προγραμματιστές Τα βασικά χαρακτηριστικά κάθε συνάρτησης όπως είναι το όνομα της συνάρτησης, ο τύπος των παραμέτρων και ο τύπος της τιμής επιστροφής, περιλαμβάνονται σε ένα αρχείο το οποίο καλείται επικεφαλής αρχείο (header file). Συναρτήσεις - 39

40 Επικεφαλής αρχείο Λέμε επικεφαλής αρχείο (header file) ένα αρχείο κειμένου το οποίο περιέχει ένα πρόγραμμα (κώδικα) και το οποίο μπορεί να χρησιμοποιηθεί με ειδικό τρόπο Στη γλώσσα C, το όνομα ενός επικεφαλής αρχείου εξ ορισμού τελειώνει με την επέκταση.h και χρησιμοποιείται με την επίκληση της οδηγίας (directive) # include Π.χ. ή #include <όνομα επικεφαλής αρχείου Βιβλιοθήκης> #include "όνομα επικεφαλής αρχείου ορισμένου από το χρήστη" Συναρτήσεις - 40

41 Συναρτήσεις - 41

42 Τα επικεφαλής αρχεία τα ορισμένα από το χρήστη είναι προγράμματα τα οποία γράφονται προκειμένου να χωριστούν οι δηλώσεις των συναρτήσεων καθώς και οι δηλώσεις των γενικών, στατικών και εξωτερικών μεταβλητών από τον υπόλοιπο πηγαίο κώδικα. Αυτός ο διαχωρισμός πλεονεκτήματα: παρέχει τρία σημαντικά Συναρτήσεις - 42

43 1. Οργανώνει τον πηγαίο κώδικα του προγράμματος σε καλά καθορισμένες και οργανωμένες οντότητες 2. Χωρίζει τις διεπαφές του προγράμματος (interfaces) από την κύρια εφαρμογή του αλγορίθμου επίλυσης του προβλήματος 3. Παρέχει ευελιξία και ευκολότερη επαναχρησιμοποίηση στοιχείων του προγράμματος από τους προγραμματιστές Συναρτήσεις - 43

44 Παράδειγμα Έστω ότι θέλουμε να γράψουμε ένα πρόγραμμα για να μετατρέπουμε τα μίλια σε χιλιόμετρα. Μπορούμε λοιπόν, να γράψουμε το ακόλουθο πρόγραμμα : ProgramA.c: const double FACTOR = ; double cvtmiletokilom( double miles ); int main() double miles = 0; printf("πληκτρολογήστε τη μέτρηση σε μίλια:"); scanf("%lf", &miles); printf("%f μίλια είναι %f χιλιόμετρα.\n", miles, cvtmiletokilom( miles ) ); return 0; double cvtmiletokilom( double miles ) return FACTOR * miles; Συναρτήσεις - 44

45 Αν θελήσουμε να γράψουμε ένα νέο πρόγραμμα το οποίο θα μετατρέπει τα μίλια σε μέτρα μπορούμε να επαναχρησιμοποιήσουμε αυτό το πρόγραμμα για να δημιουργήσουμε γρήγορα και εύκολα το νέο πρόγραμμα προσθέτοντας μια νέα συνάρτηση. ProgramB.c const double FACTOR = ; double cvtmiletokilom( double miles ); double cvtmiletometer( double miles ); int main(void) double miles = 0; printf("πληκτρολογήστε τη μέτρηση σε μίλια:"); scanf("%lf", &miles); printf("%f μίλια είναι %f μέτρα.\n", miles, cvtmiletometer(miles) ); return 0; Συναρτήσεις - 45

46 double cvtmiletokilom( double miles ) return FACTOR * miles; double cvtmiletometer( double miles ) return cvtmiletokilom( miles ) * 1000; Συναρτήσεις - 46

47 Υπάρχει όμως μια άλλη, ίσως καλύτερη, επιλογή για την επίλυση του ιδίου προβλήματος. Με την επιλογή αυτή χωρίζουμε τη δήλωση της συνάρτησης cvtmiletokilom από την εφαρμογή δηλαδή, το υπόλοιπο πρόγραμμα. Έτσι, μπορούμε να αποθηκεύσουμε τη δήλωση σ ένα επικεφαλής αρχείο επέκταση.h και το υπόλοιπο πρόγραμμα σε ένα αρχείο με επέκταση.c. Π,χ, programc.h const static double FACTOR = ; double cvtmiletokilom( double miles ); programc.c #include "programa.h" double cvtmiletokilom( double miles ) return FACTOR * miles; Αυτό που πρέπει να γίνει στο νέο πρόγραμμα είναι να αναφέρουμε το επικεφαλής αρχείο. Συναρτήσεις - 47

48 #include "programc.h" #include <stdio.h> double cvtmiletometer( double miles ); int main() double miles = 0; printf("πληκτρολογήστε τη μέτρηση σε μίλια:"); scanf("%lf", &miles); programd.c printf("%f μίλια είναι %f μέτρα.\n", miles, cvtmiletometer(miles) ); return 0; double cvtmiletometer( double miles ) return cvtmiletokilom( miles ) * 1000; Συναρτήσεις - 48

49 Δημιουργία του εκτελέσιμου αρχείου, Ανάλογα με το λειτουργικό σύστημα, ακολουθούμε τα επόμενα: 1. Σε περιβάλλον Unix/Linux γράφουμε : gcc programd.c programc.c -o program και για να τρέξουμε το πρόγραμμα γράφουμε :./ program 2. Σε περιβάλλον Windows δημιουργούμε ένα σχέδιο (project) όπου και συμπεριλαμβάνουμε τα δύο αρχεία (programd.c και programc.c). Συναρτήσεις - 49

50 Συναρτήσεις - 50

51 ΑΣΚΗΣΗ Ένας ακέραιος αριθμός λέγεται τέλειος αριθμός όταν οι παράγοντές του συμπεριλαμβανομένης και της μονάδας (αλλά όχι και του ίδιου του αριθμού), δίνουν ως άθροισμα τον ίδιο αριθμό. Για παράδειγμα, το 6 είναι ένας τέλειος αριθμός, επειδή 6= Να γράψετε ένα πρόγραμμα το οποίο να εμφανίζει στην οθόνη όλους τους τέλειους αριθμούς οι οποίοι είναι μικρότεροι του αριθμού ο οποίος θα ορίζεται από τη γραμμή εντολών με την έναρξη εκτέλεσης του προγράμματος Συναρτήσεις - 51

52 Λέμε μορφή εντολών (Command mode) εκείνη τη μορφή με την οποία επικοινωνούμε άμεσα με το λειτουργικό σύστημα του υπολογιστή μέσω του πληκτρολογίου. Όταν μεταφερθούμε στη μορφή εντολών τότε, σε μια γραμμή της οθόνης γράφουμε τη σχετική εντολή προς το λειτουργικό σύστημα δηλαδή, την εντολή της έναρξης εκτέλεσης ενός προγράμματος. Συνήθως, γράφουμε τη δήλωση της συνάρτησης main( ): main (int argc, char *argv[ ]) Στην προκειμένη περίπτωση θα πρέπει να ελέγξουμε αν το πλήθος των παραμέτρων οι οποίες έχουν πληκτρολογηθεί είναι ακριβώς δύο (2) οπότε η δεύτερη παράμετρος θα είναι ο αριθμός για τον οποίο θέλουμε να υπολογίσουμε τους πρώτους αριθμούς οι οποίοι θα είναι μικρότεροι από αυτόν. Συναρτήσεις - 52

53 Γράφουμε λοιπόν: if( argc!=2) printf("ξεχάσατε να γράψετε τον αριθμό "); printf("στη γραμμή εντολής. \n Ξαναδοκιμάστε. \n"); exit(0); Συναρτήσεις - 53

54 #include <stdio.h> #include <stdlib.h> int perfect( int value ); /* αρχέτυπο συνάρτησης */ int main(int argc, char *argv[]) int number, max_number; /* βοηθητικές μεταβλητές */ if( argc!=2) // Έλεγχος αν έχει συμπληρωθεί o αριθμός printf("ξεχάσατε να γράψετε τον αριθμό "); printf("στη γραμμή εντολής. \n Ξαναδοκιμάστε. \n"); exit(0); max_number= atoi(argv[1]); // εισαγόμενος αριθμός printf( "Εύρεση των πρώτων αριθμών μέχρι %d\n\n", max_number ); Συναρτήσεις - 54

55 /* ανακύκλωση από το 2 έως το max_number */ for (number = 2; number <= max_number; number++ ) /* εάν ο τρέχων αριθμός είναι πρώτος αριθμός */ if ( perfect( number ) ) printf( "Ο αριθμός %d είναι πρώτος \n", number ); printf( "\n" ); system("pause"); return 0; /* δηλώνει την επιτυχή ολοκλήρωση του προγράμματος */ Συναρτήσεις - 55

56 int perfect( int value ) int factorsum = 1; /* απόδοση αρχικής τιμής στο άθροισμα */ int i; /* μετρητής ανακύκλωσης */ /* ανακύκλωση πιθανών τιμών παραγόντων */ for ( i = 2; i <= value / 2; i++ ) /* αν ο i είναι παράγοντας */ if ( value % i == 0 ) factorsum += i; /* πρόσθεση στο άθροισμα */ /* επιστέφει true (1) αν η μεταβλητή value ισούται με το άθροισμα των παραγόντων */ if ( factorsum == value ) else return 1; return 0; Συναρτήσεις - 56

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προχωρημένα Θέματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανακατεύθυνση Εισόδου/Εξόδου Συνήθως η τυπική είσοδος ενός προγράμματος (stdin) προέρχεται

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 8: Πίνακες, Αλφαριθμητικά Πίνακες Ο πίνακας είναι μια ειδική δομή για την αποθήκευση μιας σειράς από δεδομένα του ίδιου τύπου. Η δήλωση ενός πίνακα γίνεται όπως για μια

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

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

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

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

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

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

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

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

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

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

Α Β Γ static; printf("%c\n", putchar( A +1)+2); B DB BD. int i = 0; while (++i); printf("*");

Α Β Γ static; printf(%c\n, putchar( A +1)+2); B DB BD. int i = 0; while (++i); printf(*); ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Α Περιόδου 2016 (1/2/2016) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................

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

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή Στο εργαστήριο αυτό θα μάθουμε για τη χρήση συναρτήσεων με σκοπό την κατασκευή αυτόνομων τμημάτων προγραμμάτων που υλοποιούν μία συγκεκριμένη διαδικασία, τα οποία

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

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

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

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

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

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

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

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

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

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

Ενότητα 4: «Εισαγωγή στον Προγραμματισμό. Τα πρώτα προγράμματα σε γλώσσα C»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΕΞΕΤΑΣΗ IOYNIOY 2018 ΘΕΜΑΤΑ Α ΟΝΟΜΑΤΕΠΩΝΥΜΟ:... ΑΕΜ: ΕΞΑΜΗΝΟ:

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΕΞΕΤΑΣΗ IOYNIOY 2018 ΘΕΜΑΤΑ Α ΟΝΟΜΑΤΕΠΩΝΥΜΟ:... ΑΕΜ: ΕΞΑΜΗΝΟ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΕΞΕΤΑΣΗ IOYNIOY 2018 ΘΕΜΑΤΑ Α ΟΝΟΜΑΤΕΠΩΝΥΜΟ:... ΑΕΜ: ΕΞΑΜΗΝΟ: ΘΕΜΑ 1: 2.5 μονάδες Τι εκτυπώνουν τα παρακάτω κομμάτια κώδικα θεωρώντας ότι πληκτρολογούμε

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

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014 Πίνακες 0 Μαρτίου 014 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα του συγκεκριμένου τύπου. Στην περίπτωση που θέλουμε

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

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 4: Δείκτες και Πίνακες Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Πίνακες Δεικτών, Παραδείγματα, Πολυδιάστατοι πίνακες Πέρασμα παραμέτρων σε προγράμματα C Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες:

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

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται

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

Δομές Ανακυκλώσεων. Εντολές ελέγχου - 1

Δομές Ανακυκλώσεων. Εντολές ελέγχου - 1 Δομές Ανακυκλώσεων Σε όλες τις γλώσσες προγραμματισμού, οι εντολές ανακυκλώσεων επιτρέπουν να επαναλαμβάνουμε ένα σύνολο εντολών, περισσότερες από μια φορές και μέχρι να επιτευχθεί μια ορισμένη συνθήκη

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

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής Στο εργαστήριο αυτό θα δούμε πώς ορίζονται και πώς χρησιμοποιούνται οι συμβολοσειρές στην C. Επίσης, θα μελετήσουμε κάποιες από τις συναρτήσεις

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

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

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

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

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

Γλώσσα Προγραμματισμού C Προγραμματισμός HY: Γλώσσα Προγραμματισμού C Δρ. Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I Θεσσαλίας Email: savvas@teilar.gr Γλώσσα Προγραμματισμού C Εισήγηση #10

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

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής Στο εργαστήριο αυτό θα δούμε πώς ορίζονται και πώς χρησιμοποιούνται οι συμβολοσειρές στην C. Επίσης, θα μελετήσουμε κάποιες από τις συναρτήσεις

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

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

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

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

είκτες και Πίνακες (2)

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

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

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

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

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

int a[5]; a[0] a[1] a[2] a[3] a[4] 15/10/2009

int a[5]; a[0] a[1] a[2] a[3] a[4] 15/10/2009 Προγραµµατισµός Ι (ΗΥ10) ιάλεξη : Πίνακες, Αλφαριθµητικά Πίνακες Ο πίνακας είναι µια ειδική δοµή για την αποθήκευση µιας σειράς από δεδοµένα του ίδιου τύπου. Η δήλωσηενός πίνακα γίνεται όπως για µια κανονική

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

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

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

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

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

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

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

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

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

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

Επεξεργασία Αρχείων Κειµένου

Επεξεργασία Αρχείων Κειµένου Επεξεργασία Αρχείων Κειµένου Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Αρχεία Κειµένου Γενικά Συναρτήσεις Επεξεργασίας Αρχείων Κειµένου ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1 Αρχεία Γενικά

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 Στόχοι Αναδροµή Σηµείωση: Απαγορεύονται static και global µεταβλητές. Πριν ξεκινήσετε Πηγαίνετε στο φάκελο ce120 και κατασκευάστε µέσα

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

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

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

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

ΕΠΕΞΕΡΓΑΣΙΑ ΑΡΧΕΙΩΝ Λέµε αρχείο

ΕΠΕΞΕΡΓΑΣΙΑ ΑΡΧΕΙΩΝ Λέµε αρχείο ΕΠΕΞΕΡΓΑΣΙΑ ΑΡΧΕΙΩΝ Λέµε αρχείο (File) τη συστηµατική συγκέντρωση δεδοµένων. Τα περισσότερα προγράµµατα στη γλώσσα C, τα οποία διαπραγµατεύονται είσοδο, αποθήκευση και επεξεργασία δεδοµένων χρησιµοποιούν

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

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

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

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

Τύποι Δεδομένων Είσοδος/Έξοδος

Τύποι Δεδομένων Είσοδος/Έξοδος Εργαστήριο 2 ο Τύποι Δεδομένων Είσοδος/Έξοδος Εισαγωγή Σκοπός του εργαστηρίου αυτού είναι η εισαγωγή μας στους τύπους δεδομένων της C και η εξοικείωση μας με συναρτήσεις του ρεπερτορίου της ANSI C σχετικές

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

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Σκοπός του μαθήματος Σκοπός του παρόντος μαθήματος είναι να μάθετε να κάνετε εισαγωγή δεδομένων σε πίνακες και περαιτέρω επεξεργασία

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

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Είσοδος/Έξοδος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Είσοδος/Έξοδος Μέχρι τώρα όποτε θέλαμε να διαβάσουμε χρησιμοποιούσαμε πάντα

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

Εκφωνήσεις ασκήσεων εργαστηρίου 1

Εκφωνήσεις ασκήσεων εργαστηρίου 1 Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Σχολή Τεχνολογικών Εφαρμογών Ακαδημαϊκό έτος 2016-2017 ΤΕΙ Ηπείρου - Άρτα Κατανεμημένα και Παράλληλα Συστήματα (εργαστήριο) Γκόγκος Χρήστος Εκφωνήσεις ασκήσεων εργαστηρίου

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

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19) Κεφάλαιο 8.7 Πολυδιάστατοι Πίνακες (Διάλεξη 19) Πολυδιάστατοι πίνακες Μέχρι τώρα μιλούσαμε για Μονοδιάστατους Πίνακες. ή π.χ. int age[5]= {31,28,31,30,31; για Παράλληλους πίνακες, π.χ. int id[5] = {1029,1132,1031,9991,1513;

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

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

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 8η σειρά ασκήσεων. Κοζάνη, 7 Δεκεμβρίου 2007. Κάθε πρόγραμμα εξαρτάται από αλγόριθμους και δομές δεδομένων, αλλά μόνο λίγα απαιτούν κάποια καινοτομία

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

Διάλεξη 15η: Αναδρομή, μέρος 1ο

Διάλεξη 15η: Αναδρομή, μέρος 1ο Διάλεξη 15η: Αναδρομή, μέρος 1ο Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Αναδρομή I CS100, 2016-2017

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

Βιβλιοθήκες Αφηρημένοι τύποι δεδομένων. Προγραμματισμός II 1

Βιβλιοθήκες Αφηρημένοι τύποι δεδομένων. Προγραμματισμός II 1 Βιβλιοθήκες Αφηρημένοι τύποι δεδομένων Προγραμματισμός II 1 lalis@inf.uth.gr Βιβλιοθήκες Τμήματα λογισμικού ευρύτερης χρησιμότητας που έχουν σχεδιαστεί με σκοπό να διευκολύνουν την ανάπτυξη πολλών διαφορετικών

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

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

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

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

Master Mind εφαρμογή στη γλώσσα προγραμματισμού C

Master Mind εφαρμογή στη γλώσσα προγραμματισμού C Master Mind εφαρμογή στη γλώσσα προγραμματισμού C Φεβρουάριος/Μάρτιος 2013 v. 0.1 Master-mind: κανόνες παιχνιδιού Στο master mind χρειάζεται να παράγονται κάθε φορά 4 τυχαία σύμβολα από ένα πλήθος 6 διαφορετικών

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

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

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

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

Νικόλαος Μιχαλοδημητράκης Σημειώσεις C (Εργαστήριο) 12 ο Μάθημα 1

Νικόλαος Μιχαλοδημητράκης Σημειώσεις C (Εργαστήριο) 12 ο Μάθημα 1 12 ο Μέρος Συναρτήσεις Συναρτήσεις Τι είναι οι συναρτήσεις Οι συναρτήσεις είναι ένα βασικό δομικό συστατικό σε όλες τις ανώτερες γλώσσες προγραμματισμού. Με τις συναρτήσεις έχουμε τη δυνατότητα να χωρίσουμε

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 1ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΓΙΑΤΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ; Στα μαθηματικά και στη φυσική συχνά έχουμε

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

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

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

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

scanf() scanf() stdin scanf() printf() int float double %lf float

scanf() scanf() stdin scanf() printf() int float double %lf float Εισαγωγή Στον Προγραµµατισµό «C» Είσοδος Δεδοµένων Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Η συνάρτηση scanf() Η συνάρτηση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 1 Διδάσκουσα καθηγήτρια: Ε.Κατσίρη 1 Υπεύθυνος εργαστηρίου: Α.Γαζής 2 Για την εγγραφή στο μάθημα, στην πλατφόρμα του Eclass -1/2- ΒΗΜΑ 1 Σύνδεση στο eclass BHMA 2 Eπιλογή:

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

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

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

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

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

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

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

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

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ Επανάληψη για τις Τελικές εξετάσεις (Διάλεξη 24) Εισαγωγή Το μάθημα EPL032 έχει ως βασικό στόχο την επίλυση προβλημάτων πληροφορικής με την χρήση της γλώσσας προγραμματισμού C. Επομένως πρέπει: Nα κατανοήσετε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Γλώσσα Προγραμματισμού C. Προγραμματισμός HY: Γλώσσα Προγραμματισμού C. Γρήγορος Πίνακας Αναφοράς Σύνταξης. Εισήγηση #4. Επαναληπτικές δομές:

Γλώσσα Προγραμματισμού C. Προγραμματισμός HY: Γλώσσα Προγραμματισμού C. Γρήγορος Πίνακας Αναφοράς Σύνταξης. Εισήγηση #4. Επαναληπτικές δομές: Προγραμματισμός HY: Γλώσσα Προγραμματισμού C Δρ. Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I. Θεσσαλίας Email: savvas@teilar.gr URL: http://teilar.academia.edu/iliassavvas

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

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

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

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

Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Διδάσκων: Παναγιώτης Ανδρέου

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

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 2ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΣΦΑΛΜΑΤΑ ΜΕΤΑΓΛΩΤΤΙΣΗΣ Η γλώσσα C κάνει αυστηρή διάκριση μεταξύ πεζών

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

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

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 9η σειρά ασκήσεων (μέρος 2). Κοζάνη, 14 Δεκεμβρίου 2007. Κάθε πρόγραμμα εξαρτάται από αλγόριθμους και δομές δεδομένων, αλλά μόνο λίγα απαιτούν

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

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

Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα Τελεστές συντομογραφίας Τελεστές σύντομης ανάθεσης += παράδειγμα: sum+=10; αντί για: sum = sum

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

Βήματα: μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων. Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα

Βήματα: μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων. Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα Απλά Προγράμματα Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα Οι Βασικοί κανόνες Κατανόηση

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

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

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

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