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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Προγραμματισμός Διαδικτύου"

Transcript

1 Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Προγραμματισμός Διαδικτύου Δρ. Μηνάς Δασυγένης Τμήμα της παρουσίασης δημιουργήθηκε από τον κ. Παναγιώτη Συμεωνίδη (ICTE/UOWM, ) Πανεπιστήμιο Δυτικής Μακεδονίας 1

2 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. Πανεπιστήμιο Δυτικής Μακεδονίας 2

3 Σκοπός ενότητας Καλή γνώση των κανονικών εκφράσεων Δημιουργία κλάσεων Εξοικείωση με τη χρήση τελεστών Πανεπιστήμιο Δυτικής Μακεδονίας 3

4 Προγραμματισμός διαδικτύου Περιεχόμενα 6.1 Κανονικές εκφράσεις 6.2 Αtoms (άτομα) 6.3 Κλάσεις 6.4 Anchors (άγκυρες) 6.5 Τελεστές 6.7 Επεκτεταμένες εκφράσεις 6.8 Η συνάρτηση preg_replace 6.9 Meta χαρακτήρες Κανονικές εκφράσεις Πανεπιστήμιο Δυτικής Μακεδονίας 4

5 Κανονικές εκφράσεις (Regular Expressions-RE) Μια κανονική έκφραση είναι ένας σύντομος και σαφής τρόπος έκφρασης οποιουδήποτε συνδυασμού χαρακτήρων. Οι κανονικές εκφράσεις (RE) αποτελούνται από συνδυασμό κανονικών χαρακτήρων με έναν ή περισσότερους μεταχαρακτήρες. Οι μεταχαρακτήρες είναι χαρακτήρες με ειδική σημασία Πανεπιστήμιο Δυτικής Μακεδονίας 5

6 Παραδείγματα Οι κανονικές εκφράσεις χρησιμοποιούνται κυρίως για την αναζήτηση αλφαριθμητικών γενικής μορφής είτε σε αρχεία είτε για επικύρωση των δεδομένων φόρμας!!!! Για την επικύρωση δεδομένων που περιέχουν ένα από τα παρακάτω: Τη λέξη Unix, Τη λέξη UNIX, Ένα πρότυπο (pattern) που αποτελείται από 4 ψηφία Έναν ταχυδρομικό κωδικό, Ένα όνομα, Όλα τα φωνήεντα σε αλφαβητική σειρά. Πανεπιστήμιο Δυτικής Μακεδονίας 6

7 Κανονικές εκφράσεις Προτάθηκαν για πρώτη φορά το 1956 (S. Kleene) Ο Ken Thomson (1968) τις χρησιμοποίησε στην εντολή grep (global regular expression print) Μια κανονική έκφραση είναι ένα πρότυπο αποτελούμενο από μια ακολουθία χαρακτήρων που αντιστοιχούνται με το προς εξέταση κείμενο. Ο διερμηνευτής εξετάζει το κείμενο ως προς το πρότυπο για να αποφασίσει αν το πρότυπο (pattern) και το κείμενο (text) ταιριάζουν (αντιστοιχούνται). Αν υπάρχει αντιστοιχία η έκφραση είναι αληθής και η εντολή που χρησιμοποιεί το πρότυπο εκτελείται. Πανεπιστήμιο Δυτικής Μακεδονίας 7

8 Κανονικές εκφράσεις Μια κανονική έκφραση είναι μια σειρά από κανονικούς χαρακτήρες και ειδικούς τελεστές. Οι κανονικοί χαρακτήρες περιλαμβάνουν το σύνολο των πεζών και κεφαλαίων γραμμάτων, τα ψηφία, και άλλους συχνά χρησιμοποιούμενους χαρακτήρες : ~, #, _, -, =, :, ;,,,/ Οι ειδικοί τελεστές είναι \,., *, [, ^, $, ]. Πανεπιστήμιο Δυτικής Μακεδονίας 8

9 Κανονική έκφραση Μια κανονική έκφραση είναι πανόμοια με μια μαθηματική. Μια μαθηματική έκφραση αποτελείται από τελευταίους (operands) και τελεστές(operators). Μια κανονική έκφραση αποτελείται από atoms και operators. Το atom προσδιορίζει αυτό που αναζητούμε και το σημείο του κειμένου όπου υπάρχει αντιστοιχία. Ένας operator συνδυάζει atoms σε σύνθετες εκφράσεις. Atoms (άτομα) Operators (τελεστές) Κανονική έκφραση Πανεπιστήμιο Δυτικής Μακεδονίας 9

10 Atoms (άτομα) Atoms (άτομα) Μεμονωμένος χαρακτήρας Τελεία Κλάση Άγκυρα Πίσω αναφορά Πανεπιστήμιο Δυτικής Μακεδονίας 10

11 Παράδειγμα προτύπου ενός χαρακτήρα Το απλούστερο atom είναι ένας χαρακτήρας (a) Επιτυχημένο ταίριασμα (b) Ανεπιτυχές ταίριασμα Πανεπιστήμιο Δυτικής Μακεδονίας 11

12 Παράδειγμα Dot Atom Μια τελεία (dot) αντιστοιχεί με οποιοδήποτε απλό χαρακτήρα εκτός από τον new line character (\n). (a) Μεμονωμένος χαρακτήρας (b) Συνδυασμός - true (c) Συνδυασμός - false Πανεπιστήμιο Δυτικής Μακεδονίας 12

13 Παράδειγμα Class Atom Μια class atom ορίζει ένα σύνολο ASCII χαρακτήρων, καθένας από τους οποίους μπορεί να αντιστοιχεί με οποιουσδήποτε χαρακτήρες του κειμένου. Το σύνολο χαρακτήρων που χρησιμοποιείται στη διαδικασία αντιστοίχισης (matching process) περικλείεται σε αγκύλες. Μια περιοχή (range) χαρακτήρων κειμένου ορίζεται με μια παύλα (-) π.χ. [a-d] Το ^ είναι ένας χαρακτήρας εξαίρεσης π.χ. κάθε χαρακτήρας εκτός από φωνήεν, χρησιμοποιείται στην έκφραση [^aeiou]. Κανένα ταίριασμα Κανένα ταίριασμα Ταίριασμα Πανεπιστήμιο Δυτικής Μακεδονίας 13

14 Παραδείγματα κλάσεων Ο escape character (\) χρησιμοποιείται όταν ο αντιστοιχούμενος χαρακτήρας είναι ένας από τους και ^ Κοινή έκφραση [A-H] [ABCDEFGH] Σημασία [A-Z] Κάθε κεφαλαίο γράμμα [0-9] Κάθε ψηφίο [[a] [ ή a [0-9\-] Ψηφίο ή ενωτικό [^AB] [A-Za-z] [^0-9] []a] [^\^] Κάθε χαρακτήρας εκτός A ή B Κάθε γράμμα Κάθε γράμμα εκτός των ψηφίων ] ή a Όλα εκτός ^ Πανεπιστήμιο Δυτικής Μακεδονίας 14

15 Anchors (Άγκυρες) Anchors : είναι atoms (άτομα) που χρησιμοποιούνται για να αντιστοιχήσουν το πρότυπο σε ένα συγκεκριμένο τμήμα. Τα Anchors δεν αντιστοιχούνται στο κείμενο αλλά καθορίζουν το σημείο όπου πρέπει να βρεθεί ο επόμενος χαρακτήρας στο πρότυπο. Άγκυρα Σημασία Παράδειγμα Αρχή γραμμής Τέλος γραμμής Αρχή λέξης Τέλος λέξης Πανεπιστήμιο Δυτικής Μακεδονίας 15

16 Τελεστές Μπορούμε να συνδυάσουμε atoms με operators Τελεστής Ακολουθία Εναλλαγή Επανάληψη Ομάδα Αποθήκευση Πανεπιστήμιο Δυτικής Μακεδονίας 16

