Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Σχετικά έγγραφα
Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Να γράψετε τους αριθμούς 1, 2, 3 από τη Στήλη Α και δίπλα το γράμμα α, β, γ, δ, ε από τη Στήλη Β που δίνει τη σωστή αντιστοιχία.

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Κεφάλαιο 7: Συναρτήσεις

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

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

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ. Πως γίνεται ο ορισμός μιας διαδικασίας; Να δοθούν σχετικά παραδείγματα. ΑΡΧΗ Εντολές ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

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

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

Σημειωματάριο Δευτέρας 30 Οκτ. 2017

ΠΕΚ ΤΡΙΠΟΛΗΣ ΕΠΙΜΟΡΦΩΣΗ ΕΚΠ/ΚΩΝ ΠΕ19,20 ΗΜ/ΝΙΑ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ

Ασκή σεις στή δομή επανα λήψής

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

Προγραμματισμός ΙI (Θ)

3. Να γραφεί πρόγραμμα που θα διαβάζει 100 ακεραίους αριθμούς από το πληκτρολόγιο και θα υπολογίζει το άθροισμά τους.

Να γράψετε τα αποτελέσματα αυτού του αλγόριθμου για Χ=13, Χ=9 και Χ=22. Και στις 3 περιπτώσεις το αποτέλεσμα του αλγορίθμου είναι 1

Κεφ 2. Βασικές Έννοιες Αλγορίθμων

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2018 Β ΦΑΣΗ

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Γράψτε ένα πρόγραμμα που θα προσομοιώνει τη ρίψη ενός νομίσματος και θα εμφανίζει στην οθόνη Κορώνα» ή «Γράμματα».

Διαδικασιακός Προγραμματισμός

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ΚΑΙ Β ) ΤΕΤΑΡΤΗ 20 ΙΟΥΝΙΟΥ 2018

Εισαγωγή στη γλώσσα προγραμματισμού C++

Πληροφορική ΙΙ Θεματική Ενότητα 9

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα. Η δομή Επιλογής στη PASCAL. H δομή Επανάληψης στη PASCAL. Η εντολή επανάληψης for

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Βρόχοι. Εντολή επανάληψης. Το άθροισμα των αριθμών 1 5 υπολογίζεται με την εντολή. Πρόβλημα. Πώς θα υπολογίσουμε το άθροισμα των ακέραιων ;

1 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ - ΑΛΓΟΡΙΘΜΟΙ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Κάθε υποπρόγραμμα έχει μόνο μία είσοδο και μία έξοδο. Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

Προγραμματισμός Η/Υ (ΤΛ2007 )

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2019 Β ΦΑΣΗ

Διαδικασιακός Προγραμματισμός

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΣΤΗΛΗ Β ΑΠΟΤΕΛΕΣΜΑ 1. float(10) α pow(2,3) β abs(-10) γ int(5.6) δ. 10 ε. 5.6 Μονάδες 8 ΣΤΗΛΗ Α ΣΥΝΑΡΤΗΣΗ

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 4

ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ

Ενότητα 1: «Εισαγωγή στην Αλγοριθμική και τον Προγραμματισμό. Απλές ασκήσεις με γλώσσα Pascal»

Εναλλακτικές εντολές για ανάγνωση/εγγραφή

Προβλήματα που αφορούν εντολές ελέγχου της ροής ενός προγράμματος.

ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

8.4. Δραστηριότητες - ασκήσεις

Συναρτήσεις. Εισαγωγή

ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ

Δομημένος Προγραμματισμός

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΘΕΜΑ Α. 1. Η δυαδική αναζήτηση χρησιμοποιείται μόνο σε ταξινομημένες συλλογές δεδομένων.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ονοματεπώνυμο: Βαθμός:

Δομημένος Προγραμματισμός

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΩΝ & Δ ΤΑΞΗΣ ΕΣΠΕΡΙΝΩΝ ΥΠΟΛΕΙΠΟΜΕΝΕΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ

Θέματα Προγραμματισμού Η/Υ

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) a= b= c= 3 read(d,e)

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

