Ευφυής Προγραμματισμός

Σχετικά έγγραφα
Ευφυής Προγραμματισμός

Ευφυής Προγραμματισμός

Ευφυής Προγραμματισμός

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους

Ευφυής Προγραμματισμός

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Κβαντική Επεξεργασία Πληροφορίας

Διοικητική Λογιστική

Ευφυής Προγραμματισμός

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

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

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

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

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

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

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

1 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Κβαντική Επεξεργασία Πληροφορίας

Βέλτιστος Έλεγχος Συστημάτων

Ευφυής Προγραμματισμός

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας

Μηχανολογικό Σχέδιο Ι

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΔΕΝΤΡΑ

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

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Άσκηση Αλγόριθμος Dijkstra

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

Οντοκεντρικός Προγραμματισμός

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Βάσεις Περιβαλλοντικών Δεδομένων

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Διοικητική Λογιστική

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Έλεγχος και Διασφάλιση Ποιότητας Ενότητα 4: Μελέτη ISO Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας

Κβαντική Επεξεργασία Πληροφορίας

Βέλτιστος Έλεγχος Συστημάτων

Διδακτική των εικαστικών τεχνών Ενότητα 1

Διδακτική των εικαστικών τεχνών Ενότητα 3

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

Οντοκεντρικός Προγραμματισμός

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Δυναμική και Έλεγχος E-L Ηλεκτρομηχανικών Συστημάτων

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Ιστορία της μετάφρασης

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

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

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Οντοκεντρικός Προγραμματισμός

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4

Τεχνητή Νοημοσύνη Ι. Διαφάνειες Εργαστηρίου. Σγάρμπας Κυριάκος Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

Προγραμματισμός Η/Υ. 6 η ενότητα: Συναρτήσεις. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

Διδακτική των εικαστικών τεχνών Ενότητα 2

Οντοκεντρικός Προγραμματισμός

Εφαρμοσμένη Βελτιστοποίηση

Εισαγωγή στην Διοίκηση Επιχειρήσεων

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

Θέματα υπολογισμού στον πολιτισμό

Αερισμός. Ενότητα 1: Αερισμός και αιμάτωση. Κωνσταντίνος Σπυρόπουλος, Καθηγητής Σχολή Επιστημών Υγείας Τμήμα Ιατρικής

Εισαγωγή στους Αλγορίθμους Ενότητα 11η Άσκηση - Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων

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

Κβαντική Επεξεργασία Πληροφορίας

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Εισαγωγή στην Διοίκηση Επιχειρήσεων

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

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Β. Διαφορικός Λογισμός

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Φιλοσοφία της Ιστορίας και του Πολιτισμού

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 4: Συναρτήσεις

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

Οντοκεντρικός Προγραμματισμός

Τεχνικό Σχέδιο - CAD

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

Διδακτική Πληροφορικής

ΘΕΡΜΟΔΥΝΑΜΙΚΗ Ι. Ενότητα 2: Θερμοδυναμικές συναρτήσεις. Σογομών Μπογοσιάν Πολυτεχνική Σχολή Τμήμα Χημικών Μηχανικών

Εννοιες και Παράγοντες της Ψηφιακής Επεξεργασίας Εικόνας

Τεχνικό Σχέδιο - CAD. Τόξο Κύκλου. Τόξο Κύκλου - Έλλειψη. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Διοίκηση Επιχειρήσεων

Transcript:

Ευφυής Προγραμματισμός Ενότητα 1: Εισαγωγή στη Γλώσσα Lisp Ιωάννης Χατζηλυγερούδης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής

Περιεχόμενα ενότητας Εισαγωγή στη Lisp : 1. Εισαγωγή 2. Θεμελιώδεις Συναρτήσεις 2

Εισαγωγή

Εισαγωγή Η Γλώσσα Lisp είναι μια από τις παλαιότερες Γλώσσες και δημιουργήθηκε το 1948 από τον John McCarthy. Ανήκει στην κατηγορία των συναρτησιακών γλωσσών (functional languages), στηρίζεται δηλ. στη μαθηματική θεωρία των αναδρομικών συναρτήσεων. Βασική Δομή Δεδομένων στη Lisp είναι η λίστα (LiSt Processing) 4

LISP Γλώσσα ΤΝ Εισαγωγή Συμβολικός υπολογισμός (δημιουργία και διαχείριση συμβολικών δομών) Συναρτησιακή γλώσσα Βασικό στοιχείο προγράμματος η συνάρτηση Απουσία πλευρικών αποτελεσμάτων (με εξαιρέσεις) Αναδρομική φύση 5

