Ε. Νισταζάκης Αναπλ. Καθηγητής

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

Download "Ε. Νισταζάκης Αναπλ. Καθηγητής"

Transcript

1 Υπολογιστές Ι Ε. Νισταζάκης Αναπλ. Καθηγητής

2 Πραγματικές και Φανταστικές Ρίζες Δευτεροβάθμιας Εξίσωσης 2 Έστω η δευτεροβάθμια εξίσωση: ax + bx+ c = 0 Ηδιακρίνουσαείναι: Δ = b 2 4ac Όταν η Δ>0, προκύπτουν πραγματικές ρίζες: b ± Δ x1,2 = 2a Όταν Δ<0, προκύπτουν μιγαδικές ρίζες: x 1,2 = b Δ ± Τι γίνεται όμως με τη ρίζα αφού 2a 2a το υπόριζο είναι αρνητικό;

3 Πραγματικές και Φανταστικές Ρίζες Δευτεροβάθμιας Εξίσωσης 2 Έστω η δευτεροβάθμια εξίσωση: ax + bx+ c = 0 Στην περίπτωση αυτή θα πρέπει να χρησιμοποιηθεί η φανταστική μονάδα, i, για την οποία ισχύει: 2 i = 1 Έτσι, οι ρίζες της εξίσωσης γράφονται ως: 2 b Δ b i Δ b Δ x1,2 = ± = ± = ± i = x _ re ± ix _ im 2a 2a 2a 2a 2a 2a Οπότε, τελικά θα γραφτεί ως: printf( x1 = %lf + i%lf\n, x_re, x_im);

4 Πραγματικές και Φανταστικές Ρίζες Δευτεροβάθμιας Εξίσωσης 2 Έστω η δευτεροβάθμια εξίσωση: ax + bx+ c = 0 #include <stdio.h> #include <math.h> int main() { double a, b, c, p1, p2, p12; double p1re, p1im, p2re, p2im, dia; printf( Dwste tis times twn: a b c\n ); scanf( %lf %lf %lf, &a, &b, &c); dia = b*b 4*a*c; if(dia<0) { p_re = ( b)/(2*a); p_im= im=(sqrt(fabs(dia)))/(2*a); printf( p1 = %lf + i%lf\n, p_re, p_im); printf( p2 = %lf i%lf \n, p_re, p_im); } return 0; } if(dia>=0) { p1 = ( b + sqrt(dia))/(2*a); p2 = ( b sqrt(dia))/(2*a); ) printf( p1 = %lf kai p2 = %lf\n,p1,p2); }

5 Πράξεις Πινάκων (1) Πρόσθεση (Αφαίρεση) ί Πινάκων: Α[m,p] +( ) Β[m,p] = C[m,p] Πολλαπλασιασμός Πινάκων: Α[m,n] B[n,p] = C[m,p]

6 Πράξεις Πινάκων (2) Πρόσθεση Πινάκων: Α[m,p] + Β[m,p] = C[m,p] for (i=0; i<m; ++i) for (j=0; j<p;++j) { c[i][j] = a[i][j]+b[i][j]; printf( \n C[%d][%d] = %lf, i+1, j+1, c[i][j]); p ( \ [ ][ ],, j, [ ][j]); }

7 Πράξεις Πινάκων (3) Πολλαπλασιασμός Πινάκων: Α[m,n] B[n,p] = C[m,p] for (i=0; i<m; ++i) for (j=0; j<p;++j) { c[i][j] = 0.0; for (k=0; k<n; ++k) c[i][j] =c[i][j] +a[i][k]*b[k][j]; [][] [][j]; printf( \n C[%d][%d] = %lf, i+1, j+1, c[i][j]); }

8 Πράξεις Πινάκων (4) Πολλαπλασιασμός Πινάκων: Α[m,n] B[n,p] = C[m,p] printf( \n ); for (i=0; i<m; ++i) { for (j=0; j<p;++j) { c[i][j] = 0.0; for (k=0; k<n; ++k) c[i][j] = c[i][j] + a[i][k]*b[k][j]; printf( C[%d][%d] = %lf\t, i+1, j+1, c[i][j]); } printf( \n ); }

9 Εντολή while (1) Τι κάνει η εντολή while; (α) επαναλαμβάνει ένα κομμάτι του προγράμματος για όσο διάστημα ισχύει μια συγκεκριμένη συνθήκη. (β) Πρέπει να είναι γνωστή η συνθήκη από πριν για να ξεκινήσουν οι επαναλήψεις. Πως χρησιμοποιείται στο πρόγραμμα; Ορισμός αρχικής τιμής της συνθήκης while (συνθήκη) {τμήμα του προγράμματος που θα επαναληφθεί και μεταβολή των παραμέτρων της συνθήκης}

10 Εντολή while (2) Τμήμα προγράμματος (παραγοντικό του n): while (counter <= n) { par = par*counter; counter = counter + 1; } Το Πρόγραμμα αυτό τρέχει; Δίνει αποτελέσματα;

11 Εντολή while (2) Τμήμα προγράμματος (παραγοντικό του n): counter = 2; par = 1; while (counter <= n) { par = par*counter; counter = counter + 1; } Γιατί το counter ξεκινάει από την τιμή 2;

12 Εντολή while (3) Να γραφτεί πρόγραμμα που να υπολογίζει το άθροισμα : A 1 1 = n 2 = n= 1 #include <stdio.h> int main(void) { double athroisma = 0.0, oros = 1, epsilon = 0.001; int plithos = 1; while (oros>=epsilon) { athroisma = athroisma + oros; plithos = plithos +1; oros = 1.0 / plithos; } printf( Πλήθος όρων = %d Άθροισμα σειράς =%6 3f, plithos-1, athroisma); printf( Πλήθος όρων %d. Άθροισμα σειράς %6.3f, plithos 1, athroisma); return 0; }