17 Παραδείγματα τελεστών ακολουθίας Ο τελεστής ακολουθίας (sequence operator) δεν υπάρχει. Αυτό σημαίνει ότι αν μια σειρά από atoms φαίνονται σε μια κανονική έκφραση, υποδηλώνεται η παρουσία ενός αόρατου sequence operator ανάμεσά τους. dog Ταιριάζει με το πρότυπο dog a b Αντιστοιχεί το a, άλλους δυο χαρακτήρες, και b [2-4] [0-9] Αντιστοιχεί νούμερο μεταξύ 20 και 49 [0-9] [0-9] Αντιστοιχεί κάθε δυο αριθμούς ^$ Αντιστοιχεί μια λευκή γραμμή ^.$ Αντιστοιχεί σε μια γραμμή χαρακτήρων [0-9] [0-9] Αντιστοιχεί δυο αριθμούς που χωρίζονται από - Πανεπιστήμιο Δυτικής Μακεδονίας 17

18 Παράδειγμα χρήσης τελεστής ακολουθίας Πανεπιστήμιο Δυτικής Μακεδονίας 18

19 Τελεστής εναλλαγής (Alternation Operator ) Ο τελεστής εναλλαγής (alternation operator) χρησιμοποιείται για να ορίσει μια ή περισσότερες εναλλακτικές περιπτώσεις. Πανεπιστήμιο Δυτικής Μακεδονίας 19

20 Αντιστοίχιση Alternation Operators Πανεπιστήμιο Δυτικής Μακεδονίας 20

21 Τελεστής επανάληψης (Repetition Operator) Ο τελεστής επανάληψης (repetition operator) καθορίζει ότι το atom ή η έκφραση που υπάρχει ακριβώς πριν από την επανάληψη μπορεί να επαναληφθεί. m είναι ο ελάχιστος αριθμός επαναλήψεων. n είναι ο μέγιστος αριθμός επαναλήψεων. Αντιστοιχεί τον προηγούμενο χαρακτήρα m σε n φορές Αντιστοιχεί AAA, AAAA, ή AAAAA Αντιστοιχεί BAAA, BAAAA ή BAAAAA Πανεπιστήμιο Δυτικής Μακεδονίας 21

22 Βασικές φόρμες επανάληψης Μορφές Αντιστοιχεί προηγούμενα άτομα ακριβώς m φορές Αντιστοιχεί προηγούμενα άτομα m ή περισσότερες φορές Αντιστοιχεί προηγούμενα άτομα n ή λιγότερες φορές Παραδείγματα Πανεπιστήμιο Δυτικής Μακεδονίας 22

23 Επαναλαμβανόμενη αντιστοίχιση προτύπων Πανεπιστήμιο Δυτικής Μακεδονίας 23

24 Τελεστής ομαδοποίησης (Group Operator) Ο group operator είναι ένα ζεύγος παρενθέσεων που ανοίγουν και κλείνουν. Όταν μια ομάδα χαρακτήρων περικλείεται σε παρενθέσεις ο επόμενος τελεστής εφαρμόζεται σε όλη την ομάδα. Κοινή έκφραση Αντιστοιχία Πανεπιστήμιο Δυτικής Μακεδονίας 24