Προγραμματισμός Υπολογιστών Τάξη Γ Αθανασιάδης Χρήστος ΠΕ19 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Πληροφορική ΙΙ Θεματική Ενότητα 7

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2007

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ (ΟΜΑΔΑ ΘΕΜΑΤΩΝ A)

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ΚΑΙ Β ) ΤΡΙΤΗ 13 ΙΟΥΝΙΟΥ 2017

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Διαδικασίες και συναρτήσεις. 22 Νοε 2008 Ανάπτυξη εφαρμογών/ Υποπρογράμματα 1

ΑΕΠΠ 6o Επαναληπτικό Διαγώνισμα

Ασκήσεις στα υποπρογράμματα

Σημειωματάριο Δευτέρας 9 Οκτ. 2017

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

Εργαστήριο 9 Συναρτήσεις στη PASCAL. Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

επιµέλεια Θοδωρής Πιερράτος

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

for for for for( . */

Η γλώσσα προγραμματισμού Strange

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2019 Β ΦΑΣΗ Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ

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

Pascal. 15 Νοεμβρίου 2011

Θέματα Προγραμματισμού Η/Υ

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 2)

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι χρειάζεται η εντολή DO ; ΕΠΑΝΑΛΗΨΕΙΣ ΕΝΤΟΛΗ DO. Όταν απαιτείται να εκτελεστεί πολλές φορές το ίδιο τμήμα ενός προγράμματος.

Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Συναρτήσεις. Υποπρόγραμμα

Επικοινωνία:

Transcript:

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ Εισαγωγή στην γλώσσα προγραμματισμού Ακαδημαϊκό έτος 2016-2017, Εαρινό εξάμηνο Οι σημειώσεις βασίζονται στα συγγράμματα: A byte of Python (ελληνική μετάφραση): e-book στην τοποθεσία http://dide.flo.sch.gr/plinet/meetings/meeting23/a_byte_of_python-el.pdf ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Σελίδα - 1 -

Συναρτήσεις στην Python 1. Γιατί χρησιμοποιούμε συναρτήσεις Φανταστείτε ότι πρέπει να δημιουργήσετε ένα μεγάλο πρόγραμμα στο οποίο σε διαφορετικά του σημεία γίνεται η ίδια λειτουργία (επαναλαμβάνεται ο ίδιος κώδικας) σε ίδια ή διαφορετικά δεδομένα. Ένα πρόγραμμα, για παράδειγμα, μπορεί να χρειάζεται να υπολογίσει σε διαφορετικά μέρη του το ολοκλήρωμα μιας τετραγωνικής ρίζας σε διαφορετικά διαστήματα. Σε πολλές περιπτώσεις, όμως, ο κώδικας αυτός μπορεί να είναι και ιδιαίτερα μεγάλος. Αυτό που πετυχαίνουμε με τις συναρτήσεις είναι να ορίσουμε (προγραμματίσουμε) αυτόν τον κώδικα που θέλουμε να χρησιμοποιήσουμε επαναλαμβανόμενα, ξεχωριστά και έξω από το βασικό μας πρόγραμμα. Με αυτόν τον τρόπο θα μπορούμε να τον καλούμε από εκεί που τον έχουμε τοποθετήσει όσες φορές χρειαστεί και σε όποιο σημείο του βασικού μας προγράμματος μας χρειάζεται. Αν, λοιπόν, για παράδειγμα, χρειαζόμαστε να τυπώνεται στην οθόνη, σε διαφορά σημεία του προγράμματος, το: ΤΕΙ Ιονίων Νήσων Τμήμα Διοίκησης & Οικονομίας θα μπορούσαμε να δημιουργήσουμε μία συνάρτηση εκτύπωσης της συγκεκριμένης φράσης και στην συνέχεια να την καλούμε από όποιο σημείο του προγράμματός μας επιθυμούμε. Κάποιες από τις υπάρχουσες γλώσσες προγραμματισμού, όπως π.χ. η Pascal, πραγματοποιεί ένα διαχωρισμό ανάμεσα σε συναρτήσεις και διαδικασίες. Διαδικασίες είναι οι συναρτήσεις που δεν επιστρέφουν κάποια τιμή. Οι συναρτήσεις, αντίθετα, επιστρέφουν κάποια τιμή μετά την κλήση τους. Στο παράδειγμα του ολοκληρώματος μιλάμε για μια συνάρτηση εφόσον επιστρέφει σαν αποτέλεσμα της κλήσης της έναν πραγματικό αριθμό. Από την άλλη η εκτύπωση του μηνύματος: ΤΕΙ Ιονίων Νήσων, Τμήμα Διοίκησης & Οικονομίας δεν επιστρέφει κάποια τιμή οπότε θεωρείτε διαδικασία. Στην Pyhton δεν γίνεται διάκριση ανάμεσα στις διαδικασίες και στις συναρτήσεις. 2. Πως ορίζουμε και πως καλούμε μια συνάρτηση στην Python; Ορισμός συνάρτησης Απαραίτητα στοιχεία για τον ορισμό μιας συνάρτησης: Σε κάθε συνάρτηση δίνουμε ένα όνομα. Το όνομα θα είναι αυτό που θα χρησιμοποιήσουμε αργότερα, μέσα στο κυρίως πρόγραμμα μας, για να καλέσουμε την συνάρτηση. Μια συνάρτηση ορίζεται με τη λέξη-κλειδί def, η οποία ακολουθείται από το όνομα της συνάρτησης. ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Σελίδα - 2 -

