Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Κ.ΑΛΑΦΟΔΗΜΟΣ καθηγητής Δ.Παπαχρήστος μέλος ΕΔΙΠ ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΠΑΝΕΠΙΣΤΗΜΙΟ Α ΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Κ.ΑΛΑΦΟΔΗΜΟΣ καθηγητής Δ.Παπαχρήστος μέλος ΕΔΙΠ ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΠΑΝΕΠΙΣΤΗΜΙΟ Α ΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ."— Μεταγράφημα παρουσίασης:

1 ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Κ.ΑΛΑΦΟΔΗΜΟΣ καθηγητής Δ.Παπαχρήστος μέλος ΕΔΙΠ ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΠΑΝΕΠΙΣΤΗΜΙΟ Α ΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ 3 η Διάλεξη

2 Σκοπός Διάλεξης η παράθεση βασικών εννοιών & εντολών της γλώσσας προγραμματισμού PYTHON & του Ανοικτού Λογισμικού

3 Ανοικτό Λογισμικό Είναι λογισμικό που μπορεί να χρησιμοποιηθεί, αντιγραφεί, μελετηθεί, τροποποιηθεί και αναδιανεμηθεί χωρίς περιορισμό (GPL) Σκεφτείτε το Ελεύθερο λογισμικό ως αντίστοιχο της ελευθερίας του λόγου και όχι της “δωρεάν μπύρας” (free as in free speech, not free beer)

4 PYTHON Γλώσσα προγραμματισμού Γλώσσα προγραμματισμού : – Υψηλού επιπέδου – Μεταφράσιμη και όχι μεταγλωτίσιμη (interpreted και όχι compiled) – Ενσωματώνει έτοιμες, υψηλού επιπέδου δομές δεδομένων

5 PYTHON Βασικά χαρακτηριστικά Βασικά χαρακτηριστικά : – Δεν απαιτείται compile – Δυνατά εργαλεία εξσφαλμάτωσης ( debuging ) – Απλή σύνταξη με ιδιαίτερα εύληπτη μορφή. – Ενσωματώνει έτοιμες, υψηλού επιπέδου δομές δεδομένων – Μεταφέρσιμη γλώσσα – Ευρεία διασυνδεσιμότητα πχ με βιβλιοθήκες άλλων γλωσσών C,C++

6 PYTHON ΓΙΑΤΙ;;; Γλώσσα υψηλού επιπέδου Γλώσσα υψηλού επιπέδου εγγύτερα στην ανθρώπινη σκέψη εκμάθηση Συνεπώς ευκολότερη εκμάθηση νέοι χρήστες Συνεχώς νέοι χρήστες στρέφονται σε αυτή

7 PYTHON Μερικοι χρήστες : Google Google (παράδειγμα το Google App Engine) NASA Yahoo! MIT RedHatlinux RedHat και σχεδόν όλες οι διανομές linux

8 PYTHON εφαρμογές Μερικές εφαρμογές : Γρήγορη προτυποποίηση (prototyping) Προγραμματισμός στον Παγκόσμιο Ιστό Scripting Εκπαίδευση Επιστήμη Εφαρμογές με γραφική διεπαφή

9 PYTHON

10 PYTHON Δημιουργός της είναι ο Ολλανδός Guido van Rossum Λόγω της συνεισφοράς του στην δημιουργία και την εξέλιξη της γλώσσας του δόθηκε ο τίτλος Benevolent Dictator for Life (BDFL) Πρωτοεμφανίστηκε τον Δεκέμβριο του 1989 Διάδοχος της γλώσσας ABC

11 PYTHON Windows Σε περιβάλλον Windows Κατεβάζουμε εύκολα από την επίσημη ιστοσελίδα www.python.org/downloadwww.python.org/download Επιλέγουμε αναλόγως της μηχανής μας το κατάλληλο binary. Μετά την εγκατάσταση path %path%;C:\Python (command prompt)

12 PYTHON

13 PYTHON ΠΛΕΟΝΕΚΤΗΜΑΤΑ (+) Απλή σε σύνταξη Εύκολη στην εκμάθηση Δωρεάν και ανοικτού λογισμικού Γλώσσα Υψηλού Επιπέδου Φορητή Διερμηνευόμενη Αντικειμενοστρεφής

14 PYTHON ΠΛΕΟΝΕΚΤΗΜΑΤΑ (+) Επεκτάσιμη Ταχύτερη από κάποιες άλλες scripting languages Δεν έχουν τύπους οι μεταβλητές Επαναχρησιμοποίηση Ενσωματώσιμη Εκτεταμένες Βιβλιοθήκες Υποχρεωτικά στοιχισμένος κώδικας

