Εισαγωγή στον Προγραμματισμό Python Μάθημα 1: Μεταβλητές, τελεστές, είσοδος/έξοδος προγράμματος, συνθήκη ελέγχου if Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ.

Σχετικά έγγραφα
Εισαγωγή στον Προγραμματισμό Μάθημα 4: Αλγόριθμοι και Γλώσσες Προγραμματισμού Δεκέμβριος 2015 Χ. Αλεξανδράκη

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

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

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

8. Συνθήκες ελέγχου, λογικοί τελεστές

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

Εισαγωγή στον Προγραμματισμό

ΚΕΦΑΛΑΙΟ 3. Εκφράσεις, τελεστές, σχόλια. 3.1 Εισαγωγή

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

Γραφικά υπολογιστών Εργαστήριο 1 Εισαγωγή στην Python

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Γ ε ν ι κ ό Λ ύ κ ε ι ο Ε λ ε υ θ ε ρ ο ύ π ο λ η ς. Α λ γ ό ρ ι θ μ ο ι

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

Εισαγωγή στον Προγραμματισμό

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Προγραμματισμός Υπολογιστών & Εφαρμογές Python. Κ.Π. Γιαλούρης

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

2.1. Εντολές Σχόλια Τύποι Δεδομένων

Ηλεκτρονικοί Υπολογιστές

Βασικές Έννοιες Αλγορίθμων. Βασικές Εντολές Αλγορίθμων (Κεφ. 2ο Παρ. 2.4)

Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Γλώσσα προγραμματισμού python

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Εισαγωγή στην Γλώσσα Προγραμματισμού Python. 12/10/16 1

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

Στοιχειώδης προγραμματισμός σε C++

Εισαγωγή στον Προγραμματισμό Python Μάθημα 3: πίνακες και βρόγχος επανάληψης for (για) Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ.

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

Σύντοµος Οδηγός της Qbasic. Πέρδος Αθανάσιος Καθηγητής Πληροφορικής

Εισαγωγή στην Αριθμητική Ανάλυση

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

Βασικά στοιχεία γλώσσας προγραμματισμού. Σπάχος Κυριάκος Καθηγητής Πληροφορικής ΠΕ19

Τύποι δεδομένων, τελεστές, μεταβλητές

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 8/11/07

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

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

Ας δούμε λίγο την θεωρία με την οποία ασχοληθήκαμε μέχρι τώρα.

Πληρουορική Γ Γσμμασίοσ

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

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

ΚΕΦΑΛΑΙΟ 2. Τιμές, τύποι, μεταβλητές, λέξεις-κλειδιά, εντολές. 2.1 Εισαγωγή

Pascal, απλοί τύποι, τελεστές και εκφράσεις

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

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

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

Κεφάλαιο 4: Μεταβλητές και εκφράσεις

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL

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

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Αντικειμενοστρεφής Προγραμματισμός

1. Εισαγωγή στο Sage.

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

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

Εισαγωγή στον Προγραμματισμό Python Μάθημα 3: πίνακες και βρόγχος επανάληψης for (για) Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ.

Λογικές εκφράσεις και μεταβλητές

Εισαγωγή στον Προγραμματισμό Python Μάθημα 4: Συναρτήσεις (functions) και δομοστοιχεία (modules) στην Python

ΑΣΚΗΣΗ 3: ΠΡΟΤΑΣΕΙΣ, ΕΚΦΡΑΣΕΙΣ ΚΑΙ ΤΕΛΕΣΤΕΣ

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

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

Εισαγωγή στον Προγραμματισμό

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

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας

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

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS.

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

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΓΛΩΣΣΟΜΑΘΕΙΑ

Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις. ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ. Δρ. Π. Νικολαΐδου

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

ΕΠΛ031 - Εισαγωγή στον Προγραμματισμό

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων

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

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

Εισαγωγή στην PHP. ΕΣΔ 232 Διαχείριση Δεδομένων στη Κοινωνία της Πληροφορίας. Περιεχόμενα. Περιεχόμενα