Το όνομα της συνάρτησης ακολουθούν, μέσα σε δύο παρενθέσεις οι παράμετροί της που μπορεί να είναι κανένας (χρησιμοποιούμε τις κενές παρενθέσεις), ένας ή παραπάνω. Οι παράμετροι ακολουθούνται από τον κυρίως κώδικα της συνάρτησης. Προσοχή!!!! Όπως και στις προηγούμενες δομές που είδαμε, πριν ξεκινήσουν κάποιες ομαδοποιημένες εντολές, βάζουμε μία άνω και κάτω τελεία. Ο κώδικας που ακολουθεί πρέπει και αυτός να είναι στοιχισμένος με εσοχή (χρησιμοποιείστε tab) προς τα μέσα Μέσα στον κώδικα μπορεί να υπάρχει (αλλά όχι απαραίτητα) η εντολή return, η οποία χρησιμοποιείται έτσι ώστε να επιστρέψει η συνάρτηση μια τιμή, δλδ. το αποτέλεσμά της. Παραδείγματα: 1. Συνάρτηση για την εκτύπωση μηνύματος # ορισμός συνάρτησης για εκτύπωση μηνύματος def tei(): # δεν χρειάζονται ορίσματα για την συνάρτηση με όνομα tei print('τει Ιονίων Νήσων') print('τμήμα Διοίκησης & Οικονομίας') # δεν χρειαζόμαστε την συνάρτηση # return εφόσον δεν επιστρέφουμε τιμή 2. Συνάρτηση για τον υπολογισμό αθροίσματος των αριθμών 1.. 10 # ορισμός συνάρτησης αθροίσματος def sum1_10(): # δεν χρειάζονται ορίσματα για την συνάρτηση εφόσον γνωρίζουμε τους αριθμούς που πρέπει να προσθέσουμε sum=0 for i in range(1,11): sum=sum + i return sum # η συνάρτηση return τώρα επιστρέφει την τελική τιμή της μεταβλητής sum Κλήση (χρήση) μιας συνάρτησης Ο τρόπος κλήσης διαφέρει ανάλογα με τον αν η συνάρτηση επιστρέφει ή όχι τιμή. Έτσι: ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Σελίδα - 3 -