13 Εντολή do while (1) Τι κάνει η εντολή do while; (α) επαναλαμβάνει ένα κομμάτι του προγράμματος για όσο διάστημα ισχύει μια συγκεκριμένη συνθήκη. (β) ΔΕ Χρειάζεται να είναι γνωστή η συνθήκη από πριν για να ξεκινήσουν οι επαναλήψεις. Πρώτα ξεκινάει με την πρώτη επανάληψη και μετά ελέγχει αν θα συνεχίσει. Πως χρησιμοποιείται στο πρόγραμμα; do {τμήμα του προγράμματος που θα επαναληφθεί και ορισμός/μεταβολή των παραμέτρων της συνθήκης} while hl (συνθήκη)

14 Εντολή do while (2) Να γραφτεί πρόγραμμα που να υπολογίζει το άθροισμα : A 1 1 = n 2 = n= 1 #include <stdio.h> int main(void) { double athroisma = 0.0, oros, epsilon = 0.001; int plithos = 1; do { athroisma = athroisma + oros; plithos = plithos +1; oros = 1.0 / plithos; } while (oros>=epsilon) printf( Πλήθος όρων = %d Άθροισμα σειράς =%6 3f, plithos-1, athroisma); printf( Πλήθος όρων %d. Άθροισμα σειράς %6.3f, plithos 1, athroisma); return 0; }

15 Εντολή do while (2) Να γραφτεί πρόγραμμα που να υπολογίζει το άθροισμα : A 1 1 = n 2 = n= 1 #include <stdio.h> int main(void) { double athroisma = 0.0, oros, epsilon = 0.001; int plithos = 1; do { athroisma = athroisma + oros; plithos = plithos +1; oros = 1.0 / plithos; } while (oros>=epsilon) Γιατί δεν «τρέχει» αυτό το πρόγραμμα; ; printf( Πλήθος όρων = %d. Άθροισμα σειράς =%6.3f 3f, plithos-1, athroisma); return 0; }

16 Αρχεία (1) Τι σημαίνει δημιουργώ ένα αρχείο; (α) Ανοίγω σε μία περιοχή του δίσκου ένα αρχείο και του δίνω όνομα, π.χ. results.dat (β) Αποθηκεύωσεαυτόδεδομέναταοποίαμπορώναταμεταφέρω(μέσω e mail, USBstick, DVD, etc). (γ) Η αποθήκευση των στοιχείων γίνεται με συγκεκριμένο τρόπο που πρέπει να είναι ακριβώς ο ίδιος όταν θα χρειαστεί να τα «διαβάσω» απο το αρχείο για να τα χρησιμοποιήσω. Τι σημαίνει «διαβάζω» ένα αρχείο; (α) ανασύρω απο τον δίσκο τα στοιχεία που έχουν αποθηκευτεί και τα φέρνω στη μνήμη του υπολογιστή μου για επεξεργασία. (β) πρέπει να δημιουργήσω ένα πρόγραμμα τοοποίοναέχει τη δυνατότητα να διαβάζει δεδομένα, που έχουν αποθηκευτεί με συγκεκριμένο τρόπο σε κάποιο αρχείο, στο δίσκο του συστήματος μας.

17 Αρχεία (2) Δημιουργία Αρχείου #include <stdio.h> #include <stdlib.h> int main() { FILE* fp; double x, fx; fp=fopen( test1.dat, w ); for(x=-100; x<100; x=x+0.1) { fx = 3*pow(x,4)+2*pow(x,3)-5*x+1; fprintf(fp, %lf, %lf\n, x, fx);} fclose(fp); return 0;} Προσοχή στη συγκεκριμένη βιβλιοθήκη Ορισμός του fp, ως τι; Ανοίγουμε το αρχείο, δίνοντας το συγκεκριμένο ονομα και δηλώνουμε ότι είναι για εγγραφή στοιχείων (w) Μπορούμε ναχρησιμοποιήσουμε μ τοχ<=100; Αποθήκευση στο αρχείο, με συγκεκριμένο τρόπο, σε συγκεκριμένη θέση, και συγκεκριμένους τύπους δεδομένων. Κλείνουμε το αρχείο ώστε να μην χρειάζεται να του γράψουμε άλλα στοιχεία.

