#2 Αλγόριθμοι, Δομές Δεδομένων και Πολυπλοκότητα - Εισαγωγή στον προγραμματισμό με τη γλώσσα Python

Σχετικά έγγραφα
Εισαγωγή στους Υπολογιστές

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

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

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

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

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

Ενότητα: Δυαδική Αναζήτηση Σχέδιο Δραστηριότητας: Παιχνίδι: Βρες τον αριθμό

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

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

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

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

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

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

Μάριος Αγγελίδης Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1

Εισαγωγή στον Προγ/μό Υπολογιστών

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

Φύλλο Εργασίας 3. Μια γρήγορη επανάληψη από τα προηγούμενα

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

Computing. Νοέμβριος Έκδοση 1.0

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

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

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

Σημειωματάριο Τετάρτης 4 Οκτ. 2017

Μάντεψε τον Αριθμό. Ενδεικτικές Απαντήσεις Φύλλου Εργασίας. Οδηγίες

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

Βασικά στοιχεία γλώσσας προγραμματισμού

ΕΠΛ 012. JavaScripts

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

Τυχαίοι αριθμοί ρίξε μια «ζαριά»

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

print( x is positive ) Στο διερμηνευτή Python, προσοχή στη στοίχιση, διότι γίνεται από το χρήστη:

Πληροφορική 2. Αλγόριθμοι

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

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ

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

ΜΑΘΗΜΑΤΑ PYTHON. Καθηγητής Ι. Δημητρίου.

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

Σημειωματάριο Τετάρτης 25 Οκτ. 2017

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ

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

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

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

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

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

Βασικές Έννοιες Αλγορίθμων Τι είναι αλγόριθμος

Mπαρμπούτι. Ενδεικτικές Απαντήσεις Φύλλου Εργασίας. Τυχαιότητα

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

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

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

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

Πρόβλημα 37 / σελίδα 207

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

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Μάντεψε τον Αριθμό Φύλλο Εργασίας 2

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

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

Ο πιο κάτω πίνακας περιγράφει σε ποιες περιπτώσεις χρησιμοποιούμε τους τρεις πιο πάνω τρόπους:

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι

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

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

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

Μάντεψε τον Αριθμό. Ενδεικτικές Απαντήσεις Φύλλου Εργασίας. Μάντεψε!

ΗΥ-150. Προγραμματισμός

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006

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

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

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

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

PHP 1. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Α3. Ποια είναι τα πλεονεκτήματα του Δομημένου προγραμματισμού; (Μονάδες 10)

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 1: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ - ΟΡΙΣΜΟΙ

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ- Ακαδημαϊκό Φροντιστήριο ΕΠΑΛ-Κάνιγγος 13 Αθήνα 2017

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

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

11/23/2014. Στόχοι. Λογισμικό Υπολογιστή

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

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

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

ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ. Γ Λυκείου Κατεύθυνσης Mike Trimos

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

Μάντεψε τον Αριθμό. Φύλλο Εργασίας. Οδηγίες

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

Μάντεψε τον Αριθμό. Έχω Ένα Μυστικό. Το Βρήκα;

Ανάπτυξη εφαρμογής Input-Output

Προγραμματισμός Υπολογιστών με C++

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

Transcript:

22Υ103 Εισαγωγή Υπολογιστές I #2 Αλγόριθμοι, Δομές Δεδομένων και Πολυπλοκότητα - Εισαγωγή στον προγραμματισμό με τη γλώσσα Python Εβδομάδες 2-3

Αλγόριθμοι, Δομές Δεδομένων και Πολυπλοκότητα Αλγόριθμος: διαδικασία επίλυσης κάποιου προβλήματος έκφραση ενός αλγορίθμου με ψευδογλώσσα, διάγραμμα ροής και γλώσσα προγραμματισμού οργάνωση δεδομένων Προβλήματα πολυπλοκότητας : καθορισμός προβλημάτων που μπορούν να λυθούν και εκτιμώμενος χρόνος επίλυσης

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

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

Χρήση βασικών εντολών Για να περιγράψουμε ένα αλγόριθμο χρειαζόμαστε ένα ορισμένο αριθμό στοιχειωδών αλγοριθμικών δομών, (αρχετύπων ήεντολών) που να είναι κοντά στη λειτουργία ενός υπολογιστή.

