Προγραμματισμός Διαδικτύου
|
|
- Πλάτων Παπανικολάου
- 5 χρόνια πριν
- Προβολές:
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 ο Εργαστήριο ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - ΕΡΓΑΣΤΗΡΙΟ - 03 1 Μια κανονική έκφραση είναι ένας σύντομος και σαφής τρόπος έκφρασης οποιουδήποτε συνδυασμού
Διαβάστε περισσότερα(Regular Expressions) ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ/ ΧΕΙΜ
Κανονικές εκφράσεις (Regular Expressions) 1 Μια κανονική έκφραση είναι ένας σύντομος και σαφής τρόπος έκφρασης οποιουδήποτε συνδυασμού χαρακτήρων. Οι κανονικές εκφράσεις (RE) αποτελούνται από συνδυασμό
Διαβάστε περισσότεραΕισαγωγή στα Λειτουργικά Συστήματα
Εισαγωγή στα Λειτουργικά Συστήματα S E T Δ Ι Α Φ Α Ν Ε Ι Ω Ν 6 Κ Α Ν Ο Ν Ι Κ Έ ς Ε Κ Φ Ρ Ά Σ Ε Ι ς Α Ν Τ Ω Ν Η ς Σ Ι Δ Η Ρ Ο Π Ο Υ Λ Ο ς Κανονικές Εκφράσεις (Regular Expressions) Μια κανονική έκφραση είναι
Διαβάστε περισσότεραRegular Expressions ΓΛΩΣΣΙΚΉ ΤΕΧΝΟΛΟΓΊΑ
Regular Expressions ΓΛΩΣΣΙΚΉ ΤΕΧΝΟΛΟΓΊΑ Regular Expressions - γενικά Βασική ιδέα: έχουμε ένα pattern και ένα κείμενο εισόδου. Εφαρμόζουμε το pattern στο κείμενο και μπορούμε: Να ελέγξουμε αν μέρος του
Διαβάστε περισσότεραΓλωσσική Τεχνολογία. String Handling Regular Expressions
Γλωσσική Τεχνολογία String Handling Regular Expressions Strings - Δήλωση Μπορείτε να γράψετε τα δικά σας string περικλείοντας απλά χαρακτήρες και αριθμούς μέσα σε μονά ('...') ή διπλά("...") αυτάκια. Strings
Διαβάστε περισσότεραTEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)
TEC610 (ΣΤ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά
Διαβάστε περισσότεραMεταγλωττιστές. 4 ο εργαστηριακό μάθημα Λεξική ανάλυση και flex. Θεωρία
Mεταγλωττιστές 4 ο εργαστηριακό μάθημα Λεξική ανάλυση και flex Σκοπός: Το μάθημα αυτό αναφέρεται: στις κανονικές εκφράσεις στην δομή και το περιεχόμενο του αρχείου-εισόδου του flex Γενικά Θεωρία Κατά την
Διαβάστε περισσότερα2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων
2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 5: Εντολές αλλαγής ροής. Διακλάδωση χωρίς συνθήκη. Διακλάδωση με συνθήκη. Δρ. Μηνάς Δασυγένης
Διαβάστε περισσότεραΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ
ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 1: Εισαγωγή Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python
ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής
Διαβάστε περισσότεραΕνότητα 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 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΦροντιστήριο 1ο Εισαγωγή στο FLEX. Flex. Regular Expressions (1/4)
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ Φροντιστήριο 1ο Εισαγωγή στο FLEX Ι ΑΣΚΩΝ Αντώνιος Σαββίδης Slide
Διαβάστε περισσότεραΜεταγλωττιστές. Ενότητα 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 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ Φροντιστήριο 1ο Εισαγωγή στο FLEX ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης Slide
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι 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 Πιτροπάκης Νικόλαος Υποψήφιος Διδάκτορας Contact: npitrop@unipi.gr Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: nifantop@unipi.gr Life would be so much easier if we only
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 3. Εκφράσεις, τελεστές, σχόλια. 3.1 Εισαγωγή
ΚΕΦΑΛΑΙΟ 3 Εκφράσεις, τελεστές, σχόλια Σύνοψη Στο κεφάλαιο αυτό εισάγουμε τον τρόπο τέλεσης πράξεων μεταξύ μεταβλητών και σταθερών, εκφράσεις μεταξύ αυτών καθώς και το σχολιασμό της λογικής ενός προγράμματος.
Διαβάστε περισσότεραΔιάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ
Διάλεξη 2 Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 2 Internal
Διαβάστε περισσότερα3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις
3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα
Διαβάστε περισσότεραΚεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )
Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ. 147 159) Για τις γλώσσες προγραμματισμού πρέπει να έχουμε υπόψη ότι: Κάθε γλώσσα προγραμματισμού σχεδιάζεται για συγκεκριμένο σκοπό, δίνοντας ιδιαίτερη
Διαβάστε περισσότεραΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor
ΕισαγωγήστουςΗ/Υ PHP Hypertext Preprocessor ΤιείναιηPHP; PHP είναιµία server-based scripting language σχεδιασµένη ειδικά για το web. Σε µία html σελίδα µπορούµε να ενσωµατώσουµε php κώδικα που εκτελείται
Διαβάστε περισσότεραΚεφάλαιο 2: Τυπικές γλώσσες. Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος / 216
Κεφάλαιο 2: Τυπικές γλώσσες Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος 2017 13 / 216 Τυπικές γλώσσες (i) Βασικές έννοιες Αλφάβητο Σύμβολο Συμβολοσειρά Μήκος συμβολοσειράς Σύνολο συμβολοσειρών
Διαβάστε περισσότεραΆδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 7: Πεπερασμένη αναπαράσταση γλωσσών Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 8: Ολισθήσεις Περιστροφές Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών
Διαβάστε περισσότεραΒ. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript
Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β.1 Τύποι Δεδομένων Όλες οι γλώσσες προγραμματισμού (πρέπει να) υποστηρίζουν πέντε (5) πρωταρχικούς τύπους δεδομένων: char (character) int (integer)
Διαβάστε περισσότεραΥπολογιστικά & Διακριτά Μαθηματικά
Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 4: Διατάξεις Μεταθέσεις Συνδυασμοί Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ 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 Περιεχόμενα Τι είναι η PHP Που μπορεί να χρησιμοποιηθεί
Διαβάστε περισσότεραΔιάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος
Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,
Διαβάστε περισσότεραΠρογραμματισμός Διαχείρισης Συστημάτων Ι
Προγραμματισμός Διαχείρισης Συστημάτων Ι Μάθημα 4ο Εργαλεία UNIX/Linux Μιχαηλίδης Παναγιώτης Εργαλεία Linux Τα εργαλεία του Linux μπορούν να ομαδοποιηθούν λογικά σε κατηγορίες ανάλογα με την χρήση τους:
Διαβάστε περισσότεραΠρογραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού Μάθημα 2ο Μεταβλητές Μεταβλητή ονομάζεται ένα μέγεθος
Διαβάστε περισσότεραΣτόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή
Στόχοι και αντικείμενο ενότητας Η έννοια του Τελεστή #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Εκφράσεις Προτεραιότητα Προσεταιριστικότητα Χρήση παρενθέσεων Μετατροπές Τύπων Υπονοούμενες και ρητές μετατροπές
Διαβάστε περισσότεραΣτο εργαστήριο θα μελετηθούν: Διδάσκων: Γιώργος Χατζηπολλάς. Εργαστήριο 2: Εργαλεία Συστήματος UNIX. Ομάδες για παρουσίαση
Εργαστήριο 2: Εργαλεία Συστήματος UNIX Στο εργαστήριο θα μελετηθούν: Ομάδες για παρουσίαση sed (Stream EDitor) Παραδείγματα χρήσης sed Διδάσκων: Γιώργος Χατζηπολλάς 2-1 Ομάδες Παρουσίασης Group Name Description
Διαβάστε περισσότεραΣημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού
Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ Εισαγωγή στην γλώσσα προγραμματισμού Ακαδημαϊκό έτος 2016-2017, Εαρινό εξάμηνο Οι σημειώσεις βασίζονται στα συγγράμματα: A byte of Python (ελληνική
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα
Διαβάστε περισσότεραΕισαγωγή στην Πληροφορική & τον Προγραμματισμό
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στην Πληροφορική & τον Προγραμματισμό Ενότητα 3 η : Κωδικοποίηση & Παράσταση Δεδομένων Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα
Διαβάστε περισσότερα3 ο Εργαστήριο Μεταβλητές, Τελεστές
3 ο Εργαστήριο Μεταβλητές, Τελεστές Μια μεταβλητή έχει ένα όνομα και ουσιαστικά είναι ένας δείκτης σε μια συγκεκριμένη θέση στη μνήμη του υπολογιστή. Στη θέση μνήμης στην οποία δείχνει μια μεταβλητή αποθηκεύονται
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Νέο Πρόγραμμα
Διαβάστε περισσότεραΑριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί
Αριθμήσιμα σύνολα Μαθηματικά Πληροφορικής 5ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Ορισμός Πόσα στοιχεία έχει το σύνολο {a, b, r, q, x}; Οσα και το σύνολο {,,, 4, 5} που είναι
Διαβάστε περισσότεραΜεταγλωττιστές. Ενότητα 3: Τυπικές γλώσσες (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ
Μεταγλωττιστές Ενότητα 3: Τυπικές γλώσσες (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 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ΗΣ ΣΕΛΙ ΑΣ ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ KAI ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ ΠΕΜΠΤΗ 26 ΣΕΠΤΕΜΒΡΙΟΥ 2019 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙ ΩΝ: ΕΠΤΑ (7)
Διαβάστε περισσότεραTEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)
TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Επιστημονικός συνεργάτης Εργαστηρίου: Στέλλα Λάμπουρα Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί
Διαβάστε περισσότεραΗΥ-150. Προγραμματισμός
ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής
Προγραμματισμός Η/Υ Ενότητα 4: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Έλεγχος της ροής ενός προγράμματος
Διαβάστε περισσότεραΗΥ-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 Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην
Διαβάστε περισσότεραΨηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:01. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών
Ψηφιακή Σχεδίαση Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:01 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http:
Διαβάστε περισσότεραΘέματα Προγραμματισμού Διαδικτύου ~ PHP ~
Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~ Στελιος Σφακιανάκης Εαρινό 2019 Αυτή η εργασία χορηγείται με άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 1 Server-side programming
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL
8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to
Διαβάστε περισσότεραΒασικές Αρχές Προγραμματισμού
Βασικές Αρχές Προγραμματισμού Κεφάλαιο 2 ΗγλώσσαC Ιστορική Αναδρομή ΗανάπτυξητηςC ξεκίνησε το 1972 στα εργαστήρια Bell από τον Dennis Ritchie με σκοπό την ανάπτυξη ενός λειτουργικού συστήματος για τον
Διαβάστε περισσότεραΠεριεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος...
Περιεχόμενα Πρόλογος...11 Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών... 13 1.1 Εισαγωγή στους υπολογιστές... 15 1.2 Μονάδες μέτρησης... 27 1.3 Οι βασικές λειτουργίες ενός ηλεκτρονικού υπολογιστή...
Διαβάστε περισσότεραΠληροφορική ΙΙ Θεματική Ενότητα 11
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Πληροφορική ΙΙ Θεματική Ενότητα 11 Συμβολοσειρές Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Αναφορά
Διαβάστε περισσότεραΠρογραμματισμός Υπολογιστών & Εφαρμογές Python. Κ.Π. Γιαλούρης
Προγραμματισμός Υπολογιστών & Κ.Π. Γιαλούρης Στόχοι του σημερινού μαθήματος Εξοικείωση με τα περιβάλλοντα της Python Κατανόηση βασικών εννοιών & τεχνικών Τύπος δεδομένων Μεταβλητή Εντολή ανάθεση τιμής
Διαβάστε περισσότεραΕισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python
Εισαγωγή στην Επιστήμη Υπολογιστών Εισαγωγή στην Python Python scripts Ένα πρόγραμμα στην Python (συχνά αποκαλείται script) αποτελείται από μία ακολουθία ορισμών και εντολών. H ακολουθία των ορισμών και
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου
Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No 05 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και
Διαβάστε περισσότεραΛειτουργικά Συστήματα 5η εργαστηριακή άσκηση
Λειτουργικά Συστήματα 5η εργαστηριακή άσκηση Κειμενογράφος nano Κανονικές Εκφράσεις (Regular Expressions) Δρ. Εύη Φαλιάγκα Κειμενογράφος nano Για να ανοίξετε ένα έγγραφο πρέπει να πληκτρολογήσετε το όνομα
Διαβάστε περισσότεραΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής
ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράµµατα «γράφονται» χρησιµοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαµβάνει
Διαβάστε περισσότεραΣχεδίαση Βάσεων Δεδομένων
Οδηγίες Μέρος 1: Απαντήστε κάθε ερώτηση. 1. Ποια είναι τα πλεονεκτήματα που παρέχει το Περιβάλλον Βάσεων Δεδομένων της Oracle για τις επιχειρήσεις; Το σύστημα διαχείρισης βάσεων δεδομένων της Oracle δίνει
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΣΤΗΝ ΟΙΚΟΝΟΜΙΑ 7 Ο ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΠΟΣΤΟΛΙΑ ΠΑΓΓΕ Περιεχόμενα 2 Δυαδικό Σύστημα Προσημασμένοι δυαδικοί αριθμοί Αφαίρεση
Διαβάστε περισσότεραΠρογραμματισμός Υπολογιστών & Υπολογιστική Φυσική
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 8: Αρχεία και Δομές Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν
Διαβάστε περισσότεραS, (5, -3, 34, -23, 7) ( /, @, *, _
1 Τι είναι αρχείο Οι πληροφορίες που καλείται να διαχειριστεί ο Η/Υ είναι τόσες πολλές που η μνήμη του δεν φτάνει να τις επεξεργαστεί όλες μαζί. Γι αυτό τον λόγο αποθηκεύονται σε μονάδες αποθήκευσης (π.χ
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου
Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 02 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και
Διαβάστε περισσότεραΓ7.8 Εγγραφές (Structures) Γ Λυκείου Κατεύθυνσης
Γ7.8 Εγγραφές (Structures) Γ Λυκείου Κατεύθυνσης Εισαγωγή Εγγραφές ονομάζουμε συλλογές στοιχείων, οι οποίες μας δίνουν τη δυνατότητα να ομαδοποιήσουμε στοιχεία διαφορετικών τύπων. Για παράδειγμα, θα χρησιμοποιήσουμε
Διαβάστε περισσότεραΠρόλογος. 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) Οι μεταβλητές είναι οι θέσεις μνήμης στις οποίες ένα πρόγραμμα τοποθετεί τα δεδομένα του κατά τη διάρκεια της λειτουργίας του. θα μάθουμε: πως δηλώνουμε
Διαβάστε περισσότερα3 Αλληλεπίδραση Αντικειμένων
Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή
Διαβάστε περισσότεραΠληροφορική. Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Πληροφορική Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής Άδειες Χρήσης
Διαβάστε περισσότεραΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Λύβας Χρήστος chrislibas@ssl-unipi.gr Μανουσόπουλος Χρήστος cman@unipi.gr Αρχική επιμέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος >_ vi editor Είναι ο βασικός επεξεργαστής
Διαβάστε περισσότεραΔυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client
ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις
Διαβάστε περισσότεραΠρόβλημα 29 / σελίδα 28
Πρόβλημα 29 / σελίδα 28 Πρόβλημα 30 / σελίδα 28 Αντιμετάθεση / σελίδα 10 Να γράψετε αλγόριθμο, οποίος θα διαβάζει τα περιεχόμενα δύο μεταβλητών Α και Β, στη συνέχεια να αντιμεταθέτει τα περιεχόμενά τους
Διαβάστε περισσότεραεπιµέλεια Θοδωρής Πιερράτος
Βασικές έννοιες προγραµµατισµού Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως,
Διαβάστε περισσότεραΒασικές Έννοιες Αλγορίθμων. Βασικές Εντολές Αλγορίθμων (Κεφ. 2ο Παρ. 2.4)
Βασικές Έννοιες Αλγορίθμων Βασικές Εντολές Αλγορίθμων (Κεφ. 2ο Παρ. 2.4) Δομές εντολών Υπάρχουν διάφορα είδη εντολών όπως, ανάθεσης ή εκχώρησης τιμής, εισόδου εξόδου, κ.ά., αλλά γενικά χωρίζονται σε τρείς
Διαβάστε περισσότεραΠ. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7
Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Εισαγωγικά
Διαβάστε περισσότεραC: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο
C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός
Διαβάστε περισσότεραΒασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος
Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος 2012-13 Κων/νος Φλώρος Απλοί τύποι δεδομένων Οι τύποι δεδομένων προσδιορίζουν τον τρόπο παράστασης των
Διαβάστε περισσότεραΑρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013
Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013 27 Μαρτίου 2013 Περίληψη Σκοπός της παρούσας εργασίας είναι η εξοικείωσή σας με τις θεμελιώδεις θεωρητικές και πρακτικές πτυχές
Διαβάστε περισσότεραΒασικές έννοιες προγραμματισμού
Βασικές έννοιες προγραμματισμού Αλφάβητο Γράμματα Κεφαλαία Ελληνικά ( Α Ω ) Πεζά Ελληνικά ( α ω ) Κεφαλαία Λατινικά ( A Z ) Πεζά Ελληνικά ( a z) Ψηφία 0-9 Ειδικοί χαρακτήρες ( +, -, *,/, =,.,,!, κενό )
Διαβάστε περισσότερα2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ
ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΣΤΑΘΕΡΕΣ είναι τα μεγέθη που δεν μεταβάλλονται κατά την εκτέλεση ενός αλγόριθμου. Εκτός από τις αριθμητικές σταθερές (7, 4, 3.5, 100 κλπ), τις λογικές σταθερές (αληθής και ψευδής)
Διαβάστε περισσότεραΣτοιχειώδης προγραμματισμός σε 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 Β Μέρος Δομή Ελέγχου if-elif-else Επαναληπτική Δομή Ελέγχου while Επαναληπτική Δομή Ελέγχου for Αλληλεπίδραση χρήστη-προγράμματος Συναρτήσεις Η δομή
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός
Διαβάστε περισσότερα