Εισαγωγή Συμβολικές εκφράσεις ή Σ-εκφράσεις (Sexpressions) Τα δομικά στοιχεία της γλώσσας Αναπαριστούν και δεδομένα (μη εκτιμήσιμα στοιχεία) και προγράμματα (εκτιμήσιμα στοιχεία) 6

Εισαγωγή Συναρτησιακός Τύπος ή Τύπος (Form) Σ-έκφραση προς εκτίμηση Πρόγραμμα LISP: Σύνολο συναρτήσεων, που εκφράζονται ως συναρτησιακοί τύποι, όπου η μια συνάρτηση μπορεί να καλεί μια ή περισσότερες συναρτήσεις και τον εαυτό της. 7

Εισαγωγή Κύκλος εκτέλεσης διερμηνευτή: ΑΝΑΓΝΩΣΗ-ΕΚΤΙΜΗΣΗ-ΕΚΤΥΠΩΣΗ (READ-EVAL-PRINT) ΑΝΑΓΝΩΣΗ: Ανάγνωση του προγράμματος και κρατούνται θέσεις μνήμης για τις μεταβλητές και τις παραμέτρους λέγεται δέσμευση( binding) ΕΚΤΙΜΗΣΗ: Βρίσκεται το αποτέλεσμα των συμβολικών εκφράσεων και των συναρτησιακών τύπων ΕΚΤΥΠΩΣΗ:Εκτυπώνεται στην οθόνη το αποτέλεσμα ή (η έξοδος) του προγράμματος 8

