Τετάρτη 19 Οκτωβρίου 2022

Συναρτήσεις

Τι είναι ο τμηματικός προγραμματισμός;

(το πρόγραμμα είναι ένα σύνολο ανεξάρτητων τμημάτων προγραμμάτων)

Τι είναι υποπρόγραμμα;

(ένα τμήμα προγράμματος που γράφτηκε ξεχωριστά από το υπόλοιπο πρόγραμμα και επιτελεί αυτόνομο έργο)

Χαρακτηριστικά υποπρογράμματος:

Α. Ένα σημείο εισόδου που δέχεται τα δεδομένα του

Β. Μόνο ένα υποπρόγραμμα μπορεί να εκτελείται σε μια συγκεκριμένη στιγμή. Αν ένα υποπρόγραμμα καλεί κάποιο άλλο, η εκτέλεση του πρώτου σταματά όσο εκτελείται το δεύτερο.

Γ. Όταν ένα υποποπρόγραμμα σταματήσει να εκτελείται ο έλεγχος επιστρέφει στο πρόγραμμα ή υποπρόγραμμα που το κάλεσε.

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

Με συναρτήσεις που τις θεωρεί ως αντικείμενα.

Που ορίζονται οι συναρτήσεις της Python;

Στην αρχή του προγράμματος

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

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

Τι είναι το πέρασμα παραμέτρων "κατά τιμή"΄

Αν μία παράμετρος αλλάξει τιμή εντός της συνάρτησης, η αλλαγή δεν μεταφέρεται εκτός.

Τι σημαίνει πέρασμα παραμέτρων "με αναφορά";

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

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

Απεριόριστη εμβέλεια (Καθολικές-global μεταβλητές) Αυτές περιορίζουν την ανεξαρτησία των υποπρογραμμάτων.

Περιορισμένη εμβέλεια (εντός της συνάρτησης), λέγονται τοπικές 

Τι θα γίνει αν χρησιμοποιήσουμε την εντολή global σε μια παράμετρο της συνάρτησης; (π.χ. global x)

Σημαίνει ότι η αλλαγή αφορά στην καθολική μεταβλητή χ και όχι στην τοπική εντός της συνάρτησης.

Μπορεί μία συνάρτηση να επιστρέψει περισσότερες από μία τιμές; (divmod)

Τι είναι η κενή συνάρτηση;

Δεν επιστρέφει τιμές, απλά κάνει κάποιες ενέργειες όπως π.χ. print

Τι είναι το πακέτο (package);

Ένα εργαλείο για την ιεραχική  οργάνωση των αρθρωμάτων

Τι είναι το άρθρωμα(module);

Ένα Python αντικείμενο που μπορεί να ορίσει συναρτήσεις, κλάσεις και μεταβλητές.

Τι είναι η Πρότυπη βιβλιοθήκη της python;

Περιέχει τεράστιο αριθμό αρθρωμάτων και είναι μέρος κάθε πρότυπης εγκατάστασης python.




Να γραφεί πρόγραμμα που να διαβάζει δύο αριθμούς (a,b) και να καλεί τις παρακάτω συναρτήσεις

1. Artios που θα επιστρέφει το πλήθος των άρτιων αριθμών

2. Perittos που θα επιστρέφει το πλήθος των περιττών

3. MinMax που θα επιστρέφει τον μέγιστο και τον ελάχιστο

4. Posp που να επιστρέφει το % ποσοστό των αρνητικών αριθμών

5. ΜΟ που θα επιστρέφει τον μέσο όρο των θετικών αριθμών

6. Sum3 που επιστρέφει το άθροισμα των αριθμών που είναι πολλαπλάσια του 3

7. Fact που θα επιστρέφει το Max! (=1*2*3*...*Max)

Να εμφανίζονται όλα τα αποτελέσματα των συναρτήσεων μέσα από τις συναρτήσεις.

(Πανελλαδικές 2018)

Α1

γ. Η συνάρτηση pow(4,2) επιστρέφει την τιμή 8.


(Πανελλαδικές 2019)

