Υπάρχει επίσης μια λίστα με μαθηματικές συναρτήσεις διαθέσιμες που σας επιτρέπουν να εκτελέσετε μαθηματικές εργασίες σε αριθμούς.
Για να τις χρησιμοποιήσετε, πρέπει να συμπεριλάβετε το αρχείο κεφαλίδας math.h στο πρόγραμμά σας:
#include <stdio.h> #include <math.h> int main() { double x = 2.0; double y = sqrt(x); printf("The square root of %f is %f", x, y); return 0; }
Σε αυτό το παράδειγμα, χρησιμοποιούμε τη συνάρτηση sqrt()
για να υπολογίσουμε την τετραγωνική ρίζα ενός αριθμού. Η συνάρτηση sqrt()
δέχεται έναν αριθμό ως είσοδο και επιστρέφει την τετραγωνική ρίζα του αριθμού αυτού. Το αποτέλεσμα αποθηκεύεται στη μεταβλητή y
. Στη συνέχεια, χρησιμοποιούμε τη συνάρτηση printf()
για να εμφανίσουμε την τιμή της μεταβλητής x
και την τετραγωνική ρίζα της στην οθόνη.
Σημειώστε ότι στο παράδειγμα αυτό χρησιμοποιούμε τον τύπο δεδομένων double
για τη μεταβλητή x
. Αυτός ο τύπος δεδομένων αντιπροσωπεύει έναν αριθμό με δεκαδικά ψηφία. Η συνάρτηση sqrt()
απαιτεί επίσης τον τύπο δεδομένων double
για την είσοδο και επιστρέφει επίσης μια τιμή τύπου double
. Εάν χρησιμοποιείτε μια άλλη μεταβλητή ή συνάρτηση με μαθηματική συνάρτηση, πρέπει να ελέγξετε την τεκμηρίωση για να δείτε ποιος είναι ο σωστός τύπος δεδομένων που πρέπει να χρησιμοποιήσετε.
Η βιβλιοθήκη math.h περιλαμβάνει πολλές άλλες συναρτήσεις, όπως οι συναρτήσεις για τον υπολογισμό του συνημιτόνου, του εφαπτομένου, του λογαρίθμου, της εκθετικής και πολλές άλλες. Μπορείτε να βρείτε την πλήρη λίστα των συναρτήσεων στην τεκμηρίωση της βιβλιοθήκης math.h.
Η συνάρτηση ceil()
στρογγυλοποιεί έναν αριθμό προς τα πάνω στο πλησιέστερο ακέραιο και επιστρέφει το αποτέλεσμα ως μια τιμή διπλής ακρίβειας. Αυτή η συνάρτηση βρίσκεται στη βιβλιοθήκη math.h.
Παρακάτω παρατίθεται ένα παράδειγμα χρήσης της συνάρτησης ceil()
:
#include <stdio.h> #include <math.h> int main() { double x = 5.25; double y = ceil(x); printf("The ceiling of %f is %f", x, y); return 0; }
Σε αυτό το παράδειγμα, η μεταβλητή x
περιέχει την τιμή 5.25. Η συνάρτηση ceil()
καλείται με όρισμα την μεταβλητή x
και επιστρέφει τη στρογγυλοποιημένη τιμή, δηλαδή τον αριθμό 6.0. Το αποτέλεσμα αποθηκεύεται στη μεταβλητή y
. Στη συνέχεια, χρησιμοποιούμε τη συνάρτηση printf()
για να εμφανίσουμε την αρχική τιμή της μεταβλητής x
και τη στρογγυλοποιημένη τιμή της στην οθόνη.
[adinserter block=”2″]
Η συνάρτηση floor()
λειτουργεί αντίστοιχα, στρογγυλοποιώντας έναν αριθμό προς τα κάτω στο πλησιέστερο ακέραιο. Αντικαθιστώντας τη συνάρτηση ceil()
με τη συνάρτηση floor()
στο παραπάνω παράδειγμα, μπορείτε να συγκρίνετε τις δύο συναρτήσεις και να δείτε τις διαφορές στα αποτελέσματα. Παρακάτω παρατίθεται το ίδιο παράδειγμα με τη συνάρτηση floor()
:
#include <stdio.h> #include <math.h> int main() { double x = 5.25; double y = floor(x); printf("The floor of %f is %f", x, y); return 0; }
Σε αυτήν την περίπτωση, η στρογγυλοποίηση της τιμής 5.25 προς τα κάτω δίνει τον ακέραιο 5.0. Έτσι, το παραπάνω πρόγραμμα θα εμφανίσει το αποτέλεσμα:
The floor of 5.250000 is 5.000000
Όπως βλέπετε, οι δύο συναρτήσεις ceil()
και floor()
μπορούν να χρησιμοποιηθούν για να στρογγυλοποιήσουν έναν αριθμό προς τα πάνω ή προς τα κάτω στον πλησιέστερο ακέραιο, αντίστοιχα. Αυτές οι συναρτήσεις μπορούν να χρησιμοποιηθούν σε πολλές εφαρμογές, όπως για παράδειγμα για τον υπολογισμό του ακέραιου μέρους ενός δεκαδικού αριθμού.
Η συνάρτηση pow()
χρησιμοποιείται για να υψώσει έναν αριθμό στη δύναμη ενός άλλου αριθμού. Η συνάρτηση αυτή βρίσκεται επίσης στη βιβλιοθήκη math.h.
Παρακάτω παρατίθεται ένα παράδειγμα χρήσης της συνάρτησης pow()
:
#include <stdio.h> #include <math.h> int main() { double x = 2.0; double y = 3.0; double result = pow(x, y); printf("%f raised to the power of %f is %f", x, y, result); return 0; }
Σε αυτό το παράδειγμα, η μεταβλητή x
περιέχει την τιμή 2.0 και η μεταβλητή y
περιέχει την τιμή 3.0. Η συνάρτηση pow()
καλείται με αυτά τα δύο ορίσματα και επιστρέφει το αποτέλεσμα του 2.0 υψωμένο στη δύναμη του 3.0, δηλαδή 8.0. Το αποτέλεσμα αποθηκεύεται στη μεταβλητή result
. Στη συνέχεια, χρησιμοποιούμε τη συνάρτηση printf()
για να εμφανίσουμε τα ορίσματα και το αποτέλεσμα στην οθόνη.
Μπορείτε να χρησιμοποιήσετε τη συνάρτηση pow()
για να υπολογίσετε την υψηλή δύναμη ενός αριθμού, τον τετραγωνικό ρίζα ενός αριθμού και πολλά άλλα. Επίσης, πρέπει να προσέξετε την ακρίβεια του αποτελέσματος, επειδή στις περιπτώσεις που υπερβαίνει τα όρια ακρίβειας του υπολογιστή, το αποτέλεσμα μπορεί να είναι λανθασμένο.
[adinserter block=”3″]
Η βιβλιοθήκη περιέχει πολλές άλλες συναρτήσεις μαθηματικών, εκτός από τις ceil()
και floor()
που αναφέρθηκαν παραπάνω και τη pow()
που αναφέρθηκε προηγουμένως. Ακολουθεί μια λίστα μερικών από τις πιο δημοφιλείς συναρτήσεις μαθηματικών:
Συνάρτηση | Περιγραφή |
---|---|
abs(x) | Επιστρέφει την απόλυτη τιμή του x |
acos(x) | Επιστρέφει το αντίστροφο άρκοσινο του x |
asin(x) | Επιστρέφει το αντίστροφο άρκταντα του x |
atan(x) | Επιστρέφει το αντίστροφο αρκταντικό του x |
cbrt(x) | Επιστρέφει την τρίτη ρίζα του x |
cos(x) | Επιστρέφει το συνημίτονο του x |
exp(x) | Επιστρέφει την τιμή του e υψωμένη στη δύναμη του x |
sin(x) | Επιστρέφει τον ημίτονο του x |
tan(x) | Επιστρέφει την εφαπτομένη του x |
Αυτές οι συναρτήσεις μπορούν να χρησιμοποιηθούν για να εκτελέσουν διάφορες μαθηματικές λειτουργίες, όπως η υπολογιστική γεωμετρία, ο υπολογισμός του ημιτόνου, της εφαπτομένης και του συνημιτόνου ενός αριθμού και πολλά άλλα. Για παράδειγμα, η συνάρτηση sqrt()
χρησιμοποιείται για να υπολογίσει την τετραγωνική ρίζα ενός αριθμού, ενώ η συνάρτηση log()
χρησιμοποιείται για να υπολογίσει τον φυσικό λογάριθμο ενός αριθμού.
Για παράδειγμα, ο παρακάτω κώδικας χρησιμοποιεί τις συναρτήσεις sqrt()
και pow()
για να υπολογίσει την υποτετραγωνική απόσταση μεταξύ δύο σημείων στο δισδιάστατο χώρο:
#include <stdio.h> #include <math.h> int main() { double x1 = 1.0; double y1 = 2.0; double x2 = 4.0; double y2 = 6.0; double dx = x2 - x1; double dy = y2 - y1; double distance = sqrt(pow(dx, 2) + pow(dy, 2)); printf("The distance between (%f, %f) and (%f, %f) is %f\n", x1, y1, x2, y2, distance); return 0; }
Σε αυτό το παράδειγμα, οι μεταβλητές x1
, y1
, x2
και y2
περιέχουν τις συντεταγμένες δύο σημείων στο δισδιάστατο χώρο. Στη συνέχεια, υπολογίζουμε τις διαφορές στις συντεταγμένες, ώστε να υπολογίσουμε το μήκος της ευθείας που τα συνδέει. Αυτό γίνεται με τη χρήση των συναρτήσεων pow()
και sqrt()
. Τέλος, χρησιμοποιούμε τη συνάρτηση printf()
για να εμφανίσουμε την απόσταση στην οθόνη.
Επίσης, η βιβλιοθήκη περιέχει και άλλες χρήσιμες συναρτήσεις, όπως η log()
για τον υπολογισμό του λογαρίθμου, η sinh()
και η cosh()
για τους υπερβολικούς συνημίτονο και συνημιτελής, αντίστοιχα, κ.λπ. Αυτές οι συναρτήσεις μπορούν να βοηθήσουν στην επίλυση πιο περίπλοκων προβλημάτων στην επιστήμη των υπολογιστών και σε άλλες επιστήμες.