Σ-Εκφράσεις Ακέραιος Πχ. 3, 5,7 Αριθμός Ρητός Πχ. 15/4 Σ-Εκφράσεις Άτομο Ακολουθία Δομή Σύμβολο Πχ. x,y,b2f,w Λίστα Πχ. (1 2 d 3),(a (1 2) (b d) Συμβολοσειρά Πχ. "a","giannis, My name is Πραγματικός Πχ. -7.53, 10.5 9

Σ-Εκφράσεις Ειδικά σύμβολα: Τ (true) -Αληθές NIL (κενή λίστα: () ) και αντιπροσωπεύει το ψευδές Λίστα: (e 1 e 2 e n ), όπου e i άτομο ή λίστα Μπορεί να είναι απεριόριστου βάθους και μήκους. Συναρτησιακός τύπος ή Τύπος: (<function-name> <arg 1 > <arg n >) <function-name>=όνομα της συνάρτησης <arg i > = συμβολική έκφραση ή συναρτησιακός τύπος 10

Εκτίμηση 1/3 Κανόνες Εκτίμησης-Χρήση Quote Κάθε αριθμός εκτιμάται στον εαυτό του. Π.χ. > 8 8 Τα ειδικά σύμβολα εκτιμώνται στον εαυτό τους. Π.χ. > t T > nil NIL Κάθε σύμβολο εκτιμάται στην τιμή του, πλην χρήσης quote ('), οπότε εκτιμάται στον εαυτό του. 11

Εκτίμηση 2/3 Κάθε σύμβολο χωρίς quote είναι μια μεταβλητή (ή παράμετρος). Με quote είναι μια σταθερά. Μεταβλητή που δεν της έχει δοθεί τιμή, έχει την τιμή NIL. Π.χ. > x 7 (η τιμή της) > 'x X Κάθε λίστα εκτιμάται στην τιμή της, πλην χρήσης quote ('), οπότε εκτιμάται στον εαυτό της. Μια λίστα χωρίς quote είναι ένας συναρτησιακός τύπος, αλλιώς μια τιμή 12

Εκτίμηση 3/3 Εκτίμηση ενός τύπου σημαίνει εκτίμηση των ορισμάτων του και εφαρμογή της αντίστοιχης συνάρτησης στα αποτελέσματα. Π.χ. > (+ 4 8) 12 > (* 4 (+ 3 5)) 32 > '(1 2 3) (1 2 3) Εκτίμηση κατ απαίτηση-χρήση eval :Η συνάρτηση eval εκτελεί αναγκαστική εκτίμηση μιας σ-έκφρασης. Π.χ. > ' (/ 9 3) (/ 9 3) > (eval '(/ 9 3)) 3 13

Εσωτερική Αναπαράσταση Άτομο Μια θέση μνήμης Ζεύγος Δύο θέσεις μνήμης Μια κυψέλη cons Λίστα Μια συλλογή θέσεων μνήμης Σύνδεση με κυψέλες cons (δυαδικό δένδρο) 14

Εσωτερική Αναπαράσταση Κυψέλη cons Διεύθυνση θέσης μνήμης ή NIL (A) A NIL (A B C) A B C NIL 15

Θεμελιώδεις Συναρτήσεις

Συναρτήσεις Διαχείρισης Λιστών(1) Συναρτήσεις Προσπέλασης: car (first): (car <list>) επιστρέφει το πρώτο στοιχείο. Πχ. >(car '(1 2 3 4)) 1 >(car '( (1 2) a b)) (1 2) cdr (rest): (cdr <list>) επιστρέφει λίστα χωρίς το πρώτο στοιχείο. Πχ. >(cdr '(1 2 3 4)) (2 3 4) >(cdr '( (1 2) a b)) (A B ) >(cdr '( 1 (2 a b)) ((2 A B)) 17

Συναρτήσεις Διαχείρισης Λιστών(2) cxxxxr (x a, d): (στοιχείο ή τμήμα λίστας) (caadr lista) (car (car (cdr lista))) Πχ. >(caar '( (1 2) (3 4))) 1 > (cdar '((a b c) ((d)) e f g h)) (B C) last: (last <list>) επιστρέφει μια λίστα με μόνο το τελευταίο στοιχείο. Πχ. >(last '( a d 3 f)) (F) >(last '( 1 2 (3 4))) ((3 4)) 18

Συναρτήσεις Διαχείρισης Λιστών(3) butlast: (butlast <list> <n>) επιστρέφει μια λίστα χωρίς τα τελευταία n στοιχεία. Πχ. >(butlast '( a d 3 f) 2) (A D) >(butlast '( 1 2 3 4) 4) NIL nthcdr: (nthcdr <n> <list>) επιστρέφει μια λίστα χωρίς τα πρώτα n στοιχεία. Πχ. >(nthcdr 2 '( a d 3 f) ) (3 F) >(nthcdr 2 '( 1 2 3 (4 5)) ) (3 (4 5)) 19

Συναρτήσεις Διαχείρισης Λιστών(4) length: (length <list>) επιστρέφει το μήκος της λίστας Πχ. >(length '( a d 3 f) ) 4 >(length '( 1 2 3 (4 5)) ) 4 reverse: (reverse <list>) επιστρέφει την ανάστροφη λίστα Πχ. >(reverse '( a d 3 f) ) (F 3 D A) >(reverse '( 1 2 3 (4 5)) ) ((4 5) 3 2 1) 20

Συναρτήσεις Σύνθεσης Λιστών (1) cons: (cons <atom> <atom>) ή (cons <list> <atom>) επιστρέφει το αντίστοιχο ζεύγος Πχ. >(cons 'a 'b ) (A. B) >(cons '( a b) 'c) ((A B). C) cons: (cons <s-expression> <list>) τη λίστα με επιπλέον πρώτο στοιχείο την s-expression Πχ. >(cons 'a ' (c d) ) (A C D) 21

Συναρτήσεις Σύνθεσης Λιστών (2) list: (list <s-expression>*) επιστρέφει μια λίστα εκφράσεων. Πχ. >(list 'a '(b c) '5 ) (A (B C) 5) >(list '( a b) '(c 2) '(4 6) ) ((A B) (C 2) (4 6)) append: (append <list>*) επιστρέφει μια λίστα που συγχωνεύει όλες τις λίστες Πχ. >(append '(a b) '(c d) ) (A B C D) >(append '( a b) '(c 2) '(4 6) ) (A B C 2 4 6) 22

Συναρτήσεις Τροποποίησης push: (push <s-expression> <symbol>) επιστρέφει την λίστα με πρώτο στοιχείο την <s-expression>. Π.χ. > x (A B C) > (push 1 x) (1 A B C) pop: (pop <symbol>) επιστρέφει την λίστα χωρίς το πρώτο στοιχείο της. Π.χ. > x (A B C) >(pop x) Α >x (B C) 23

Συναρτήσεις Διαχείρισης Λιστών Ζευγών assoc: (assoc <s-expression> <alist>) επιστέφει το ζεύγος που έχει σαν πρωτο στοιχείο την <s-expression> Π.χ. > (assoc 'x '((y. b) (x. a) (z. c)) ) (X. Α) rassoc: (rassoc <s-expression> <alist>) (ζεύγος) Π.χ. > (rassoc 'c ' ((y. b) (x. a) (z. c))) (Z. C) acons: (acons <atom1> <atom2> <alist>) (λίστα ζευγών) Π.χ. > (acons 'z 'c ' ((x. a))) ((Z. C) (X. A)) 24

Συναρτήσεις Καταχώρησης Άμεσης Καταχώρησης: setq : (setq [<symbol> <s-expression>]) Εκτιμά κάθε <s-expression> και το αποτέλεσμα καταχωρείται στο αντίστοιχο σύμβολο Επιστρέφει το αποτέλεσμα της εκτίμησης της τελευταίας <s-expression> Πχ. >(setq x '(a b c) ) (A B C) >x (A B C) (setq name "Giannis") >name "Giannis") Πχ. >(setq x '(1 2 3) w 4 y (+ 8 5)) 13 >x ( 1 2 3) >w 4 >y 13 25

Συναρτήσεις Καταχώρησης Έμμεσης Καταχώρησης: set : (set [<s-expression> <s-expression>]) <symbol> Π.χ. >(setq weekday 'monday) > weekday Monday > (set weekday ' (1)) (1) > weekday Monday > monday (1) 26

Συναρτήσεις Καταχώρησης Γενικευμένη Καταχώρηση setf : (setf [<s-expression> <s-expression>]) <s-expression> Π.χ. > (setf x ' (a 3 d)) (A 3 D) > x (A 3 D) > (setf (car x) ' 1) 1 > x (1 3 D) > (setf (cdr x) '(2 3)) (2 3) > x (1 2 3) >(setf x '(a b) y ' (1 2)) > x (A B) > y (1 2) 27

Αριθμητικές Συναρτήσεις Βασικές Συναρτήσεις: +, -, *, /, float Π.χ. > (/ 20 4) 5 > (/ 4.16 1.3) 3.2 >(/ 16 3) 16/3 >(float (/ 16 3)) 5.33.. Συναρτήσεις Υπολογισμός : round, max, min, expt, sqrt, abs Π.χ. (round(/ 16 3) ) 5 (πλησιέστερος ακέραιος) 1/3 (υπόλοιπο) 28

Συναρτήσεις Αναγνώρισης Τύπων atom: T αν το όρισμα είναι άτομο (δηλ. αριθμός ή σύμβολο) numberp: Τ αν το όρισμα του είναι αριθμός symbolp: Τ αν το όρισμα του είναι σύμβολο listp: Τ αν το όρισμα του είναι λίστα null: Τ αν το όρισμα του είναι κενή λίστα 29

Συναρτήσεις Σύγκρισης Ισότητας = : επιστρέφει Τ όταν πρόκειται για δύο αριθμούς ίδιας τιμής. Π.χ. > (= 2 2.0) T eq : επιστρέφει Τ όταν πρόκειται για δύο ίδια σύμβολα. Π.χ. > (eq `exit `exit) T eql : επιστρέφει Τ όταν πρόκειται για δύο ίδια σύμβολα ή δύο αριθμούς ίδιας τιμής και τύπου. Π.χ. > (eql 2 2.0) NIL, (eql 2 2) T 30

Συναρτήσεις Σύγκρισης equal : επιστρέφει Τ όταν πρόκειται για δύο απόλυτα ίδιες σ- εκφράσεις. Π.χ. > (equal '(+ a b) '(+ a b)) T > (equal (+ 2 6) 8) T equalp : ό,τι και η equal χωρίς το «απόλυτα». Π.χ. > (equal (+ 2 3) 5.0) NIL > (equalp (+ 2 3) 5.0) T Ανισότητας <, <=, >, >= (μόνο με αριθμούς). Π.χ. (> 3 2.5) Τ (<= 5.0 5) Τ 31

Συνάρτηση Συμμετοχής member: ελέγχει αν ένα στοιχείο ανήκει σε μια λίστα σε πρώτο επίπεδο (member <element><list-form>) Π.χ. > (member 2 '(1 2 3)) (2 3) >(member 'g '(a g 3 b c)) (G 3 B C) >(member ' g '((a g) 3b c)) NIL 32

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στo πλαίσιo του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Αθηνών» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 33

Σημείωμα Ιστορικού Εκδόσεων Έργου Το παρόν έργο αποτελεί την έκδοση 1.0. 34

Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Πατρών, Ιωάννης Χατζηλυγερούδης 2015. «Ευφυής Προγραμματισμός». Έκδοση: 1.0. Πάτρα 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: https://eclass.upatras.gr/courses/ceid1095/ 35

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 36

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους. 37