18 Διάβασμα Αρχείου int main() { FILE* fp; Αρχεία (3) fp=fopen("test1.dat", "r"); plithos=0.; athroisma_x=0.; // Αρχικοποίηση τιμών athroisma_x2=0.; while(!feof(fp)){ fscanf(fp, "%lf, %lf", &timi_x, &timi_f); plithos +=1; athroisma_x += timi_f; athroisma_x2 += pow(timi_f,2);} mesos = athroisma_x/plithos; diaspora = athroisma_x2/plithos+pow(mesos,2.); fclose(fp); ( p); return 0; } // ΠΑΝΤΑ με τον ίδιο τρόπο που έγινε το SAVE

19 Διάβασμα Αρχείου #include <stdio.h> #include <stdlib.h> Αρχεία (4) int main() { FILE* fp; double timi_f, athroisma_x, athroisma_x2, mesos, diaspora, timi_x, plithos; fp=fopen("test1.dat", "r"); plithos=0.; athroisma_x=0.; Για να μπορούμε να συνεχίσουμε την άθροιση έχοντας ένα σημείο αναφοράς εκκινησης athroisma_x2=0.; while(!feof(fp)){ fscanf(fp, "%lf, %lf", &timi _ x, &timi _ f); ΠΑΝΤΑ με τον ίδιο τρόπο που έγινε το SAVE plithos +=1; athroisma_x += timi_f; athroisma_x2 += pow(timi_f,2);} mesos = athroisma_x/plithos; diaspora = athroisma_x2/plithos+pow(mesos,2.); 2 printf("\nn = \t %lf\n", plithos); Μπορώ να γράψω: fprintf("\nn = \t %lf\n", plithos);??? printf("mesos = \t %lf\n", mesos); Τι αλλαγές πρέπει να κάνω; printf("diaspora = \t%lf \n", diaspora); fclose(fp); return 0; }

20 Μέθοδοι Ολοκλήρωσης Συναρτήσεων Συνάρτηση a b Διαμέριση σε Ν μικρά Τραπέζια ή Παραλληλόγραμμα. Αρα το βήμα στον άξονα x θα είναι: dx=(b a)/n

21 Μέθοδοι Ολοκλήρωσης Συναρτήσεων Μέθοδος Τραπεζίου (1) Μέθοδος Τραπεζίου (1) Κάθε στοιχειώδες Τραπέζιο θα έχει εμβαδό: dx dx a f a f dx x f x f B b de 2 ) ( ) ( 2 ) ( ) ( = + = + = υ χ ς ρ ζ χ μβ dx dx a f dx a f dx x f x f B b de 2 ) 2 ( ) ( 2 ) ( ) ( = + = + = υ.. + b f dx b f x f x f B b N N ) ( ) ( ) ( ) ( dx b f dx b f dx x f x f B b de N N N 2 ) ( ) ( 2 ) ( ) ( = + = + = + + υ

22 Μέθοδοι Ολοκλήρωσης Συναρτήσεων Μέθοδος Τραπεζίου (2) Το συνολικό ολοκλήρωμα, θα ισουται με το άθροισμα τωνστοιχειωδών εμβαδών τραπεζίων και θα υπολογίζεται ως: E = N de1 + de de + 1 = dx 2 ( f x ) + f ( x ) f ( x )) ( f ( x ) f ( x )) = dx ( 1 2 N N + 1

23 Μέθοδοι Ολοκλήρωσης Συναρτήσεων Μέθοδος Τραπεζίου (3) Συνάρτηση: f(x) = cos(x) () sum = 0.0; 00; for (i=0; i<n+1; ++i) sum = sum + cos(a+dx*i)*dx; sum = 0.5*dx*(cos(a)+cos(b)); ( ( ))

24 Τι είναι υποπρόγραμμα; Τι είναι υποπρόγραμμα,, βοηθητική η συνάρτηση, ρη η, function; Μία συνάρτηση ή υποπρόγραμμα είναι μία ανεξάρτητη και αυτόνομη ενότητα κώδικα, που γράφεται για να εκτελεί μία ορισμένη εργασία και προαιρετικά επιστρέφει μία τιμή στο πρόγραμμα που την κάλεσε. Γιατί χρησιμοποιούμε τα βοηθητικά προγράμματα; (1) Επανάληψη παρόμοιας διαδικασίας (π.χ. Το πρόγραμμα πολλαπλασιασμού και άθροισης ηςή αφαίρεσης πινάκων). ) (2) Μια διαδικασία που μπορεί αυτούσια να χρησιμοποιηθεί και σε άλλα προγράμματα. (3) Εύκολος έλεγχος του συνολικού προγράμματος. (4) Σωστότερη δομή του προγράμματος.

25 Ορισμός της Function στο Πρόγραμμα Ορισμός της function στο πρόγραμμα, ονομάζεται η δήλωση των σημαντικών της στοιχείων, δηλαδή του ονόματός της, των παραμέτρων της (ορισμάτων της) και του τύπου της πιθανής επιστρεφόμενης τιμής της συνάρτησης Η γενική περίπτωση δήλωσης μίας συνάρτησης έχει την παρακάτω μορφή: Το όνομα_συνάρτησης πρέπει να είναι μοναδικό μέσα στο πρόγραμμα, δηλαδή να μην υπάρχει άλλη μεταβλητή ή συνάρτηση με το ίδιο όνομα Η δήλωση της συνάρτησης πρέπει να τελειώνει πάντοτε με το ελληνικό ερωτηματικό ;

