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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τέλος Ενότητας.
Advertisements

Μεταγλωττιστές (Compilers) (Θ) Ενότητα 13: Επαναληπτικό μάθημα Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής ΤΕ Το περιεχόμενο του μαθήματος διατίθεται.
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 11: Βελτιστοποίηση Ενδιάμεσου Κώδικα Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 2: Μεταβλητές και Τύποι Δεδομένων. Διδάσκων: Νικόλαος Θ Λιόλιος,
Έλεγχος Ροής με την Εντολή Επανάληψης FOR 1/9
1 Αρχιτεκτονική υπολογιστών Ενότητα 12 : Δομή και Λειτουργία της CPU 2/2 Φώτης Βαρζιώτης Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
1 Διεθνή Λογιστικά Πρότυπα Διανομή – Διακοπείσες Δραστηριότητες Χύτης Ευάγγελος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
1 Αντικειμενοστραφής Προγραμματισμός Ενότητα 12 : Επαναληπτικές Ασκήσεις (3/3) Ιωάννης Τσούλος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
1 Ενοποιημένες Χρηματοοικονομικές Καταστάσεις Δομή ομίλου Εταιρειών και προσδιορισμός του ποσοστού συμμετοχής Δρ. Χύτης Ευάγγελος Ελληνική Δημοκρατία Τεχνολογικό.
ΕΙΣΑΓΩΓΗ ΣΤΗ ΛΟΓΙΣΤΙΚΗ ΕΝΟΤΗΤΑ :Ισοζύγιο Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Εισαγωγή στη λογιστική, Ενότητα : Ημερολογιακές εγγραφές, ΤΜΗΜΑ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΉΣ ΚΑΙ ΛΟΓΙΣΤΙΚΗΣ ΤΕΙ ΗΠΕΙΡΟΥ – Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου.
1 Αντικειμενοστραφής Προγραμματισμός Ενότητα 12 : Επαναληπτικές Ασκήσεις (2/3) Ιωάννης Τσούλος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Τμήμα Τεχνολόγων Γεωπόνων Τίτλος Μαθήματος: ΚΑΛΛΩΠΙΣΤΙΚΑ ΔΕΝΤΡΑ ΚΑΙ ΘΑΜΝΟΙ Ενότητα 12: Οδηγίες δημιουργίας φυτολογίου Γρηγόριος Βάρρας Αν. Καθηγητής Άρτα,
Προγραμματισμός Διαδικτύου
ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ Ενότητα 12 : Η χρήση της MySQL στο Ηλεκτρονικό εμπόριο (ΙΙI) Ιωάννης Τσούλος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Εισαγωγή στη λογιστική, Ενότητα :Προσδιοριστικοί παράγοντες του λογιστικού αποτελέσματος, ΤΜΗΜΑ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΉΣ ΚΑΙ ΛΟΓΙΣΤΙΚΗΣ, ΤΕΙ ΗΠΕΙΡΟΥ – Ανοικτά.
Προγραμματισμός κινητών συσκευών
Ενότητα 7 : Χρήση Πινάκων στο Ηλεκτρονικό εμπόριο (I) Ιωάννης Τσούλος
Τεχνολογία και Προγραμματισμός Υπολογιστών
Αντικειμενοστραφής Προγραμματισμός Ι
Προγραμματισμός Διαδικτύου
Προγραμματισμός κινητών συσκευών
Προγραμματισμός Διαδικτύου
Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Προγραμματισμός κινητών συσκευών
Άλλες μορφές νευρώσεων
Επικοινωνιακός Προγραμματισμός Ι
Λειτουργικά Συστήματα
Υπολογιστική Γεωμετρία και Εφαρμογές στις ΒΧΔ
Ενοποιημένες Χρηματοοικονομικές Καταστάσεις
Ενότητα 5 : Δομές Δεδομένων και αφηρημένοι
Προγραμματισμός Διαδικτύου
Λειτουργικά Συστήματα
Εργαστήριο 9 : Scratch (Μέρος 9_Β) Δημήτριος Νικολός ΤΕΕΑΠΗ
Προγραμματισμός Διαδικτύου
Τεχνολογία και Προγραμματισμός Υπολογιστών
Διεθνή Λογιστικά Πρότυπα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Διεθνή Λογιστικά Πρότυπα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Ενότητα 13 Αξιολόγηση μαθήματος και διδάσκοντος από την εφαρμογή της Μονάδας Ολικής Ποιότητας (ΜΟΔΙΠ) του ΤΕΙ Αθήνας Αξιολόγηση του μαθήματος Αξιολόγηση.
Άσκηση 9 (1 από 2) Ανακαλύψτε στο χάρτη σας μερικά χαρτογραφικά αντικείμενα που να ανήκουν στις παρακάτω κατηγορίες : φυσικά, τεχνητές κατασκευές, αφηρημένα.
Ενότητα 10 : Κατασκευή ΝΠΑ Αλέξανδρος Τζάλλας
Ενότητα 5 : Δομές Ελέγχου της γλώσσας PHP Ιωάννης Τσούλος
Ενότητα 4 : Τελεστές της γλώσσας PHP Ιωάννης Τσούλος
Ενότητα 2 : Το σύστημα βάσεων δεδομένων MySQL (II) Ιωάννης Τσούλος
Προγραμματισμός Διαδικτύου
Τοπολογικές σχέσεις 1/3 Βρείτε και περιγράψτε τις τοπολογικές σχέσεις σύμφωνα με τους (Pantazis, Donnay 1996) για τα παρακάτω γεω-γραφικά αντικείμενα:
Προγραμματισμός κινητών συσκευών
Επικοινωνιακός Προγραμματισμός Ι
Διεθνή Λογιστικά Πρότυπα
Εικαστικές συνθέσεις - Χρώμα στο χώρο
Γενική και Μαθηματική Χαρτογραφία (Ε)
Εισαγωγή στις εικαστικές τέχνες
Προγραμματισμός κινητών συσκευών
Διεθνή Λογιστικά Πρότυπα
Εισαγωγή στους Η/Υ Ενότητα 12: Το διάγραμμα ροής και η λειτουργία του
Γεωργική Χημεία Ενότητα 1 : Γενικές αρχές χημείας, άτομα και μόρια
Γεωργική Χημεία Ενότητα 6: Οξέα, βάσεις, pH, γινόμενο διαλυτότητας
Ειδικά θέματα βάσεων χωρικών δεδομένων και θεωρία συστημάτων -E
Γενική και Μαθηματική Χαρτογραφία (Ε)
Eιδικά θέματα βάσεων χωρικών δεδομένων και θεωρία συστημάτων -Θ
Προγραμματισμός Διαδικτύου
Προγραμματισμός κινητών συσκευών
Γενική και Μαθηματική Χαρτογραφία (Ε)
Ενότητα 1: ……………….. Όνομα Επώνυμο Τμήμα __
Προγραμματισμός Διαδικτύου
Προγραμματισμός κινητών συσκευών
Επικοινωνιακός Προγραμματισμός Ι
Μεταγράφημα παρουσίασης:

Προγραμματισμός Διαδικτύου Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Προγραμματισμός Διαδικτύου Ενότητα 1 : Εισαγωγικές έννοιες Ιωάννης Τσούλος

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

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

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

Διάγραμμα παρουσιάσεως Στοιχεία αντικειμενοστραφούς προγραμματισμού. Ιστορία της Java. Πλεονεκτήματα - μειονεκτήματα Java. Βήματα της μεταγλώττισης. Καλημέρα κόσμε. Μεταβλητές. Τελεστές. Είσοδος τιμών. Το περιβάλλον Bluej.

Στοιχεία ΑΠ Υπάρχουν αφηρημένοι τύποι δεδομένων που περιγράφουν στοιχεία του πραγματικού κόσμου (κατηγορίες) Κάθε οντότητα στον προγραμματισμό αποτελεί υλοποίηση (Instance) της κατηγορίας και ονομάζεται αντικείμενο. Κάθε κατηγορία διαθέτει πεδία (μεταβλητές) και μεθόδους (συναρτήσεις). Συνήθως τα πεδία είναι κρυφά από τον υπόλοιπο κόσμο. Η επικοινωνία με τον υπόλοιπο κόσμο γίνεται με μεθόδους. Οι κατηγορίες μπορούν να κληρονομηθούν από άλλες και να ενσωματωθούν σε αυτές νέες δυνατότητες.

Η κατηγορία Φοιτητής Φοιτητής: Πεδία Μέθοδοι Όνομα Επίθετο Αριθμός μητρώου Έτος εισαγωγής Μέθοδοι Αρχικοποίηση Άλλαξε όνομα Επέστρεψε όνομα

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