25 Κανόνες δημιουργίας & αντιστοίχισης κανονικών εκφράσεων Οι χαρακτήρες :.,*, [,\ είναι ειδικοί χαρακτήρες εκτός όταν εμφανίζονται ανάμεσα σε [ ]. Ο χαρακτήρας ^ είναι ειδικός χαρακτήρας όταν είναι ο πρώτος που εμφανίζεται σε μια κανονική έκφραση και όταν είναι ο πρώτος χαρακτήρας μέσα σε [ ]. Ο χαρακτήρας $ είναι ειδικός χαρακτήρας όταν είναι τελευταίος. Ένας ειδικός χαρακτήρας που έχει μπροστά \ είναι ο ίδιος ο χαρακτήρας (escape chars). Πανεπιστήμιο Δυτικής Μακεδονίας 25

26 Πίνακας συμβολισμού κανονικών εκφράσεων Συμβολισμός c Σημασία Αντιστοιχεί στον χαρακτήρα c \c Αναγκάζει το c να διαβάσει μόνον ως το γράμμα c ^ Ταυτοποιείται κατά την αναζήτηση με την αρχή της γραμμής $ Ταυτοποιείται κατά την αναζήτηση με το τέλος της γραμμής. Ταυτοποιείται με ένα και μόνο χαρακτήρα [xy] [^xy] Κάθε μεμονωμένος χαρακτήρας που περιέχεται στο σύνολο Κάθε μεμονωμένος χαρακτήρας που δεν περιέχεται στο σύνολο (exclusion set ) Πανεπιστήμιο Δυτικής Μακεδονίας 26

27 Πίνακας συμβολισμού κανονικών εκφράσεων (συνέχεια) Συμβολισμός Σημασία c* Καμία ή περισσότερες εμφανίσεις του χαρακτήρα c * 0 ή περισσότερες εμφανίσεις της έκφρασης που προηγείται + 1 ή περισσότερες εμφανίσεις της έκφρασης που προηγείται? 0 ή 1 εμφανίσεις της έκφρασης που προηγείται Πανεπιστήμιο Δυτικής Μακεδονίας 27

28 Παραδείγματα Όλες οι γραμμές που δεν ξεκινούν από κεφαλαίο αγγλικό χαρακτήρα : ^[^A-Z]' Όλες οι γραμμές που περιέχουν!,&,* : '([\!\*\&]) Όλες οι γραμμές που περιέχουν την τιμή $1.99 : '\$1\.99 Όλες οι γραμμές με μήκος 2 χαρακτήρες : '^..$ ή ^.\{2\}$ Πανεπιστήμιο Δυτικής Μακεδονίας 28

29 Παραδείγματα Όλες οι γραμμές που έχουν μήκος ακριβώς 17 χαρακτήρες: '^.\{17\}$ Όλες οι γραμμές που έχουν μήκος τουλάχιστον 25 χαρακτήρες: '^.\{25,\}$' Πανεπιστήμιο Δυτικής Μακεδονίας 29

30 Παραδείγματα Όλες οι γραμμές που ξεκινούν με * : ^\* Όλες οι γραμμές που δεν περιέχουν αριθμούς : ^[^0 9]*$ Όλες οι γραμμές που περιέχουν τα έτη 1991 έως 1995 : 199[1-5] Οποιαδήποτε ακολουθία χαρακτήρων δεν περιέχει ψηφία: [A-Za-z][A-Za-z]* Πανεπιστήμιο Δυτικής Μακεδονίας 30

31 Παραδείγματα Οποιοσδήποτε προσημασμένος ακέραιος : [+\-][0-9][0-9]* Οποιαδήποτε ακολουθία χαρακτήρων :.* (ιδιωματισμός!) Οποιοδήποτε αναγνωριστικό (identifier) : [a-za-z_][a-za-z_0-9]* Οποιοσδήποτε πραγματικός αριθμός χωρίς πρόσημο: [0-9]+[.][0-9]+ [0-9]*[.][0-9]* Πανεπιστήμιο Δυτικής Μακεδονίας 31

32 Παραδείγματα Οποιοδήποτε πλήθος από * ακολουθούμενο από οποιοδήποτε πλήθος \ : \**\\* Ώρα σε 12ωρη βάση: 1*[012]*[1-9]*:[0-5][0-9] Πανεπιστήμιο Δυτικής Μακεδονίας 32

33 Κανονική έκφραση για ημερομηνία Υποθέτουμε ότι οι ημερομηνίες είναι στη μορφή : Feb 9, Ποια είναι η μορφή της κανονικής έκφρασης; [A-Z][a-z]* [0-9]\{1,2\}, [0-9]\{4\} [A-Z][a-z]\{3,\} [0-9]\{1,\}, [0-9]\{4\} Πανεπιστήμιο Δυτικής Μακεδονίας 33

34 Κανονική έκφραση για τηλέφωνο Ποια είναι η μορφή της κανονικής έκφρασης για τηλεφωνικούς αριθμούς της περιοχής Θεσσαλονίκης; (πρόθεμα : 2310, 2391,2392,, 2396 και αριθμός εξαψήφιος στη μορφή : 23ΧΧ-ΧΧΧ-ΧΧΧ) 23[19][0-6]-[0-9]\{3\}-[0-9]\{3\} Πανεπιστήμιο Δυτικής Μακεδονίας 34

35 Επεκτεταμένες RE Είναι υπερσύνολο της grep. Αναζητεί και αντιστοιχεί όλες τις περιπτώσεις κανονικών εκφράσεων της grep και επιπλέον : Μια RE που ακολουθείται από το + αντιστοιχεί μία ή περισσότερες ταυτίσεις της RE. Μια RE που ακολουθείται από το? αντιστοιχεί καμία ή μία ταυτίσεις της RE. Πολλαπλές RE διαχωριζόμενες με αντιστοιχούνται με οποιαδήποτε από τις RE που περιέχονται. Μια RE μπορεί να περικλείεται σε παρενθέσεις για ομαδοποίηση. Πανεπιστήμιο Δυτικής Μακεδονίας 35

36 Παραδείγματα επεκτεταμένων εκφράσεων Παραδείγματα : [A-Z][A-Z]+ 239(4 6)-(0 1) (Sally Fred) (Smith Jones Parker) Πανεπιστήμιο Δυτικής Μακεδονίας 36

37 Παραδείγματα επεκτεταμένων # όλες οι γραμμές που ξεκινούν με # '(^#)' # όλες οι γραμμές που ΔΕΝ ξεκινούν με # '(^[^#])' # όλες οι γραμμές που ξεκινούν με e, f ή g. '(^[efg])' # όλες οι γραμμές που ξεκινούν με κεφαλαίο γράμμα '(^[A-Z])' Πανεπιστήμιο Δυτικής Μακεδονίας 37

38 Επεκτεταμένες RE # όλες οι γραμμές που ΔΕΝ ξεκινούν με κεφαλαίο γράμμα '(^[^A-Z])' # όλες οι γραμμές που περιέχουν! * & '([\!\*\&])' # όλες οι γραμμές που περιέχουν! * & αλλά δεν ξεκινούν με # '([^#][\!\*\&])' Πανεπιστήμιο Δυτικής Μακεδονίας 38

39 Αποθήκευση (save) Ο τελεστής αποθήκευσης \( \) αντιγράφει το αλφαριθμητικό που περικλείεται σε μια προσωρινή μνήμη (buffer ή register) για μεταγενέστερη χρήση. Υπάρχουν συνολικά εννέα (9) buffers που αριθμούνται από \1 έως \9. \1 : είναι το τμήμα κειμένου που αντιστοιχεί στην πρώτη κανονική έκφραση σε παρένθεση. \2 : είναι το τμήμα κειμένου που αντιστοιχεί στην δεύτερη κανονική έκφραση σε παρένθεση... Πανεπιστήμιο Δυτικής Μακεδονίας 39

40 Παραδείγματα '^\([a-z]\)\1' Αναζητεί και εμφανίζει τις γραμμές που ξεκινούν από ένα ζεύγος όμοιων γραμμάτων. '\([a-z][a-z]*\)\1\1' Αναζητεί και εμφανίζει τις γραμμές που περιέχουν τουλάχιστον τρία αντίγραφα ενός συνόλου χαρακτήρων που αποτελείται από πεζά γράμματα. Πανεπιστήμιο Δυτικής Μακεδονίας 40

41 Παραδείγματα Bill\(.\)Gates\1 Αναζητεί ένα πρότυπο αλφαριθμητικού που ξεκινά με τη λέξη Bill, ακολουθούμενη από ένα χαρακτήρα (πλην του χαρακτήρα αλλαγής γραμμής), ακολουθούμενο από τη λέξη Gates, ακολουθούμενη από τον ίδιο ένα χαρακτήρα. Η παρακάτω ακολουθία αντιστοιχεί στο πρότυπο: Bill!Gates! Bill-Gates- αλλά όχι η ακολουθία: Bill?Gates! Bill-Gates Πανεπιστήμιο Δυτικής Μακεδονίας 41

42 Παραδείγματα a\(.\)b\(.\)c\2d\1 Το παράδειγμα αφορά ένα πρότυπο που ξεκινά με a, ένα χαρακτήρα (#1), ακολουθούμενο από το b, ακολουθούμενο από έναν άλλο χαρακτήρα (#2), c, το χαρακτήρα #2, d, και το χαρακτήρα #1. Η παρακάτω ακολουθία αντιστοιχεί στο πρότυπο: a-b!c!d- Πανεπιστήμιο Δυτικής Μακεδονίας 42

43 Ένα παράδειγμα χρήσης RE Ας υποθέσουμε ότι θέλετε να δημιουργήσετε μια web-σελίδα που θα περιέχει πάντα τους τελευταίους τίτλους αθλημάτων που συλλέχθηκαν από πολλές ιστοσελίδες εφημερίδων. Μπορεί, για παράδειγμα, να θέλετε να συμπεριλάβετε το Guardian s sports στη σελίδα σας. Πανεπιστήμιο Δυτικής Μακεδονίας 43

44 Ένα παράδειγμα χρήσης RE Πανεπιστήμιο Δυτικής Μακεδονίας 44

45 Προσθήκη αυτών των τίτλων χωρίς αυτόματο τρόπο Θα έπρεπε να είχατε πρόσβαση στην πηγή της σελίδας. Πανεπιστήμιο Δυτικής Μακεδονίας 45

46 Προσθήκη αυτών των τίτλων χωρίς αυτόματο τρόπο Θα πρέπει βρείτε το κείμενο το οποίο καθορίζει τους τίτλους. Να το αναλύσετε Και να αντιγράψετε το σχετικό bits στο HTML για τη δική σας ιστοσελίδα. Πανεπιστήμιο Δυτικής Μακεδονίας 46

47 Πίνακας πρωτοσέλιδων της προηγούμενης σελίδας Εξετάζοντας το, διαπιστώνουμε ότι η πηγή περιέχει ένα HTML πίνακα για κάθε άθλημα στη λίστα των κορυφαίων ιστοριών. Εδώ είναι ο πίνακας για τα πρωτοσέλιδα του τένις στη σελίδα που είδατε νωρίτερα : <table cellspacing="0"><tr> <td class="imgholder"><a HREF="/tennis/story/0,10069, ,00.html"><img src=" width="128" height="128" border="0" alt="andy Murray in action during his win over Robby Ginepri" /></a></td> <td><font face="geneva, Arial, Helvetica, sans-serif" size="2"><span class="mainlink"><a HREF="/tennis/story/0,10069, ,00.html">Murray magic books semi spot</a></span><br /><b>tennis:</b> The biggest win of his career to-date saw Andy Murray stun Robby Ginepri and reach the last four at the Thailand Open. <br /> <a HREF="/tennis/story/0,10069, ,00.html">Tough home Davis Cup tie for GB</a><br /> <a HREF="/tennis/0,10067,495916,00.html">More tennis</a></font></td> </tr></table> Πανεπιστήμιο Δυτικής Μακεδονίας 47

48 Κείμενο καθορισμού κύριου τίτλου προηγούμενης σελίδας Εδώ είναι το κείμενο που καθορίζει τον κύριο τίτλο του τένις στη σελίδα που είδατε νωρίτερα : <span class="mainlink"> <a HREF="/tennis/story/0,10069, ,00.html"> Murray magic books semi spot </a></span> <br /> <b>tennis:</b> The biggest win of his career to-date saw Andy Murray stun Robby Ginepri and reach the last four at the Thailand Open Πανεπιστήμιο Δυτικής Μακεδονίας 48

49 Πως θα το κάνετε εσείς Για να αποκτήσετε αυτή την ιστορία στη δική σας ιστοσελίδα, μπορείτε να αντιγράψτε το σχετικό τμήμα HTML στην πηγή του κώδικα για την ιστοσελίδα σας. Αλλά... το χειροκίνητο αυτό είναι πολύ μεγάλη εργασίας Θα έπρεπε να αυτοματοποιήσουμε την πλήρη εργασία. Πανεπιστήμιο Δυτικής Μακεδονίας 49

50 Αυτόματη πρόσθεση τίτλων Για να προσθέσετε αυτόματα τίτλους, πρέπει να γράψετε ένα πρόγραμμα που θα το κάνει : Κατεβάστε τον πηγαίο κώδικα για την σελίδα Guardian. Ανάλυση αυτόν τον πηγαίο κώδικα για να εξαγάγετε το κατάλληλο κείμενο. Προσθέστε το σχετικό κείμενο του πηγαίο κώδικα για τη δική σας ιστοσελίδα. Πανεπιστήμιο Δυτικής Μακεδονίας 50

51 Αυτόματη πρόσθεση τίτλων Αργότερα, θα δούμε πώς να κατεβάσετε πηγές από άλλους ιστότοπους. Τώρα, θα επικεντρωθούμε στο θέμα της ανάλυσης του κειμένου. Πανεπιστήμιο Δυτικής Μακεδονίας 51

52 Κανονικές εκφράσεις Η τεχνολογία κανονικής έκφρασης παρέχει ένα βολικό τρόπο αναζήτησης συμβολοσειρών για ενδιαφέρον πρότυπα. Πανεπιστήμιο Δυτικής Μακεδονίας 52

53 Κανονικές εκφράσεις (συνέχεια) Παράδειγμα κανονικής έκφρασης : /ab*c/ Αυτό αναζητά τη συμβολοσειρά string για τις υποκλάσεις που συγκρίνουμε «Ένα a που ακολουθείται από μηδέν ή ένα b ακολουθείται από το c» Θα ταίριαζε με οποιοδήποτε από τις παρακάτω υποκατηγορίες: ac abc abbc abbbc. Πανεπιστήμιο Δυτικής Μακεδονίας 53

54 Χρησιμοποιώντας κανονικές εκφράσεις στην PHP Οι κανονικές εκφράσεις υποστηρίζονται σε αρκετές γλώσσες, συμπεριλαμβανομένης της PHP. Η PHP παρέχει μια ομάδα προκαθορισμένων λειτουργιών για τη χρήση τους. Για τώρα, θα επικεντρωθούμε σε ένα μόνο από αυτά, τη συνάρτηση preg_replace. Πανεπιστήμιο Δυτικής Μακεδονίας 54

55 Η συνάρτηση preg_replace Μορφή κλήσης: preg_replace (regexp, replacement, subject [, int limit]) Αυτή η συνάρτηση επιστρέφει το αποτέλεσμα της αντικατάστασης των substrings στο θέμα που ταιριάζει με την αντικατάσταση της regexp. Ο αριθμός των substrings τα οποία αντικαθίστανται ελέγχεται από προαιρετικό όριο παραμέτρου. Το παράδειγμα εφαρμογής βρίσκεται στην επόμενη διαφάνεια. Πανεπιστήμιο Δυτικής Μακεδονίας 55

56 Κανονικές εκφράσεις (συνέχεια) Κώδικας PHP : <?php $mystring = "xyzacklmabbcpqrabbbbbcstu"; echo "mystring is $mystring <br>"; $mystring = preg_replace("/ab*c/","_",$mystring); echo "mystring is now $mystring";?> Με έξοδο : mystring is xyzacklmabbcpqrabbbbbcstu mystring is now xyz_klm_pqr_stu Πανεπιστήμιο Δυτικής Μακεδονίας 56

57 Χρησιμοποιώντας την οριακή παράμετρο στο preg_replac Κώδικας PHP : <?php $mystring = "xyzacklmabbcpqrabbbbbcstu"; echo "mystring is $mystring <br>"; $mystring = preg_replace("/ab*c/","_",$mystring,1); echo "mystring is now $mystring";?> Με έξοδο : mystring is xyzacklmabbcpqrabbbbbcstu mystring is now xyz_klmabbcpqrabbbbbcstu Πανεπιστήμιο Δυτικής Μακεδονίας 57

58 Μετα-χαρακτήρες Έχουμε δει ότι ορισμένοι χαρακτήρες έχουν μια ειδική σημασία στις κανονικές εκφράσεις: Το παράδειγμα στις τελευταίες διαφάνειες χρησιμοποίησε το * χαρακτήρα πράγμα που σημαίνει : «0 ή περισσότερες παρουσίες του προηγούμενου χαρακτήρα ή μοτίβου» Αυτοί ονομάζονται μετα-χαρακτήρες. Άλλοι μετα-χαρακτήρες εμφανίζονται στην επόμενη διαφάνεια. Πανεπιστήμιο Δυτικής Μακεδονίας 58

59 Μετα-χαρακτήρες Ο χαρακτήρας * που σημαίνει 0 ή περισσότερες παρουσίες των προηγουμένων. Ο χαρακτήρας +, που σημαίνει 1 ή περισσότερες παρουσίες των προηγουμένων. Ο χαρακτήρας?, που σημαίνει 0 ή 1 παρουσία των προηγούμενων. Ο χαρακτήρας { and }, οριοθετεί μια έκφραση καθορίζοντας μια σειρά από αποδεκτές εμφανίσεις του προηγούμενου χαρακτήρα. Παραδείγματα: {m} σημαίνει ακριβώς m εμφανίσεις των προηγουμένων χαρακτήρων / pattern {m,} σημαίνει τουλάχιστον m εμφανίσεις των προηγουμένων char / pattern {m, n} σημαίνει τουλάχιστον m, αλλά όχι περισσότερο από n, εμφανίσεις των προηγούμενων char/pattern Πανεπιστήμιο Δυτικής Μακεδονίας 59

60 Μετα-χαρακτήρες Περαιτέρω μετα-χαρακτήρες είναι: Ο χαρακτήρας ^, που ταιριάζει με την έναρξη μιας σειράς Ο χαρακτήρας $, που ταιριάζει με το τέλος μιας σειράς Ο χαρακτήρας., που αντιστοιχεί σε οτιδήποτε εκτός από έναν χαρακτήρα νέας γραμμής. Ο χαρακτήρας [ and ], ξεκινά μια τάξη ισοδυναμίας των χαρακτήρων, κάποιο από το οποίο μπορεί να ταιριάζει με έναν χαρακτήρα στη συμβολοσειρά στόχου. Ο χαρακτήρας ( and ), οριοθετεί μια ομάδα sub-patterns. Ο χαρακτήρας, χωρίζει εναλλακτικά πρότυπα. Πανεπιστήμιο Δυτικής Μακεδονίας 60

61 Κανονικές εκφράσεις (συνέχεια) Παράδειγμα έκφρασης: /^a.*d$/ Αυτό αντιστοιχεί σε ολόκληρη τη συμβολοσειρά που παρέχει τον στόχο Συμβολοσειράς, ξεκινά με ένα a, που ακολουθείται από μηδέν ή περισσότερους ίδιας γραμμής χαρακτήρες, και τελειώνει με ένα d. Ένα παράδειγμα βρίσκεται στην επόμενη διαφάνεια. Πανεπιστήμιο Δυτικής Μακεδονίας 61

62 Παράδειγμα κώδικα PHP <?php $mystring1 = abcdefghijklmnopqrstuvd"; echo "mystring1 is $mystring1 <br>"; $mystring1 = preg_replace( /^a.*d$/","_",$mystring1); echo "mystring1 is now $mystring1 <br>"; $mystring2 = xabcdefghijklmnopqrstuvd"; echo "mystring2 is $mystring2 <br>"; $mystring2 = preg_replace( /^a.*d$/","_",$mystring2); echo "mystring2 is now $mystring2";?> Resultant output is mystring1 is abcdefghijklmnopqrstuvd mystring1 is now _ mystring2 is xabcdefghijklmnopqrstuvd mystring2 is now xabcdefghijklmnopqrstuvd Πανεπιστήμιο Δυτικής Μακεδονίας 62