26 Πού δηλώνουμε τη Συνάρτηση; Η δήλωση μίας συνάρτησης πρέπει να συμπεριληφθεί στην αρχή του προγράμματος (μετά τα #include ). Π.χ. οι δηλώσεις των συναρτήσεων printf(), scanf(), βρίσκονται στη βιβλιοθήκη stdio.h η οποία συμπεριλαμβάνεται στο πρόγραμμα μέσω της εντολής: #include <stdio.h>. Αντίστοιχα οι δηλώσεις των συναρτήσεων pow(), sin(), cos(), βρίσκονται στη βιβλιοθήκη math.h η οποία συμπεριλαμβάνεται στο πρόγραμμα μέσω της εντολής: #include <math.h>. Η δήλωση της συνάρτησης γίνεται πριν από τη συνάρτηση int main().

27 Τι επιστρέφει η συνάρτηση; Ο τύπος_επιστροφής μίας συνάρτησης καθορίζει τον τύπο δεδομένων που επιστρέφει η συνάρτηση στο πρόγραμμα, στοσημείοπουτηνκάλεσε. Ο τύπος_επιστροφής μπορεί να είναι οποιοσδήποτε τύπος δεδομένων της C, όπως int, double, δείκτης, κλπ. Ο τύπος επιστροφής void χρησιμοποιείται όταν η συνάρτηση δεν επιστρέφει κάποια τιμή.

28 Ορίσματα συνάρτησης Η συνάρτηση μπορεί να δεχτεί μία λίστα ορισμάτων, που χωρίζονται μεταξύ τους με κόμμα (,). Οτύποςκάθεπαραμέτρου(τύπος_παραμ_1, τύπος_παραμ_2,...) μπορεί να είναι μία οποιαδήποτε έγκυρη έκφραση της C, όπως π.χ. μία σταθερά, μία μεταβλητή, μία μαθηματική ή λογική έκφραση κλπ. Το όνομα κάθε παραμέτρου (όνομα_1, όνομα_2,...) μπορεί να είναι οποιοδήποτε έγκυρο όνομα επιλέξει ο προγραμματιστής (μόνο λατινικοι χαρακτήρες, ποτέ Ελληνικά γράμματα) Εάν η συνάρτηση δεν δέχεται παραμέτρους, τότε η λίστα παραμέτρων δηλώνεται η ρ η η χ ρ μ ρ ς, η ρ μ ρ η ως (void) ή με κενή παρένθεση (). Προτιμάται η περίπτωση του (void).

29 Παραδείγματα (δήλωσης) συνάρτησεων Πως αλλιώς θα μπορούσε να δηλωθεί (ως προς το όρισμα); Πως θα γραφόταν αν δεν επέστρεφε τιποτα; Αν είχε για ορίσματα δύο long float;

30 Σημαντικές Παρατηρήσεις Η κύρια συνάρτηση main() ενός προγράμματος στη C είναι μία συνάρτηση, επίσης. Η main() καλείται από το λειτουργικό σύστημα όταν αρχίζει η εκτέλεση του προγράμματος και τερματίζεται όταν τελειώνει η εκτέλεση του προγράμματος Η δήλωση int main() ή int main(void), σημαίνει ότι η συνάρτηση ότι δεν δέχεται παραμέτρους και επιστρέφει μία ακέραια τιμή (int). Σημαντικό σχόλιο: Το όνομα μίας συνάρτησης πρέπει να επιλέγεται με τέτοιο τρόπο, ώστε να περιγράφει όσο το δυνατόν καλύτερα τον σκοπό της Δηλαδή, αν θέλετε να δηλώσετε μία συνάρτηση που να υπολογίζει το άθροισμα κάποιων αριθμών, τότε ένα επιτυχημένο περιγραφικό όνομα θα μπορούσε να είναι το sum ή το athroisma και όχι ένα όνομα όπως function, func, test, dokimi, programma1, κλπ.

31 Υποπρόγραμμα συνάρτησης Το υποπρόγραμμα της συνάρτησης έπεται της επικεφαλίδας της και περιέχει τις εντολές της συνάρτησης ανάμεσα σε άγκιστρα {}, όπως συμβαίνει και στη συνάρτηση main(). Η επικεφαλίδα της συνάρτησης πρέπει να είναι ίδια με τη δήλωση της συνάρτησης, με τη διαφορά ότι δεν μπαίνει το ελληνικό ερωτηματικό στο τέλος της. Το υποπρόγραμμα της συνάρτησης εκτελείται μόνο όταν αυτή κληθεί από κάποιο σημείο του κυρίως προγράμματός μας. Όταν καλείται μία συνάρτηση, ρη η, η εκτέλεση του προγράμματος της αρχίζει με την πρώτη εντολή της και τερματίζεται είτε όταν βρεθεί μία εντολή return είτε όταν η εκτέλεση φτάσει στο άγκιστρο κλεισίματος. Το πρόγραμμα μίας συνάρτησης εισάγεται μετά το τέλος της συνάρτησης main().

32 Πως λειτουργεί η εντολή return σε μια συνάρτηση (1) Ηεντολήreturn χρησιμοποιείται για τον άμεσο τερματισμό μίας συνάρτησης. Όταν το πρόγραμμα της συνάρτησης φτάσει σε μία εντολή return, τότε η συνάρτηση τερματίζεται αυτομάτως ανεξάρτητα απο το αν επιστρέφει ή όχι κάτι στο κυρίως πρόγραμμα. Τι κάνει η εντολή while στο παρακάτω πρόγραμμα; Με ποιές τιμές τερματίζει το παρακάτω πρόγραμμα και γιατί; Τι εξοδο δίνει το πρόγραμμα αυτό στην οθόνη;

33 Πως λειτουργεί η εντολή return σε μια συνάρτηση (2) Αν η συνάρτηση δεν έχει οριστεί να επιστρέφει κάποια τιμή (δηλ. αν ο επιστρεφόμενος τύπος της είναι void ή κενό), ) τότε για να τερματίσουμε άμεσα σε κάποιο σημείο τη συνάρτηση γράφουμε απλά return; Αν, όμως, ησυνάρτηση έχει οριστεί να επιστρέφει κάποια τιμή, τότε η εντολή return πρέπει να ακολουθείται από κάποια τιμή (Τι συμβαίνει στην main();). Αυτή η τιμή επιστρέφεται στο πρόγραμμα που την κάλεσε. Ο τύπος της τιμής που επιστρέφεται πρέπει να είναι ίδιος (δηλαδή int, double, char, κλπ) με τον τύπο που ορίστηκε να επιστρέφει η συνάρτηση στη δήλωσή της, δηλαδή στο πρωτότυπό της.

34 Παραδείγματα συναρτήσεων (1) Τι ορίσματα έχει η συνάρτηση αυτή και τι επιστρέφει όταν την καλέσει το κυρίως πρόγραμμα; Πού τερματίζεται αυτή ησυνάρτηση, αφού ύδεν περιέχει την εντολή return; Γιατί για την παράμετρο i ορίζουμε τοντύποτης; γ η ρ μ ρ ρζ μ ης; Γιατί δεν χρειάζεται να οριστεί ο τύπος των a, b;