Παράδειγμα κληρονομικότητας Σχήμα Ιδιότητες: χρώμα Μέθοδοι: Αρχικοποίηση, περίμετρος (αφηρημένη), εμβαδόν (αφηρημένη). Κύκλος Ιδιότητες: κέντρο, ακτίνα (ρ) Μέθοδοι: Αρχικοποίηση, περίμετρος (2πρ), εμβαδόν (πρ2). Τετράγωνο Ιδιότητες: πλευρά (α) Μέθοδοι: Αρχικοποίηση, περίμετρος (4α), εμβαδόν (α2)

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

Η γλώσσα Java Δημιουργήθηκε το 1994 από την εταιρεία υπολογιστών Sun Microsystems. Είναι η πλέον διαδεδομένη γλώσσα προγραμματισμού για χρήση στο διαδίκτυο. Οι μικροεφαρμογές της (applets) τρέχουν μέσα από web browsers. Αντικειμενοστραφής γλώσσα προγραμματισμού. Δεν παράγει εκτελέσιμο κώδικα αλλά μια ενδιάμεση μορφή που ονομάζεται bytecode.

Πλεονεκτήματα και μειονεκτήματα Μοιάζει αρκετά με την C++ Είναι περισσότερο ασφαλής στην διαχείριση μνήμης από την C++ Ο εκτελέσιμος κώδικας είναι μεταφέρσιμος από λειτουργικό σε λειτουργικό. Είναι πλήρως αντικειμενοστραφής γλώσσα και όχι υβριδική. Μειονεκτήματα Είναι αργή στην εκτέλεση. Δεν διαθέτει δείκτες άλλα έμμεσες αναφορές. Δεν έχει πολλαπλή κληρονομικότητα. Δεν έχει τεμπλατες.

Τα βήματα της μεταγλώττισης Πηγαίος κώδικας Μεταγλώττιση Αν υπάρχουν συντακτικά λάθη μετάβαση στο 1 Δημιουργία bytecode. Εκτέλεση από τη Java Virtual Machine. Αν υπάρχουν λογικά λάθη μετάβαση στο 1.

Καλημέρα Κόσμε! public class HelloWorld { public static void main(String arg[ ]) System.out.println(“Hello World!”); } Το παραπάνω πρόγραμμα εμφανίζει την φράση Hello World και αλλάζει γραμμή. Το παραπάνω πρόγραμμα πρέπει να αποθηκευτεί σε ένα αρχείο με το όνομα HelloWorld.java

Χρήση μεταβλητών Χαρακτηριστικά Όνομα Διεύθυνση στην μνήμη Περιεχόμενο Τύπο Τύποι Ακέραιοι Δεκαδικοί Λογικοί Αντικείμενα

Ονοματολογία μεταβλητών Οι μεταβλητές διαθέτουν λατινικά γράμματα, κάτω παύλα και αριθμούς Ξεκινούν πάντα με λατινικό γράμμα ή κάτω παύλα Δεν μπορεί να είναι όνομα μεταβλητής δεσμευμένη λέξη Υπάρχει διάκριση πεζών κεφαλαίων

Τύποι δεδομένων Χαρακτήρες: char Ακέραιοι: int, short int, I Δεκαδικοί: float, double Λογικοί: boolean

Τελεστές πράξεων Αριθμητικοί: * , / , % , + , - Σχεσιακοί: == , != , > , >= , < , <= Λογικοί: || , && , !

Εμφάνιση μεταβλητών Ο τελεστής + συνενώνει αλφαριθμητικά και αριθμούς. public class ShowVars { public static void main(String arg[] ) int x=100; int y=200; System.out.printIn(“x= “+x); System.out.printIn(“y= “+y); System.out,println(“x+y = “,x+y); System.out.println(“x+y = “,(x+y)); } Ο τελεστής + συνενώνει αλφαριθμητικά και αριθμούς. Τα δύο τελευταία println() δεν βγάζουν το ίδιο αποτέλεσμα!