Αν η συνάρτηση δεν επιστρέφει κάποια τιμή (δεν έχουμε χρησιμοποιήσει την συνάρτηση return στον ορισμό της) η κλήση της γίνεται απλά αναφέροντας το όνομα της συνάρτησης (στο παράδειγμα μας tei()) Αν η συνάρτηση επιστρέφει κάποια τιμή αυτή θα πρέπει να εκχωρηθεί σε κάποια μεταβλητή έτσι ώστε να αποθηκευτεί και να χρησιμοποιηθεί (στο παράδειγμα μας θα μπορούσαμε για παράδειγμα να κάνουμε εκχώρηση σε μια μεταβλητή x ως εξής x=sum1_10()). Μπορούμε επίσης να χρησιμοποιήσουμε την τιμή επιστροφής καλώντας όπως στην πρώτη περίπτωση. Ένα ολοκληρωμένο πρόγραμμα με την χρήση των δύο συναρτήσεων που ορίσαμε προηγουμένως θα μπορούσε να είναι το: # ορισμός συνάρτησης για εκτύπωση μηνύματος def tei(): # δεν χρειάζονται ορίσματα για την συνάρτηση με όνομα tei print('τει Ιονίων Νήσων') print('τμήμα Διοίκησης & Οικονομίας') # δεν χρειαζόμαστε την συνάρτηση # return εφόσον δεν επιστρέφουμε τιμή # ορισμός συνάρτησης αθροίσματος def sum1_10(): # δεν χρειάζονται ορίσματα για την συνάρτηση εφόσον γνωρίζουμε τους αριθμούς που πρέπει να προσθέσουμε sum=0 for i in range(1,11): sum=sum + i return sum # η συνάρτηση return τώρα επιστρέφει την τελική τιμή της μεταβλητής sum y=0 tei() x=sum1_10() print(x) y=3*x-5*(sum1_10()/2) Κυρίως πρόγραμμα με διαφορετικές κλήσεις στις συναρτήσεις print(y) Τι εκτυπώνει το παραπάνω πρόγραμμα; Προσέξτε ότι μπορούμε να χρησιμοποιήσουμε το x αλλά και την κλήση sum1_10() για τον υπολογισμό του y και το αποτέλεσμα είναι το ίδιο ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Σελίδα - 4 -

3. Παράμετροι Αλλά πότε σε μια συνάρτηση χρησιμοποιούμε παραμέτρους; Η απάντηση είναι όταν κάθε φορά που θέλουμε να κάνουμε κλήση στην συνάρτηση μας, μας χρειάζεται αυτή να μας δίνει αποτελέσματα σε διαφορετικά αποτελέσματα κάθε φορά. Για παράδειγμα αν θέλουμε η συνάρτηση sum1_10 σε κάποιο σημείο του προγράμματος να μας επιστρέφει το άθροισμα από 1 έως και 10 ενώ σε άλλο σημείο του προγράμματος να μας επιστρέφει το άθροισμα από 1 έως και 20. Σε αυτή τη περίπτωση θα μπορούσαμε να δημιουργήσουμε μια συνάρτηση αθροίσματος με μη φραγμένο (γνωστό εξ αρχής) άνω όριο, αλλά μια συνάρτηση που θα υπολογίζει γενικά το άθροισμα 1+2+...+Ν. Έτσι κάθε φορά που θα την καλούμε μπορούμε να ορίσουμε για ποιο Ν θέλουμε να υπολογιστεί. Αυτό το Ν είναι αυτό που ονομάζουμε παράμετρο. Ας δούμε λοιπόν πώς μπορούμε να γράψουμε την sum1_10 όταν, αντί για το άθροισμα 1+2+...+10, υπολογίζει το άθροισμα 1+2+...+Ν (ή γενικότερα, το a+(a+1)+(a+2)+...+(b-2)+(b-1)+b). Το άθροισμα, δηλαδή, όλων των αριθμών στο κλειστό διάστημα [a,b]. Σε αυτή την περίπτωση μέσα στην παρένθεση της συνάρτησης πρέπει να ορίσουμε δύο παραμέτρους: την αρχή και το τέλος του διαστήματος, τα a και b δηλαδή. Στον κώδικα οι επαναλήψεις του βρόχου θα ξεκινούν από το a και θα φτάνουν έως και το b, άρα το range θα έχει σαν πρώτο όρισμα μέσα στην παρένθεση το a και σαν δεύτερο το b+1 def suma_b(a,b): sum1=0 for i in range(a, b+1): sum1 = sum1+i return sum1 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Σελίδα - 5 -

