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

Σχετικά έγγραφα
Η γλώσσα προγραμματισμού C

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

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

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

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

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

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

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ

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

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

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

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

Ασκηή σεις 12ο Μαά θημα - Λυύ σεις

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

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

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

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

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

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

Κεφάλαιο 8.7. Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην πληροφορική

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

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

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

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

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

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

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

Σημειώσεις για πρόοδο στο εργαστήριο

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

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

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

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

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

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

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

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

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

ΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΛΟΓΙΣΜΙΚΟΥ. p: i: 3 p: i: 5

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

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

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

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

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

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

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

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

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

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

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

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

ΑΠΑΝΤΉΣΕΙΣ ΣΤΟ ΠΡΩΤΟ ΣΥΝΟΛΟ ΑΣΚΗΣΕΩΝ

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

Κεφάλαιο 3.1, : Συναρτήσεις I. ( ιάλεξη 11) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

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

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

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

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

Κεφάλαιο Πίνακες Ι. (Διάλεξη 16)

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

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

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

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

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

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

Εισαγωγή στην πληροφορική

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

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

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

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

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

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

Διάλεξη 5: Δείκτες και Συναρτήσεις

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

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

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

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

Transcript:

Παραδείγματα με συναρτήσεις στη C PrintStarline Εκτύπωση γραμμής με αστεράκια (80) -χωρίς ορίσματα με τιμή επιστροφής void void printstarline(void); //Δήλωση της συνάρτησης printstarline(); //Κλήση της συνάρτησης void printstarline(void) //Ορισμός της συνάρτησης for (i=1; i<=80;i++) printf ("%c", '*'); PrintStars - Εμφάνιση Ν αστεριών χωρίς επιστροφή (void) με παράμετρο void printstars (int m) //Ορισμός πριν την δεν απαιτείται δήλωση printf ("*"); printf("dwste N: "); printstars (i); Υπολογισμός της υποτείνουσας ενός ορθογωνίου τριγώνου Αποτέλεσμα: Dwste N:6 * ** *** **** ***** ****** (α) Με συνάρτηση της C float a,b,c; c=sqrt(pow(a,2)+pow(b,2)); printf("ypoteinousa=%f", c); (β) Χωρίς συνάρτηση της C float tetrag(float x) return x*x; float a,b,c; c=sqrt(tetrag(a)+tetrag(b)); printf("ypoteinousa=%f", c);

PrintChar - Εμφάνιση ενός χαρακτήρα πολλές φορές (Ν) χωρίς επιστροφή (void) με παραμέτρους (α) Με καθολική μεταβλητή char C; //καθολική μεταβλητή void printchar (int m) //Ορισμός πριν την printf ("%c", C); printf("doste character:"); scanf("%c", &C); printf("doste arithmo:"); printchar (N); printchar (i); (β) Με τοπική μεταβλητή void printchar (int m, char C ) printf ("%c", C); char C; //τοπική μεταβλητή printf("doste character:"); scanf("%c", &C); printf("doste arithmo:"); printchar (N, C); printchar (i, C); Υπολογισμός αθροίσματος 3 μεταβλητών - με επιστροφή και με παραμέτρους int sum(int,int,int); int a, b, c; int athroisma; printf("\n Give me 1st : "); scanf("%d", &a); printf("\n Give me 2nd : "); scanf("%d", &b); printf("\n Give me 3nd : "); scanf("%d", &c); athroisma = sum(a, b, c); printf("\n sum : %d ", athroisma); int sum(int a1, int b1, int c1) int sum1; sum1=a1+b1+c1; return sum1;

Υπολογισμός του (2x+3) 2 - με επιστροφή και με παραμέτρους (α) Με κλήση της pow() (β) Με 2 συναρτήσεις (η μία καλεί την άλλη) float calc1 (float z) //Ορισμός πριν την return (2*z+3); float x,y; printf("doste X:"); scanf ("%f", &x); y=pow(calc1(x), 2); printf("y=%f", y); float calc2 (float z) //Ορισμός πριν την return (2*z+3); float calc1(float z) float u; u= calc2(z); return u*u; float x,y; printf("doste X:"); scanf ("%f", &x); y=calc1(x); printf("y=%f", y); Υπολογισμός μέσου όρου με τιμή επιστροφής float, χωρίς παραμέτρους float findsum(void); float athroisma,mo; athroisma = findsum(); MO = athroisma/7; printf("athroisma %f\nmesos oros %f",athroisma,mo); float findsum(void) float a, sum; printf ("You should give 7 numbers\n"); for (i=1; i<=7;i++) printf("please give %d number:",i); scanf("%f", &a); sum=sum+a; return sum;

Εύρεση του μεγαλύτερου από 3 αριθμούς int maximum(int,int,int); int a, b, c, max; printf("\n 1st no : "); scanf("%d", &a); printf("\n 2nd no : "); scanf("%d", &b); printf("\n 3rd no : "); scanf("%d", &c); max = maximum(a, b, c); printf("\n max is : ", max); int maximum(int a1, int b1, int c1) int max1; max1=a1; if (b1>max1) max=b1; if (c1>max1) max=c1; return max1; Υπολογισμός εμβαδού και περιμέτρου ενός ορθογωνίου (με 2 συναρτήσεις) (με επιστροφή και με παραμέτρους) (α) χωρίς δήλωση float perim(float x, float y) return 2*x+2*y; float embadon(float x, float y) return x*y; float a,b; printf("perimetros=%f\n", perim(a,b)); printf("embadon=%f\n", embadon(a,b)); (β) μεδήλωση float embadon(float, float); //με δήλωση float perim(float, float); float a,b; printf("perimetros=%f\n", perim(a,b)); printf("embadon=%f\n", embadon(a,b)); float embadon(float x, float y) return x*y; float perim(float x, float y) return 2*x+2*y;

Υπολογισμός παραγοντικού των αριθμών 1-12 - με τιμή επιστροφής και παραμέτρους #define MAXN 12 int compute_factorial (int); for (i=1 ; i <= MAXN ; i++) printf("%2d! = %d\n", i, compute_factorial(i)); int compute_factorial (int n) int i, factorial=1; for (i=1; i<=n; i++) factorial *= i; return factorial; Call by value/reference Ανταλλαγή τιμών σε 2 μεταβλητές: // Δεν επιστρέφονται σωστά οι τιμές void interchange(int, int); int x = 1, y = 2; printf("intially x =%d and y = %d. \n", x, y); interchange(x, y); printf("after function x = %d and y = %d. \n", x, y); void interchange(int u, int v) int temp; temp = u; u = v; v = temp; // Επιστρέφονται σωστά τις τιμές void swap(int*, int*); int x = 5, y = 10; printf("intially x =%d and y = %d. \n", x, y); swap(&x, &y); printf("after function x = %d and y = %d. \n", x, y); void swap(int *u, int *v) int temp; temp = *u; *u = *v; *v = temp;