Υποπρογράμματα και Συναρτήσεις στην Python

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Ποια είναι η βασική αρχή του Τμηματικού Προγραμματισμού;

  • Η διαίρεση ενός προγράμματος σε μικρότερα, ανεξάρτητα κομμάτια κώδικα. (correct)
  • Η συγγραφή ενός μεγάλου προγράμματος σε μία ενιαία ενότητα κώδικα.
  • Η αποφυγή χρήσης υποπρογραμμάτων.
  • Η χρήση δομών επανάληψης για την αποφυγή του Τμηματικού Προγραμματισμού.

Στην Python, μια συνάρτηση πρέπει να οριστεί μετά τη χρήση της.

False (B)

Πώς ονομάζεται η λειτουργία μέσω της οποίας ένα πρόγραμμα καλεί μια συνάρτηση;

κλήση (calling)

Η εντολή στην Python που χρησιμοποιείται για τον ορισμό μιας συνάρτησης είναι η ________.

<p>def</p> Signup and view all the answers

Αντιστοιχίστε τις παρακάτω έννοιες με τις σωστές περιγραφές τους:

<p>Παράμετρος = Μεταβλητή που χρησιμοποιείται για τη μεταβίβαση τιμών σε ένα υποπρόγραμμα. Επιστρεφόμενη τιμή = Το αποτέλεσμα που επιστρέφει μια συνάρτηση μετά την εκτέλεσή της. Κλήση συνάρτησης = Η διαδικασία ενεργοποίησης και εκτέλεσης μιας συνάρτησης. Εμβέλεια = Το τμήμα του προγράμματος όπου μια μεταβλητή είναι προσπελάσιμη.</p> Signup and view all the answers

Τι επιστρέφει η συνάρτηση type(45) στην Python;

<p>&lt;type 'int'&gt; (B)</p> Signup and view all the answers

Στην Python, ο τύπος των παραμέτρων σε μια συνάρτηση πρέπει να δηλώνεται κατά τον ορισμό της συνάρτησης.

<p>False (B)</p> Signup and view all the answers

Τι είναι η επιστρεφόμενη τιμή (return value) μιας συνάρτησης;

<p>το αποτέλεσμα που παράγει η συνάρτηση</p> Signup and view all the answers

Μια συνάρτηση μπορεί να καλείται από διάφορα ________ του κύριου προγράμματος.

<p>σημεία</p> Signup and view all the answers

Αντιστοιχίστε τις παρακάτω έννοιες με τις κατάλληλες περιγραφές τους:

<p>Συνάρτηση = Ένα τμήμα κώδικα που εκτελεί μια συγκεκριμένη εργασία. Όρισμα = Η τιμή που περνάμε σε μια συνάρτηση όταν την καλούμε. Παράμετρος = Μια μεταβλητή που δέχεται την τιμή ενός ορίσματος. Πολυμορφισμός = Η δυνατότητα μιας συνάρτησης να λειτουργεί με διαφορετικούς τύπους δεδομένων.</p> Signup and view all the answers

Σε τι αναφέρεται η εμβέλεια (scope) μιας μεταβλητής;

<p>Στο τμήμα του προγράμματος όπου η μεταβλητή είναι προσπελάσιμη. (A)</p> Signup and view all the answers

Οι τοπικές μεταβλητές είναι προσβάσιμες από όλες τις συναρτήσεις του προγράμματος.

<p>False (B)</p> Signup and view all the answers

Πώς ονομάζονται οι μεταβλητές που ορίζονται έξω από το σώμα μιας συνάρτησης;

<p>καθολικές μεταβλητές</p> Signup and view all the answers

Για να αλλάξουμε την τιμή μιας καθολικής μεταβλητής μέσα σε μια συνάρτηση, πρέπει να χρησιμοποιήσουμε την εντολή ________.

<p>global</p> Signup and view all the answers

Ποιο είναι το αποτέλεσμα της εκτέλεσης του παρακάτω κώδικα;