Παράδειγμα: Δημιουργήστε μια συνάρτηση σε Python η οποία δημιουργεί μία λίστα, η οποία θα περιέχει τους ακέραιους αριθμούς από το 1 μέχρι το 100 οι οποίοι διαιρούνται με το 2 και το 3 αλλά όχι με το 5 και θα επιστρέφει αυτή την λίστα. Στην συνέχεια κάντε μια κλήση στο κυρίως πρόγραμμα έτσι ώστε: να εκτυπώσετε αυτή τη λίστα να προσθέσετε σε κάθε στοιχείο της λίστας τον αριθμό 1 και να εκτυπώσετε την νέα λίστα Λύση def lista(): L=[] for x in range (1, 101): if x%2 ==0 and x%3==0 and x%5!=0: L.append(x) return L lista_klhshs=lista() print(lista_klhshs) z=len(lista_klhshs) L1=[] for i in range(0, z): lista_klhshs[i]=lista_klhshs[i]+1 L1.append(lista_klhshs[i]) print(l1) ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Σελίδα - 6 -

Ασκήσεις Άσκηση 1 Αρχικά δημιουργήστε μια συνάρτηση η οποία θα υπολογίζει και θα επιστρέφει το παραγοντικό ενός γενικού αριθμού n. Για την κλήση της συνάρτησης από το κυρίως πρόγραμμα χρησιμοποιήστε ένα αριθμό τον οποίο το πρόγραμμα θα διαβάζει από το πληκτρολόγιο. Σημείωση: το παραγοντικό ενός αριθμού n ορίζεται ως εξής: αν ο αριθμός είναι αρνητικός (n<0) τότε δεν υπάρχει το παραγοντικό του και επομένως θα πρέπει να εμφανίζεται κατάλληλο μήνυμα αν ο αριθμός είναι το n=0 τότε το παραγοντικό του είναι το 1 αν ο αριθμός είναι μεγαλύτερος ή ίσος από το 1 τότε το παραγοντικό του υπολογίζεται ως το γινόμενο του αριθμού n με το παραγοντικό του αριθμού n-1 Άσκηση 2 Αρχικά δημιουργήστε μία συνάρτηση η οποία θα δέχεται σαν είσοδο μία λίστα πραγματικών αριθμών και θα τη χωρίζει σε μία λίστα θετικών αριθμών και σε μία λίστα αρνητικών αριθμών, ενώ θα μετράει πόσες φορές εμφανίζεται στη δοθείσα λίστα το μηδέν. Στη συνέχεια στο πρόγραμμα σας εμφανίστε κάνοντας κλήση στην συνάρτηση την θετική και την αρνητική λίστα καθώς και το πλήθος των μηδενικών Άσκηση 3 Η μισθοδοσία για κάθε εργαζόμενο στην εταιρία Αρβίρογλου Α.Ε. προκύπτει από τον παρακάτω πίνακα: Έτη Προϋπηρεσίας Βασικός Μισθός( ) 0-2 3-8 9-15 16 και άνω 800 1250 1600 1900 Ποσοστό αύξησης επί του βασικού (%) 5 7 12 15 Οι αποδοχές κάθε εργαζομένου υπόκεινται σε κρατήσεις 11%. Να αναπτυχθεί πρόγραμμα σε Python το οποίο: Α. θα διαβάζει επαναληπτικά το όνομα του εργαζόμενου και τα έτη προϋπηρεσίας του. Η επανάληψη θα τερματίζεται με την εισαγωγή του χαρακτήρα @ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Σελίδα - 7 -

Β. θα καλεί υποπρόγραμμα (συνάρτηση) για τον υπολογισμό του βασικού μισθού Γ. θα καλεί υποπρόγραμμα για τον υπολογισμό του ποσού της αύξησης Δ. θα υπολογίζει τις συνολικές μικτές αποδοχές ως το άθροισμα του βασικού μισθού και της αύξησης Ε. θα καλεί υποπρόγραμμα που θα δέχεται τις μικτές αποδοχές και θα επιστρέφει το καθαρό ποσό μετά τις παρακρατήσεις καθώς και το ποσό που κρατήθηκε και θα τα εμφανίζει στο κυρίως πρόγραμμα Στ. θα εμφανίζει το συνολικό ποσό των κρατήσεων καθώς και το συνολικό ποσό για τις μεικτές αποδοχές όλων των εργαζομένων. ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Σελίδα - 8 -