15 PYTHON ΜΕΙΟΝΕΚΤΗΜΑΤΑ (-) Ευκολία σε λάθη (υποχρεωτικά στοιχισμένος κώδικας) Απόδοση (πιο αργή από την C) Αδυναμία low-level επέμβασης Χρήσιμες βιβλιοθήκες μόνο σε C/C++ Σύγχιση λόγω μετονομοσίας ίδιων βιβλιοθηκών από ένα version σε άλλο ( httplib -> http.client )httplib

16 PYTHON

17 PYTHON

18 PYTHON διερμηνευμένη γλώσσα PYTHON: διερμηνευμένη γλώσσα Σεναριακή λειτουργία-script Διαδραστική λειτουργία

19 PYTHON ΜΕΤΑΒΛΗΤΕΣ ΚΑΙ ΒΑΣΙΚΟΙ ΤΕΛΕΣΤΕΣ Τύπος Δεδομένων Τύπος Δεδομένων: είναι ένα σύνολο τιμών και οι λειτουργίες πάνω σε αυτές Δεν δηλώνεται ρητά ο τύπος δεδομένων στην PYTHON Dynamic typing Dynamic typing Ευελιξία και μικρότερος κώδικας Έλεγχος τύπων κατά την εκτέλεση του λογισμικού Python Compiler Python Compiler -> λιγότερους ελέγχους κατά την μετάφραση

20 PYTHON ΜΕΤΑΒΛΗΤΕΣ ΚΑΙ ΒΑΣΙΚΟΙ ΤΕΛΕΣΤΕΣ a=‘qwerty’ a=2 διερμηνέας Ο διερμηνέας της PYTHON μπορεί να υποδείξει το τύπο δεδομένων Σημασιολογικό (λογικό) Σημασιολογικό (λογικό) λάθος χαρακτήρες διαστήματος αξία PYTHON Οι χαρακτήρες διαστήματος έχουν αξία στην PYTHON

21 PYTHON ΜΕΤΑΒΛΗΤΕΣ ΚΑΙ ΒΑΣΙΚΟΙ ΤΕΛΕΣΤΕΣ Μεταβλητές Μεταβλητές είναι ένας τρόπος αποθήκευσης δεδομένων τιμή μεταβλητής Τα δεδομένα τους (τιμή μεταβλητής) μπορεί να αλλάζει κατά την εκτέλεση του λογισμικού Μεταβλητή Α (variable A) 50 5 ΠΡΙΝΜΕΤΑ

22 PYTHON ΜΕΤΑΒΛΗΤΕΣ ΚΑΙ ΒΑΣΙΚΟΙ ΤΕΛΕΣΤΕΣ num=17 pi=3.14 atomo = ‘technician’ atomo = ‘cut iron’ Λέξεις -Κλειδιά

23 PYTHON ΜΕΤΑΒΛΗΤΕΣ ΚΑΙ ΒΑΣΙΚΟΙ ΤΕΛΕΣΤΕΣ Boolean εκφράσεις Boolean εκφράσεις 4 == 4 (true) 3 == 8 (false) NOT AND OR

24 PYTHON ΜΕΤΑΒΛΗΤΕΣ ΚΑΙ ΒΑΣΙΚΟΙ ΤΕΛΕΣΤΕΣ a = 3 b = 1 a > b True c = 11 a > b and a > c False

25 PYTHON ΜΕΤΑΒΛΗΤΕΣ ΚΑΙ ΒΑΣΙΚΟΙ ΤΕΛΕΣΤΕΣ Τελεστές (operators) Τελεστές (operators) Πράξεις + - * / ** % Σύγκρισης == != > = <=

26 PYTHON ΑΡΙΘΜΗΤΙΚΗ Η PYTHON μπορεί να χρησιμοποιηθεί ως αρθμομηχανή (χρήση βασικών πράξεων)

27 PYTHON ΑΡΙΘΜΗΤΙΚΗ d: δεκαδικοί αριθμοί b: δυαδικοί αριθμοί o: οκταδικοί αριθμοί x: δεκαεξαδικοί αριθμοί print (‘value = (0:2d)’.format(12)) # value=12 print (‘value = (0:2b)’.format(12) ) # value=1100 Αριθμοί κινητής υποδιαστολής print (‘x = (0:5.3f)’.format(1234.567)) # x = 1234.567 print (‘x = (0.12.6f)’.format(1234.567)) # x =1234.567000

28 PYTHON ΑΡΙΘΜΗΤΙΚΗ Αριθμοί κινητής υποδιαστολής d: δεκαδικοί αριθμοί b: δυαδικοί αριθμοί o: οκταδικοί αριθμοί x: δεκαεξαδικοί αριθμοί