35 Παραδείγματα συναρτήσεων (2) Τι κάνει η συνάρτηση αυτή; Τι δέχεται ως όρισμα και τι επιστρέφει στο πρόγραμμα; Πού τερματίζεται η συνάρτηση αυτή;

36 Παραδείγματα συναρτήσεων (3) Ποιά είναι τα ορίσματα της συνάρτησης αυτής και τι επιστρέφει στο πρόγραμμα όταν τρέξει; Τι δίνει η συνάρτηση αυτή όταν τρέχει; Τι επιστρέφει στο κυρίως πρόγραμμα; Επιστρέφονται ακέραιες τιμές ΠΡΟΣΟΧΗ: δεν επιτρέπεται η επιστροφή άλλου τύπου (π.χ. δεκαδικού) Πότε σταματάει η εξέλιξη αυτού του υποπρογράμματος; μ η ξ ξη ρ γρ μμ ς; Όταν μία συνάρτηση επιστρέφει κάποια τιμή, θα πρέπει όλα τα δυνατά «μονοπάτια» της, να επιστρέφουν κάποια τιμή. Τι γίνεται όταν δεν επιστρεφουν τιμή όλες οι δυνατές διαδρομές;

37 Κλήση συνάρτησης Όταν καλείται μία συνάρτηση, το πρόγραμμα συνεχίζει με την εκτέλεση του κώδικα της συνάρτησης. Όταν τερματίζεται η συνάρτηση, η εκτέλεση του προγράμματος επιστρέφει στο σημείο κλήσης της συνάρτησης και συνεχίζει με την εκτέλεση της επόμενης εντολής του κυρίως προγράμματος. Μία συνάρτηση μπορεί να κληθεί όσες φορές είναι απαραίτητο για τους σκοπούς του προγράμματος (π.χ. επανάληψη παρόμοιων διαδικασιών). Όταν γίνεται η κλήση μίας συνάρτησης, ομεταγλωττιστήςδεσμεύει μνήμη για να αποθηκεύσει τις μεταβλητές που δηλώνονται στη λίστα παραμέτρων της συνάρτησης, καθώς και αυτές που δηλώνονται μέσα στο σώμα της. Αυτή η μνήμη δεσμεύεται από ένα συγκεκριμένο τμήμα μνήμης που παρέχει το λειτουργικό σύστημα στο πρόγραμμα και ονομάζεται στοίβα (stack). Η αποδέσμευση της μνήμης αυτής γίνεται αυτόματα όταν τερματιστεί η εκτέλεση της συνάρτησης.

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

39 Παράδειγμα συνάρτησης χωρίς παραμέτρους που δεν επιστρέφει τιμή Τι ορίσματα έχει και τι έξοδο δίνει η συνάρτηση αυτή; Θα δώσει διαφορετικό αποτέλεσμα κάθε φορά που θα τρέχει η συνάρτηση αυτή; Τι ακριβώς κάνει η συνάρτηση κάθε φορά που την καλούμε; Έξοδος: Call_1 In In Call_2 In In Τι αποτέλεσμα θα δώσει το πρόγραμμα όταν θα τρέξει;

40 Παράδειγμα συνάρτησης χωρίς παραμέτρους που επιστρέφει τιμή Τι ορίσματα έχει και τι έξοδο δίνει η συνάρτηση αυτή; Θα δώσει διαφορετικό αποτέλεσμα κάθε φορά που θα τρέχει η συνάρτηση αυτή; Τι ακριβώς κάνει η συνάρτηση κάθε φορά που την καλούμε; Τι αποτέλεσμα θα δώσει το πρόγραμμα όταν θα τρέξει; Έξοδος: Sum = 30

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

42 Παράδειγμα εκχώρησης θέσεων μνήμης

43 Δηλαδή... Όταν εκτελείται το προηγούμενο πρόγραμμα,, ο μεταγλωττιστής δεσμεύει 8 θέσεις μνήμης (π.χ ) για την αποθήκευση των τιμών (10 και 20) των ακέραιων μεταβλητών a και b αντίστοιχα Όταν καλείται η συνάρτηση function() ο μεταγλωττιστής δεσμεύει άλλες 8 θέσεις μνήμης (π.χ ) για την αποθήκευση των τιμών των ακέραιων μεταβλητών x και y Στη συνέχεια, αντιγράφει τις τιμές των παραμέτρων a και b (δηλ. 10 και 20) στις αντίστοιχες θέσεις μνήμης των μεταβλητών x και y Όπως φαίνεται λοιπόν οι διευθύνσεις μνήμης των μεταβλητών x και y είναι διαφορετικές από τις διευθύνσεις μνήμης των ακέραιων μεταβλητών a και b Ωστόσο, τα περιεχόμενα των διευθύνσεων μετά την αντιγραφή είναι τα ίδια. Η αποδέσμευση αυτής της μνήμης (π.χ ) γίνεται αυτόματα, όταν τερματιστεί η εκτέλεση της συνάρτησης function() Πάντα ακολουθείται αυτή η διαδικασία;

44 Μεταβίβαση παραμέτρων σε συνάρτηση Δύο είναι οι διαφορετικοί τρόποι μεταβίβασης παραμέτρων σε μία συνάρτηση Κλήση μέσω τιμής (call by value) Κλήση μέσω αναφοράς (call by reference)

45 Κλήση συνάρτησης μέσω τιμής (call by value) Όταν γίνεται κλήση συνάρτησης μέσω τιμής, τότε στη συνάρτηση διοχετεύονται οι τιμές των παραμέτρων του προγράμματος που την καλεί. Οποιαδήποτε αλλαγή γίνει στις τιμές των παραμέτρων μέσα στο σώμα της συνάρτησης δεν επηρεάζει τις τιμές των αντίστοιχων παραμέτρων που διοχετεύθηκαν στη συνάρτηση απο το κυρίως πρόγραμμα, γιατί οι τυχόν αλλαγές γίνονται σε διαφορετικές διευθύνσεις μνήμης (όπως είδαμε σε προηγούμενη διαφάνεια).