Βασικές αλγοριθμικές δομές 1. Εκχώρηση τιμής σε μεταβλητή a = 5 2. Εντολές εισόδου/εξόδου a = raw_input() print b 3. Επιλογή if συνθήκη : εντολή, else εντολή 4. Επανάληψη while συνθήκη : εντολή for ι in (0,10) : εντολή

Mεταβλητές Σύμβολα που αντιστοιχούν σε περιοχές της μνήμης και στις οποίες αποθηκεύονται τιμές Χ 5 ΝΑΜΕ Γιώργος YPOLOIPO 12.45 X X + 12.5*Y

Πώς αντιμετωπίζει ηpython τους διαφορετικούς τύπους μεταβλητών: dynamically typed, strongly typed statically typed language Μια γλώσσα που οι τύποι των μεταβλητών καθορίζονται κατά την ώρα της μεταγλώττισης. Είναι απαραίτητη ηδήλωση των μεταβλητών. Η Java και C είναι γλώσσες με στατικούς τύπους dynamically typed language Γλώσσες στις οποίες οτύπος των μεταβλητών αποφασίζεται κατά τη διάρκεια της εκτέλεσης. Οι VBScript και Python είναι τέτοιες γλώσσες strongly typed language Γλώσσες στις οποίες οι τύποι των μεταβλητών επιβάλλονται Οι Java και Python έχουν ισχυρούς τύπους, ένας ακέραιες δεν μπορεί να χρησιμοποιηθεί σαν συμβολοσειρά χωρίς πριν να αλλάξει τύπο. weakly typed language Γλώσσες στις οποίες οι τύποι μπορεί να αγνοηθούν. Εκδόσεις της VBScript έχουν αδύνατους τύπους. Πχ. VBScript, συνένοηση της συμβολοσειράς '12' με τον ακέραιο 3 έχει αποτέλεσμα '123', το οποίο μπορεί να χρησιμοποιηθεί ως 123, χωρίς μετατροπές.

Το πρώτο μας πρόγραμμα Εκκίνηση της Python (IDLE (Python GUI) στο Start menu) Εμφανίζεται το περιβάλλον python shell CNTRL-N για ένα νέο παράθυρο συγγραφής προγράμματος

Το πρώτο πρόγραμμα Ανοίγουμε νέο παράθυρο (File New Window, ή Ctrl + N) Έστω ότι θέλουμε να δημιουργήσουμε ένα πρόγραμμα που ρωτάει τον χρήστη το όνομα του και μετά τον χαιρετάει Γράφουμε τις εντολές του προγράμματος (εντολές εισόδου- εξόδου, έχουμε εντολές επεξεργασίας;) και στη συνέχεια.. Εκτελούμε το πρόγραμμα (Run Run Module, ή F5) you'll be asked to save the program; Θα σώσουμε το πρόγραμμα σαν hello.py Αν χρησιμοποιούμε ελληνικούς χαρακτήρες θα χρειαστεί να δηλώσουμε τη σχετική κωδικοποίηση # -*- coding: cp1253 -*- Ηείσοδος/ έξοδος του προγράμματος θα εμφανιστεί στο python shell

Εντολές εισόδου/ εξόδου Python name= raw_input ("δώσε το όνομα σου: ") print Γεια σου, name - Ποια μεταβλητή χρησιμοποιήσαμε στο πρόγραμμα αυτό;

2 ο παράδειγμα προγράμματος Κατασκευάστε ένα πρόγραμμα που ζητάει από τον χρήστη δύο αριθμούς και τυπώνει το άθροισμα τους (αναπαράσταση του αλγορίθμου με διάγραμμα ροής και την python)

2o πρόγραμμα: το διάγραμμα ροής ΑΡΧΗ Ζήτησε τα X, Y πρόσθεσε X και Y Εμφάνισε το αποτέλεσμα ΤΕΛΟΣ

2o πρόγραμμα: python # -*- coding: cp1253 -*- print "*** Αθροιστής ***" x = raw_input("δώσε τον 1o αριθμό :") y = raw_input("δώσε τον 2o αριθμό :") sum = x + y print "Το άθροισμα είναι: ", sum Μεταβλητές x y sum >>> *** Αθροιστής *** Δώσε τον 1o αριθμό :8 Δώσε τον 2o αριθμό :2 Το άθροισμα είναι: 82 >>> Κάτι δεν πήγε καλά στο πρόγραμμα αυτό (τι;)