63 Κανονικές εκφράσεις (συνέχεια) Παρόλο που ορισμένοι χαρακτήρες έχουν ιδιαίτερες έννοιες στις κανονικές εκφράσεις, μπορούμε, μερικές φορές, να θέλουμε να τις χρησιμοποιήσουμε για να ταιριάζουν με το string. Το κάνουμε αυτό για να αποφύγουμε την κανονική έκφραση, στην οποία προηγείται μια ανάστροφη κάθετος \ Παράδειγμα κανονικής έκφρασης: /^a\^+.*d$/ Αυτό αντιστοιχεί σε ολόκληρη τη συμβολοσειρά στόχου, υπό τον όρο ότι ο στόχος συμβολοσειρά ξεκινά με ένα a, που ακολουθείται από έναν ή περισσότερους χαρακτήρες, που ακολουθείται από μηδέν ή περισσότερους ίδιας σειράς χαρακτήρες και τελειώνει με ένα d. Ένα παράδειγμα βρίσκεται στην επόμενη διαφάνεια. Πανεπιστήμιο Δυτικής Μακεδονίας 63

64 Κανονικές εκφράσεις (συνέχεια) Όπως αναφέρθηκε προηγουμένως, οι [ and ] χαρακτήρες έχουν μια ιδιαίτερη σημασία σε κανονικές εκφράσεις οριοθετούν μια ισοδυναμία χαρακτήρων, οποιαδήποτε από τις οποίες μπορεί να χρησιμοποιείται για να ταιριάζει με ένα χαρακτήρα στη συμβολοσειρά στόχου. Παράδειγμα κανονικής έκφρασης: /a[klm]b/ Αντικαθιστά οποιαδήποτε υποσυμβολοσειρά που περιλαμβάνει «το γράμμα a που ακολουθείται από ένα από τα τρία γράμματα KLM, ακολουθούμενο από το γράμμα b». Πανεπιστήμιο Δυτικής Μακεδονίας 64