46 Κλήση Συνάρτησης μέσω αναφοράς (call by reference) Όταν θέλουμε μία συνάρτηση να μπορεί να αλλάξει τις τιμές των παραμέτρων, τότε πρέπει να γίνει κλήση της συνάρτησης μέσω αναφοράς. Σε αυτή την περίπτωση, στη συνάρτηση διοχετεύονται οι διευθύνσεις μνήμης των παραμέτρων του προγράμματος που την καλεί και όχι οι τιμές τους (γεγονός που πραγματοποιείται κατά την κλήση μέσω τιμής). Επομένως, αφού η συνάρτηση έχει πρόσβαση στις διευθύνσεις των παραμέτρων του προγράμματος που την κάλεσε, τότε μπορεί να μεταβάλλει τις τιμές αυτών.

47 Διαχείρηση μνήμης για κλήση συνάρτησης μέσω τιμής Έξοδος: Val = 10

48 Διαχείρηση μνήμης για κλήση συνάρτησης μέσω αναφοράς Έξοδος: Val = 20 Kαταχωρείί το i=10 το οποίο αποθηκεύεται στις διευθύνσεις Οριζει την ptr ως τη διεύθυνση που έχει αποθηκευτεί το i. Στέλνει στην function(ptr) τη διεύθυνση που έχει καταχωρηθεί το περιεχόμενο του i. Aλλάζει απευθείας, το περιεχόμενο, στην function.

49 Παράδειγμα διαχείρησης μνήμης για κλήση συνάρτησης μέσω τιμής και μέσω αναφοράς Έξοδος: ιεύθυνση Περιεχόμενο Μνήμης Μνήμης RAM

