Table of Contents
7. Συναρτήσεις
Σύμφωνα με το Βιβλίο Πληροφορικής Γ’ Γυμνασίου (ΙΕΠ), μια Συνάρτηση (Function) είναι ένα αυτόνομο τμήμα κώδικα (υποπρόγραμμα) που έχει ένα συγκεκριμένο όνομα, δέχεται προαιρετικά κάποιες τιμές και εκτελεί μια συγκεκριμένη εργασία.
Οι συναρτήσεις μας βοηθούν να σπάμε ένα μεγάλο πρόβλημα σε μικρότερα και να μην γράφουμε τον ίδιο κώδικα πολλές φορές.
—
1. Ορισμός και Κλήση Συνάρτησης
Για να δημιουργήσουμε μια δική μας συνάρτηση στην Python, χρησιμοποιούμε τη λέξη-κλειδί def (από το define).
Α. Απλή Συνάρτηση χωρίς παραμέτρους
# Ορισμός της συνάρτησης def xairetismos(): print("Καλώς ήρθες στο μάθημα της Python!") print("Σήμερα μαθαίνουμε για τις συναρτήσεις.") # Κλήση της συνάρτησης (εδώ εκτελείται) xairetismos()
Β. Συνάρτηση με Παραμέτρους
Οι παράμετροι είναι μεταβλητές που δέχεται η συνάρτηση στις παρενθέσεις της για να τις χρησιμοποιήσει στον κώδικά της.
def kalosorisma(onoma): print("Γεια σου", onoma, "! Καλή επιτυχία στο τεστ.") # Κλήση της συνάρτησης με διαφορετικά ονόματα kalosorisma("Νίκο") kalosorisma("Ελένη")
—
2. Η εντολή return
Μια συνάρτηση μπορεί να υπολογίσει ένα αποτέλεσμα και να το επιστρέψει στο κύριο πρόγραμμα χρησιμοποιώντας την εντολή return. Μόλις εκτελεστεί το return, η συνάρτηση σταματάει αμέσως.
def athroisma(α, β): apotelesma = α + β return apotelesma # Αποθηκεύουμε το αποτέλεσμα της συνάρτησης σε μια μεταβλητή skor = athroisma(10, 15) print("Το συνολικό σκορ είναι:", skor)
—
3. Η Έννοια της Αναδρομής (Recursion)
Το βιβλίο του ΙΕΠ εισάγει μια πολύ σημαντική προγραμματιστική έννοια, την Αναδρομή.
Αναδρομή είναι η τεχνική κατά την οποία μια συνάρτηση καλεί τον ίδιο της τον εαυτό για να λύσει ένα πρόβλημα!
Για να μην κολλήσει το πρόγραμμα και καλεί τον εαυτό του για πάντα (παραβίαση της περατότητας), μια αναδρομική συνάρτηση πρέπει οπωσδήποτε να περιέχει μια συνθήκη τερματισμού (συνήθως με ένα if).
Παράδειγμα: Αντίστροφη μέτρηση
def antistrofi_metrisi(n): if n <= 0: print("Εκτόξευση! 🚀") else: print(n) # Η συνάρτηση καλεί τον εαυτό της με μικρότερο αριθμό antistrofi_metrisi(n - 1) # Κλήση της συνάρτησης antistrofi_metrisi(5)
—
🚀 Δραστηριότητα για το Εργαστήριο
Γράψε τον παρακάτω κώδικα στο Thonny ή στο EduBlocks. Δημιουργούμε μια συνάρτηση που ελέγχει αν ένας μαθητής πέρασε με βάση το σκορ του, επιστρέφοντας μια λογική τιμή (True/False).
def elenxos_skor(pontoi): if pontoi >= 50: return True else: return False # Δοκιμή της συνάρτησης vathmologia = int(input("Δώσε τους πόντους σου στο τεστ: ")) if elenxos_skor(vathmologia) == True: print("Συγχαρητήρια! Πέρασες το τεστ γνώσεων!") else: print("Δυστυχώς κόπηκες. Χρειάζεται περισσότερη εξάσκηση.")
🧭 Διαχειριστής Υποδομής: Μακρυπόδης Διονύσιος, Καθηγητής Πληροφορικής & Διευθυντής 2ου Γυμνασίου Ναυπλίου

