Συνάρτηση με δήλωση τύπου

Το πρόγραμμα του αρχείου FLOATSQ.C δίνει παραδείγματα συναρτήσεων που 
επιστρέφουν πραγματικές τιμές. Το πρόγραμμα ξεκινά με τη δήλωση της γενικής 
πραγματικής μεταβλητής z της οποίας η χρήση θα φανεί στο δεύτερο μέρος του 
προγράμματος. Το κυρίως πρόγραμμα ξεκινά με τη δήλωση μιας ακέραιας 
μεταβλητής index, που παίζει ρόλο μετρητή επανάληψης,  και δύο πραγματικών 
μεταβλητών x,y που έχουν βηθητική χρήση. Στη συνέχεια βλέπουμε τη δήλωση 
του τύπου των συναρτήσεων sqr(), glsqr(): εδώ δηλώνεται οτι οι δύο 
συναρτήσεις επιστρέφουν πραγματικές τιμές.

Προσοχή, αυτή η μορφή δήλωσης του τύπου μιάς συνάρτησης είναι η λεγόμενη 
κλασσική μέθοδος και θα ανασκευστεί σε επόμενη παράγραφο με βάση τη νέα 
μέθοδο, η οποία θα χρησιμοποιηθεί από εκεί και μετά. Όμως αναφέρεται γιατί 
μπορεί να τη συνατήσει κανείς σε παλαιότερα προγράμματα C. 

Ας δούμε τώρα τον ορισμό της συνάρτησης sqr. Βλέπουμε οτι πριν από το όνομα 
της συνάρτησης υπάρχει ο τυπος της επιστρεφόμενης τιμής. Επίσης δηλώνεται η 
τυπική παράμετρος inval, που είναι και αυτή πραγματικός αριθμός, όπως 
φάινεται στην επόμενη γραμμή. Κατά τα άλλα η συνάρτηση sqr είναι ίδια με τη 
συνάρτηση squ του προηγουμένου προγράμματος. 

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

Η δεύτερη πρόταση επανάληψης χρησιμοποιεί τη συνάρτηση glsqr δείχνει μιά 
πιό συμπιεσμένη μορφή της ίδιας συνάρτησησης με επιπλέον χρήση της γενικής 
μεταβλητής z. Το αποτέλεσμα της εκτέλεσης του προγράμματος δίνεται 
παρακάτω.

/* Result of execution

The square of 0 is      0.0000
The square of 1 is      1.0000
The square of 2 is      4.0000
The square of 3 is      9.0000
The square of 4 is     16.0000
The square of 5 is     25.0000
The square of 6 is     36.0000
The square of 7 is     49.0000
The square of 0 is      0.0000
The square of 1 is      1.0000
The square of 2 is      4.0000
The square of 3 is      9.0000
The square of 4 is     16.0000
The square of 5 is     25.0000
The square of 6 is     36.0000
The square of 7 is     49.0000

Περιεχόμενα Κεφαλαίου