Ανάγνωση μεταβλητών Είναι απαραίτητη η χρήση της εντολής import. import javax.swing.*; public class ReadAge { public static void main(String arg[ ]) int myage; myage=Integer.parselnt( JOptionPane.showInputDialog(“Enter your age ); System.out.printin(“My age = “+myage); } Είναι απαραίτητη η χρήση της εντολής import. Η μέθοδος JOptionPane.showlnputDialog(“”) διαβάζει αλφαριθμητικά αλφαριθμητικό σε ακέραιο Integer.parselnt()

Δομές Ελέγχου στη Java Παρόμοια με C++ Δομές Επιλογής if-else if (CONDITION) { COMMANDS1; } else COMMANDS2; switch-case switch(variable) { case 1:COMMANDS 1; break; case 2:COMMANDS 2; … case N:COMMANDS N; default:COMMANDS N; }

Δομές Ελέγχου στη Java Δομές Επανάληψης while for do while for(start;condition;step) { COMMANDS; } while while (CONDITION) { COMMANDS; } do while break, continue, return, goto

Το περιβάλλον bluej Ελεύθερο λογισμικό Διαθέσιμο από www.bluej.org Είναι το ίδιο περιβάλλον σε Linux και Windows. Τα προγράμματα γίνονται σε αυτό με την μορφή σχεδιαγραμμάτων. Απαραίτητη προϋπόθεση να έχουμε εγκαταστήσει το JDK, διαθέσιμο από το sun.java.com

Δημιουργία παραδείγματος Ανοίγουμε την εφαρμογή bluej. Επιλέγουμε Project  New Project. Δίνουμε ένα όνομα της επιλογής μας, πχ project1 Δίνουμε Edit  New Class Επιλέγουμε σαν όνομα κατηγορίας το HelloWorld Θα εμφανιστεί ένα σκιασμένο πλαίσιο με το όνομα της κατηγορίας Διπλοπατάμε πάνω στο όνομα της κατηγορίας και εμφανίζεται ένας κειμενογράφος Σβήνουμε ότι υπάρχει μέσα στο public class HelloWorld και προσθέτουμε το κείμενο του μαθήματος Δίνουμε Class Save Δεξί κλικ στην κατηγορία και επιλογή Compile Δεξί κλικ στην κατηγορία και επιλογή της συνάρτησης main() Το πρόγραμμα εκτελείται

Το περιβάλλον bluej Ελεύθερο λογισμικό Διαθέσιμο από www.bluej.org Είναι το ίδιο περιβάλλον σε Linux και Windows. Τα προγράμματα γίνονται σε αυτό με την μορφή σχεδιαγραμμάτων. Απαραίτητη προϋπόθεση να έχουμε εγκαταστήσει το JDK, διαθέσιμο από το sun.java.com

Βιβλιογραφία Πλήρες Εγχειρίδιο της Java 2 Platform, Laura Lemay & Rogers Cadenhead, Ελληνική έκδοση Γκιούρδα Java Προγραμματισμός, 6η έκδοση, Harvey M. Deitel, Paul J. Deitel . Εκδόσεις Μ. Γκιούρδας, Αθήνα 2005. Εισαγωγή στη γλώσσα προγραμματισμού Java, Εμμ. Σκορδαλάκης, Εργαστήριο Λογισμικού Ομάδα Τεχνολογίας Λογισμικού ΕΜΠ Java με UML, Else Lervik και Vegard B. Havdal, Εκδόσεις Κλειδάριθμος, 2005. Προγραμματισμός με Java, Γιάννη Κάβουρα, Εκδόσεις Κλειθάριθμος, Αθήνα 2003. Java in a nutshell, Deluxe Edition και Java Examples in a Nutshell, David Flanagan, Εκδόσεις OReilly Java Collections An Introduction to ADTs, Data Structures and Algorithms,David Watt, Deryck Brown, John Wiley and Sons Thinking in Java (3rd edition), B. Eckel, Pearson Prentice Hall, 2003. Introduction to Java Programming (5th edition), Y. Daniel Liang, Pearson Prentice Hall, 2005.

Σημείωμα Αναφοράς Copyright Τεχνολογικό Ίδρυμα Ηπείρου. Ιωάννης Τσούλος. Προγραμματισμός Διαδικτύου. Έκδοση: 1.0 Άρτα, 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: http://eclass.teiep.gr/OpenClass/courses/COMP114/ ΔΙΑΤΑΡΑΧΕΣ ΦΩΝΗΣ, Ενότητα 0, ΤΜΗΜΑ ΛΟΓΟΘΕΡΑΠΕΙΑΣ, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

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

Τέλος Ενότητας Επεξεργασία: Ευάγγελος Καρβούνης Άρτα, 2015

Τέλος Ενότητας Εισαγωγικές έννοιες