65 Κανονικές εκφράσεις (συνέχεια) Ο χαρακτήρας ^ έχει ιδιαίτερη σημασία, όταν χρησιμοποιείται ως πρώτος χαρακτήρας μεταξύ [ and ] χαρακτήρων; αυτή η έννοια είναι διαφορετική από την ειδική σημασία του όταν χρησιμοποιείται εκτός του [ and ] χαρακτήρα. Όταν χρησιμοποιείται ως πρώτος χαρακτήρα μεταξύ των [ and ] χαρακτήρων, ο χαρακτήρας ^ προσδιορίζει το συμπλήρωμα της ισοδυναμίας της κλάσης που θα είχε διευκρινιστεί αν δεν υπήρχε. Παράδειγμα κανονικής έκφρασης: /a[^klm]b/ Αντικαθιστά οποιαδήποτε υποσυμβολοσειρά που περιλαμβάνει «το γράμμα a που ακολουθείται από ένα μόνο γράμμα που δεν είναι ένα από KLM, που ακολουθείται από το γράμμα b». Πανεπιστήμιο Δυτικής Μακεδονίας 65

66 Κανονικές εκφράσεις (συνέχεια) O χαρακτήρας - έχει επίσης ιδιαίτερη σημασία, όταν χρησιμοποιείται μεταξύ [ and ] χαρακτήρων. Χρησιμοποιείται για να ενώσει την αρχή και το τέλος μιας ακολουθίας χαρακτήρων, ο καθένας από τα οποία μπορεί να χρησιμοποιηθεί για να ταιριάζει με έναν χαρακτήρα στη συμβολοσειρά στόχου. Παράδειγμα κανονικής έκφρασης: /a[0-9]b/ Ταιριάζει με οποιαδήποτε υποσυμβολοσειρά που περιλαμβάνει «το γράμμα a που ακολουθείται κατά ένα ψηφίο, ακολουθούμενο από το γράμμα b. Πανεπιστήμιο Δυτικής Μακεδονίας 66

67 Κανονικές εκφράσεις (συνέχεια) Ορισμένες ακολουθίες διαφυγής έχουν επίσης ιδιαίτερη σημασία στα κανονικά εκφράσεις. Καθορίζουν ορισμένες κοινώς χρησιμοποιούμενες κλάσεις ισοδυναμίας χαρακτήρων: \w είναι ισοδύναμο με [a-za-z0-9_] \W είναι ισοδύναμο με [^a-za-z0-9_] \d είναι ισοδύναμο με [0-9] \D είναι ισοδύναμες με [^ 0-9] \s είναι ισοδύναμο με [\ n \ t \ f \ r] \S είναι ισοδύναμο με [^ \ n \ t \ f \ r] \b υποδηλώνει ένα όριο λέξης \B υποδηλώνει ένα όριο όχι λέξης Σημειώστε τους χαρακτήρες SP κατά την έννοια του \ s και \ S, που είναι το λευκό- η ισοδυναμία χώρου περιλαμβάνει SP. Το \ f είναι formfeed και το \ r είναι carriagereturn. Πανεπιστήμιο Δυτικής Μακεδονίας 67

68 Κανονικές εκφράσεις (συνέχεια) Παράδειγμα κανονικής έκφρασης: / %\d\d\d\d/ Αντιστοιχεί σε οποιοδήποτε υποσυμβολοσειρά που περιλαμβάνει ένα % ακολουθούμενο από τρία δεκαδικά ψηφία, ακολουθούμενα από ένα μη ψηφίο. Παράδειγμα κανονικής έκφρασης: / \s\w\w\s/ Αντιστοιχεί σε οποιοδήποτε υποσύνολο περιλαμβάνει ένα λευκό χώρο χαρακτήρα, ακολουθούμενο από δύο χαρακτήρες λέξεων, που ακολουθούνται από ένα άλλο χαρακτήρα. Πανεπιστήμιο Δυτικής Μακεδονίας 68

69 Κανονικές εκφράσεις (συνέχεια) Κώδικας PHP : <?php $mystring = This is not an apple"; echo "mystring is $mystring <br>"; $mystring = preg_replace("/\s\w\w\s/","_",$mystring); echo "mystring is now $mystring";?> Με έξοδο: mystring is This is not an apple mystring is now This_not_apple Πανεπιστήμιο Δυτικής Μακεδονίας 69

70 Παράδειγμα RE Ας υποθέσουμε ότι έχουμε την παρακάτω HTML <ul><li>wine</li><li>f12</li><li>cheese</li></ul> Ας υποθέσουμε ότι θέλουμε να απαλλαγούμε από τη λίστα και οποιοδήποτε στοιχείο της λίστας του οποίου το περιεχόμενο περιλαμβάνει μόνο μη ψηφία. Δηλαδή, θέλουμε να γίνει η HTML <ul><li>f12</li></ul> Πανεπιστήμιο Δυτικής Μακεδονίας 70

71 Παράδειγμα RE <?php $mystring = <ul><li>wine</li><li>f12</li><li>cheese</li></ul>"; echo "mystring is $mystring <br>"; $mystring = preg_replace( /<li>\d+<\/li>/", ",$mystring); echo "mystring is now $mystring <br>";?> Με έξοδο: mystring is wine f12 cheese mystring is now f12 Πανεπιστήμιο Δυτικής Μακεδονίας 71

72 Βλέποντας το raw-html Υποθέστε ότι θέλουμε να δούμε ακατέργαστη HTML στην έξοδό μας. Δηλαδή, ας υποθέσουμε ότι θέλαμε να δούμε : mystring is <ul><li>wine</li><li>f12</li><li>cheese</li></ul> mystring is now<ul><li>f12</li></ul> Θα πρέπει να αντικαταστήσετε όλες τις εμφανίσεις του < with < Θα μπορούσαμε να χρησιμοποιήσουμε τις κανονικές εκφράσεις γι 'αυτό, αλλά, η συμβολοσειρά που πρόκειται να αντικατασταθεί είναι μια σταθερά. Έτσι μπορούμε να χρησιμοποιήσουμε μια απλούστερη τεχνολογία. Πανεπιστήμιο Δυτικής Μακεδονίας 72