Σκοπός. Εργαστήριο 5 Εντολές Επιλογής

Α Γυμνασίου, Μέρο Α, Άλγεβρα, Κεφάλαιο 7, Θετικοί και Αρνητικοί Αριθμοί, Α.7.8. Δυνάμει ρητών αριθμών με εκθέτη φυσικό, Α.7.9. Δυνάμει ρητών αριθμών

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

true (1) αν και οι δύο είσοδοι είναι true (1) true (1) αν τουλάχιστον μια είσοδος είναι true (1)

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

Δεδομένα, τελεστές, είσοδος/έξοδος

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

Εισαγωγή στους Υπολογιστές

Transcript:

Εισαγωγή στον Προγραμματισμό Python Μάθημα 1: Μεταβλητές, τελεστές, είσοδος/έξοδος προγράμματος, συνθήκη ελέγχου if Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ. Δημητρακάκης

Σύνοψη Μαθήματος Προηγούμενο μάθημα Αλγόριθμοι και γλώσσες προγραμματισμού Σημερινό μάθημα Μεταβλητές και πράξεις Αριθμητικοί και Λογικοί Υπολογισμοί Εισαγωγή δεδομένων στο πρόγραμμα Ροή ελέγχου if

Python Είναι ίσως η απλούστερη γλώσσα για να ξεκινήσει κάποιος προγραμματισμό Ξεκίνησε να αναπτύσσεται στις αρχές τις δεκαετίας του 1990 από τον μαθηματικό Guido van Rossum και κυκλοφόρησε για πρώτη φορά το 2000. Χαρακτηριστικά Γενικής χρήσης (general- purpose) Υψηλού επιπέδου Είναι ως επί το πλείστον διερμηνευόμενη αλλά μπορεί να εκτελεστεί και ως υβριδική για ταχύτερη εκτέλεση Υφίσταται με διάφορες μορφές, δηλαδή υλοποιεί πολλαπλά προγραμματιστικά παραδείγματα: Procedural, Functional, Object Oriented

Πλεονεκτήματα Python Μπορεί κανείς να την χρησιμοποιήσει διαδραστικά (interactively) με τον ίδιο τρόπο που χρησιμοποιεί μια αριθμομηχανή. Κι αυτός είναι ο πιο εύκολος τρόπος να αρχίσει κανείς να μαθαίνει προγραμματισμό Αν και είναι γλώσσα υψηλού επιπέδου, διαθέτει πολύ απλή σύνταξη. Έχει φτιαχτεί εξ αρχής για αρχάριους προγραμματιστές. Μπορεί να συνδυαστεί με άλλες δημοφιλείς γλώσσες όπως C, C++ και Java Αποτελεί ελεύθερο και ανοιχτού κώδικα λογισμικό και διατίθεται δωρεάν από το επίσημο site http://www.python.org Υπάρχουν εκδόσεις για κάθε λειτουργικό σύστημα (ακόμα και για κινητά τηλέφωνα).

Το περιβάλλον της Python Γράφω τη λέξη python στο terminal, οπότε το linux prompt ($), αλλάζει στο python prompt () Εδώ πλέον εισάγω εντολές της python και όχι του linux cli Για να επιστρέψω στο Linux prompt θα πρέπει να γράψω πατήσω Control-D