Α1 γ. Κάθε συνάρτηση, όταν κληθεί, επιστρέφει πάντα κάποια τιμή.


B3. ∆ίνεται το παρακάτω τμήμα προγράμματος Python:

x=100

def func(x):

  print “To x είναι”, x

  x=2

  print “To τοπικό x άλλαξε σε”, x

func(x)

print “To x είναι ακόμα”, x


Να γράψετε στο τετράδιό σας τι εμφανίζει το πρόγραμμα κατά την εκτέλεσή του.


(Πανελλήνιες 2020)

Α1 β. Η κλήση μιας συνάρτησης γίνεται με την εντολή call όνομα_συνάρτησης().

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

ε. Η συνάρτηση range(10, 1, -2) επιστρέφει τη λίστα [10, 8, 6, 4, 2].


B2. Να γράψετε τι θα εμφανίσει η εκτέλεση του παρακάτω τμήματος προγράμματος:

def func(x):

  global y

  print "1. Το y είναι ", y

  x = 30

  y = y+1

  print "2. Το x είναι ", x


y = 2

x = 6

func(x)

z = y**2

print "3. Το x είναι ", x

print "4. Το y είναι ", y

print "5. Το z είναι ", z


ΘΕΜΑ Γ

Σε μία παράσταση υπαίθριου δημοτικού θεάτρου το εισιτήριο εισόδου είναι για τους ενήλικες δέκα (10) ευρώ και για τα παιδιά πέντε (5) ευρώ. Η χωρητικότητα του θεάτρου είναι πεντακόσια (500) άτομα.

Να αναπτύξετε πρόγραμμα σε γλώσσα προγραμματισμού Python, το οποίο να πραγματοποιεί τα παρακάτω:

Γ1. α) Για κάθε άτομο ή παρέα εισερχόμενων θεατών, να εμφανίζει τις διαθέσιμες ελεύθερες θέσεις του

θεάτρου και να διαβάζει από το πληκτρολόγιο το πλήθος των ενηλίκων και ακολούθως το πλήθος των

παιδιών της παρέας (μον. 6).

β) Να καλεί τη συνάρτηση EISITIRIO(), η οποία υπολογίζει το συνολικό κόστος των εισιτηρίων, και

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

περιγράφεται στο ερώτημα Γ3 (μον. 3).

γ) Η διαδικασία της εισόδου θεατών να τερματίζεται, όταν εισαχθεί ο αριθμός μείον ένα (-1) ως πλήθος

ενηλίκων θεατών μιας παρέας. Ο αριθμός μείον ένα (-1) σημαίνει ότι είτε οι διαθέσιμες θέσεις δεν

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

εισάγεται αριθμός παιδιών. (μον. 5)

Θεωρήστε ότι υπάρχει τουλάχιστον ένας θεατής και σε  κάθε παρέα υπάρχει τουλάχιστον ένας ενήλικας.  Μονάδες 14

Γ2. Να υπολογίζει και να εμφανίζει:

α) Τα συνολικά έσοδα του θεάτρου (μον. 2).

β) Το ποσοστό των παιδιών στο σύνολο των θεατών

(μον. 3).

Μονάδες 5

Γ3. Να υλοποιήσετε τη συνάρτηση EISITIRIO(), η οποία δέχεται το πλήθος των ενηλίκων και το πλήθος των παιδιών μιας παρέας και επιστρέφει το συνολικό κόστος των εισιτηρίων.

Μονάδες 6


(Πανελλήνιες 2021)

ΘΕΜΑ Γ

Ο σχεδιασμός ενός εμβολιαστικού κέντρου σ’ ένα νησί για τον μήνα Ιούλιο δίνεται από τον παρακάτω πίνακα:

Τύπος Εμβολίου Ηλικία

Τύπος 1 Από 40 έως και 50

Τύπος 2 Από 51 έως και 60

Τύπος 3 Από 61 έως και 70

Τύπος 4 Άνω των 70


Να αναπτύξετε πρόγραμμα σε γλώσσα προγραμματισμού Python το οποίο να πραγματοποιεί τα παρακάτω:

Γ1. Να διαβάζει για κάθε ασφαλισμένο που πρόκειται να εμβολιαστεί:

Την ηλικία (ακέραια τιμή). Το φύλο ("Α" για άνδρες και "Γ" για γυναίκες) και να κάνει έλεγχο ορθότητας τιμών για το φύλο του κάθε ασφαλισμένου.

Τον ΑΜΚΑ (Αριθμός Μητρώου Κοινωνικής Ασφάλισης) ως συμβολοσειρά.

Η εισαγωγή των στοιχείων να τερματίζεται, όταν δοθεί  ηλικία μικρότερη του 40. Θεωρήστε ότι στο

εμβολιαστικό κέντρο ο πρώτος ασφαλισμένος που θα προσέλθει είναι από 40 ετών και πάνω.

Μονάδες 6

Γ2. Να καλεί συνάρτηση με όνομα TYPOS_EMB, η οποία να δέχεται την ηλικία του ασφαλισμένου και να επιστρέφει τον τύπο του εμβολίου σύμφωνα με τον παραπάνω πίνακα (μον. 2). Να αναπτύξετε τη συνάρτηση που χρειάζεται για τον σκοπό αυτό (μον. 4).

Μονάδες 6

Γ3. Να εμφανίζει, με κατάλληλο μήνυμα, τον ΑΜΚΑ του ασφαλισμένου και τον τύπο του εμβολίου που προκύπτει από τη συνάρτηση.

Μονάδες 2

Γ4. Να βρίσκει και να εμφανίζει το φύλο και τον ΑΜΚΑ του ατόμου με τη μεγαλύτερη ηλικία που πρόκειται να εμβολιαστεί (Υποθέστε ότι είναι μοναδική).

Μονάδες 6

Γ5. Να υπολογίζει και να εμφανίζει το ποσοστό των γυναικών στο σύνολο των ασφαλισμένων που πρόκειται να εμβολιαστούν.

Μονάδες 5

(Πανελλήνιες 2022)

Α1 γ. Οι τοπικές μεταβλητές που ορίζονται σε μία συνάρτηση χάνονται, όταν τελειώσει η εκτέλεση της συνάρτησης.

ΘΕΜΑ Γ

Πενήντα (50) πελάτες ενός καταστήματος αγόρασαν μία συγκεκριμένη συσκευή σύμφωνα με την παρακάτω κλιμακωτή πολιτική χρέωσης.


Αριθμός τεμαχίων Τιμή ανά τεμάχιο

1 έως και 3 120 ευρώ

από 4 έως και 6 100 ευρώ

πάνω από 6 70 ευρώ


Να γράψετε πρόγραμμα σε γλώσσα προγραμματισμού Python το οποίο:

Γ1. Για κάθε πελάτη:

α) Να διαβάζει τον αριθμό των τεμαχίων που αγόρασε (μον.3). Θεωρήστε ότι ο αριθμός των τεμαχίων

είναι θετικός ακέραιος.

β) Να καλεί τη συνάρτηση ypologismos(), η οποία θα υπολογίζει τη χρέωση του πελάτη. Η λειτουργία της συνάρτησης αυτής περιγράφεται στο ερώτημα Γ3 (μον.2).

γ) Να εμφανίζει τη χρέωση του πελάτη (μον.1).

Μονάδες 6

Γ2. α) Να υπολογίζει και να εμφανίζει τα συνολικά έσοδα του καταστήματος (μον.3).

β) Να υπολογίζει και να εμφανίζει το ποσοστό των πελατών που αγόρασαν πάνω από 10 τεμάχια (μον.5).

Μονάδες 8

Γ3. Να υλοποιήσετε τη συνάρτηση ypologismos(), η οποία δέχεται το πλήθος των τεμαχίων που αγοράζει ο πελάτης και επιστρέφει τη χρέωση του πελάτη. Μονάδες 11

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου

Σημείωση: Μόνο ένα μέλος αυτού του ιστολογίου μπορεί να αναρτήσει σχόλιο.