50 Παραδείγματα (1) Οι κλήσεις των συναρτήσεων scanf() και printf() με ποιον από τους δύο τρόπους κλήσης μίας συνάρτησης γίνονται στο παρακάτω παράδειγμα; Απάντηση: άτηση scanf(): κλήση μέσω αναφοράς (αφού διαβιβάζεται η διεύθυνση μίας μεταβλητής) printf(): κλήση μέσω τιμής (αφού p () ή η μ μής ( φ διαβιβάζεται η τιμή μίας μεταβλητής)

51 Παραδείγματα (2) Δημιουργήστε μία συνάρτηση που να δέχεται σαν παράμετρο έναν πραγματικό αριθμό και να επιστρέφει το εμβαδό του αντίστοιχου κύκλου. Στη συνέχεια γράψτε ένα πρόγραμμα το οποίο να διαβάζει το μήκος της ακτίνας και να εμφανίζει το εμβαδό του κύκλου με χρήση της προηγούμενης συνάρτησης

52 Παραδείγματα (3) Δημιουργήστε μία συνάρτηση που να δέχεται σαν παράμετρο έναν ακέραιο αριθμό και έναν χαρακτήρα και να εμφανίζει τον χαρακτήρα τόσες φορές όσες και η τιμή του ακεραίου Στη συνέχεια γράψτε ένα πρόγραμμα το οποίο να διαβάζει έναν ακέραιο αριθμό και έναν χαρακτήρα και να εμφανίζει τον χαρακτήρα τόσες φορές όσο και ο ακέραιος (με χρήση της συνάρτησης)

53 Παραδείγματα (4) Ποια είναι η έξοδος του παρακάτω προγράμματος; Έξοδος: 13

54 Παραδείγματα (5) Δημιουργήστε μία συνάρτηση που να δέχεται σαν παράμετρο έναν ακέραιο αριθμό (n) και να επιστρέφει την τιμή της παράστασης: n 3 Στη συνέχεια γράψτε ένα πρόγραμμα το οποίο να διαβάζει έναν θετικό ακέραιο αριθμό μέχρι 1000 και να εμφανίζει την τιμή της παραπάνω παράστασης με χρήση της συνάρτησης

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

56 Καθολικές Μεταβλητές (global) Μία μεταβλητή που δηλώνεται έξω από οποιαδήποτε συνάρτηση ονομάζεται καθολική (global) μεταβλητή Η εμβέλεια μίας καθολικής μεταβλητής εκτείνεται σε όλο το πρόγραμμα Αυτό σημαίνει ότι όλες οι συναρτήσεις του προγράμματος έχουν πρόσβαση σε αυτή τη μεταβλητή, άρα μπορούν να τροποποιήσουν την τιμή της

57 Σχόλια... Να δηλώνετε μία μεταβλητή σαν καθολική, μόνο όταν οι περισσότερες συναρτήσεις του προγράμματός σας πρέπει να τη χρησιμοποιούν. Το όνομα μίας καθολικής μεταβλητής πρέπει να επιλέγεται, έτσι ώστε ναπεριγράφειόσοτοδυνατόν καλύτερα τον σκοπό της. Να δίνετε αρχική τιμή (να κάνετε δηλ. ρητή Να δίνετε αρχική τιμή (να κάνετε δηλ. ρητή αρχικοποίηση) σε μία καθολική μεταβλητή, αμέσως όταν τη δηλώνετε

58 Παράδειγμα 1 Ποια είναι η έξοδος του παρακάτω προγράμματος??? Έξοδος: Value = 1 Value = 10 Value = 20

59 Παράδειγμα 2 Ποια είναι η έξοδος του παρακάτω προγράμματος??? Έξοδος: Ι test = 200 ξ ς _ I_main = 10

60 Παράδειγμα 3 Ποια είναι η έξοδος του παρακάτω προγράμματος??? Έξοδος: Values:

61 Αναδρομική Συνάρτηση 1 Αν ο χρήστης πληκτρολογήσει 3: Έξοδος: val = 1 val = 2 val = 3 Διότι, όταν μία συνάρτηση καλεί τον εαυτό της, οι επόμενες εντολές του σώματός της καθώς και οι τιμές των εμπλεκόμενων μεταβλητών (οι οποίες αποθηκεύονται) ) παραμένουν στη μνήμη. Όταν η συνάρτηση σταματήσει να καλεί τον εαυτό της, οι αποθηκευμένες εντολές εκτελούνται με αντίστροφη σειρά (δηλ. από την τελευταία προς την πρώτη)

62 Αναδρομική Συνάρτηση 2 Γράψτε ένα πρόγραμμα το οποίο να διαβάζει έναν ακέραιο αριθμό (n) και να εμφανίζει το παραγοντικό του (n!) με χρήση αντίστοιχης αναδρομικής συνάρτησης

63 Παράδειγμα 1 #include <stdio.h> if(dia==0) #include <math.h> { int main() p12 = ( b)/(2*a); { printf( p1 = p2 = %lf\n,p12); double a, b, c, p1, p2, p12; } double p1re, p1im, p2re, p2im, dia; if(dia<0) { printf( Dwste tis times twn: a b c\n ); p1re = ( b)/(2*a); scanf( %lf %lf %lf, &a, &b, &c); p2re = ( b)/(2*a); dia = b*b 4*a*c; p1im = (sqrt( dia))/(2*a); p2im = (sqrt( dia))/(2*a); ) if(dia>0) printf( p1 = %lf + i%lf\n, p1re, p1im); { printf( p2 = %lf + i%lf \n, p2re, p2im); p1 = ( b + sqrt(dia))/(2*a); a); } p2 = ( b sqrt(dia))/(2*a); printf( p1 = %lf kai p2 = %lf\n,p1,p2); return 0; } }

64 Παράδειγμα 2 #include <stdio.h> double fun(double x1) double fun(double); { int main() double f1, f2, f3, f4; { f1 = x1*x1*x1; double a1; f2 = x1*x1; printf( Dvse enan arithmo ); f3 = x1 + 4; scanf( %lf,&a1); f4 = f1 + f2 + f3; printf( f(%lf) = %lf, a1, return f4; fun(a1)); } return 0; }

65 #include <stdio.h> int paragontiko(int); int main() { int n, k, ar, par1, par2, res; printf( Dvse ton arithmo twn stoixeiwn (n) ); scanf( %d,&n); printf( Dvse ton arithmo twn thesewn (k) ); Παράδειγμα 3 scanf( %d,&k); ar = paragontiko(n); par1= paragontiko(k); par2 = paragontiko(n k); res = ar/(par1*par2); par2); printf( (%d ana %d) = %d, n, k, res); return 0; }

66 #include <stdio.h> int paragontiko(int); int main() { int n, k, ar, par1, par2, res; printf( Dvse ton arithmo twn stoixeiwn (n) ); scanf( %d,&n); printf( Dvse ton arithmo twn thesewn (k) ); Παράδειγμα 3 scanf( %d,&k); ar = paragontiko(n); par1= paragontiko(k); par2 = paragontiko(n k); res = ar/(par1*par2); par2); printf( (%d ana %d) = %d, n, k, res); return 0; } Η σχέση αυτή υπολογίζει το πλήθος n n n!! των δυνατών συνδυασμών που = μπορούν να τοποθετηθούν n k k!( n k)! αντικείμενα σε k συγκεκριμένες θέσεις

67 Παράδειγμα 4 #include <stdio.h> nk1 = 0; int paragontiko(int); int n_ana_k(int,int); int main() { int n, k, ar, par1, par2, res; printf( n=? ); scanf( %d,&n); printf( k=? ); scanf( %d,&k); printf( (%d ana %d) = %d, n, k, n_ana_k(n, k)); return 0; } int n_ana_k (int n1, int k1) { int nk1; if (k1>n1) else nk1 = paragontiko(n)/( paragontiko(k)* paragontiko(n k)); return nk1; } int paragontiko(int t x1) { int i,f1=1; if (x1>1) for (i=1; i<=x1; i++) f1 = f1*i; return f1; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή παράσταση_1 = Παράσταση Αρχικοποίησης παράσταση_2 = Παράσταση Ελέγχου Επανάληψης παράσταση_3 = Παράσταση Ενημέρωσης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια: Εργαστήριο 6: 6.1 Δομές Επανάληψης Βρόγχοι (Loops) Όταν θέλουμε να επαναληφθεί μια ομάδα εντολών τη βάζουμε μέσα σε ένα βρόχο επανάληψης. Το αν θα (ξανα)επαναληφθεί η εκτέλεση της ομάδας εντολών καθορίζεται

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΡ Χ Ε Ι Α Κ Ε Ι Μ Ε Ν Ο Υ (text files)

ΑΡ Χ Ε Ι Α Κ Ε Ι Μ Ε Ν Ο Υ (text files) ΑΡ Χ Ε Ι Α Κ Ε Ι Μ Ε Ν Ο Υ (text files) Αρχείο είναι μια συλλογή δεδομένων του ίδιου τύπου. Ενα αρχείο αποθηκεύεται στην περιφερειακή μνήμη (σκληρό δίσκο, δισκέττα). Τα αρχεία είναι μόνιμα. Τα δεδομένα

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

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

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

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

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

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

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

Τπολογιςτζσ Ι. Ε. Νιςταηάκθσ Αναπλ. Κακθγθτισ Σμιματοσ Φυςικισ

Τπολογιςτζσ Ι. Ε. Νιςταηάκθσ Αναπλ. Κακθγθτισ Σμιματοσ Φυςικισ Τπολογιςτζσ Ι Ε. Νιςταηάκθσ Αναπλ. Κακθγθτισ Σμιματοσ Φυςικισ 2018-2019 1 Πραγματικζσ και Φανταςτικζσ Ρίηεσ Δευτεροβάκμιασ Εξίςωςθσ Ζςτω θ δευτεροβάκμια εξίςωςθ: ax 2 bx c 0 Η διακρίνουςα είναι: b 2 4ac

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων.

Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων. Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων. Έως τώρα σε ένα πρόγραμμα έχουμε μάθει να εισάγουμε δεδομένα από το πληκτρολόγιο χρησιμοποιώντας την συνάρτηση scanf() και να εκτυπώνουμε δεδομένα

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

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

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

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

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

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

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

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ 6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ 6.1 Η Έννοια του Πίνακα Συχνά είναι προτιμότερο να αντιμετωπίζουμε ένα σύνολο μεταβλητών σαν ενότητα για να απλοποιούμε το χειρισμό τους. Έτσι οργανώνουμε σύνθετα δεδομένα σε

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

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

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

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

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Δημιουργία Νέου αρχείου Από το μενού προγραμμάτων ανοίγετε το DEV C++ Επιλέγετε File-> New-> Source File (συντόμευση πληκτρολογίου Ctrl+N)

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

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος Κεφάλαιο 10 Υποπρογράμματα 1 10.1 Τμηματικός προγραμματισμός Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης και ανάπτυξης των προγραμμάτων ως ένα σύνολο από απλούστερα τμήματα προγραμμάτων.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Δείκτες (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 Δήλωση Δήλωση Τύπος

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

Pascal. 15 Νοεμβρίου 2011

Pascal. 15 Νοεμβρίου 2011 Pascal 15 Νοεμβρίου 011 1 Procedures σε Pascal Στην Pascal μπορούμε να ορίσουμε διαδικασίες (procedures). Αυτές είναι ομάδες εντολών οι οποίες έχουν ένα όνομα. Γράφοντας το όνομα μιας διαδικασίας μπορούμε

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 5ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 Η ΕΝΤΟΛΗ for Με την εντολή for δημιουργούμε βρόχους επανάληψης σε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Συναρτήσεις. Υποπρόγραμμα

Συναρτήσεις. Υποπρόγραμμα Συναρτήσεις Υποπρόγραμμα Ένα σύνολο από εντολές που κάνουν κάτι συγκεκριμένο, έχουν στενή σχέση/εξάρτηση μεταξύ τους, έχουν «χαλαρή» σύνδεση με τον υπόλοιπο κώδικα, μπορεί να εξαχθεί από το πρόγραμμά μας

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

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

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

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

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

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

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

Εργαστήριο 9 Συναρτήσεις στη PASCAL. Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός

Εργαστήριο 9 Συναρτήσεις στη PASCAL. Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός Εργαστήριο 9 Συναρτήσεις στη PASCAL Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός 7.1 ΕΠΙΔΙΩΞΗ ΤΗΣ ΕΡΓΑΣΙΑΣ Η έννοια της συνάρτησης ως υποπρογράμματος είναι τόσο βασική σε όλες τις γλώσσες προγραμματισμού,

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

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

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

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

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

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

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

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

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

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

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Διαδικασίες και συναρτήσεις. 22 Νοε 2008 Ανάπτυξη εφαρμογών/ Υποπρογράμματα 1

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Διαδικασίες και συναρτήσεις. 22 Νοε 2008 Ανάπτυξη εφαρμογών/ Υποπρογράμματα 1 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ Διαδικασίες και συναρτήσεις 22 Νοε 2008 Ανάπτυξη εφαρμογών/ Υποπρογράμματα 1 Βασικές έννοιες Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης και ανάπτυξης των προγραμμάτων ως ένα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι Εισαγωγή Στον Προγραµµατισµό «C» Πίνακες Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Πίνακες στη C Ένας πίνακας στη C είναι

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στις Συναρτήσεις Εισαγωγή στις Συναρτήσεις Η φιλοσοφία σχεδίασης της C βασίζεται στη χρήση των συναρτήσεων. Έχουμε ήδη δει και χρησιμοποιήσει πολλές συναρτήσεις που έχει το σύστημα, όπως είναι οι printf(), scanf(),αλλά

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

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΚΕΦΑΛΑΙΟ 10 Όπως είδαμε και σε προηγούμενο κεφάλαιο μια από τις βασικότερες τεχνικές στον Δομημένο Προγραμματισμό είναι ο Τμηματικός Προγραμματισμός. Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης

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

ΑΣΚΗΣΗ 6: ΔΕΙΚΤΕΣ. Σκοπός της Άσκησης. 1. Εισαγωγικά στοιχεία για τους Δείκτες

ΑΣΚΗΣΗ 6: ΔΕΙΚΤΕΣ. Σκοπός της Άσκησης. 1. Εισαγωγικά στοιχεία για τους Δείκτες Σκοπός της Άσκησης ΑΣΚΗΣΗ 6: ΔΕΙΚΤΕΣ Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η εξοικείωση με τη χρήση των δεικτών (pointers). Οι δείκτες δίνουν την δυνατότητα σε προγράμματα να προσομοιώνουν τη

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2 η Διάλεξη C++ Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ

2 η Διάλεξη C++ Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ 2 η Διάλεξη C++ Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ Τι μάθαμε μέχρι τώρα Κάθε πρόγραμμα της c++ περιέχει υποχρεωτικά μια συνάρτηση main() η οποία είναι εκείνη που εκτελείται πρώτη. Κάθε

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

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

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

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

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

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

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