Χρήση της Python ως Αριθμομηχανή print 5+3 8 print (7-2)*4 20 Η γλώσσα επιτρέπει τη χρήση παρενθέσεων. Όταν σε μια αριθμητική πράξη υπάρχουν πολλαπλές παρενθέσεις ενσωματωμένες η μία στην άλλη, πρώτα εκτελείται η εσωτερικότερη, όπως δηλαδή θα γινόταν και αν κάναμε στις πράξεις στο χαρτί, π.χ. (12+(12/3))/2 8 Επίσης μπορούμε να τυπώνουμε πολλά αποτελέσματα με την ίδια εντολή, αρκεί να χωρίζουμε με κόμματα: print 7+2, 7-2, 7*2, 7/2 9 5 14 3 Μια μικρή προσοχή χρειάζεται στην πράξη της διαίρεσης. Η Python εκτελεί ακέραια διαίρεση, εκτός αν δηλώσουμε ότι θέλουμε να κάνει διαίρεση πραγματικών αριθμών. Ο πιο απλός τρόπος να το δηλώσουμε αυτό είναι να γράψουμε τον διαιρετέο ή τον διαιρέτη (ή και τους δυο) ως πραγματικούς. Πχ.: print 7/2, 7/2.0, 7.0/2, 7.0/2.0, 7./2, 7/2., 7./2. 3 3.5 3.5 3.5 3.5 3.5 3.5 Για να υψώσω αριθμό σε δύναμη, μπορώ να χρησιμοποιώ το σύμβολο **, π.χ. 2**10 1024

Μεταβλητές (Variables) Στην αριθμομηχανή μπορώ να αποθηκεύσω έναν αριθμό με το πλήκτρο MR (memory register) για μετέπειτα χρήση. Στον προγραμματισμό, μπορώ να αποθηκεύω όσα δεδομένα θέλω με τη χρήση μεταβλητών, π.χ. a = 5 b = a**2 print a, b 5 25

Εκχώρηση τιμής σε μεταβλητή Εκχώρηση (Assignment) Είναι η διαδικασία κατά την οποία δίνω τιμή σε μια μεταβλητή Έχει πολύ συγκεκριμένη σύνταξη: a = 3 Και όχι το ανάποδο Η τιμή μιας μεταβλητής μπορεί να αλλάζει μέσω της εκχώρησης, όσες φορές θέλω κατά τη διάρκεια εκτέλεσης του προγράμματος, π.χ. a = 5 b = a**2 print a, b 5 25 a = b -2.3 a 22.7

Τύποι μεταβλητών στην Python Υπάρχουν οι ακόλουθοι τύποι: Ακέραιοι αριθμοί (integers) Πραγματικοί αριθμοί (Floats) Μιγαδικοί αριθμοί (Complex Numbers) Αλφαριθμητικά, δηλ. σειρές χαρακτήρων (String) Λογικές Μεταβλητές (Boolean) Παράδειγμα a = 3 b = 8.9 z = 3+5.6j message = "hello world!" sunny = True print a, b, z, message, sunny 3 8.9 (3+5.6j) hello world! True

Δήλωση Μεταβλητών Στις περισσότερες γλώσσες προγραμματισμού, απαιτείται πριν χρησιμοποιήσω μια μεταβλητή να τη δηλώσω. Στη δήλωση μεταβλητής(variable declaration) θα πρέπει να δηλώσω και τον τύπο της, π.χ. Στη C int i = 0; Στην python δεν απαιτείται η δήλωση μεταβλητής και επομένως ούτε ο καθορισμός του τύπου της. Για παράδειγμα: i=3 i = "Hello" print i Hello

Τελεστές (Operators) Οι τελεστές είναι ειδικά σύμβολα της γλώσσας τα οποία χρησιμοποιούνται είτε για υπολογισμό αριθμητικών πράξεων (arithmetic operators) είτε για σύγκριση τιμών (logical operators). Oι τιμές στις οποίες εφαρμόζεται ένας τελεστής ονομάζονται τελούμενα (operands). Οι τελεστές που χρησιμοποιούνται στην Python είναι οι ακόλουθοι: 1. Αριθμητικοί τελεστές (Arithmetic Operators) Πρόσθεση: + Αφαίρεση: - Πολλαπλασιαμός: * Διαίρεση: / Ύψωση σε δύναμη: ** Υπόλοιπο διαίρεσης(modulo): % 2. Λογικοί Τελεστές (Logical Opertors) Ίσο με - έλεγχος: == Διάφορο από:!= Μεγαλύτερο από: > Μικρότερο από: < Μεγαλύτερο ή ίσο: >= Μικρότερο ή ίσο: <= Και: and Ή : or