Το πρόβλημα των τύπων δεδομένων string (str στην Python) μεταβλητές για συμβολοσειρές χαρακτήρων integer (int στην Python) ακέραιοι floating point (float στην Python) δεκαδικοί αριθμοί Boolean (bool στην Python) λογικές μεταβλητές Μετατροπή τύπου δεδομένων x= float (y); Ζ= int (A); R= str(b)

Το 2 ο πρόγραμμα - ξανά # -*- coding: cp1253 -*- print "*** Αθροιστής ***" x = float (raw_input("δώσε τον 1o αριθμό :")) y = float (raw_input("δώσε τον 2o αριθμό :")) sum = x + y print "Το άθροισμα είναι:", sum >>> *** Αθροιστής *** Δώσε τον 1o αριθμό :10 Δώσε τον 2o αριθμό :20 Το άθροισμα είναι: 30.0

Εκχώρηση τιμής σε μεταβλητήμεταβολή τιμής μεταβλητής weight = 68 σε κιλά place = Πάτρα τόπος γέννησης a = 3 'a έχει την τιμή 3 b = a 5 'b έχει την τιμή -2 c = b * -3 'c έχει την τιμή 6 d = c / 2 'd έχει την τιμή 3 Στην Python δενχρειάζεταιδήλωσητουτύπου μεταβλητής, αλλάοτύπος καθορίζεταιαπότην πρώτηφοράπουθαπάρειημεταβλητήτιμή