73 Βλέποντας το raw-html <?php $mystring = <ul><li>wine</li><li>f12</li><li>cheese</li></ul>"; echo "mystring is ".str_replace( <, <,$mystring). <br>"; $mystring = preg_replace("/<li>\d+<\/li>/", x",$mystring); echo "mystring is now ".str_replace( <, <,$mystring);?> Με έξοδο: mystring is <ul><li>wine</li><li>f12</li><li>cheese</li></ul> mystring is now <ul><li>f12</li></ul> Πανεπιστήμιο Δυτικής Μακεδονίας 73

74 Κανονικές εκφράσεις (συνέχεια) - θυμόμαστε τους υποπληθυσμούς Όταν ένα <pattern> συνδυάζεται με μια σειρά στόχων, τα substrings που ταιριάζουν με τα sub-patterns μπορούν να θυμούνται και να επαναχρησιμοποιούν αργότερα στο ίδιο pattern. Τα sub-patterns τα οποία πρέπει να ταιριάζουν με τα substrings που θυμόμαστε, περιλαμβάνονται στις παρενθέσεις. Τα sub-patterns είναι αριθμημένα σιωπηρώς, ξεκινώντας από το 1 και οι αντίστοιχες υποκατηγορίες τους μπορούν να συνεχίσουν να επαναχρησιμοποιούνται αργότερα. Το pattern χρησιμοποιεί back-references ς όπως \ 1 ή \ 2 ή \ 3 Ωστόσο, για να πάρετε την ανάστροφη κάθετο, πρέπει να το ξεπεράσετε, έτσι πρέπει να πληκτρολογήσετε \\ 1 ή \\ 2 ή \\ 3 σε τυπικές εκφράσεις. Πανεπιστήμιο Δυτικής Μακεδονίας 74

75 Χρησιμοποιώντας τα back-references <?php $mystring1 = klmaklmaaklmabklmbklmbbklm"; echo "mystring is $mystring <br>"; $mystring1 = preg_replace( /([A-Z])\\1/", _",$mystring1); echo "mystring1 is now $mystring1 ";?> Με έξοδο: mystring1 is klmaklmaaklmabklmbklmbbklm mystring1 is now klmaklm_klmabklmbklm_klm Πανεπιστήμιο Δυτικής Μακεδονίας 75

Κανονικές εκφράσεις ή παραστάσεις (Regular Expressions) 3 ο Εργαστήριο ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - ΕΡΓΑΣΤΗΡΙΟ

Κανονικές εκφράσεις ή παραστάσεις (Regular Expressions) 3 ο Εργαστήριο ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - ΕΡΓΑΣΤΗΡΙΟ Κανονικές εκφράσεις ή παραστάσεις (Regular Expressions) 3 ο Εργαστήριο ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - ΕΡΓΑΣΤΗΡΙΟ - 03 1 Μια κανονική έκφραση είναι ένας σύντομος και σαφής τρόπος έκφρασης οποιουδήποτε συνδυασμού

Διαβάστε περισσότερα

(Regular Expressions) ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ/ ΧΕΙΜ

(Regular Expressions) ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ/ ΧΕΙΜ Κανονικές εκφράσεις (Regular Expressions) 1 Μια κανονική έκφραση είναι ένας σύντομος και σαφής τρόπος έκφρασης οποιουδήποτε συνδυασμού χαρακτήρων. Οι κανονικές εκφράσεις (RE) αποτελούνται από συνδυασμό

Διαβάστε περισσότερα

Εισαγωγή στα Λειτουργικά Συστήματα

Εισαγωγή στα Λειτουργικά Συστήματα Εισαγωγή στα Λειτουργικά Συστήματα S E T Δ Ι Α Φ Α Ν Ε Ι Ω Ν 6 Κ Α Ν Ο Ν Ι Κ Έ ς Ε Κ Φ Ρ Ά Σ Ε Ι ς Α Ν Τ Ω Ν Η ς Σ Ι Δ Η Ρ Ο Π Ο Υ Λ Ο ς Κανονικές Εκφράσεις (Regular Expressions) Μια κανονική έκφραση είναι

Διαβάστε περισσότερα

Regular Expressions ΓΛΩΣΣΙΚΉ ΤΕΧΝΟΛΟΓΊΑ

Regular Expressions ΓΛΩΣΣΙΚΉ ΤΕΧΝΟΛΟΓΊΑ Regular Expressions ΓΛΩΣΣΙΚΉ ΤΕΧΝΟΛΟΓΊΑ Regular Expressions - γενικά Βασική ιδέα: έχουμε ένα pattern και ένα κείμενο εισόδου. Εφαρμόζουμε το pattern στο κείμενο και μπορούμε: Να ελέγξουμε αν μέρος του

Διαβάστε περισσότερα

Γλωσσική Τεχνολογία. String Handling Regular Expressions

Γλωσσική Τεχνολογία. String Handling Regular Expressions Γλωσσική Τεχνολογία String Handling Regular Expressions Strings - Δήλωση Μπορείτε να γράψετε τα δικά σας string περικλείοντας απλά χαρακτήρες και αριθμούς μέσα σε μονά ('...') ή διπλά("...") αυτάκια. Strings

Διαβάστε περισσότερα

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο) TEC610 (ΣΤ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά

Διαβάστε περισσότερα

Mεταγλωττιστές. 4 ο εργαστηριακό μάθημα Λεξική ανάλυση και flex. Θεωρία

Mεταγλωττιστές. 4 ο εργαστηριακό μάθημα Λεξική ανάλυση και flex. Θεωρία Mεταγλωττιστές 4 ο εργαστηριακό μάθημα Λεξική ανάλυση και flex Σκοπός: Το μάθημα αυτό αναφέρεται: στις κανονικές εκφράσεις στην δομή και το περιεχόμενο του αρχείου-εισόδου του flex Γενικά Θεωρία Κατά την

Διαβάστε περισσότερα

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

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 5: Εντολές αλλαγής ροής. Διακλάδωση χωρίς συνθήκη. Διακλάδωση με συνθήκη. Δρ. Μηνάς Δασυγένης

Διαβάστε περισσότερα

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

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 1: Εισαγωγή Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Ενότητα 3 1 Compiler Lecture Notes 1.0 documentation

Ενότητα 3 1 Compiler Lecture Notes 1.0 documentation Ενότητα 3 1 Compiler Lecture s 1.0 documentation Ενότητα 3-1 Regular expressions Regular expressions ( κανονικές εκφράσεις ) είναι ένα ισχυρό εργαλείο που προέρχεται από τη θεωρία των τυπικών γλωσσών (formal

Διαβάστε περισσότερα

Μεταγλωττιστές. Ενότητα 2: Τυπικές γλώσσες (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Μεταγλωττιστές. Ενότητα 2: Τυπικές γλώσσες (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Μεταγλωττιστές Ενότητα 2: Τυπικές γλώσσες (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Φροντιστήριο 1ο Εισαγωγή στο FLEX. Flex. Regular Expressions (1/4)

Φροντιστήριο 1ο Εισαγωγή στο FLEX. Flex. Regular Expressions (1/4) HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ Φροντιστήριο 1ο Εισαγωγή στο FLEX Ι ΑΣΚΩΝ Αντώνιος Σαββίδης Slide

Διαβάστε περισσότερα

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Μεταγλωττιστές Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

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

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται

Διαβάστε περισσότερα

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

Διαβάστε περισσότερα

HY340, 2009 Α. Σαββίδης Slide 2 / 26. HY340, 2009 Α. Σαββίδης Slide 3 / 26. HY340, 2009 Α. Σαββίδης Slide 4 / 26

HY340, 2009 Α. Σαββίδης Slide 2 / 26. HY340, 2009 Α. Σαββίδης Slide 3 / 26. HY340, 2009 Α. Σαββίδης Slide 4 / 26 HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ Φροντιστήριο 1ο Εισαγωγή στο FLEX ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης Slide

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I Πιτροπάκης Νικόλαος Υποψήφιος Διδάκτορας Contact: npitrop@unipi.gr Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: nifantop@unipi.gr Life would be so much easier if we only

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 3. Εκφράσεις, τελεστές, σχόλια. 3.1 Εισαγωγή ΚΕΦΑΛΑΙΟ 3 Εκφράσεις, τελεστές, σχόλια Σύνοψη Στο κεφάλαιο αυτό εισάγουμε τον τρόπο τέλεσης πράξεων μεταξύ μεταβλητών και σταθερών, εκφράσεις μεταξύ αυτών καθώς και το σχολιασμό της λογικής ενός προγράμματος.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα

Διαβάστε περισσότερα

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ ) Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ. 147 159) Για τις γλώσσες προγραμματισμού πρέπει να έχουμε υπόψη ότι: Κάθε γλώσσα προγραμματισμού σχεδιάζεται για συγκεκριμένο σκοπό, δίνοντας ιδιαίτερη

Διαβάστε περισσότερα

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

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor ΕισαγωγήστουςΗ/Υ PHP Hypertext Preprocessor ΤιείναιηPHP; PHP είναιµία server-based scripting language σχεδιασµένη ειδικά για το web. Σε µία html σελίδα µπορούµε να ενσωµατώσουµε php κώδικα που εκτελείται

Διαβάστε περισσότερα

Κεφάλαιο 2: Τυπικές γλώσσες. Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος / 216

Κεφάλαιο 2: Τυπικές γλώσσες. Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος / 216 Κεφάλαιο 2: Τυπικές γλώσσες Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος 2017 13 / 216 Τυπικές γλώσσες (i) Βασικές έννοιες Αλφάβητο Σύμβολο Συμβολοσειρά Μήκος συμβολοσειράς Σύνολο συμβολοσειρών

Διαβάστε περισσότερα

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 7: Πεπερασμένη αναπαράσταση γλωσσών Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 8: Ολισθήσεις Περιστροφές Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

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

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β.1 Τύποι Δεδομένων Όλες οι γλώσσες προγραμματισμού (πρέπει να) υποστηρίζουν πέντε (5) πρωταρχικούς τύπους δεδομένων: char (character) int (integer)

Διαβάστε περισσότερα

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 4: Διατάξεις Μεταθέσεις Συνδυασμοί Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 4: Τύποι Δεδομένων και τελεστές Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΚΕΦΑΛΑΙΟ 2 2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου 2.4.1 Δομή ακολουθίας ΚΕΦΑΛΑΙΟ 7 7.1 7.9 Σταθερές (constants): Προκαθορισμένες τιμές που παραμένουν

Διαβάστε περισσότερα

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

Δομημένος Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Αλφαριθμητικά θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Χαρακτήρες Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Προγραμματισμός Δ. Τσελίκας Ι Χαρακτήρες - Εισαγωγή Έως τώρα έχουμε κατά κύριο λόγο χρησιμοποιήσει τους αριθμητικούς τύπους

Διαβάστε περισσότερα

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr 1 Πώς δημιουργούμε πρόγραμμα Η/Υ; 1. Ανάλυση του προβλήματος 2. Επινόηση & Σχεδιασμός

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

Διαβάστε περισσότερα

Προγραμματισμός Διαχείρισης Συστημάτων Ι

Προγραμματισμός Διαχείρισης Συστημάτων Ι Προγραμματισμός Διαχείρισης Συστημάτων Ι Μάθημα 4ο Εργαλεία UNIX/Linux Μιχαηλίδης Παναγιώτης Εργαλεία Linux Τα εργαλεία του Linux μπορούν να ομαδοποιηθούν λογικά σε κατηγορίες ανάλογα με την χρήση τους:

Διαβάστε περισσότερα

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού Μάθημα 2ο Μεταβλητές Μεταβλητή ονομάζεται ένα μέγεθος

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Στο εργαστήριο θα μελετηθούν: Διδάσκων: Γιώργος Χατζηπολλάς. Εργαστήριο 2: Εργαλεία Συστήματος UNIX. Ομάδες για παρουσίαση

Στο εργαστήριο θα μελετηθούν: Διδάσκων: Γιώργος Χατζηπολλάς. Εργαστήριο 2: Εργαλεία Συστήματος UNIX. Ομάδες για παρουσίαση Εργαστήριο 2: Εργαλεία Συστήματος UNIX Στο εργαστήριο θα μελετηθούν: Ομάδες για παρουσίαση sed (Stream EDitor) Παραδείγματα χρήσης sed Διδάσκων: Γιώργος Χατζηπολλάς 2-1 Ομάδες Παρουσίασης Group Name Description

Διαβάστε περισσότερα

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

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ Εισαγωγή στην γλώσσα προγραμματισμού Ακαδημαϊκό έτος 2016-2017, Εαρινό εξάμηνο Οι σημειώσεις βασίζονται στα συγγράμματα: A byte of Python (ελληνική

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στην Πληροφορική & τον Προγραμματισμό Ενότητα 3 η : Κωδικοποίηση & Παράσταση Δεδομένων Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα

Διαβάστε περισσότερα

3 ο Εργαστήριο Μεταβλητές, Τελεστές

3 ο Εργαστήριο Μεταβλητές, Τελεστές 3 ο Εργαστήριο Μεταβλητές, Τελεστές Μια μεταβλητή έχει ένα όνομα και ουσιαστικά είναι ένας δείκτης σε μια συγκεκριμένη θέση στη μνήμη του υπολογιστή. Στη θέση μνήμης στην οποία δείχνει μια μεταβλητή αποθηκεύονται

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Αριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί

Αριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί Αριθμήσιμα σύνολα Μαθηματικά Πληροφορικής 5ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Ορισμός Πόσα στοιχεία έχει το σύνολο {a, b, r, q, x}; Οσα και το σύνολο {,,, 4, 5} που είναι

Διαβάστε περισσότερα

Μεταγλωττιστές. Ενότητα 3: Τυπικές γλώσσες (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Μεταγλωττιστές. Ενότητα 3: Τυπικές γλώσσες (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Μεταγλωττιστές Ενότητα 3: Τυπικές γλώσσες (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ 9.1 Εντολές Εισόδου/εξόδου Στην Pascal, 1. Tα δεδομένα των προγραμμάτων λαμβάνονται: είτε από το πληκτρολόγιο είτε από ένα αρχείο με τη χρήση των διαδικασιών read και readln,

Διαβάστε περισσότερα

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 4 η Τελεστές Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης

Διαβάστε περισσότερα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ψηφιακή Σχεδίαση Ενότητα 9: Ελαχιστοποίηση και Κωδικοποίηση Καταστάσεων, Σχεδίαση με D flip-flop, Σχεδίαση με JK flip-flop, Σχεδίαση με T flip-flop Δρ. Μηνάς

Διαβάστε περισσότερα

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

ΣΤΗΛΗ Β ΑΠΟΤΕΛΕΣΜΑ 1. float(10) α pow(2,3) β abs(-10) γ int(5.6) δ. 10 ε. 5.6 Μονάδες 8 ΣΤΗΛΗ Α ΣΥΝΑΡΤΗΣΗ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ KAI ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ ΠΕΜΠΤΗ 26 ΣΕΠΤΕΜΒΡΙΟΥ 2019 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙ ΩΝ: ΕΠΤΑ (7)

Διαβάστε περισσότερα

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Επιστημονικός συνεργάτης Εργαστηρίου: Στέλλα Λάμπουρα Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί

Διαβάστε περισσότερα

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

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής Προγραμματισμός Η/Υ Ενότητα 4: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Έλεγχος της ροής ενός προγράμματος

Διαβάστε περισσότερα

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

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

Διαβάστε περισσότερα

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

Διαβάστε περισσότερα

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:01. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:01. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Ψηφιακή Σχεδίαση Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:01 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http:

Διαβάστε περισσότερα

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~ Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~ Στελιος Σφακιανάκης Εαρινό 2019 Αυτή η εργασία χορηγείται με άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 1 Server-side programming

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL 8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to

Διαβάστε περισσότερα

Βασικές Αρχές Προγραμματισμού

Βασικές Αρχές Προγραμματισμού Βασικές Αρχές Προγραμματισμού Κεφάλαιο 2 ΗγλώσσαC Ιστορική Αναδρομή ΗανάπτυξητηςC ξεκίνησε το 1972 στα εργαστήρια Bell από τον Dennis Ritchie με σκοπό την ανάπτυξη ενός λειτουργικού συστήματος για τον

Διαβάστε περισσότερα

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος...

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος... Περιεχόμενα Πρόλογος...11 Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών... 13 1.1 Εισαγωγή στους υπολογιστές... 15 1.2 Μονάδες μέτρησης... 27 1.3 Οι βασικές λειτουργίες ενός ηλεκτρονικού υπολογιστή...

Διαβάστε περισσότερα

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

Πληροφορική ΙΙ Θεματική Ενότητα 11 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Πληροφορική ΙΙ Θεματική Ενότητα 11 Συμβολοσειρές Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Προγραμματισμός Υπολογιστών & Εφαρμογές Python. Κ.Π. Γιαλούρης Προγραμματισμός Υπολογιστών & Κ.Π. Γιαλούρης Στόχοι του σημερινού μαθήματος Εξοικείωση με τα περιβάλλοντα της Python Κατανόηση βασικών εννοιών & τεχνικών Τύπος δεδομένων Μεταβλητή Εντολή ανάθεση τιμής

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python Εισαγωγή στην Επιστήμη Υπολογιστών Εισαγωγή στην Python Python scripts Ένα πρόγραμμα στην Python (συχνά αποκαλείται script) αποτελείται από μία ακολουθία ορισμών και εντολών. H ακολουθία των ορισμών και

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No 05 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

Διαβάστε περισσότερα

Λειτουργικά Συστήματα 5η εργαστηριακή άσκηση

Λειτουργικά Συστήματα 5η εργαστηριακή άσκηση Λειτουργικά Συστήματα 5η εργαστηριακή άσκηση Κειμενογράφος nano Κανονικές Εκφράσεις (Regular Expressions) Δρ. Εύη Φαλιάγκα Κειμενογράφος nano Για να ανοίξετε ένα έγγραφο πρέπει να πληκτρολογήσετε το όνομα

Διαβάστε περισσότερα

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράµµατα «γράφονται» χρησιµοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαµβάνει

Διαβάστε περισσότερα

Σχεδίαση Βάσεων Δεδομένων

Σχεδίαση Βάσεων Δεδομένων Οδηγίες Μέρος 1: Απαντήστε κάθε ερώτηση. 1. Ποια είναι τα πλεονεκτήματα που παρέχει το Περιβάλλον Βάσεων Δεδομένων της Oracle για τις επιχειρήσεις; Το σύστημα διαχείρισης βάσεων δεδομένων της Oracle δίνει

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΣΤΗΝ ΟΙΚΟΝΟΜΙΑ 7 Ο ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΠΟΣΤΟΛΙΑ ΠΑΓΓΕ Περιεχόμενα 2 Δυαδικό Σύστημα Προσημασμένοι δυαδικοί αριθμοί Αφαίρεση

Διαβάστε περισσότερα

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 8: Αρχεία και Δομές Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

S, (5, -3, 34, -23, 7) ( /, @, *, _

S, (5, -3, 34, -23, 7) ( /, @, *, _ 1 Τι είναι αρχείο Οι πληροφορίες που καλείται να διαχειριστεί ο Η/Υ είναι τόσες πολλές που η μνήμη του δεν φτάνει να τις επεξεργαστεί όλες μαζί. Γι αυτό τον λόγο αποθηκεύονται σε μονάδες αποθήκευσης (π.χ

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 02 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

Διαβάστε περισσότερα

Γ7.8 Εγγραφές (Structures) Γ Λυκείου Κατεύθυνσης

Γ7.8 Εγγραφές (Structures) Γ Λυκείου Κατεύθυνσης Γ7.8 Εγγραφές (Structures) Γ Λυκείου Κατεύθυνσης Εισαγωγή Εγγραφές ονομάζουμε συλλογές στοιχείων, οι οποίες μας δίνουν τη δυνατότητα να ομαδοποιήσουμε στοιχεία διαφορετικών τύπων. Για παράδειγμα, θα χρησιμοποιήσουμε

Διαβάστε περισσότερα

Πρόλογος. if (παράσταση) εντολή1 else εντολή2. Από εδώ και πέρα θα αναφέρεται ως K&R.

Πρόλογος. if (παράσταση) εντολή1 else εντολή2. Από εδώ και πέρα θα αναφέρεται ως K&R. Περιεχόμενα Πρόλογος v ΚΕΦΑΛΑΙΟ 1 Προπαρασκευαστική εισαγωγή 1 ΚΕΦΑΛΑΙΟ 2 Τύποι, τελεστές, και παραστάσεις 43 ΚΕΦΑΛΑΙΟ 3 Η ροή του ελέγχου 59 ΚΕΦΑΛΑΙΟ 4 Συναρτήσεις και δομή του προγράμματος 69 ΚΕΦΑΛΑΙΟ

Διαβάστε περισσότερα

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Δομημένος Προγραμματισμός Ενότητα 5(γ): Εργαστηριακή Άσκηση Αναπλ. Καθηγητής: Κωνσταντίνος Στεργίου Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 04 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

Διαβάστε περισσότερα

Mεταβλητές (variables) και Σταθερές (constants)

Mεταβλητές (variables) και Σταθερές (constants) Mεταβλητές (variables) και Σταθερές (constants) Οι μεταβλητές είναι οι θέσεις μνήμης στις οποίες ένα πρόγραμμα τοποθετεί τα δεδομένα του κατά τη διάρκεια της λειτουργίας του. θα μάθουμε: πως δηλώνουμε

Διαβάστε περισσότερα

3 Αλληλεπίδραση Αντικειμένων

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

Διαβάστε περισσότερα

Πληροφορική. Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Πληροφορική. Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Πληροφορική Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής Άδειες Χρήσης

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Λύβας Χρήστος chrislibas@ssl-unipi.gr Μανουσόπουλος Χρήστος cman@unipi.gr Αρχική επιμέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος >_ vi editor Είναι ο βασικός επεξεργαστής

Διαβάστε περισσότερα

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

Διαβάστε περισσότερα

Πρόβλημα 29 / σελίδα 28

Πρόβλημα 29 / σελίδα 28 Πρόβλημα 29 / σελίδα 28 Πρόβλημα 30 / σελίδα 28 Αντιμετάθεση / σελίδα 10 Να γράψετε αλγόριθμο, οποίος θα διαβάζει τα περιεχόμενα δύο μεταβλητών Α και Β, στη συνέχεια να αντιμεταθέτει τα περιεχόμενά τους

Διαβάστε περισσότερα

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

επιµέλεια Θοδωρής Πιερράτος Βασικές έννοιες προγραµµατισµού Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως,

Διαβάστε περισσότερα

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

Βασικές Έννοιες Αλγορίθμων. Βασικές Εντολές Αλγορίθμων (Κεφ. 2ο Παρ. 2.4) Βασικές Έννοιες Αλγορίθμων Βασικές Εντολές Αλγορίθμων (Κεφ. 2ο Παρ. 2.4) Δομές εντολών Υπάρχουν διάφορα είδη εντολών όπως, ανάθεσης ή εκχώρησης τιμής, εισόδου εξόδου, κ.ά., αλλά γενικά χωρίζονται σε τρείς

Διαβάστε περισσότερα

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Εισαγωγικά

Διαβάστε περισσότερα

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013 Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013 27 Μαρτίου 2013 Περίληψη Σκοπός της παρούσας εργασίας είναι η εξοικείωσή σας με τις θεμελιώδεις θεωρητικές και πρακτικές πτυχές

Διαβάστε περισσότερα

Βασικές έννοιες προγραμματισμού

Βασικές έννοιες προγραμματισμού Βασικές έννοιες προγραμματισμού Αλφάβητο Γράμματα Κεφαλαία Ελληνικά ( Α Ω ) Πεζά Ελληνικά ( α ω ) Κεφαλαία Λατινικά ( A Z ) Πεζά Ελληνικά ( a z) Ψηφία 0-9 Ειδικοί χαρακτήρες ( +, -, *,/, =,.,,!, κενό )

Διαβάστε περισσότερα

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

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΣΤΑΘΕΡΕΣ είναι τα μεγέθη που δεν μεταβάλλονται κατά την εκτέλεση ενός αλγόριθμου. Εκτός από τις αριθμητικές σταθερές (7, 4, 3.5, 100 κλπ), τις λογικές σταθερές (αληθής και ψευδής)

Διαβάστε περισσότερα

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

Στοιχειώδης προγραμματισμός σε C++ Στοιχειώδης προγραμματισμός σε C++ Σύντομο Ιστορικό. Το πρόγραμμα Hello World. Ο τελεστής εξόδου. Μεταβλητές και δηλώσεις τους. Αντικείμενα, μεταβλητές, σταθερές. Ο τελεστής εισόδου. Θεμελιώδεις τύποι.

Διαβάστε περισσότερα

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 9 η Χαρακτήρες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης

Διαβάστε περισσότερα

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr 1 Μονοδιάστατοι Πίνακες (tables) Μια συλλογή μεταβλητών ίδιου τύπου οι οποίες είναι αποθηκευμένες

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python Εισαγωγή στην Επιστήμη Υπολογιστών Εισαγωγή στην Python Β Μέρος Δομή Ελέγχου if-elif-else Επαναληπτική Δομή Ελέγχου while Επαναληπτική Δομή Ελέγχου for Αλληλεπίδραση χρήστη-προγράμματος Συναρτήσεις Η δομή

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός

Διαβάστε περισσότερα