Προγραμματισμός Υπολογιστών & Κ.Π. Γιαλούρης
Στόχοι του σημερινού μαθήματος Εξοικείωση με τα περιβάλλοντα της Python Κατανόηση βασικών εννοιών & τεχνικών Τύπος δεδομένων Μεταβλητή Εντολή ανάθεση τιμής / εντολή αντικατάστασης Εισαγωγή δεδομένων Εξαγωγή αποτελεσμάτων 2
Στόχοι του σημερινού μαθήματος Γραφή και εκτέλεση προγάμματος Υπολογισμός μαθηματικων εκφράσεων Αναλυση προγραμματισμός ενός απλού προβλήματος 3
Python Shell 4
PyCharm Edu 5
Η έννοια της μεταβλητής Είναι μια προσωρινή θέση αποθήκευσης δεδομένων στο πρόγραμμά μας. Μπορούμε να χρησιμοποιούμε μια ή περισσότερες μεταβλητές. Αποθηκεύονται λέξεις, αριθμοί κλπ. Ο τύπος μίας μεταβλητής ορίζεται αυτόματα με την ανάθεση τιμής σε αυτήν. 6
Η μεταβλητή Κεντρική μνήμη Όνομα μεταβλητής Περιεχόμενο code 123 onoma Αννα 7
Όνομα Μεταβλητής Αρχίζει με γράμμα και αποτελείται από λατινικά γράμματα, αριθμούς, την κάτω παύλα (_). Δεν πρέπει να περιέχει κενά ή άλλα σύμβολα (π.χ. τελεία). 8
Όνομα Μεταβλητής Δεν μπορεί να είναι κάποια από τις δεσμευμένες λέξεις ή ονόματα αντικειμένων ή ιδιοτήτων της Python(π.χ. def, for, if, while κλπ ). Μπορεί να αποτελείται από συνδυασμό να λέξεων που εκφράζουν το περιεχόμενο της μεταβλητής (π.χ. total_cost_of_product). 9
Τύπος Δεδομένων Ο Τύπος Δεδομένων είναι το είδος του δεδομένου που θα αποθηκευτεί σε μία περιοχή της μνήμης (μεταβλητή). Ο τύπος μίας μεταβλητής ορίζεται αυτόματα με την ανάθεση τιμής σε αυτήν. Βασικοί τύποι είναι οι τύποι που τους παρέχει η γλώσσα προγραμματισμού. Ο προγραμματιστής μπορεί να ορίσει δικούς του τύπους δεδομένων (κλάσεις) οι οποίοι βασίζονται στους βασικούς τύπους. 10
Οι κυριότεροι τύποι /classes δεδομένων στη Python Τύπος bool float int str list dict set tuple Περιγραφή Λογικός τύπος με τιμές : True ή False Πραγματικοί αριθμοί Ακέραιοι αριθμοί Χαρακτήρες Λίστα Λεξικό Σύνολο Πλειάδα 11
List -Λίστα Μία λίστα είναι ένα αντικείμενο το οποίο περιέχει πολλαπλά δεδομένα. Μία λίστα είναι ένας τύπος μεταβλητής Μία λίστα είναι ένας δυναμικός τύπος δεδομένων. Αυτό σημαίνει ότι μπορούμε να προσθέσουμε ή να αφαιρέσουμε στοιχεία σε μία λίστα. 12
List -Λίστα 13
Tuple Μία tuple(πλειάδα)είναι μία αλληλουχία όπως και η λίστα. Διαφέρει ως προς τη λίστα όσον αφορά στο γεγονός ότι το περιεχόμενό της δεν μπορεί να αλλάξει. Δηλώνεται ως εξής: onomata=("νικος","πέτρος","μαρία") b=(4,3,5,6,2,-3) c=(1,) 14
Tuple - Πλειάδα 15
Dictionary -Λεξικό Μία μεταβλητή τύπου dictionary (λεξικό)είναι μία συλλογή δεδομένων. Κάθε στοιχείο της συλλογής αυτής αποτελείται από δύο μέρη. Το πρώτο μέρος αναφέρεται ως κλειδί (key)και το δεύτερο μέρος ως τιμή(value) 16
Dictionary -Λεξικό 17
Set -Σύνολο Ένα set είναι μία συλλογή δεδομένων από μοναδικές τιμές δηλ. δεν υπάρχουν δύο ίδια στοιχεία σε ένα σύνολο Τα στοιχεία ενός συνόλου δεν είναι διατεταγμένα Τα στοιχεία ενός συνόλου μπορεί να είναι διαφορετικού τύπου 18
Set -Σύνολο 19
Αριθμητικοί Τελεστές Αριθμητικές πράξεις Πρόσθεση Αφαίρεση Πολλαπλασιασμός Διαίρεση Πηλίκο διαίρεσης Υπόλοιπο διαίρεσης Ύψωση σε δύναμη Τελεστές + - * / // % ** 20
Εντολή ανάθεσης τιμής Στις µεταβλητές καταχωρούνται τιµές µε τη χρήση του τελεστή απόδοσης τιµής (=) και εκφράσεων. όνοµαμεταβλητής = έκφραση 21
Εντολη ανάθεσης τιμής Το αριστερό μέλος της εντολής αντιστοιχεί σε μεταβλητή. Το δεξιό μέλος της εντολής (έκφραση) μπορει να έιναι: Σταθερά Μεταβλήτή Συνδυασμός σταθερών/μεταβλητών/συναρτήσεων με χρήση τελεστών και παρενθέσεων 22
Εντολη ανάθεσης τιμής x=3 y=a+b z=z+3*(a+1) onoma="γιώργος" passed=true 23
Εντολη ανάθεσης τιμής y 3 2( x 3) 3( x 1) (3x 5) y=(2*(x+3)**3+3*(x-1))/(3*x-5) 24
Εισαγωγή δεδομένων Για την εισαγωγή δεδοµένων σε ένα πρόγραµµα της Python µπορεί να χρησιμοποιηθεί η συνάρτηση input. Η input είναι µια ειδική συνάρτηση η οποία δίνει δυνατότητα στον χρήστη να εισάγει δεδομένα στο πρόγραμμα κατά την διάρκεια της εκτέλεσης του προγράμματος. 25
input Η βασική σύνταξή της είναι: variablename =input ( Μήνυμα ) Κατά την εκτέλεση του προγράμματος η συνάρτηση input εμφανίζει το Μήνυμα, που βρίσκεται εντός εισαγωγικών, στην οθόνη και περιμένει τον χρήστη να πληκτρολογήσει το δεδομένο εισόδου. Η διαδικασία εισόδου ολοκληρώνεται με το πάτημα του κουμπιού Enter του πληκτρολογίου. Τότε αναθέτει στην μεταβλητή μία τιμή που αντιστοιχεί σε string 26
input Η συνάρτηση input αναθέτει στην μεταβλητή μία τιμή που αντιστοιχεί σε string. Σε περίπτωση που μας ενδιαφέρει ανάγνωση αριθμητικής τιμής τότε θα πρέπει να γίνει μετατροπή σε αριθμητικό τύπο με χρήση συνάρτησης μετατροπής. 27
Input π.χ. Είσοδος βαθμολογίας (πραγματικός αριθμός) vathmos=input( δώσε τη βαθμολογία ) vathmos=float(vathmos) Ή vathmos=float(input( δώσε τη βαθμολογία )) 28
Input π.χ. Είσοδος πλήθους φοιτητών (ακέραιος αριθμός) plithos= input( δώσε πλήθος των φοιτητών ) plithos=int(plithos) Ή plithos=int(input( δώσε πλήθος των φοιτητών )) 29
Εμφάνιση αποτελεσμάτων print (δεδομένα_εξόδου) Όπου δεδομένα_εξόδου είναι μία η περισσότερες μεταβλητές, σταθερές ή εκφράσεις διαχωριζόμενες με κόμμα 30
Άσκηση -1 Να γραφεί πρόγραμμα σε Python που: Nα διαβάζει από την οθόνη τις ώρες εργασίας και το ωρομίσθιο ενός εργαζόμενου Να υπολογίζει τις ακαθάριστες αποδοχές του Τις κρατήσεις για ασφάλιση Τις κρατήσεις φόρου Πληρωτεο ποσό 31
Δεδομένα Εισόδου Ώρες Εργασίας. Ωριαία Αποζημίωση. Ποσοστά κρατήσεων Ποσοστά ασφαλισης Ποσοστό Φόρου. 32
Ζητούμενα Πληρωτέο Ποσό 33
Σχέσεις που συνδέουν Δεδομένα -Ζητούμενα Μισθός = (Ώρες Εργασίας) * (Ωριαία Αποζημίωση) Κρατήσεις Ασφάλισης = (Μισθός) * (Ποσοστό Ασφάλισης) Φορολογητέο ποσό = (Μισθός) (Κρατήσεις Ασφάλισης) Φόρος = (Φορολογητέο Ποσό) * (Ποσοστό Φόρου) Πληρωτέο Ποσό = (Φορολογητέο Ποσό) (Φόρος) 34
Προγραμματισμός σε PyCharm Δημιουργούμε ένα νέο Project File New Project 35
PyCharm 36
Προγραμματισμός σε PyCharm Το νέο Project είναι κενό. Δημιουργούμε ένα νέο αρχείο File New Και επιλέγουμε Python File και στη συνέχεια το ονοματίζουμε. 37
38
Παράθυρο γραφής του προγράμματος 39
Κουμπί εκτέλεσης προγράμματος Παράθυρο εισαγωγής δεδομένων & εμφάνισης αποτελεσμάτων 40
# άσκηση μισθοδοσίας # ποσοστά κρατήσεων pos_ika = 0.35 pos_forou = 0.25 # ποσοστό για τον υπολ. ασφαλ. Κρατήσεων # ποσοστό για τον υπολ. φόρου # είσοδος δεδομένων wres=input("δωσε τις ώρες εργασίας ") # wrom=input("δωσε το ωρομίσθιο ") wres=float(wres) wrom=float(wrom) mistos=wres*wrom ika=mistos*pos_ika forol=mistos-ika foros=forol*pos_forou pliroteo=forol-foros # μετατρέπει σε πραγματικό αριθμό # μετατρέπει σε πραγματικό αριθμό # υπολογισμός ακαθ. αποδοχών # υπολογισμός ασφ. κρατήσεων # υπολογισμός φορολογητέου ποσού # υπολογισμό φόρου # υπολογισμός πληρωτέου ποσού print(mistos, pliroteo) # εκτύπωση ακαθ. αποδοχών και πληρωτέου 41
Άσκηση -2 Καταθέτουμε στην τράπεζα ένα κεφάλαιο Κ ευρώ με ετήσιο επιτόκιο ε%. Με τη συμπλήρωση ενός έτους οι τόκοι προστίθενται στο κεφάλαιο και το ποσό που προκύπτει είναι το νέο κεφάλαιο που τοκίζεται με το ίδιο επιτόκιο για τον επόμενο χρόνο. Αν η διαδικασία αυτή επαναληφθεί για ν έτη, ο τύπος που δίδει το τελικό ποσό που θα εισπράξει ο καταθέτης στο τέλος του ν-οστού έτους είναι: 42
Άσκηση -2 Να γραφεί πρόγραμμα σε Python που: Nα διαβάζει από την οθόνη το προς κατάθεση κεφάλαιο, το ετήσιο επιτόκιο και τα έτη κατάθεσης του και, Να υπολογίζει Το συνολικό ποσό που θα λάβει μετά το τελευταίο έτος της κατάθεσης. 43
Άσκηση -3 Να γραφεί πρόγραμμα σε Python που: Nα διαβάζει από την οθόνη έναν αριθμό που αντιστοιχεί σε θερμοκρασία σε βαθμούς Fahrenheit και να τη μετατρέπει σε βαθμούς Celsius με βάση το παρακάτω τύπο: 44