Μεταβλητές στην python Τοόνοματωνμεταβλητώνπρέπεινααρχίζειμε γράμμαή _ έλεγχοςτύπουμε type(a) Γίνονταιπράξεις Αριθμητικές (+, -, *, /, **, //, %, <<, >>, &,, ^, ~,<, >, ==,<=, >=,!= ) Αλφαριθμητικές (+, <, >, ==,<=, >=,!= ) Λογικές (not, and, or ) Υποστηρίζονταιπράξειςμεταξύδιαφορετικών τύπωνμεταβλητώνεκτόςτωνμιγαδικών >>> 7.0 / 2 3.5

μεταβλητές Οι μιγαδικοί περιγράφονται είτε με τη μορφή (real+imagj) είτε με τη συνάρτηση complex(real, imag) Για να διαχωριστεί το πραγματικό και το φανταστικό μέρος ενός μιγαδικού z χρησιμοποιούμε τα z.real και z.imag >>> a=1.5+0.5j >>> a.real 1.5 >>> a.imag 0.5

Strings : συμβολοσειρές χαρακτήρων Escape characters >>> text = του είπαν \"γεια\" " >>> print text του είπαν "γεια " >>> title="αγαμέμνων" >>> title[1] '\xe3' >>> print title[1] γ >>> Α 0 γ 1 α 2 μ 3 έ 4 μ 5 ν 6 ω 7 ν 8

συμβολοσειρές χαρακτήρων κ ά τ ω σ τ ο υ ς π έ ρ α 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 b = κάτω στους πέρα b [5:10] = στους slice από 5 μέχρι 10 χωρίς το 10 b [:3] = κατ ; b[ 11:]= πέρα m = b.find( στ ) το m γίνεται 5

συμβολοσειρές S= καλημέρα123 S[3].isdigit() false S[2].isalpha() true

Αλγόριθμοι μέρος Β Διαγράμματα ροής εντολές επιλογής Άσκηση Περιγράψτε τον αλγόριθμο του παιχνιδιού «μάντεψε ένα αριθμό από το 1 στο 100»

Διάγραμμα Ροής : σύμβολα The Process Symbol represents any process, function, or action and is the most frequently used symbol in flowcharting. The Document Symbol is used to represent any type of hard copy input or output (i.e. reports). Offpage Connector Symbols are used to indicate the flow chart continues on another page. Often, the page number is placed in the shape for easy reference. The Input/Output Symbol represents data that is available for input or resulting from processing (i.e. customer database records). The Decision Symbol is a junction where a decision must be made. A single entry may have any number of alternative solutions, but only one can be chosen. The Connector Symbol represents the exit to, or entry from, another part of the same flow chart. It is usually used to break a flow line that will be continued elsewhere. It's a good idea to reference page numbers for easy location of connectors.

Διάγραμμα ροής: παράδειγμα ΑΡΧΗ Διάλεξεένατυχαίοαριθμό Ααπό 1-100 Ρώτησετο χρήστηνα μαντέψειτονμ ΝΑΙ Μ > Α? ΟΧΙ Γράψε "too high" ΝΑΙ γράψε "too low" Μ< Α? ΟΧΙ γράψε «you WON ΤΕΛΟΣ

Εντολή επιλογής ( if) Δυνατότητα επιλογής τιμής if (ΣΥΝΘΗΚΗ) then ΕΠΙΛΟΓΗ-1 else ΕΠΙΛΟΓΗ-2 Παράδειγμα: f(n)= n όταν n>0, διαφορετικά f(n)= 0 if (n 0) then x 0 else x n

if στη PYTHON if συνθήκη: εντολή1 elif συνθήκη: εντολή2 else: εντολή3 1 door = int(raw_input( κάνε την επιλογή σου!")) 2 if epilogh == 1: 3 message = κέρδισες ένα αυτοκίνητο!" 4 elif epilogh == 2: 5 message = «κέρδισες πλυντήριο πιάτων!" 6 else: 7 message = «κέρδισες ένα σαμπουάν!" 8 print message Αν epilogh==2 ποιες γραμμές του προγράμματος θα εκτελεστούν;

Διάφορες δομές ελέγχου 1. if συνθήκη: 2. εντολή1 3. εντολή2 Α 1. if συνθήκη1: 2. εντολή1 3. elif συνθήκη2 : 4. εντολή2 5. εντολή3 1. if συνθήκη: 2. εντολή1 3. else: 4. εντολή2 5. εντολή3 C Β 1. if συνθήκη1: 2. εντολή1 3. elif συνθήκη2: 4. εντολή2 5. else 6. εντολή3 7. εντολή4 D

Άσκηση Να εκφράσετε σε Python τον αλγόριθμο «μάντεψε ένα αριθμό»

Φροντιστηριακή άσκηση Να γράψετε το διάγραμμα ροής και το πρόγραμμα σε Python που βρίσκει την τομή δύο ευθειών που δίδονται από εξισώσεις y=ax+b

Συναρτήσεις -math import math x = math.sqrt(16) #square root (x==4) x = math.pow(2,3) #equivalent to 2 3 (x==8) x = math.ceil(4.3) #rounds up (x==5) x = math.floor(7.8) #rounds down (x==7) x = math.log(34) #log e 34 (x==3.52) x = math.log10(100) #log 10 100 (x==2) x = math.sin(3.14) #angle in radians x = math.cos(math.pi) x = math.tan(math.pi * 2) x = math.asin(-1) #inverse sine x = math.sinh(1) #hyperbolic sine

Άσκηση import math a = float(raw_input( "Δώσε το μήκος AB ")) b = float(raw_input( \ "Δώσε το μήκος AC ")) c = math.sqrt( math.pow(a,2) + / math.pow(b,2) ) print "Μήκος υποτίνουσας:", c

Συναρτήσεις random import random x = random.randint(0,10) #δημιουργεί ένα τυχαίο ακέραιο μεταξύ # 0 και 10 περιλαμβανομένων x = random.random() # δημιουργεί ένα αριθμό κινητής υποδιαστολής >= 0.0 και >= 1.0

Ορισμός συναρτήσεων από το χρήστη def συνάρτηση(παράμετροι): εντολές return τιμή V=(4/3)πr 3 def calcspherevolume(r): volume = (4.0/3.0) * math.pi* math.pow(r,3) return volume x = calcspherevolume(r)

Άσκηση περιγράψτε τη λειτουργία της συνάρτησης def isinteger(string): if string.isdigit(): return True elif string[0] == "-" and \ string[1:].isdigit(): return True else: return False

Άσκηση Να γράψετε μια συνάρτηση που εξετάζει αν μια συμβολοσειρά περιέχει κενούς χαρακτήρες. Σημείωση: κενοί χαρακτήρες μπορεί να είναι spaces (" "), tabs ("\t") και newlines ("\n")