def func(x):
    print('Το χ είναι', x)
    x = 2
    print('Το τοπικό χ άλλαξε σε', x)
x = 50
func(x)
print('Το χ είναι ακόμα', x)```

<p>Το χ είναι 50 Το τοπικό χ άλλαξε σε 2 Το χ είναι ακόμα 50 (C)</p> Signup and view all the answers

Μια συνάρτηση στην Python μπορεί να επιστρέψει πολλαπλές τιμές.

<p>False (B)</p> Signup and view all the answers

Ποια είναι η διαφορά μεταξύ μιας παραμέτρου και ενός ορίσματος σε μια συνάρτηση;

<p>Η παράμετρος είναι στον ορισμό της συνάρτησης, το όρισμα είναι κατά την κλήση της</p> Signup and view all the answers

Μια συνάρτηση χωρίς την εντολή return επιστρέφει ________.

<p>None</p> Signup and view all the answers

Αντιστοιχίστε τα παρακάτω:

<p>Υποπρόγραμμα = Τμήμα κώδικα που επιτελεί μια συγκεκριμένη εργασία. Παράμετροι εισόδου = Οι τιμές που δίνονται στην υπορουτίνα κατά την κλήση. Κλήση υποπρογράμματος = Εκτέλεση ενός υποπρογράμματος από το κύριο πρόγραμμα. Μεταβλητές = Χώροι μνήμης όπου αποθηκεύονται δεδομένα.</p> Signup and view all the answers

Ποιά είναι η λειτουργία της επανχρησιμοποίησης;

<p>Συνδυάζει μικρότερες δομικές μονάδες (B)</p> Signup and view all the answers

Σε μία συνάρτηση μπορούμε να τροποιήσουμε τις παραμέτρους εισόδου.

<p>True (A)</p> Signup and view all the answers

Ποιός είναι ο σκοπός των παραμέτρων εισόδου και εξόδου?

<p>Τη μεταφορά τιμών μεταξύ προγραμμάτων</p> Signup and view all the answers

Οι παράμετροι ορίζονται μέσα στο ζευγάρι των ________,

<p>παρενθέσεων</p> Signup and view all the answers

Αντιστοιχίστε τις παρακάτω τεχνικές:

<p>Τμηματικός Προγραμματισμός = Διαίρεση σε κομμάτια Επαναχρησιμοποίηση = Χρήση ίδιου κώδικα σε άλλες γλώσσες Ορισμός συνάρτησης = Χρήση: def Λειτουργικός προγραμματισμός = αποφυγή αλλαγής της κατάστασης και μεταβλητών δεδομένων</p> Signup and view all the answers

Ποιός είναι ο ρόλος του return;

<p>Επιστρέφει την έξοδο (B)</p> Signup and view all the answers

Στη Python η εντολή, ________, χρησιμοποιείται ώστε, να δηλωθεί στην Python ότι μία μεταβλητή δεν είναι τοπική αλλά καθολική.

<p>global</p> Signup and view all the answers

Αντιστοιχίστε τις παρακάτω μεταβλητές

<p>Τοπική μεταβλητή = Βασίζεται στον κώδικα Καθολική μεταβλητή = Δεν βασίζεται στον κώδικα Εμβέλεια μεταβλητής = Μετράται από την στιγμή 0ρισμού Εμφάνιση Σφάλματος = Πιθανώς να υπερχειλίσει</p> Signup and view all the answers

Flashcards

Τμηματικός Προγραμματισμός

Τμηματικός τρόπος γραφής προγραμμάτων ως σύνολο μικρότερων κομματιών κώδικα.

Υποπρόγραμμα

Ένα κομμάτι προγράμματος γραμμένο ξεχωριστά που εκτελεί μια συγκεκριμένη αυτόνομη λειτουργία.

Ορισμός Συνάρτησης

Ένα όνομα που χρησιμοποιείται για να αναγνωρίσει μια συνάρτηση, ακολουθούμενο από παρενθέσεις.

Κλήση Συνάρτησης

Ο τρόπος να χρησιμοποιείς μια συνάρτηση.

Signup and view all the flashcards

Επιστρεφόμενη τιμή

Η τιμή που επιστρέφει μια συνάρτηση μετά την εκτέλεσή της.

Signup and view all the flashcards

Ροή εκτέλεσης

Η σειρά με την οποία εκτελούνται οι εντολές σε ένα πρόγραμμα.

Signup and view all the flashcards

Παράμετροι

Μεταβλητές που χρησιμοποιούνται για τη μεταφορά τιμών μεταξύ τμημάτων κώδικα.

Signup and view all the flashcards

Παράμετροι συναρτήσεων

Τιμές που δίνονται σε μια συνάρτηση για να λειτουργήσει.

Signup and view all the flashcards

Εμβέλεια

Το τμήμα του κώδικα όπου μια μεταβλητή είναι προσβάσιμη.

Signup and view all the flashcards

Καθολικές μεταβλητές

Μεταβλητές που είναι προσβάσιμες από οποιοδήποτε σημείο του προγράμματος.

Signup and view all the flashcards

Τοπικές μεταβλητές

Μεταβλητές που είναι προσβάσιμες μόνο μέσα στη συνάρτηση όπου δηλώθηκαν.

Signup and view all the flashcards

Εντολή global

Χρησιμοποιείται για να δηλώσει ότι μια μεταβλητή είναι καθολική μέσα σε μια συνάρτηση.

Signup and view all the flashcards

Study Notes

Υποπρογράμματα

  • Ένα υποπρόγραμμα είναι ένα κομμάτι κώδικα που έχει γραφτεί ξεχωριστά από το υπόλοιπο πρόγραμμα και επιτελεί ένα αυτόνομο έργο.
  • Βασικά χαρακτηριστικά:
    • Έχει μόνο ένα σημείο εισόδου για δεδομένα.
    • Το πρόγραμμα που καλεί ένα άλλο υποπρόγραμμα σταματάει μέχρι να εκτελεστεί το καλούμενο υποπρόγραμμα.
    • Ο έλεγχος επιστρέφει στο αρχικό πρόγραμμα όταν το καλούμενο υποπρόγραμμα ολοκληρωθεί.

Συναρτήσεις στην Python

  • Η Python υλοποιεί την ιδέα της επαναχρησιμοποίησης με τις συναρτήσεις, προσφέροντας έλεγχο και αφαίρεση.
  • Κάθε γλώσσα έχει το δικό της λεξιλόγιο εντολών και συναρτήσεων.
  • Τα προγράμματα πρέπει να ακολουθούν γραμματικούς και συντακτικούς κανόνες.
  • Η Python παρέχει συναρτήσεις ως τον μοναδικό τύπο υποπρογράμματος, τις οποίες θεωρεί ως αντικείμενα.

Ορισμός και κλήση συνάρτησης

  • Ο ορισμός περιλαμβάνει το όνομα και τις παραμέτρους εισόδου.
  • Η κλήση (calling) της συνάρτησης είναι η λειτουργία μέσω της οποίας καλείται η συνάρτηση
  • Χρησιμοποιείται η λέξη-κλειδί def, ακολουθούμενη από όνομα και παρενθέσεις (με πιθανές μεταβλητές) και τελειώνεται με άνω τελεία (:).
  • Οι εντολές τοποθετούνται σε εσοχή κάτω από τη γραμμή ορισμού.
  • Παράδειγμα συνάρτησης χωρίς παραμέτρους:
    • def fun_name():
    • print "hello"
  • Παράδειγμα συνάρτησης με δύο παραμέτρους:
    • def find_sum(par1, par2):
    • result = par1 + par2
    • return result

Πληροφορίες σχετικά με τις συναρτήσεις

  • Μπορεί να καλείται από διάφορα σημεία του κώδικα, γράφοντας το όνομά της και τις κατάλληλες παραμέτρους σε παρενθέσεις.
  • Παράδειγμα: type(45) (επιστρέφει τον τύπο του ορίσματος).
  • Επιστρέφει μια τιμή, το αποτέλεσμα, το οποίο ονομάζεται επιστρεφόμενη τιμή (return value).
  • >>> find_sum(3,4) επιστρέφει 7.
  • Μια συνάρτηση πρέπει να έχει οριστεί πριν χρησιμοποιηθεί.
  • Οι δηλώσεις μέσα στη συνάρτηση εκτελούνται μόνο όταν κληθεί.

Ροή εκτέλεσης

  • Εναλλακτικός τρόπος διαβασματος προγραμμάτων: αντί να ακολουθούμε τη ροή της εκτέλεσης στον εσωτερικό κώδικα της συνάρτησης, μπορούμε να υποθέσουμε ότι η συνάρτηση δουλεύει σωστά και επιστρέφει το σωστό αποτέλεσμα.
  • Συνεχίζουμε με την επόμενη εντολή του κύριου προγράμματος.
  • Μια κλήση συνάρτησης είναι σαν μια παράκαμψη από την ροή εκτέλεσης, περνάει στο σώμα της συνάρτησης, εκτελεί όλες τις δηλώσεις και επιστρέφει για να συνεχίσει από εκεί που σταμάτησε

Μεταβλητές και Παράμετροι

  • Ένα υποπρόγραμμα μπορεί να καλείται από άλλα σημεία του προγράμματος.
  • Δέχεται τιμές, εκτελεί εντολές και επιστρέφει αποτελέσματα.
  • Οι τιμές που μεταβιβάζονται ονομάζονται παράμετροι και διακρίνονται σε Εισόδου και Εξόδου.
  • Οι παράμετροι χρησιμοποιούνται για τη μεταβίβαση τιμών μεταξύ υποπρογραμμάτων ή υποπρογραμμάτων και κύριου προγράμματος.

Παράμετροι συναρτήσεων

  • Μια συνάρτηση δέχεται τιμές (παραμέτρους) για να λειτουργήσει αποτελεσματικά.
  • Οι παράμετροι μοιάζουν με μεταβλητές και ορίζονται μέσα στις παρενθέσεις.
  • Η τιμή τους ορίζεται κατά την κλήση της συνάρτησης.
  • Παράδειγμα
    • def printMax(a, b):
    • if a > b:
      • print a, 'είναι το μέγιστο'
    • elif a == b:
      • print a, 'είναι ίσο με το', b
    • else:
      • print b, 'είναι το μέγιστο'
    • printMax(3, 4)
    • x = 5
    • y = 7
    • printMax(x, y)
    • Τα ορίσματα εκχωρούνται σε μεταβλητές που ονομάζονται παράμετροι.

Περάσματα παραμέτρων

  • Παράδειγμα συνάρτησης ορισμένης από τον χρήστη:
    • def print_twice(x):
      • print x
      • print x
  • Η συνάρτηση αυτή εμφανίζει την τιμή της παραμέτρου δύο φορές.
  • Όλα τα ορίσματα περνάνε με αναφορά.
  • Αυτό σημαίνει ότι αν αλλάξουμε μια παράμετρο μέσα στη συνάρτηση, η αλλαγή είναι μόνιμη και μετά την κλήση της.

Παραδείγματα ορισμού συνάρτησης

  • # Ορισμός συνάρτησης
  • def changeme(mylist):
    • # "Αλλάζει τη λίστα που περνά στη συνάρτηση”
    • mylist.append([1,2,3,4]);
    • print "Τιμές μέσα στη συνάρτηση: ", mylist
    • return
  • # Τώρα μπορούμε να καλέσουμε τη changeme συνάρτηση
  • mylist = [10,20,30];
  • changeme(mylist );
  • print "Τιμές έξω από τη συνάρτηση: ", mylist
  • Οπότε το όρισμα παρακάμπτεται μέσα στην καλούμενη συνάρτηση

Εμβέλεια μεταβλητών

  • Η εμβέλεια (scope) μιας μεταβλητής αναφέρεται στο τμήμα του προγράμματος που μπορεί να έχει πρόσβαση σε αυτήν.
  • Τύποι εμβέλειας μεταβλητών
    • Απεριόριστη εμβέλεια: Οι μεταβλητές είναι ορατές και μπορούν να χρησιμοποιηθούν σε οποιοδήποτε τμήμα του προγράμματος (καθολικές/global).
    • Περιορισμένη εμβέλεια: Ισχύουν μόνο για το υποπρόγραμμα στο οποίο δηλώθηκαν (τοπικές/local).

Καθολικές και τοπικές μεταβλητές

  • Οι μεταβλητές που έχουν οριστεί μέσα στο σώμα της συνάρτησης, έχουν τοπική εμβέλεια.
  • Οι μεταβλητές που έχουν οριστεί έξω από αυτό έχουν καθολική εμβέλεια.

Περαιτέρω πληροφορίες για καθολικές και τοπικές μεταβλητές

  • Οι τοπικές μεταβλητές μπορούν να προσπελαστούν μόνο μέσα στη συνάρτηση όπου δηλώθηκαν.
  • Οι καθολικές μεταβλητές είναι προσβάσιμες από όλες τις συναρτήσεις.
  • total = 0 -Καθολικη μεταβλητή
  • total = arg1 + arg2 - Τοπική μεταβλητή

Πληροφορίες για τις τοπικές μεταβλητές

  • Όταν δηλώνουμε μεταβλητές μέσα σε έναν ορισμό συνάρτησης, δεν έχουν καμία σχέση με άλλες μεταβλητές που έχουν την ίδια ονομασία και χρησιμοποιούνται έξω από αυτήν τη συνάρτηση.
  • Όλες οι μεταβλητές έχουν την εμβέλεια του τμήματος κώδικα όπου έχουν δηλωθεί.
  • Οι τοπικές μεταβλητές που ορίζονται σε μια συνάρτηση, χάνονται όταν τελειώσει η εκτέλεση της συνάρτησης.
  • Η κλήση μιας συνάρτησης δημιουργεί νέες τοπικές μεταβλητές, και οι παράμετροι είναι τοπικές μεταβλητές.

Χρήση της Εντολής Global

  • Οι μεταβλητές που δηλώνονται έξω από τις συναρτήσεις είναι καθολικές μεταβλητές.
  • Εάν θέλουμε μέσα σε μια συνάρτηση να αλλάξουμε την τιμή μιας καθολικής μεταβλητής, δηλαδή ορίζεται στο κορυφαίο επίπεδο του προγράμματος δηλώνουμε global στην Python, η μεταβλητή αυτή δεν θα είναι τοπική αλλά καθολική
  • Μπορεί να γραφτεί η εντολή global, με την οποία γίνεται ξεκάθαρο ότι η μεταβλητή βρίσκεται σε ένα εξωτερικό τμήμα εντολών.

Παράδειγμα Χρήσης της Εντολής Global

  • x = 50
  • def func():
    • global x
    • print 'Το χ είναι', x
    • x =2
  • print 'Το καθολικό χ άλλαξε σε', x -func()
  • print 'Η τιμή του χ είναι', x

Σενάριο για παράδειγμα των εντολών global και local

  • Αν μέσα σε συνάρτηση εκχωρηθεί σε οποιαδήποτε μεταβλητή μια τιμή, η μεταβλητή είναι τοπική.
  • Αν απλώς διαβάζεται μια τιμή από τη μεταβλητή και αυτή δεν υπάρχει τοπικά, τότε προσπαθεί να την αναζητήσει για παράδειγμα καθολική.
  • Όταν εκχωρούμε μια τιμή σε μια καθολική γίνεται μια τοπική μεταβλητή.
  • Η τοπική μεταβλητή βγαίνει εκτός εμβέλειας και χάνεται, όταν η συνάρτηση ολοκληρώνεται.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser