Χρησιμοποίηση συναρτήσεων
Προηγ | Κεφάλαιο 5. Βασικά της GEL | Επόμενο

## Χρησιμοποίηση συναρτήσεων

Σύνταξη:

    FunctionName(όρισμα1, όρισμα2, ...)

Παράδειγμα:

    Factorial(5)
    cos(2*pi)
    gcd(921,317)

Για να αξιολογήσετε μια συνάρτηση, εισάγετε το όνομα της συνάρτησης, που ακολουθείται από τα ορίσματα (αν υπάρχουν) της συνάρτησης σε παρενθέσεις. Αυτό θα επιστρέψει το αποτέλεσμα της εφαρμογής της συνάρτησης στα ορίσματά της. Ο αριθμός των ορισμάτων στη συνάρτηση είναι, φυσικά, διαφορετικός για κάθε συνάρτηση.

Υπάρχουν πολλές ενσωματωμένες συναρτήσεις, όπως οι `sin`, `cos` και `tan`. Μπορείτε να χρησιμοποιήσετε την ενσωματωμένη εντολή `help` για να πάρετε έναν κατάλογο διαθέσιμων συναρτήσεων, ή δείτε Κεφάλαιο 11, Κατάλογος συναρτήσεων της GEL για έναν πλήρη κατάλογο.

### Χρήση συμπλήρωσης καρτέλας

Μπορείτε να χρησιμοποιήσετε την συμπλήρωση καρτέλας για να βάλετε την Genius να συμπληρώσει τα ονόματα των συναρτήσεων για σας. Δοκιμάστε την πληκτρολόγηση των πρώτων λίγων γραμμάτων του ονόματος και πατήστε `Καρτέλα`.

### Τα ονόματα των συναρτήσεων είναι με διάκριση πεζών/κεφαλαίων

Τα ονόματα των συναρτήσεων είναι με διάκριση πεζών/κεφαλαίων. Αυτό σημαίνει ότι οι συναρτήσεις με όνομα `dosomething`, `DOSOMETHING` και `DoSomething` είναι όλες διαφορετικές συναρτήσεις.

### Ορισμός συναρτήσεων

Σύνταξη:

    function <identifier>(<comma separated arguments>) = <function body>
    <identifier> = (`() = <function body>)

Το ``` είναι ο χαρακτήρας ` και υποδηλώνει μια ανώνυμη συνάρτηση. Ορίζοντας την σε ένα όνομα μεταβλητής την ορίζετε αποτελεσματικά ως συνάρτηση.

Μια συνάρτηση παίρνει μηδέν ή περισσότερα ορίσματα που χωρίζονται με κόμμα και επιστρέφει το αποτέλεσμα του σώματος της συνάρτησης. Ορίζοντας τις δικές σας συναρτήσεις είναι κυρίως ένα θέμα ευκολίας· μια πιθανή χρήση είναι να βάλετε σύνολα συναρτήσεων που ορίστηκαν στα αρχεία GEL, τα οποία η Genius μπορεί να φορτώσει για να τα κάνει διαθέσιμα. Παράδειγμα:

    function addup(a,b,c) = a+b+c

έπειτα `addup(1,4,9)` δίνει 14

### Κατάλογοι ορισμάτων μεταβλητής

Αν συμπεριλάβετε `...` μετά το τελευταίο όνομα ορίσματος στη δήλωση συνάρτησης, τότε η Genius θα επιτρέψει οποιονδήποτε αριθμό ορισμάτων να περαστεί επί τόπου σε αυτό το όρισμα. Αν δεν περαστούν ορίσματα τότε αυτό το όρισμα θα οριστεί σε `null`. Αλλιώς, θα είναι οριζόντιο διάνυσμα που περιέχει όλα τα ορίσματα. Για παράδειγμα:

    function f(a,b...) = b

Τότε το `f(1,2,3)` δίνει `[2,3]`, ενώ `f(1)` δίνει `null`.

### Πέρασμα συναρτήσεων σε συναρτήσεις

Στο Genius, είναι δυνατό να περάσετε μια συνάρτηση ως ένα όρισμα σε μια άλλη συνάρτηση. Αυτό μπορεί να γίνει χρησιμοποιώντας είτε ‘κόμβους συνάρτησης’ ή ανώνυμες συναρτήσεις.

Αν δεν εισάγετε τις παρενθέσεις μετά από ένα όνομα συνάρτησης, αντί να αξιολογηθεί, η συνάρτηση θα επιστραφεί στη θέση της ως ‘κόμβος συνάρτησης’. Ο κόμβος συνάρτησης μπορεί τότε να περαστεί σε μια άλλη συνάρτηση. Παράδειγμα:

    function f(a,b) = a(b)+1;
    function b(x) = x*x;
    f(b,2)

Για να περάσετε συναρτήσεις που δεν ορίζονται, μπορείτε να χρησιμοποιήσετε μια ανώνυμη συνάρτηση (δείτε «Ορισμός συναρτήσεων»). Δηλαδή, αν θέλετε να περάσετε μια συνάρτηση χωρίς να της δώσετε ένα όνομα. Σύνταξη:

    function(<comma separated arguments>) = <function body>
    `(<comma separated arguments>) = <function body>

Παράδειγμα:

    function f(a,b) = a(b)+1;
    f(`(x) = x*x,2)

Αυτό θα επιστρέψει 5.

### Πράξεις σε συναρτήσεις

Κάποιες συναρτήσεις επιτρέπουν αριθμητικές πράξεις και κάποιες συναρτήσεις μοναδικού ορίσματος όπως `exp` ή `ln`, λειτουργούν στη συνάρτηση. Για παράδειγμα, η

    exp(sin*cos+4)

θα επιστρέψει μια συνάρτηση που παίρνει `x` και επιστρέφει `exp(sin(x)*cos(x)+4)`. Είναι ισοδύναμη λειτουργικά με την πληκτρολόγηση

    `(x) = exp(sin(x)*cos(x)+4)

Αυτή η πράξη μπορεί να είναι χρήσιμη, όταν ορίζετε γρήγορα συναρτήσεις. Για παράδειγμα για να δημιουργήσετε μια συνάρτηση που λέγεται `f` για να εκτελέσετε την παραπάνω πράξη, μπορείτε να πληκτρολογήσετε απλά:

    f = exp(sin*cos+4)

Μπορεί επίσης να χρησιμοποιηθεί στη σχεδίαση. Για παράδειγμα, για να σχεδιάσετε τετράγωνο ημιτόνου μπορείτε να εισάγετε:

    LinePlot(sin^2)

### Προειδοποίηση

Δεν μπορούν όλες οι συναρτήσεις να χρησιμοποιηθούν κατ' αυτόν τον τρόπο. Για παράδειγμα, όταν χρησιμοποιείτε μια δυαδική πράξη οι συναρτήσεις πρέπει να παίρνουν τον ίδιο αριθμό ορισμάτων.

Προηγ | Πάνω | Επόμενο
Χρήση μεταβλητών | Αρχή | Διαχωριστικό