29 PYTHON ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ Εξαγωγή δεδομένων Εξαγωγή δεδομένων print (εκτύπωση) pi=3.142 print (pi**2)

30 PYTHON ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ Πράξεις (αριθμητικές) Πράξεις (αριθμητικές)

31 PYTHON ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ Πράξεις (strings) Πράξεις (strings) =

32 PYTHON ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ μαθηματικέςσυναρτήσεις Πράξεις -> μαθηματικές συναρτήσεις Για εισαγωγή όλων των συναρτήσεων μιας βιβλιοθήκης

33 PYTHON ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ Εισαγωγή δεδομένων Εισαγωγή δεδομένων Input (PYTHON 3.x) Input raw (PYTHON 2.x) Αλλαγή γραμμής (newline)

34 PYTHON ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ Σχόλια Σχόλια # ………………

35 PYTHON ΕΛΕΓΧΟΣ ΡΟΗΣ ΛΟΓΙΣΜΙΚΟΥ Δομή ελέγχου if condition: … else : [else : …] a = int(input( ‘factor a: ‘)) b=float(input(‘factor b :’)) If a == 0: print (“The a = 0”) else: 1. print (“The a <> 0”) If b == 0 Z = a+b Εσωτερικές εντολές

36 PYTHON ΕΛΕΓΧΟΣ ΡΟΗΣ ΛΟΓΙΣΜΙΚΟΥ If…elif…else… If…elif…else… (αντί switch, αντίστοιχη της else if)

37 PYTHON ΕΛΕΓΧΟΣ ΡΟΗΣ ΛΟΓΙΣΜΙΚΟΥ break: εντολή εξόδου από κάποιο σώμα (ή βρόχο ) εντολών break: εντολή εξόδου από κάποιο σώμα (ή βρόχο ) εντολών Χρήση μόνο όπου δεν γίνεται αλλιώς Χρήση μόνο όπου δεν γίνεται αλλιώς if (a > b*5): print (x) print (y) break else: print z T = 56 + x * y

38 PYTHON ΣΥΝΑΡΤΗΣΕΙΣ Ορισμός συνάρτησης (def) Ορισμός συνάρτησης (def) Όρισμα

39 PYTHON ΣΥΝΑΡΤΗΣΕΙΣ οι συναρτήσεις μπορούν να αποτελούνται από πολλές γραμμές κώδικα οι συναρτήσεις να καλούν άλλες συναρτήσεις οι συναρτήσεις δεν είναι υποχρεωτικό να επιστρέφουν μια αριθμητική τιμή αλλά οτιδήποτε

40 PYTHON ΣΥΝΑΡΤΗΣΕΙΣ Η συνάρτηση remainder υπολογίζει και επιστρέφει το υπόλοιπο της διαίρεσης δυο ακεραίων αριθμών - Η συνάρτηση remainder υπολογίζει και επιστρέφει το υπόλοιπο της διαίρεσης δυο ακεραίων αριθμών - Στη συνέχεια η check_odd_or_even καλεί την remainder για να διαπιστώσει αν κάποιος ακέραιος είναι περιττός (odd) ή άρτιος (even)

41 PYTHON ΣΥΝΑΡΤΗΣΕΙΣ οι συναρτήσεις μπορούν να αποτελούνται από πολλές γραμμές κώδικα οι συναρτήσεις να καλούν άλλες συναρτήσεις οι συναρτήσεις δεν είναι υποχρεωτικό να επιστρέφουν μια αριθμητική τιμή αλλά οτιδήποτε

42 PYTHON ΣΥΝΑΡΤΗΣΕΙΣ - Αυτό το πρόγραμμα περιέχει δύο ορισμούς συνάρτησης: τον print_lyrics και τον repeat_lyrics Οι ορισμοί των συναρτήσεων εκτελούνται ακριβώς όπως οι άλλες δηλώσεις αλλά το αποτέλεσμα είναι η δημιουργία αντικειμένων συναρτήσεων - Οι ορισμοί των συναρτήσεων εκτελούνται ακριβώς όπως οι άλλες δηλώσεις αλλά το αποτέλεσμα είναι η δημιουργία αντικειμένων συναρτήσεων - Οι δηλώσεις μέσα στη συνάρτηση δεν εκτελούνται μέχρις ότου να καλεστεί η συνάρτηση, και ο ορισμός της συνάρτησης δεν παράγει καμία έξοδο