Πράξεις με λογικές μεταβλητές Παράδειγμα 1: a =3 a==5 False Παράδειγμα 2: a <= 3 and b > 5 True Παράδειγμα 3: sunny = False (a > 0 and b< 0) or sunny!= True True

Το πρώτο μας πρόγραμμα Επίλυση δευτεροβάθμιας εξίσωσης στο περιβάλλον της Python Για παράδειγμα: 3x 2 +5x+2 = 0, όπου

Επαναχρησιμοποίηση Κώδικα (Code Re-use) Για να μπορέσω να υπολογίσω τις λύσεις τριωνύμου με νέους συντελεστές α, β, γ, θα πρέπει να επανεκτελέσω τον ίδιο κώδικα Γενικότερα όταν θέλω μια διεργασία να τη χρησιμοποιήσω πολλές φορές, τότε μπορώ να αποθηκεύω τον κώδικά της σε ένα αρχείο και να εκτελώ το αρχείο.

Αρχεία κώδικα python Τον πηγαίο κώδικας της Python μπορούμε να τον αποθηκεύουμε σε ASCII αρχεία με την κατάληξη.py, π.χ. trionymo.py H επεξεργασία του κώδικα μπορεί να γίνει με οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου (text editor), π.χ.: nano, sublime, notepad, vi Τέλος για να εκτελέσω κώδικα που βρίσκεται σε αρχείο, μπορώ στο terminal να δώσω την εντολή python, π.χ. $ python trionymo.py Προσοχή! Η εντολή αυτή εκτελείται στο linux prompt($) και όχι στο python prompt()

Εισαγωγή Δεδομένων στο Πρόγραμμα Είδαμε ότι με την εντολή print το πρόγραμμα εξάγει δεδομένα προς στο χρήστη, π.χ. a = 3 b = 8 print b**a 512 H αντίστροφη διαδικασία, δηλαδή το να εισάγει ο χρήστης δεδομένα στο πρόγραμμα επιτελείτε με την εντολή input(), π.χ. a=input() 4 print a 4 Προαιρετικά η εντολή input μπορεί να πάρει ένα όρισμα: b=input('δώσε έναν αριθµό: ') Δώσε έναν αριθµό: 12 print b 12 Με το όρισμα αυτό η εντολή input εκτυπώνει ένα μήνυμα προς το χρήστη.

Άσκηση 1 Τροποποιήστε το πρώτο πρόγραμμα (λύση δευτεροβάθμιας), ώστε οι συντελεστές a, b, c να εισάγονται στο πρόγραμμα από το χρήστη

Συνθήκη Ελέγχου if z = input ("Dose arithmo: " ) if z > 10: print "z megalytero apo 5" print " -----" elif z > 5: else: print "z megalytero apo 5 kai mikrotero tou 10" print "------" print "z mikrotero h iso me 5 " print "------" print " ==== end of program====="

Άσκηση 2 Να τροποποιήσετε το πρόγραμμα trionymo.py, ώστε να ελέγχει αν είναι θετική η διακρίνουσα και να εκτυπώνει μήνυμα για το εάν οι λύσεις τριωνύμου είναι πραγματικές ή μιγαδικές

Λύση: Επίλυση δευτεροβάθμιας σε Python ## Chrisoula Alexandraki ## Epilysh deyterovathmias eksisosis (trionymo) a = input("dose syntelestia: ") b = input("dose syntelestib: ") c = input("dose syntelestic: ") diakr = b**2-4*a*c if diakr < 0: #metatropi diakrinousas se migadiko arithmo diakr = diakr +0j #ypologismos lyseon x1 = (-b+diakr**0.5)/(2*a) x2 = (-b-diakr**0.5)/(2*a) #ektyposi lyseon print"to trionymo exei tis eksis lyseis: x1 = ", x1, "x2 = ", x2