43 PYTHON ΣΥΝΑΡΤΗΣΕΙΣ μέσα στην συνάρτηση, τα ορίσματα εκχωρούνται σε μεταβλητές οι οποίες ονομάζονται παράμετροι παράδειγμα συνάρτησης ορισμένης από το χρήστη η οποία παίρνει ένα όρισμα: - Οι ίδιοι κανόνες σύνθεσης που εφαρμόζονται στις ενσωματωμένες συναρτήσεις, ισχύουν και στις οριζόμενες από το χρήστη συναρτήσεις - Άρα μπορούμε να χρησιμοποιήσουμε οποιοδήποτε είδος έκφρασης σαν όρισμα για την print_twice

44 PYTHON ΣΥΝΑΡΤΗΣΕΙΣ - Το όρισμα αποτιμάται πριν την κλήση της συνάρτησης

45 PYTHON ΣΥΝΑΡΤΗΣΕΙΣ τοπική (local), Όταν δημιουργείτε μια μεταβλητή μέσα σε μια συνάρτηση, είναι τοπική (local), το οποίο σημαίνει ότι υφίσταται μόνο μέσα στη συνάρτηση Αυτή η συνάρτηση παίρνει δύο ορίσματα, τα συνενώνει και εμφανίζει το αποτέλεσμα δύο φορές Όταν η cat_twice τερματίσει η μεταβλητή cat καταστρέφεται

46 PYTHON ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ for for >>> for x in [0, 1, 2, 3, 4]: print 'Για x=', x, ' f(x)=',f(x) Για x= 0 f(x)= -2.8 Για x= 1 f(x)= -3.9249 Για x= 2 f(x)= -5.0192 Για x= 3 f(x)= -6.0823 Για x= 4 f(x)= -7.1136 Λίστα

47 PYTHON ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ for (int i= 0; i < 5; i++) (C/C++) for (int i : IntArray) (Java) for i in range (0,5) (Python) O βρόχος for είναι πιο απλός, πιο εκφραστικός και λιγότερο ευπαθής σε σφάλματα στην Python

48 PYTHON ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ for i in range(18) a = i * 5 print (a, end ‘ ‘) το i θα πέρει διαδοχικές τιμές από 0 – 17 το σώμα του βρόχου θα εκτελεστεί 18 φορές η range() δουλεύει μόνο για ακέραιους αριθμούς σώμα βρόχου – body loop

49 PYTHON ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ for i in range (100,106) print (i, end=‘ ‘) 100 101 102 103 104 106 for i in range (100,110,2) print (i, end=‘ ‘) 100 102 104 106 108

50 PYTHON ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ

51 PYTHON

52 PYTHON while condition: while condition: …………… [True] …………… [True] sum=0 while a<50: sum +=a print (sum)

53 PYTHON ΠΑΡΑΔΕΙΓΜΑ IDLE περιβάλλον

54 PYTHON ΠΑΡΑΔΕΙΓΜΑ

55 PYTHON ΠΑΡΑΔΕΙΓΜΑ

56 PYTHON ΠΑΡΑΔΕΙΓΜΑ

57 PYTHON ΠΑΡΑΔΕΙΓΜΑ

58 PYTHON ΠΑΡΑΔΕΙΓΜΑ

59 PYTHON CASE STUDY Μια ιδιωτική εταιρεία αποφάσισε να εφαρμόσει ενιαία πολιτική στη μισθοδοσία του προσωπικού της. Έτσι, ο βασικός μισθός είναι 1200 €. Για τους αποφοίτους ΑΕΙ/ΤΕΙ υπάρχει επίδομα 20% ενώ αν κάποιος διαθέτει μεταπτυχιακό τίτλο τότε το επίδομα σπουδών γίνεται 29%. Επιπρόσθετα, κάθε υπάλληλος λαμβάνει χρονοεπίδομα 15% επί του βασικού μισθού αν βρίσκεται μέχρι και 5 χρόνια στην εταιρεία, 25% αν βρίσκεται μέχρι και 15 χρόνια ενώ 35% αν εργάζεται περισσότερα από 15 χρόνια στην εταιρεία. Να αναπτύξετε αλγόριθμο που θα διαβάζει το όνομα του μισθωτού, το επίπεδο σπουδών (1. βασική εκπαίδευση, 2. ΑΕΙ/ΤΕΙ και 3. Μεταπτυχιακές σπουδές) καθώς και τα έτη υπηρεσίας και στη συνέχεια να υπολογίζει και να εκτυπώνει τις μηνιαίες αποδοχές του

60 Σας ευχαριστώ για την προσοχή σας…


Κατέβασμα ppt "ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Κ.ΑΛΑΦΟΔΗΜΟΣ καθηγητής Δ.Παπαχρήστος μέλος ΕΔΙΠ ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΠΑΝΕΠΙΣΤΗΜΙΟ Α ΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google