Τ.Ε.Ι ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ

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

Download "Τ.Ε.Ι ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ"

Transcript

1 Τ.Ε.Ι ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : ΑΝΑΠΤΥΞΗ CGI ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ (INTERPRETER) ΩΣ WEB SERVER EXTENSION ΕΙΣΗΓΗΤΗΣ : ΓΛΑΒΑΣ ΕΥΡΙΠΙΔΗΣ ΣΠΟΥΔΑΣΤΗΣ : ΠΑΠΠΑΣ ΑΓΓΕΛΟΣ ΑΡΤΑ 2004

2 ΠΕΡΙΕΧΟΜΕΝΑ 1. Η ΕΞΕΛΙΞΗ ΤΩΝ ΓΛΩΣΣΩΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 1.1. Γλώσσες Μηχανής 1.2. Συμβολικές γλώσσες ή γλώσσες χαμηλού επιπέδου 1.3. Γλώσσες υψηλού επιπέδου 1.4. Πλεονεκτήματα των γλωσσών υψηλού επιπέδου 1.5. Γλώσσες 4ης γενιάς 1.6. Ταξινόμηση γλωσσών προγραμματισμού 2. INTERNET ΚΑΙ WORLD WIDE WEB 2.1. Η εξέλιξη του Internet 2.2. Οι υπηρεσίες του Internet 2.3. Το World Wide Web (WWW) Ο Παγκόσμιος Ιστός 2.4. Η αρχιτεκτονική πελάτη εξυπηρετητή (client server) και το WWW 2.5. Uniform Resource Locator (URL) Ομοιόμορφος Εντοπιστής Πόρου 2.6. Οι World Wide Web Browsers 2.7. Ορισμός της HTML 2.8. Τμήματα ενός HTML εγγράφου 2

3 3. ΙΣΤΟΣΕΛΙΔΕΣ ΔΥΝΑΜΙΚΟΥ ΠΕΡΙΕΧΟΜΕΝΟΥ 3.1. Η εξέλιξη των ιστοσελίδων δυναμικού περιεχομένου 3.2. Το CGI ( Common Gateway Interface Κοινή Διασύνδεση Πύλης) 3.3. Η λειτουργία του CGI 3.4. Η απλή αλληλεπίδραση Εξερευνητή Εξυπηρετητή (Browser Server) 3.5. Η εκτέλεση των CGI προγραμμάτων στον εξυπηρετητή 3.6. Η εκτέλεση ενός CGI προγράμματος μέσω μιας HTML φόρμας 3.7. Μέθοδοι κλήσης προς τον εξυπηρετητή 4. Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ScriptC 4.1. Τεχνολογία και περιβάλλον ανάπτυξης 4.2. Διαδικασία εκτέλεσης ενός αρχείου 4.3. Χαρακτηριστικά της γλώσσας 4.4. Τελεστές και προτεραιότητα 4.5. Εντολές 4.6. Built-In Συναρτήσεις 4.7. Συναρτήσεις 4.8. Χειρισμός εξαιρέσεων κατά την διάρκεια εκτέλεσης 4.9. Συνδεσιμότητα με βάσεις δεδομένων 5. ΒΙΒΛΙΟΓΡΑΦΙΑ 3

4 1. Η ΕΞΕΛΙΞΗ ΤΩΝ ΓΛΩΣΣΩΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 1.1 Γλώσσες Μηχανής Ο ηλεκτρονικός υπολογιστής (Η/Υ) άνοιξε το δρόμο για την αυτοματοποίηση εργασιών που επεξεργάζονται δεδομένα (data processes), πράγμα που ήταν το όνειρο πολλών γενεών ανθρώπων. Όπως κατασκευάζεται σήμερα, ο Η/Υ μπορεί να αυτοματοποιεί την εκτέλεση τέτοιων εργασιών αν του δοθεί μια περιγραφή τους, που ονομάζεται πρόγραμμα, σε μια κατάλληλη γλώσσα, που ονομάζεται γλώσσα προγραμματισμού. Αρχικά για να μπορέσει ο υπολογιστής να εκτελέσει μία οποιαδήποτε λειτουργία, έπρεπε να δοθούν κατευθείαν οι κατάλληλες ακολουθίες από 0 και 1, δηλαδή εντολές σε μορφή κατανοητή από τον υπολογιστή αλλά πολύ δύσκολα κατανοητές από τον άνθρωπο. Ο τρόπος αυτός ήταν επίπονος και ελάχιστοι μπορούσαν να τον υλοποιήσουν, αφού απαιτούσε βαθιά γνώση του υλικού και της αρχιτεκτονικής του υπολογιστή. Οι εντολές που δέχεται ένας υπολογιστής μετατρέπονται σε ακολουθίες που αποτελούνται από 0 και 1, γίνονται δηλαδή εντολές σε γλώσσα μηχανής όπως ονομάζονται, έτσι ώστε να γίνουν κατανοητές από τον υπολογιστή και στη συνέχεια να μπορέσει να τις εκτελέσει. Η μόνη γλώσσα προγραμματισμού που μπορεί να εκτελεί τυφλά ο Η/Υ είναι η γλώσσα μηχανής του, η οποία όμως είναι πολύ χαμηλού επιπέδου και επομένως δύσχρηστη. Για να εκτελεστεί ένα πρόγραμμα πρέπει να γραφεί σ' αυτή τη γλώσσα, αυτό όμως είναι ένα εξαιρετικά δύσκολο εγχείρημα. Τόσο δύσκολο που πρακτικά η συγγραφή και συντήρηση μεγάλων προγραμμάτων σε γλώσσα μηχανής είναι σχεδόν αδύνατη. 1.2 Συμβολικές γλώσσες ή γλώσσες χαμηλού επιπέδου Από τα πρώτα χρόνια άρχισαν να γίνονται προσπάθειες για τη δημιουργία μιας συμβολικής γλώσσας, η οποία ενώ θα έχει έννοια για τον άνθρωπο θα μετατρέπεται εσωτερικά από τους υπολογιστές στις αντίστοιχες ακολουθίες από 0 και 1. Για παράδειγμα η λέξη ADD (πρόσθεσε) ακολουθούμενη από δυο αριθμούς, είναι κατανοητή από τον άνθρωπο και απομνημονεύεται σχετικά εύκολα. Η εντολή αυτή θα μεταφραστεί από τον υπολογιστή σε μία ακολουθία δυαδικών ψηφίων και στη 4

5 συνέχεια μπορεί να εκτελεστεί. Το έργο της μετάφρασης το αναλαμβάνει ένα ειδικό πρόγραμμα, ο συμβολομεταφραστής (assembler). 1.3 Γλώσσες υψηλού επιπέδου Οι ανεπάρκειες των συμβολικών γλωσσών και η προσπάθεια για καλύτερη επικοινωνία ανθρώπου μηχανής οδήγησαν στα τέλη της δεκαετίας του 50 στην εμφάνιση των πρώτων γλωσσών προγραμματισμού υψηλού επιπέδου. Το 1957 η IBM ανάπτυξε την πρώτη γλώσσα υψηλού επιπέδου τη FORTRAN. Το όνομα FORTRAN προέρχεται από τις λέξεις FORmula TRANslation που σημαίνουν μετάφραση τύπων. Η FORTRAN αναπτύχθηκε ως γλώσσα κατάλληλη για την επίλυση μαθηματικών και επιστημονικών προβλημάτων. Το 1960 αναπτύχθηκε μία άλλη γλώσσα, σταθμός στον προγραμματισμό η γλώσσα COBOL. Η COBOL όπως δηλώνει και το όνομα της (COmmon Business Oriented Language-Κοινή γλώσσα προσανατολισμένη στις επιχειρήσεις) είναι κατάλληλη για ανάπτυξη εμπορικών εφαρμογών, και γενικότερα διαχειριστικών εφαρμογών, τομέας όπου η FORTRAN υστερούσε. Μια από τις σημαντικότερες γλώσσα προγραμματισμού με ελάχιστη πρακτική εφαρμογή αλλά που επηρέασε ιδιαίτερα τον προγραμματισμό και τις επόμενες γλώσσες είναι η ALGOL (Algorithmic Language-Αλγοριθμική γλώσσα). Στο χώρο της Τεχνητής Νοημοσύνης αναπτύχθηκαν δυο γλώσσες διαφορετικές από τις άλλες. Στα μέσα του 60 αναπτύχθηκε η LISP (LISt Processor- Επεξεργαστής λίστας), γλώσσα η οποία προσανατολίζεται σε χειρισμό λιστών από τα σύμβολα και η PROLOG (PROgramming LOGic- Λογικός Προγραμματισμός) στις αρχές του 70. Δύο σημαντικότατες γλώσσες γενικού σκοπού, οι οποίες αναπτύχθηκαν τη δεκαετία του 60 αλλά χρησιμοποιούνται πάρα πολύ στις ημέρες μας, είναι η BASIC και η PASCAL. 5

6 Η γλώσσα προγραμματισμού BASIC (Beginner s All Purpose Symbolic Code- Συμβολικός Κώδικας Εντολών Γενικής Χρήσης για Αρχάριους) αρχικά αναπτύχθηκε, όπως δηλώνει και το όνομα της, ως γλώσσα για την εκπαίδευση αρχαρίων στον προγραμματισμό. Σχεδιάστηκε για να γράφονται σύντομα προγράμματα, τα οποία εκτελούνται με τη βοήθεια διερμηνευτή (interpreter). Η γλώσσα PASCAL έφερε μεγάλες αλλαγές στον προγραμματισμό. Παρουσιάστηκε το 1970 και στηρίχθηκε πάνω στην ALGOL. Είναι μια γλώσσα γενικής χρήσης, η οποία είναι κατάλληλη τόσο για την εκπαίδευση όσο και τη δημιουργία ισχυρών προγραμμάτων κάθε τύπου. Χαρακτηριστικό της γλώσσας είναι η καταλληλότητα για τη δημιουργία δομημένων προγραμμάτων. Μία ακόμη γλώσσα που γνώρισε μεγάλη διάδοση είναι η γλώσσα C. Η C χρησιμοποιήθηκε για την ανάπτυξη του λειτουργικού συστήματος Unix. Γλώσσα με ισχυρά χαρακτηριστικά, μερικά από αυτά κοινά με την Pascal κατάλληλη για την ανάπτυξη δομημένων εφαρμογών αλλά και με πολλές δυνατότητες γλώσσας χαμηλού επιπέδου. Η C εξελίχτηκε στη γλώσσα C++, που είναι αντικειμενοστραφής. Τα τελευταία χρόνια χρησιμοποιείται ιδιαίτερα, ειδικά για προγραμματισμό στο Διαδίκτυο (Internet), η JAVA. Η JAVA είναι μια αντικειμενοστραφής γλώσσα που αναπτύχθηκε από την εταιρία SUN με σκοπό την ανάπτυξη εφαρμογών, που θα εκτελούνται σε κατανεμημένα περιβάλλοντα, δηλαδή σε διαφορετικούς υπολογιστές οι οποίοι είναι συνδεδεμένοι με το Διαδίκτυο. 1.4 Πλεονεκτήματα των γλωσσών υψηλού επιπέδου Στα πλεονεκτήματα των γλωσσών προγραμματισμού υψηλού επιπέδου σε σχέση με τις συμβολικές μπορούν να αναφερθούν: 6

7 Ο φυσικότερος και πιο «ανθρώπινος» τρόπος έκφρασης των προβλημάτων. Τα προγράμματα σε γλώσσα υψηλού επιπέδου είναι πιο κοντά στα προβλήματα που επιλύουν. Η ανεξαρτησία από τον τύπο του υπολογιστή. Προγράμματα σε μία γλώσσα υψηλού επιπέδου μπορούν να εκτελεστούν σε οποιονδήποτε υπολογιστή με ελάχιστες ή καθόλου μετατροπές. Η δυνατότητα της μεταφερσιμότητας των προγραμμάτων είναι σημαντικό προσόν. Η ευκολία της εκμάθησης και εκπαίδευσης ως απόρροια των προηγούμενων. Η διόρθωση λαθών και η συντήρηση προγραμμάτων σε γλώσσα υψηλού επιπέδου είναι πολύ ευκολότερο έργο. Συνολικά οι γλώσσες υψηλού επιπέδου ελάττωσαν σημαντικά το χρόνο και το κόστος παραγωγής νέων προγραμμάτων, αφού λιγότεροι προγραμματιστές μπορούν σε μικρότερο χρόνο να αναπτύξουν προγράμματα που χρησιμοποιούνται σε περισσότερους υπολογιστές Γλώσσες 4ης γενιάς Στις γλώσσες αυτές ο χρήστης ενός υπολογιστή έχει τη δυνατότητα σχετικά εύκολα να υποβάλει ερωτήσεις στο σύστημα ή να αναπτύσσει εφαρμογές που ανακτούν πληροφορίες από βάσεις δεδομένων και να καθορίζει τον ακριβή τρόπο εμφάνισης αυτών των πληροφοριών. Μια τέτοια γλώσσα είναι η SQL τα αρχικά της οποίας σημαίνουν Structured Query Language. 1.6 Ταξινόμηση γλωσσών προγραμματισμού Όλες οι γλώσσες προγραμματισμού που έχουν αναπτυχθεί μέχρι σήμερα, αντιπροσωπεύουν διάφορες ιδέες πάνω στον προγραμματισμό και η κάθε μία είναι συνήθως καλύτερα προσαρμοσμένη σε ορισμένες κατηγορίες προβλημάτων. Η μεγάλη πλειοψηφία των γλωσσών ανήκει στην κατηγορία των διαδικασιακών (procedural) γλωσσών. Είναι γνωστές επίσης και ως αλγοριθμικές γλώσσες, γιατί είναι σχεδιασμένες για να επιτρέπουν την υλοποίηση αλγορίθμων. Άλλες κατηγορίες γλωσσών υψηλού επιπέδου είναι: Αντικειμενοστραφείς γλώσσες (object-oriented languages). 7

8 Συναρτησιακές γλώσσες (functional languages) π.χ LISP. Μη διαδικασιακές γλώσσες (non procedural languages) π.χ PROLOG. Χαρακτηρίζονται επίσης ως γλώσσες πολύ υψηλού επιπέδου. Γλώσσες ερωταπαντήσεων (query languages) π.χ SQL. Μια άλλη ταξινόμηση που μπορεί να προκύψει με βάση την περιοχή χρήσης. Με αυτό το κριτήριο διακρίνουμε: Γλώσσες γενικής χρήσης. Θεωρητικά κάθε γλώσσα γενικής χρήσης μπορεί να χρησιμοποιηθεί για την επίλυση οποιουδήποτε προβλήματος. Στην πράξη ωστόσο κάθε γλώσσα έχει σχεδιαστεί για να ανταποκρίνεται καλύτερα σε ορισμένη κατηγορία προβλημάτων Γλώσσες επιστημονικής κατεύθυνσης (science oriented languages) π.χ FORTRAN Γλώσσες εμπορικής κατεύθυνσης (business-oriented language) π.χ COBOL Ας σημειωθεί ότι ορισμένες γλώσσες τα καταφέρνουν εξίσου καλά και στους δυο προηγούμενους τομείς π.χ BASIC, Pascal Γλώσσες προγραμματισμού συστημάτων (system programming languages) π.χ C. Γλώσσες τεχνητής νοημοσύνης (artificial intelligence languages) π.χ LISP, PROLOG Γλώσσες ειδικής χρήσης. Πρόκειται για γλώσσες που χρησιμοποιούνται σε ειδικές περιοχές εφαρμογών όπως π.χ στα γραφικά με υπολογιστή, στη ρομποτική, στη σχεδίαση ολοκληρωμένων κυκλωμάτων, στα Συστήματα Διοίκησης Βάσεων Δεδομένων, στην εκπαίδευση μέσο υπολογιστή κ.α. Η μετάβαση από την συγγραφή προγραμμάτων για υπολογιστές από γλώσσα μηχανής στην χρήση γλωσσών υψηλού επιπέδου δεν έγινε αμέσως. Αρχικά οι γλώσσες υψηλού επιπέδου δεν προσέφεραν πολλές δυνατότητες και η πραγματική τους διαφορά από την συμβολική γλώσσα (assembly) δεν ήταν και πολύ μεγάλη. Η ανάγκη για την συγγραφή πιο δομημένων προγραμμάτων επέφερε την προσθήκη ενός βασικότατου πλέον χαρακτηριστικού στις γλώσσες υψηλού επιπέδου: Την δυνατότητα δημιουργίας υποπρογραμμάτων (ρουτινών) μέσα στο ίδιο το πρόγραμμα, όπου θα μπορούσαν να υπάρχουν αλγόριθμοι παραμετροποιήσιμοι και ο 8

9 προγραμματιστής να μπορεί να ζητά την εκτέλεση αυτών των ρουτινών όταν αυτό ήταν απαραίτητο, χωρίς να ξαναγράφει τον αλγόριθμο. Το στάδιο αυτό ονομάστηκε δομημένος προγραμματισμός και το κύριο χαρακτηριστικό του ήταν η δυνατότητα επαναχρησιμοποίησης τμημάτων προγραμμάτων, η δημιουργία δηλαδή βιβλιοθηκών. Με τον καιρό οι ανάγκες για λογισμικό έγιναν πιο απαιτητικές και έτσι δημιουργήθηκε ένα νέο χαρακτηριστικό το οποίο υιοθετούν μέχρι και σήμερα οι γλώσσες προγραμματισμού: Τον σχεδιασμό και την χρήση αντικειμένων για την διεκπεραίωση των προγραμμάτων. Η δυνατότητα αυτή έρχεται να δώσει λύση σε πολύ πιο σύνθετα και μεγαλύτερα προβλήματα και η ανάπτυξη λογισμικού γίνεται πιο δομημένη και ιεραρχημένη από ποτέ. Το στάδιο αυτό ονομάζεται αντικειμενοστραφής προγραμματισμός. Η τεχνική αυτή δεν έχει αλλάξει μέχρι και σήμερα. 2. INTERNET ΚΑΙ WORLD WIDE WEB 2.1. Η εξέλιξη του Internet Το Internet αποτελείται από μερικά εκατομύρια διάσπαρτων σε όλον τον κόσμο υπολογιστών διασυνδεδεμένων μεταξύ τους με υψηλής χωρητικότητας γραμμές ή και δορυφορικές συνδέσεις. Ξεκίνησε στα τέλη της δεκαετίας του 60 ως ένα πείραμα του Αμερικάνικου στρατού, ο οποίος ήθελε να φτιάξει ένα ισχυρότατο τηλεπικοινωνιακό δίκτυο, το οποίο δε θα είχε κέντρο, αλλά κάθε κόμβος θα αποτελούσε ένα αυτόνομο κέντρο. Το δίκτυο άρχισε να λειτουργεί πειραματικά το 1969με εννιά κόμβους, που συνέδεε αντίστοιχο αριθμό ερευνητικών κέντρων, και γρήγορα εξαπλώθηκε σε όλη την Αμερικάνικη ήπειρο. Το 1973 το επονομαζόμενο ARPANET απέκτησε κόμβους στη Βρετανία και τη Νορβηγία. Παράλληλα όμως οι χρήστες του, στη συντριπτική τους πλειοψηφία επιστήμονες, άρχισαν να βρίσκουν άλλες χρήσεις του δικτύου πέρα από την αρχική του. Μία από αυτές ήταν η ανταλλαγή απόψεων για θέματα άσχετα της επιστήμης μέσω του ηλεκτρονικού ταχυδρομείου. Η πρακτική αυτή άρχισε να εξαπλώνεται και το δίκτυο να αποκτά όλο και πιο κοσμικό χαρακτήρα. Από το 1983 το ARPANET γίνεται σιγά σιγά Internet και παίρνει τη μορφή με την οποία είναι πλέον γνωστό σε όλους. Το παγκόσμιο 9

10 δίκτυο τείνει να γίνει το Μέσο των Μέσων Επικοινωνίας. Μπορεί κανείς να διαβάσει εφημερίδες, περιοδικά και βιβλία μέσα από αυτό. Μπορεί να δει video, να στείλει και να πάρει ηλεκτρονικά γράμματα. Μπορεί επίσης να δει και να παραγγείλει διάφορα προϊόντα. Μπορεί ακόμα να τηλεφωνήσει σε οποιοδήποτε μέρος του κόσμου. Όλες αυτές οι λειτουργίες γίνονταν μέχρι σήμερα από διαφορετικά μέσα, εργαλεία και φορείς. Σήμερα ένας υπολογιστής με πρόσβαση στο Internet μπορεί να τις υποκαταστήσει μερικώς και ίσως στο μέλλον να τις αποκαταστήσει πλήρως, μιας και η απόδοση σε όλες τις λειτουργίες βελτιώνεται καθημερινά Οι υπηρεσίες του Internet Οι υπηρεσίες που προσφέρει το Internet στους χρήστες του έχουν προς το παρόν διαχωρισθεί σε έντεκα κατηγορίες, τις ακόλουθες: Ηλεκτρονικό Ταχυδρομείο (Electronic mail): Μια υπηρεσία που διαφέρει ελάχιστα από τη συμβατική διακίνηση επιστολών. Το μόνο που είναι απαραίτητο είναι μια ηλεκτρονική διεύθυνση μοναδική για κάθε χρήστη συνδεδεμένο στο Internet και έτσι μπορεί να γίνει η αποστολή και λήψη μηνυμάτων σε ελάχιστα δευτερόλεπτα καλύπτωντας τεράστιες χιλιομετρικές αποστάσεις. Usenet Newsgroups: Ένα είδος ηλεκτρονικής διάσκεψης με περισσότερα από θέματα, που περιλαμβάνει groups αφιερωμένα στην επιστήμη, στη διασκέδαση, στον πολιτισμό, στη φιλοσοφία κ.ο.κ. Εδώ ο καθένας μπορεί να διαβάσει ένα οποιοδήποτε θέμα και να προσθέσει τα δικά του σχόλια.. Mailing lists: Λίστες χρηστών στους οποίους στέλνονται ομαδικά μηνύματα σχετικά με κάποιο συγκεκριμένο θέμα.. Πρωτόκολλο Μεταφοράς Αρχείων (FTP): Ο πλέον διαδεδομένος τρόπος μεταφοράς αρχείων στο Internet. Ο χρήστης, καλώντας ένα από τα χιλιάδες sites ανά τον κόσμο που υποστηρίζει ο anonymous ftp, είναι σε θέση να κατεβάσει στον υπολογιστή Terabytes αρχείων. Archie: Μια τεράστια βάση δεδομένων όπου καταχωρούνται τα περιεχόμενα των μεγαλύτερων και δημοφιλέστερων FTP sites και η οποία επιτρέπει σε οποιονδήποτε χρήστη να εκτελέσει αναζητήσεις με βάση κάποια έκφραση αναζήτησης. 10

11 Telnet: Μια από τις ουσιαστικότερες υπηρεσίες του διαδικτύου, που επιτρέπει τη σύνδεση με έναν απομακρυσμένο υπολογιστή τον οποίο ο χρήστης μπορεί να χρησιμοποιήσει σα να έχει συνδεθεί άμεσα με αυτόν. Έτσι έχει απευθείας πρόσβαση σε εκατομμύρια αρχεία και άμεση υπολογιστική ισχύ. Internet Relay Chat (IRC): Ένα εργαλείο που επιτρέπει τη συνομιλία των ανθρώπων από όλο τον κόσμο για ανταλλαγή απόψεων, αλλά κυρίως για διασκέδαση. Gopher: Ένα client server σύστημα χαρακτηριστικό για τη μοναδικότητά του να επιτρέπει στο χρήστη την περιήγηση μέσα στο Internet με τη βοήθεια φιλικών menu. Έτσι, ο χρήστης έχει τη δυνατότητα να συναντήσει πάρα πολλά θέματα και να διαβάσει, να μεταφέρει και να αποθηκεύσει όποιο αρχείο επιθυμεί. Veronica: Ένα πρόγραμμα το οποίο δεν είναι standalone, αλλά συναντάται ως επιλογή σε πολλούς από τους gopher servers. Χρησιμοποιείται για την εύρεση της απαιτούμενης πληροφορίες σε οποιονδήποτε Gopher server και για τη διαπίστωση του αν αυτή είναι αποθηκευμένη. WAIS (Wide Areas Information Servers): Ένα ακόμα εργαλείο για αναζήτηση του πραγματικού κειμένου ενός αρχείου ή πλήθους αρχείων. Λειτουργεί με επαναληπτικές αφαιρέσεις παραγράφων κειμένου από αρχεία λιστών μέχρις ότου να πλησιάσει αρκετά στην επιλογή του χρήστη. World Wide Web (WWW): Η πιο διαδεδομένη και φιλική προς το χρήστηυπηρεσία του δικτύου, η οποία χρησιμοποιεί hypertext (υπερκείμενα), που είναι συνδεδεμένα μέσω links (συνδεσμων) με τα μεγαλύτερα sites του εξωτερικού και έτσι μπορούν να κάνουν άμεση τη ροή πληροφοριών ανάμεσα σε απομακρυσμένους υπολογιστές Το World Wide Web (WWW) Ο Παγκόσμιος Ιστός Είναι σίγουρο ότι αν δεν υπήρχε το World Wide Web (στο εξής θα αναφέρεται ως WWW ή παγκόσμιος Ιστός), το Internet δε θα γνώριζε ποτέ την τεράστια ανάπτυξη που έχει τα τελευταία χρόνια. Αυτή τη στιγμή υπάρχει ένα τεράστιο ποσό πληροφορίας άμεσα προσπελάσιμο μέσω αυτού. Η δύναμη του WWW έγκειται στο γεγονός ότι η άντληση πληροφοριών και η περιήγηση στο δίκτυο επιτυγχάνεται με 11

12 ένα απλό πάτημα του ποντικιού. Επίσης, τα εργαλεία αναζήτησης πληροφοριών, που είναι μέρος του WWW, μετά από την επιλογή των κατάλληλων λέξεων κλειδιά (keywords) από το χρήστη κάνουν την άντληση πληροφοριών ακόμη πιο ανθρωποκεντρική. Και όλα τα παραπάνω πραγματοποιούνται μέσα από εντυπωσιακά και υψηλής αισθητικής πολλές φορές γραφικά περιβάλλοντα που κάνουν το μέσο χρήστη να μην αισθάνεται φόβο να περιηγηθεί στο δίκτυο. Η κεντρική ιδέα βασίζεται στο ότι οι πληροφορίες είναι δομημένες ή ενσωματωμένες σε hypertext κείμενα (υπερκείμενα). Τα hypertext κείμενα είναι απλά αρχεία κειμένου (δηλαδή αρχεία ASCII) που περιέχουν εκτός από απλό κέιμενο και hypertext links, δηλαδή συνδέσμους που οδηγούν σε άλλα αρχεία hypertext κειμένου τα οποία με τη σειρά τους οδηγούν μέσω άλλων hypertext links σε άλλα hypertext κείμενα, κ.ο.κ. Γίνεται λοιπόν εύκολα κατανοητό γιατί το παγκόσμιο πρότυπο αυτό της οργάνωσης πληροφοριών ονομάστηκε World Wide Web, δηλαδή Παγκόσμιος Ιστός. Τα hypertext αρχεία που είναι δομικό στοιχείο του WWW δημιουργούνται μέσω κατάλληλης γλώσσας μορφοποίησης κειμένου, που ονομάζεται HTML (Hypertext Markup Language Γλώσσα Χαρακτηρισμού Σήμανσης Υπερκειμένου). Το μεγαλύτερο πλεονέκτημα του WWW είναι ότι βασιζόμενο στο πρωτόκολλο HTTP και έξυπνες εφαρμογές Server και Client, πέρα από απλά κείμενα, μπορεί να παρέχει εικόνες, ήχο ακόμα και video. Οι multimedia δυνατότητες λοιπόν, παρά τις δυσκολίες που υπάρχουν λόγω των χαμηλών ταχυτήτων των δικτύων ευρείας περιοχής, το κάνουν ιδανικό και για άλλες εφαρμογές που απαιτούν παροχή σύνθετων πληροφοριών όπως π.χ. στο χώρο της εκπαίδευσης, του τουρισμού κ.ά Η αρχιτεκτονική πελάτη εξυπηρετητή (client server) και το WWW Το WWW είναι στην πραγματικότητα ένας συνδυασμός μια συνεργασία δύο προγραμμάτων που έχουν αρχιτεκτονική πελάτη εξυπηρετητή. Το πρόγραμμα που είναι πελάτης (client) κάτω από τις οδηγίες του χρήστη ζητάει από τον εξυπηρετητή (server) κάποιο υπερκείμενο (hypertext), δηλαδή κάποιο URL (Uniform Resource Locator Μοναδιαία Θέση Πόρου). Ο server που είναι υπεύθυνος για το URL που ζητήθηκε, μεταδίδει την όλη πληροφορία στο client πρόγραμμα μέσω του δικτύου και το client πρόγραμμα είναι υπεύθυνο για την απεικόνιση της πληροφορίας αυτής. 12

13 Η όλη αυτή διαδικασία ακολουθεί κάποιος συγκεκριμένους κανόνες, ένα πρωτοκόλλο. Είναι σύμφωνη με το Hypertext Transfer Protocol (HTTP). Το client πρόγραμμα είναι συνήθως εγκατεστημένο στον προσωπικό υπολογιστή του χρήστη και λέγεται Web Browser ή Web Client ενώ το πρόγραμμα που παίζει το ρόλο του server είναι εγκατεστημένο στους διάφορους υπολογιστές του δικτύου και λέγεται Web Server ή Httpd (Hypertext Transfer Protocol Daemon). Υπάρχουν περιπτώσεις που ο Web Client και ο Web Server είναι εγκατεστημένοι στο ίδιο μηχάνημα Uniform Resource Locator (URL) Ομοιόμορφος Εντοπιστής Πόρου Το URL είναι ένα πρότυπο που χρησιμοποιείται στο WWW για τη σύνταξη ης διεύθυνσης κάθε αντικειμένου στο Internet. Κάθε hypertext link σε ένα hypertext κείμενο αντιστοιχεί σε κάποιο URL και κάθε αντικείμενο πληροφορία στο Internet έχει τουλάχιστον ένα URL. Μπορεί να είναι κάποιο απλό αρχείο hypertext στατική πληροφορία) ή ακόμα και το αποτέλεσμα μιας αναζήτησης σε κάποια βάση δεδομένων (δυναμική πληροφορία). Ακολουθώντας το πρότυπο αυτό, το WWW ενοποιεί (στην πραγματικότητα οργανώνει, συνδέει) όλες τις άλλες υπηρεσίες του Internet όπως Gopher, Mail, Ftp, Telnet και News. Το URL περιέχει πληροφορίες για την Internet διεύθυνση του υπολογιστή που παρέχει την πληροφορία, τον τύπο της υπηρεσίας (δηλαδή το είδος του πρωτοκόλλου) από την οποία εξυπηρετείται η πληροφορία (π.χ. Http, gopher κ.ο.κ.), τη θέση του αντικειμένου και το Internet port. Η γενική σύνταξη κάποιου URL έχει τη γενική μορφή: service://host:port/file_location, όπου service Κάποιο από τα γνωστά πρωτόκολλα προγράμματα του Internet όπως http, ftp, gopher, mail, telnet, news, wais και mail. host Η Internet διεύθυνση του υπολογιστή που είναι υπεύθυνο για το συγκεκριμένο URL. port Η Internet πόρτα. Είναι υποχρεωτικό εάν το URL δεν αντιστοιχεί στην προκαθορισμένη (default) πόρτα σύμφωνα με το πρωτόκολλό του (συνήθως υπάρχει σε telnet URLs). file_location Η θέση στην οποία βρίσκεται το συγκεκριμένο αρχείο. 13

14 Στον παρακάτω πίνακα παρατίθενται παραδείγματα όλων των ειδών URLs: Είδος URL Γενική Μορφή Σύνταξης Παράδειγμα http URL gopher URL gopher://host:port/file_location gopher://gopher.forthnet.gr:70/ ftp URL ftp://host:port/file_location ftp://ftp.uom.gr/ news URL news:news.group news:comp.os.linux.misc mail URL Είναι προφανές ότι τα mail και τα news URLs δεν ακολουθούν όσον αφορά τη σύνταξή τους τη γενική μορφή σύνταξης. Θα πρέπει επίσης να σημειωθεί ότι υπάρχουν σπάνιες περιπτώσεις που hypertext κείμενα γίνονται αντικείμενο διαχείρισης και από το ftp Οι World Wide Web Browsers Οι World Wide Web Browsers είναι λογισμικά ειδικού τύπου που αναγνωρίζουν και απεικονίζουν έγγραφα γραμμένα στη γλώσσα HTML. Επίσης μπορούν να απεικονίζουν HTML φόρμες οι οποίες επιτρέπουν την εισαγωγή δεδομένων από τους χρήστες. Οι browsers χρησιμοποιώντας αυτές τις φόρμες μπορούν να συλλέγουν και να απεικονίζουν πληροφορίες. Οι WWW Browsers μπορούν να προσπελάσουν πολλά υπάρχοντα συστήματα δεδομένων, μέσω υπαρχόντων πρωτοκόλλων (FTP, NNTP) ή μέσω του HTTP και μιας πύλης (gateway). Μ αυτόν τον τρόπο, η κρίσιμη μάζα της πληροφορίας επεκτείνεται γρήγορα και η αυξανόμενη χρήση του συστήματος, έχει ως αποτέλεσμα την παροχή όλο και περισσότερης πληροφορίας. Το πρωτόκολλο HTTP επεκτείνεται συνεχώς για να αποκτήσει ακόμα περισσότερες δυνατότητες. Όπου υπάρχουν χρησιμοποιούνται κάποια πρότυπα, όπως είναι το SGML (Standard Generalized Markup Language) για το μοντέλο του Hypertext ή το MIME (Multipurpose Internet Mail Extensions) για την καταχώρηση των τύπων των αρχείων. 14

15 2.7. Ορισμός της HTML Είναι μια γλώσσα κατανοητή από όλους του υπολογιστές παγκοσμίως, η οποία χρησιμοποιείται για δημοσίευση (κοινοποίηση) πληροφορίας σε παγκόσμιο επίπεδο. Η HTML δίνει τη δυνατότητα στους συγγραφείς των ιστοσελίδων να: Δημοσιεύουν ηλεκτρονικά έγγραφα με επικεφαλίδες, κείμενο, πίνακες, λίστες, φωτογραφίες, κτλ. Ανακτούν ηλεκτρονική πληροφορία μέσω συνδέσμων υπερκειμένων (hypertext links) με το πάτημα ενός πλήκτρου. Σχεδιάζουν φόρμες για να διαχειρίζονται συναλλαγές με απομακρυσμένες υπηρεσίες, για να βρίσκουν κάποια πληροφορία, για να κάνουν κρατήσεις, για να παραγγείλουν ένα προϊόν, κτλ. Συμπεριλαμβάνουν λογιστικά φύλλα, clips ήχου και εικόνας καθώς και ποικίλες άλλες εφαρμογές απευθείας στα έγγραφά τους Τμήματα ενός HTML εγγράφου Ένα έγγραφο HTML αποτελείται από 3 μέρη: a) Από μια γραμμή που περιέχει πληροφορία σχετικά με την έκδοση της HTML. b) Από μια επεξηγηματική επικεφαλίδα (η οποία βρίσκεται μέσα στο HEAD). Το HEAD περιλαμβάνει πληροφορία σχετικά με το συγκεκριμένο κείμενο, όπως είναι ο τίτλος, λέξεις κλειδιά που χρειάζονται στις μηχανές αναζήτησης και άλλα δεδομένα που δε θεωρούνται περιεχόμενο του εγγράφου. Συγκεκριμένα, συντάσσεται ως εξής: <HEAD> </HEAD>. c) Το κυρίως μέρος (σώμα), το οποίο περιλαμβάνει το πραγματικό περιεχόμενο του εγγράφου. Αποτελείται είτε από το στοιχείο BODY (π.χ. <BODY> </BODY>), είτε από το στοιχείο FRAMESET. Το κυρίως μέρος του εγγράφου περιέχει το περιεχόμενο του εγγράφου, το οποίο μπορεί να παρουσιατεί με ποικίλους τρόπους, όπως π.χ. κείμενο, εικόνες, χρώματα και γραφικά. Το FRAMESET καθορίζει το στήσιμο (σελιδοποίηση) του βασικού παραθύρου σε μορφή ορθογωνίων σχημάτων. 15

16 3. ΙΣΤΟΣΕΛΙΔΕΣ ΔΥΝΑΜΙΚΟΥ ΠΕΡΙΕΧΟΜΕΝΟΥ 3.1. Η εξέλιξη των ιστοσελιδών δυναμικού περιεχομένου Από την στιγμή της εμφάνισης της υπηρεσίας WWW δημιουργήθηκε η ανάγκη για αλληλεπίδραση των ιστοσελιδών με τους χρήστες. Αρχικά τα περιεχόμενα των σελιδών ήταν στατικά. Ο χρήστης μπορούσε να δει τις πληροφορίες που περιείχε μια σελίδα, τα οποία όμως για να αλλάξουν απαιτούσαν από τον υπεύθυνο του site να ξαναγράψει την σελίδα με ανανεωμένο περιεχόμενο. Αυτό δεν ήταν καθόλου πρακτικό, αφού κατά κύριο λόγο το καθε site χρειάζεται ανανέωση μόνο στα περιεχόμενά του και όχι στο εικαστικό του μέρος. Έπρεπε δηλαδή να βρεθεί ένας τρόπος κατά τον οποίο τα περιεχόμενα των ιστοσελιδών θα γινόταν δυναμικά, ανακτώμενα π.χ. από ένα σύστημα βάσεως δεδομένων, όπου θα ήταν πιο εύκολο για τον συντηρητή του site να τα μεταβάλει όποτε αυτό είναι αναγκαίο. Τέτοια παραδείγματα είναι site όπου δημοσιεύουν ειδήσεις ή τα προϊόντα ενός καταστήματος. Είναι προφανές ότι τα δεδομένα αυτά αλλάζουν διαρκώς και έτσι οι σελίδες που τα φιλοξενούν θα πρέπει να είναι σε θέση να τα ανακτούν όποτε αυτά αλλάζουν, χωρίς να είναι απαραίτητη καμία αλλαγή στα ίδια τα αρχεία των ιστοσελιδών. Επιπλέον δεν δινόταν η δυνατότητα στον χρήστη να αλληλεπιδρά με ένα Web Site. Για παράδειγμα να μπορεί ο χρήστης να αποστέλει στοιχεία του (π.χ. για την δημιουργία μιας online ατζέντας, παραμετροποιήσιμη για κάθε χρήστη) ή να αιτείται υπηρεσίες (όπως αγοραπωλησία προϊόντων). Έτσι δημιουργήθηκαν Web Servers με δυνατότητες επέκτασης των δυνατοτήτων τους. Αρχικά αυτό γινόταν μόνο με την βοήθεια script, που έγραφαν προγραμματιστές και έκαναν λειτουργίες που αφορούσαν την συγκερκριμένη σελίδα για την οποία γράφτηκαν (π.χ. αποθήκευση στοιχείων που έστειλε ένας χρήστης σε μία βάση δεδομένων). Αυτή η τεχνολογία ονομάζεται Common Gateway Interface και θα την αναλύσουμε πιο κάτω. Στην συνέχεια τα scripts εξελίχθηκαν σε γλώσσες προγραμματισμού, όπου η κάθε σελίδα πλέον περιέχει κώδικα που εκτελεί ο Web Server πριν αποστείλει την σελίδα στον χρήστη. Έτσι οι δυνατότητες των σημερινών ιστοσελιδών είναι πραγματικά απεριόριστες και μπορούν να δώσουν λύση σε οποιαδήποτε ανάγκη παρουσιάζεται. Αυτό άνοιξε το δρόμο για πραγματικά δυναμικό περιεχόμενο στα site και 16

17 επεξεργασία των αιτήσεων ενός χρήστη γρήγορα και εύκολα. Πλέον τα site μπορούν να παραμετροποιούνται κατά την επιθυμία ενός χρήστη, να ανανεώνονται συνεχώς και ανοίγουν νέους ορίζοντες για το ηλεκτρονικό εμπόριο και επιχειρείν. Παραδείγματα τέτοιων γλωσσών προγραμματισμού είναι η PHP και η εφάμιλη ASP, καθώς και οι πιο εξελιγμένες JSP και ASP.NET Το CGI ( Common Gateway Interface Κοινή Διασύνδεση Πύλης) Στο ακόλουθο τμήμα γίνεται εκτενής αναφορά στο CGI. Ας ξεκινήσουμε από το τι σημαίνουν τα αρχικά του : Common: Υποδηλώνει ότι το CGI μπορεί να χρησιμοποιηθεί από πολλές γλώσσες και να αλληλεπιδράσει με πολλά διαφορετικά συστήματα. Gateway: Υποδηλώνει ότι η δύναμη του CGI δεν βρίσκεται στο τί μπορεί να κάνει αυτό από μόνο του, αλλά στην ενδεχόμενη πρόσβαση που προσφέρει σε άλλα συστήματα (πόρους του HTTP server ), όπως βάσεις δεδομένων, φόρμες για feedback clickable ή image maps. Είναι δηλαδή μια πύλη ανάμεσα στο Web και στα συστήματα αυτά. Είναι συνήθως κάποιο πρόγραμμα το οποίο διαχειρίζεται κλήσεις για πληροφορία και επιστρέφει το ζητούμενο έγγραφο ή δημιουργεί ένα έγγραφο στη στιγμή. Interface: Σημαίνει ότι κάποιος μπορεί να γράψει προγράμματα τα οποία το χρησιμοποιούν. Τα CGI scripts μπορούν να γραφούν σε γλώσσες όπως οι: Perl, C/C++, TCL, Python, Pascal, Basic ή ακόμα και Unix shell scripts. Επειδή τα CGI προγράμματα είναι εκτελέσιμα, η όλη διαδικασία εκτέλεσης ενός τέτοιου προγράμματος ισοδυναμεί με το να έχει την πρόσβαση ο οποιοσδήποτε να εκτελέσει ένα πρόγραμμα στο σύστημα (server), το οποίο προφανώς δεν είναι καθόλου ασφαλές. Γι αυτό το λόγο, τοποθετούνται συνήθως τα CGI προγράμματα σε έναν ειδικό κατάλογο (το αποκαλούμενο cgi-bin), έτσι ώστε ο Web server να ξέρει ότι πρέπει να τα εκτελέσει και όχι απλά να τα εμφανίσει στον browser. Αυτός ο κατάλογος είναι συνήθως υπό την απόλυτη εποπτεία του webmaster, ο οποίος δεν επιτρέπει στο μέσο χρήστη να δημιουργεί CGI προγράμματα. Στη συνέχεια δίνονται μερικά στοιχεία απαραίτητα 17

18 για την κατανόηση της όλης διαδικασίας που απαιτείται για τη διασύνδεση μιας βάσης δεδομένων στο Internet μέσω της μεθόδου του CGI Η λειτουργία του CGI Οι World Wide Web browsers, όπως άλλωστε προαναφέρθηκε, απεικονίζουν έγγραφα γραμμένα σε γλώσσα HTML. Επίσης μπορούν να απεικονίζουν HTML φόρμες οι οποίες επιτρέπουν την εισαγωγή δεδομένων από τους χρήστες. Οι browsers χρησιμοποιώντας αυτές τις φόρμες μπορούν να συλλέγουν καθώς και να απεικονίζουν πληροφορίες. Όταν η πληροφορία συλλέγεται από τον browser, στέλνεται σ έναν HTTP server, ο οποίος καθορίζεται από την HTML φορμα και επεξεργάζεται την πληροφορία. Αυτή η λειτουργία επιτελούν τα CGI scripts. Παρακάτω θα δείξουμε τους τρόπους με τους οποίους μια φόρμα, ένας client browser, ένας server και το HTT Protocol συνεργάζονται επιτυχώς. Για να γίνει κατανοητή αυτή η πολύπλοκη αλληλεπίδραση πρέπει πρώτα να κατανοηθεί πώς ένας client και ένας server μπορούν να συνεργαστούν για τη μεταφορά ενός απλού HTML εγγράφου. Αυτή είναι η φυσιολογική δραστηριότητα του Web, ή συνήθης λειτουργία του. Μετά από αυτό πρέπει να γίνει κατανοητό πώς εκτελούνται τα scripts σε περιβάλλον δικτύου χωρίς τη μεσολάβηση φορμών. Μόλις κατανοηθούν αυτές οι δύο εργασίες, η διασύνδεση φορμών είναι ξεκάθαρη Η απλή αλληλεπίδραση Εξερευνητή Εξυπηρετητή (Browser Server) Κατά τη διάρκεια ανταλλαγής ενός κανονικού εγγράφου ένας WWW client (π.χ. Netscape Navigator, Internet Explorer, Mosaic) ζητάει ένα έγγραφο από τον WWW server και το απεικονίζει σε μια συσκευή απεικόνισης του χρήστη. Εάν αυτό το έγγραφο περιέχει σύνδεσμο (link) σε άλλο έγγραφο και ο χρήστης το ενεργοποιήσει, τότε ο WWW client θα το φέρει και θα το απεικονίσει. Το παρακάτω διάγραμμα δείχνει την αλληλεπίδραση ενός WWW πελάτη ο οποίος τρέχει σε ένα προσωπικό υπολογιστή (Υπολογιστής Α), με δύο άλλους εξυπηρετητές: έναν HTTP ο οποίος τρέχει στον Υπολογιστή Β και έναν εξυπηρετητή HTTP που τρέχει στον Υπολογιστή Γ. 18

19 Ο WWW πελάτης, ο οποίος εκτελείται στον Υπολογιστή Α, παίρνει ένα έγγραφο το οποίο είναι αποθηκευμένο με το όνομα doc1.html στον εξυπηρετητή HTTP, ο οποίος εκτελείται στον Υπολογιστή Β. Αυτό το έγγραφο περιέχει έναν υπερσύνδεσμο σε ένα άλλο έγγραφο, το οποίο βρίσκεται αποθηκευμένο στον Υπολογιστή Γ με το όνομα doc2.html. Το URL του μπορεί να μοιάζει με το ακόλουθο: doc2.html. Εάν ο χρήστης ενεργοποιήσει αυτόν τον υπερσύνδεσμο, τότε ο πελάτης ανακτά το αρχείο από τον εξυπηρετητή HTTP ο οποίος εκτελείται στον Υπολογιστή Γ και το απεικονίζει στην οθόνη η οποία είναι συνδεδεμένη με τον Υπολογιστή Α. Το πρωτόκολλο HTTP είναι αυτό που θα καθορίζει την επικοινωνία μεταξύ του πελάτη και ενός εξυπηρετητή HTTP Η εκτέλεση των CGI προγραμμάτων στον εξυπηρετητή Ένα HTTP URL μπορεί να ξεχωρίσει αν ένα αρχείο περιέχει ένα πρόγραμμα από ένα HTML έγγραφο. Αυτό το πρόγραμμα μπορεί να εκτελεστεί όταν ο χρήστης ενεργοποιήσει τον υπερσύνδεσμο στον οποίο περιέχεται το URL. Το παρακάτω διάγραμμα, δείχνει ένα υπερκείμενο στον Υπολογιστή Β με ένα υπερσύνδεσμο σε ένα αρχείο στον υπολογιστή Γ, το οποίο περιέχει το CGI πρόγραμμα το οποίο θα εκτελεστεί αν ο χρήστης ενεργοποιήσει τον υπερσύνδεσμο. Αυτό ο υπερσύνδεσμος 19

20 είναι ένας κανονικός http: υπερσύνδεσμος, αλλά το αρχείο είναι αποθηκευμένο με τέτοιο τρόπο ώστε ο εξυπηρετητής HTTP στον Υπολογιστή Γ να μπορεί να αποφανθεί για το ότι το αρχείο περιέχει ένα πρόγραμμα που πρόκειται να εκτελεστεί και όχι ένα έγγραφο το οποίο πρόκειται να σταλεί στον πελάτη όπως συνήθως. Όταν το πρόγραμμα εκτελείται, προετοιμάζει ένα HTML έγγραφο που περιέχει δυναμική πληροφορία και στέλνει αυτό το έγγραφο στον πελάτης, ο οποίος τα απεικονίζει όπως ακριβώς θα έκανε με κάθε άλλο HTML έγγραφο Η εκτέλεση ενός CGI προγράμματος μέσω μιας HTML φόρμας Η ικανότητα επεξεργασίας φορμών με δεδομένα στο Internet απαιτεί αλλαγές σε HTML, Web πελάτες και Web εξυπηρετητές (τελικά ακόμα και στο HTTP). Ένα σύνολο ετικετών προστέθηκαν στην HTML, με σκοπό να κατευθύνουν έναν WWW πελάτη στην απεικόνιση μιας φόρμας προς συμπλήρωση από τον χρήστη και μετά να προωθήσουν τα συγκεντρωμένα δεδομένα σε ένα HTTP πελάτη, ο οποίος περιγράφεται στη φόρμα. Οι εξυπηρετητές έχουν υποστεί μετατροπές ώστε να μπορούν να ξεκινήσουν αμέσως το CGI πρόγραμμα που καθορίζεται στη φόρμα και να προωθήσουν τα συγκεντρωμένα δεδομένα στο πρόγραμμα, το οποίο μπορεί να 20

21 ετοιμάσει μια απάντηση (πιθανότατα με το να ανατρέξει σε μια υπάρχουσα βάση δεδομένων) και να επιστρέψει ένα WWW έγγραφο στο χρήστη. Το σχήμα δείχνει τα διάφορα στοιχεία της επεξεργασίας. Σε αυτό το διάγραμμα ο Web πελάτης, ο οποίος τρέχει στον Υπολογιστή Α, παίρνει μια φόρμα από κάποιο Web εξυπηρετητή που τρέχει στον Υπολογιστή Β. Εμφανίζει τη φόρμα, ο χρήστης εισάγει δεδομένα και ο πελάτης στέλνει τις εισαχθείσες πληροφορίες στον HTTP εξυπηρετητή ο οποίος εκτελείται στον Υπολογιστή Γ. Εκεί, τα δεδομένα μεταβιβάζονται σε ένα CGI πρόγραμμμα το οποίο προετοιμάζει ένα έγγραφο και το στέλνει στον πελάτη στον υπολογιστή Α. Ο πελάτης τότε εμφανίζει αυτό το έγγραφο Μέθοδοι κλήσης προς τον εξυπηρετητή Προκειμένου να εκτελεστεί ένα CGI πρόγραμμα γίνεται μια κλήση στον εξυπηρετητή με τη χρήση μιας μεθόδου, η οποία καθορίζει τον τρόπο με τον οποίο το πρόγραμμα θα λάβει τα δεδομένα. Υπάρχουν τρεις μέθοδοι, η POST, η GET και HEAD, για τις οποίες γίνεται εκτενής αναφορά ευθύς αμέσως: Η μέθοδος POST. Όταν χρησιμοποιείται η μέθοδος POST ο Web εξυπηρετητής μεταδίδει τα δεδομένα στο CGI προγράμμα μέσα από το stdin (standard input). 21

22 Συγκεκριμένα, τα δεδομένα στέλνονται ως ξεχωριστό message body το οποίο ακολουθεί την κλήση που στέλνει ο πελάτης στον εξυπηρετητή. Το ξεχωριστό αυτό μήνυμα με το οποίο στέλνονται τα δεδομένα πηγαίνει στο CGI script σε μορφή κανονικού input. Ο εξυπηρετητής δε μαρκάρει το τέλος των δεδομένων με ένα χαρακτήρα EOF κι έτσι το πρόγραμμα πρέπει να χρησιμοποιήσει την τιμή της μεταβλητής εριβάλλοντος CONTENT_LENGTH για να διαβάσει σωστά το stdin.h POST χρησιμοποιείται συνήθως όταν τα δεδομένα που αποστέλλονται θα αλλάξουν κάποια από τα δεδομένα στον Web εξυπηρετητή ή όταν αποστέλλονται μεγάλες ποσότητες δεδομένων στο CGI πρόγραμμα (συνήθως από 1024 bytes που είναι το ανώτατο όριο μήκους ενός URL). Η μέθοδος GET. Με αυτή τη μέθοδο τα δεδομένα περνιούνται μέσα στο query string του URL. Αν προσθέσει κανείς ένα ερωτηματικό (?) στο URL του script, τότε όλοι οι χαρακτήρες που ακολουθούν το ερωτηματικό θα περάσουν στο script στη μεταβλητή περιβάλλοντος που ονομάζεται QUERY_STRING. Αν το script ονομάζεται script.cgi και ο χρήστης κάνει ένα υπερσύνδεσμο στο script αυτό (ή γράψει στον εξερευνητή) τότε το string name1=value1&name2=value2 θα είναι το QUERY_STRING. Το script, μπορεί να διαβάσει αυτήν τη μεταβλητή και να την επεξεργαστεί όπως θέλει ο χρήστης. Με τη χρήση του QUERY_STRING στο URL ενός υπερσυνδέσμου, μπορεί κανείς να εισάγει δεδομένα σε ένα script χωρίς να έχει φόρμα. Αυτό είναι βολικό αν κανείς θέλει να κάνει υπερσύνδεσμο σε ένα script, ή να εισάγει μικρή ποσότητα δεδομένων, χωρίς όμως να χρειαστεί να κατασκευάσει μια αναλυτική φόρμα ή να ζητά από το χρήστη να πατήσει ένα κουμπί υποβολής της φόρμας (τύπου submit ). Επίσης η GET μέθοδος χρησιμοποιείται όταν ο χρήστης θέλει να πάρει δεδομένα από τον εξυπηρετητή και δεν πρόκειται να τα τροποποιήσει.: Η μέθοδος HEAD. Είναι παρόμοια με τη μέθοδο GET με τη μόνη διαφορά ότι με τη μέθοδο αυτή στέλνονται από τον Web εξυπηρετητής στον εξερευνητή μόνο οι HTTP επικεφαλίδες και όχι πραγματικά δεδομένα. Γενικά, η GET θα έπρεπε να χρησιμοποιείται όταν η πρόσβαση σε ένα URL δεν αλλάζει την κατάσταση της βάσης δεδομένων (για παράδειγμα με την πρόσθεση ή αφαίρεση πληροφοριών) και η POST πρέπει να χρησιμοποιείται όταν μια πρόσβαση θα προκαλέσει αλλαγή. Ένα 22

23 πλεονέκτημα της GET είναι ολόκληρη η υποβολή της φόρμας μπορεί να ενσωματωθεί σε ένα URL, όπως ένας υπερσύνδεσμος. Υπάρχει ένας πρακτικός περιορισμός για την GET όμως, γιατί πολλά συστήματα έχουν όρια στο μήκος της GET request που μπορούν να χειριστούν. Όταν το συνολικό μήκος μιας request (URL+παράμετροι) πλησιάζει ή υπερβαίνει το 1 Kb, είναι προτιμότερο να χρησιμοποιήσει κανείς τη μέθοδο POST. 4. Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ScriptC Αντικείμενο αυτής της διπλωματικής εργασίας είναι η ανάπτυξη μιας γλώσσας προγραμματισμού αντίστοιχης των PHP και ASP η οποία ονομάστηκε ScriptC. Είναι μία server side script γλώσσα η οποία δίνει την δυνατότητα δημιουργίας δυναμικών ιστοσελιδών. Τα χαρακτηριστικά της γλώσσας είναι αυτά των δύο προαναφερθέντων γλωσσών τα οποία και θα παρουσιάσουμε αναλυτικότερα : 4.1. Τεχνολογία και περιβάλλον ανάπτυξης Η ScriptC δημιουργήθηκε σε C++ και συγκεκριμένα χρησιμποποιώντας το περιβάλλον Borland C++ Builder 5.0 για Windows. Είναι μια CGI εφαρμογή η οποία εγκαθίσταται στον Web Server. Όταν κληθεί (από τον Server) εκτελεί το δοθέν αρχείο σαν Interpreter, παράγωντας στην έξοδο το αποτέλεσμα κώδικα και HTML που βρέθηκε μέσα στο αρχείο. Τονίζεται στο σημείο αυτό ότι η ScriptC είναι ένας interpreter όπως ακριβώς οι PHP και ASP και δεν παράγει ενδιάμεσα αρχεία όπως λόγου χάρη η JSP και ASP.NET Διαδικασία εκτέλεσης ενός αρχείου Όταν ένας πελάτης ζητήσει από τον Web Server ένα αρχείο, το οποίο έχει καθοριστεί να εκτελείται από την ScriptC, τότε ο Web Server εκκινεί την εφαρμογή. Η ScriptC κάνει parse το αρχείο και ελέγχει για την συντακτική ακεραιότητα του κώδικα που βρίσκεται μέσα στο αρχείο. Επειδή κώδικας και HTML βρίσκονται μαζί στο ίδιο αρχείο, χρησιμοποιούνται τα σύμβολα <% και %> για να σηματοδοτήσουν την 23

24 έναρξη και το τέλος ενός μπλοκ server side εντολών. Προγραμματιστές εξοικειωμένοι με PHP ή ASP γνωρίζουν την χρήση αντίστοιχων συμβόλων στις γλώσσες αυτές για τον σκοπό αυτό. Σε περίπτωση που ανιχνευθούν συντακτικά λάθη, η διαδικασία εκτέλεσης ακυρώνεται και αποστέλλεται μία πληροφοριακή σελίδα για τα λάθη που προέκυψαν. Σε αντίθετη περίπτωση, εκτελείται ο κώδικας και αφού ολοκληρωθεί η εκτέλεση αποστέλλεται το αποτέλεσμα της στον πελάτη (μέσω του Web Sever). Αναλυτικότερα η εκτέλεση χωρίζεται σε δύο φάσεις : Φάση ανάλυσης : Κατά την φάση της ανάλυσης, γίνεται συντακτικός έλεγχος στον κώδικα του προγράμματος. Τυχόν συντακτικά λάθη αναφέρονται όταν ολοκληρωθεί η διαδικασία. Στην διάρκεια της ανάλυσης, διατηρείται μία δομή δεδομένων οργανωμένη σαν δυαδικό δέντρο, κοινώς γνωστή ως Symbol Table. Σκοπός αυτής της δομής δεδομένων είναι να εισάγει και να διατηρεί μεταβλητές, συναρτήσεις, strings και αριθμοί που συναντώνται κατά την ανάλυση. Έτσι όταν η γλώσσα συναντήσει έναν idenitifier, ελέγχει αν βρίσκεται ήδη στο Symbol Table. Αν όχι τον προσθέτει. Στον symbol table αποθηκεύονται πληροφορίες για κάθε στοιχείο. Για μεταβλητές αποθηκεύεται το όνομά τους, για συναρτήσεις το όνομα τους καθώς και ο αριθμός των παραμέτρων που δέχονται ενώ για strings και αριθμούς η τιμή και ο τύπος δεδομένων τους. Μία σημαντική διαδικασία που λαμβάνει χώρα κατά την ανάλυση είναι η δημιουργία ενδιάμεσου κώδικα ο οποίος χρησιμοποιείται στην εκτέλεση. Ο ενδιάμεσος κώδικας είναι μία σύντομη αναπαράσταση του κώδικα, όπου υπάρχουν επιπλέον πληροφορίες (π.χ. για το τί εντολή ακολουθεί, που πρέπει να μεταφερθεί η εκτέλεση λόγω διακλαδώσεων κλπ.). Φάση Εκτέλεσης : Εάν η φάση ανάλυσης ολοκληρωθεί χωρίς λάθη εκκινείται η φάση εκτέλεσης. Στην φάση αυτή γίνεται εκτέλεση του προγράμματος μέσω του ενδιάμεσου κώδικα. Στην φάση αυτή, η σημασία του Symbol Table είναι επίσης κρίσημη. Ρόλος του είναι να κρατά την τρέχουσα τιμή της κάθε μεταβλητής του προγράμματος. Επιπλέον στην φάση αυτή δημιουργείται και χρησιμοποιείται μία στοίβα. Σκοπός της είναι να παρακολουθεί την εκτέλεση των συναρτήσεων και την σειρά κλήσεως αυτών. Κάθε συνάρτηση που δημιουργεί ο προγραμματιστής, έχει δικό της ενδιάμεσο κώδικα και symbol table. Έτσι η γλώσσα ξεκινά την εκτέλεση χρησιμοποιώντας τον ενδιάμεσο κώδικα του κυρίως προγράμματος. Καθώς γίνονται 24

25 κλήσεις σε συναρτήσεις, ο ενδιάμεσος κώδικας της κάθε συνάρτησης σπρώχνεται πάνω στην στοίβα. Έτσι ο δείκτης της στοίβας δείχνει πάντα στον ενδιάμεσο κώδικα της συνάρτησης που εκτελείται εκείνη την στιγμή. Η γλώσσα εκτελεί πάντα εντολές από τον ενδιάμεσο που βρίσκεται στην κορυφή της στοίβας. Όταν τελειώσει η εκτέλεση μιας συνάρτησης, ο ενδιάμεσος κώδικας αυτής αφαιρείται (pop) από της κορυφή της στοίβας, έτσι η εκτέλεση συνεχίζεται στην συνάρτηση που είχε κληθεί ακριβώς προηγουμένως Χαρακτηριστικά της γλώσσας Η ScriptC υιοθετεί το συντακτικό της γλώσσας προγραμματισμου C με περιορισμούς που επιβάλει η φύση της, καθιστώντας την ένα υποσύνολο της C με ορισμένες διαφοροποιήσεις. Η ScriptC δεν έχει δηλώσεις μεταβλητών και κατά συνέπεια αυστηρούς τύπους δεδομένων. Μία μεταβλητή αναγνωρίζεται κατ ευθείαν την πρώτη στιγμη που χρησιμοποιείται. Οι τύποι δεδομένων που υποστηρίζονται είναι integer, double, string, connection (σε βάση δεδομένων) και recordset. Στις περιπτώσεις όπου χρειάζονται Boolean τιμές, μία μή μηδενική αριθμητική τιμή θεωρείται true ενώ η μηδενική false. Η γλώσσα δεν υλοποιεί scope και επομένως μεταβλητές που αναφέρονται για πρώτη φορά μέσα σε ένα block συνεχίζουν να υφίστανται και πέρα από αυτό. Η γλώσσα αναλαμβάνει να κάνει αυτόματα το cast από τύπο τον ένα δεδομένων στον άλλο. Αξίζει να σημειωθεί ότι μια μεταβλητή μπορεί να αλλάξει τύπο δεδομένων οποτεδήποτε. Π.χ. αν αναθέσουμε σε μια μεταβλητή μια ακέραια τιμή, αργότερα μπορούμε να αναθέσουμε σε αυτή ένα string ή ένα double κλπ. Σημειώνεται ότι η γλώσσα ScriptC είναι case sensitive, δηλ. κάνει διαχώριση πεζών και κεφαλαίων. Παρατίθεται ένα παράδειγμα μιας σελίδας γραμμένης σε ScriptC : 25

26 <HTML> <HEAD> <TITLE>Simple Script</TITLE> </HEAD> <BODY> <% i = 0; /* Εδώ ουσιαστικά δηλώνουμε και αρχικοποιούμε την μεταβλητή i */ while (i<10) { /* Προσθέτουμε δυναμικα HTML κώδικα στο αρχείο */ ResponseWrite( <input type=text value=. i. > ); i++; } %> </BODY> </HTML> Το παραπάνω παράδειγμα προσθέτει - «γράφει» ανάμεσα από τα tags <body> και </body> δέκα φορές την συμβολοσειρά : <input type=text value=x> όπου x η εκάστοτε τιμή του i. Βλέπουμε πόσο εύκολο είναι να προσθέσει κανείς δυναμικά HTML μέσα στην σελίδα, καθώς και πως ο server side κώδικας, που κάνει parse και εκτελεί η γλώσσα, συνυπάρχει με το στατικό HTML της σελίδας. Το αποτέλεσμα που θα δει ένας πελάτης που θα αιτηθεί την σελίδα αυτή από τον Web Server προφανώς δεν θα περιέχει τον server side κώδικα, παρα μόνο το HTML και το αποτέλεσμα της εκτέλεσης του κώδικα (αν αυτό υφίσταται). Δηλαδή αν ο πελάτης κοιτάξει το HTML της σελίδας αυτής στον browser του θα δεί : 26

27 <HTML> <HEAD> <TITLE>Simple Script</TITLE> </HEAD> <BODY> <input type=text value=0> <input type=text value=1> <input type=text value=2> <input type=text value=3> <input type=text value=4> <input type=text value=5> <input type=text value=6> <input type=text value=7> <input type=text value=8> <input type=text value=9> </BODY> </HTML> 4.4. Τελεστές και προτεραιότητα Η γλώσσα διαθέτει τους παρακάτω τελεστές: Αριθμητικοί o + (μοναδιαίος και δυαδικός) o - (μοναδιαίος και δυαδικός) o * o / o % Ανάθεσης o ++ (pre/postfix) o -- (pre/postfix) o = o += o -= o *= o /= o %= o <<= o >>= 27

28 o &= o ^= o = o.= Bitwise o & o o ^ o ~ o >> o << Λογικοί o && o o! Ισότητα o = = o!= Συσχετιστικοί o > o < o >= o <= Διάφοροι o ( o ) o, o. Ειδικά για τον τελεστή «.» (τελεία) αναφέρεται ότι χρησιμοποιείται για την συνένωση δύο string expressions. Σημαντικό είναι το γεγονός ότι βάσει των τελεστών γίνεται και η εκτέλεση της κάθε πρότασης. 28

29 Π.χ. η πρόταση : x = ; Αναθέτει στην μεταβλητή x την τιμή 5. Αυτό γιατί γίνεται χρήση του τελεστή + και γίνεται αποτίμηση της αριθμητικής τιμής του κάθε όρου της πρότασης. Στην περίπτωση : x = 1. 5; η μεταβλητή x θα πάρει την τιμή 15 ως συμβολοσειρά και πάλι λόγω χρήσης του συγκεκριμένου τελεστή, ο οποίος μετατρέπει την τιμή του κάθε όρου σε συμβολοσειρά. Ο παρακάτω πίνακας δείχνει την προτεραιότητα αποτίμησης των τελεστών. Τελεστές με την ίδια προτεραιότητα αποτιμούνται σύμφωνα με την φορά εκτέλεσης, όπως αυτοί βρίσκονται στην πρόταση. Προτεραιότητα Τελεστές Φορά εκτέλεσης 1 ( ) Αριστερά προς δεξιά 2 (prefix) ++,-- Δεξιά προς αριστερά 3 (μοναδιαίοι) +, -,!, ~ Δεξιά προς αριστερά 4 *, /, % Αριστερά προς δεξιά 5 +, -,. Αριστερά προς δεξιά 6 <<, >> Αριστερά προς δεξιά 7 <, <=, >, >= Αριστερά προς δεξιά 8 = =,!= Αριστερά προς δεξιά 9 &,, ^ Αριστερά προς δεξιά 10 &&, Αριστερά προς δεξιά 11 =, *=, /=, +=, -=, %=, &=, =, ^=, <<=, Δεξιά προς αριστερά >>=,.= 29

30 4.5. Εντολές Η γλώσσα υποστηρίζει τις παρακάτω εντολές: if (<expression>) <statement-list> if (<expression>) <statement-list> else <statement-list> for (<expression>;<expression>;<expression>) <statement-list> while (<expression>) <statement-list> do { <statement-list> } while (<expression>) switch (<expression>) <case-branch> : <statement-list> [default :] <statement-list> return [<expression>] break 4.6. Built-In Συναρτήσεις Η γλώσσα διαθέτει τις εξής συναρτήσεις ενσωματωμένες : BeginTrans (connection) o Δέχεται σαν παράμετρο μία μεταβλητή στην οποία ήδη έχει ανατεθεί μία σύνδεση σε κάποια βάση δεδομένων, η οποία (σύνδεση) είναι ανοιχτή. o Ξεκινεί ένα transaction σε αυτή την σύνδεση. o Επιστρέφει void. ClearErrors () o Δεν δέχεται παραμέτρους o Μηδενίζει τις μεταβλητές τις γλώσσας που χειρίζονται run time errors. o Επιστρέφει void CloseConnection (connection) o Δέχεται σαν παράμετρο μία μεταβλητή στην οποία ήδη έχει ανατεθεί μία σύνδεση σε κάποια βάση δεδομένων, η οποία (σύνδεση) είναι ανοιχτή. o Κλείνει την σύνδεση αυτή. o Επιστρέφει void. ColumnCount (recordset) o Δέχεται μία μεταβλητή στην οποία έχει ανατεθεί ένα recordset το οποίο ανακτήθηκε από μια ΒΔ μέσω μιας σύνδεσης. 30

31 o Επιστρέφει το πλήθος των στηλών του συγκεκριμένου recordset. o Επιστρέφει int. ColumnName (recordset, int) o Η πρώτη παράμετρος είναι ένα recordset, ενώ η δεύτερη είναι ένας ακέραιος index για την στήλη της οποίας το όνομα πρόκειται να επιστραφεί. o Επιστρέφει το όνομα της στήλης μέσα στο recordset η οποία βρίσκεται στην θέση που καθορίζει η δεύτερη παράμετρος. o Επιστρέφει string CommitTrans (connection) o Δέχεται σαν παράμετρο μία μεταβλητή στην οποία ήδη έχει ανατεθεί μία σύνδεση σε κάποια βάση δεδομένων, η οποία (σύνδεση) είναι ανοιχτή και βρίσκεται ήδη σε transaction. o Επικυρώνει το τρέχον transaction. o Επιστρέφει void. EOF (recordset) o Δέχεται μία μεταβλητή στην οποία έχει ανατεθεί ένα recordset το οποίο ανακτήθηκε από μια ΒΔ μέσω μιας σύνδεσης. o Εξετάζει αν το recordset έχει φτάσει στο τέλος των εγγραφών που περιέχει. o Επιστρέφει bool. ErrorMessage () o Δεν δέχεται παραμέτρους. o Επιστρέφει το μήνυμα του τελευταίου run time λάθους που συνέβη. o Επιστρέφει string. ExecNonQuery (string, connection) o Η πρώτη παράμετρος είναι μια SQL εντολή, η οποία δεν επιστρέφει result set. Η δεύτερη παράμετρος είναι μια ανοιχτή σύνδεση σε ΒΔ. o Εκτελεί μια εντολή SQL που δεν επιστρέφει result set (INSERT, UPDATE, DELETE κλπ.) και επιστρέφει τον αριθμό των εγγραφών που επηρεάστηκαν από την εντολή. o Επιστρέφει int. 31

32 ExecRecordset (string, connection) o Η πρώτη παράμετρος είναι μια SQL εντολή, η οποία επιστρέφει result set. Η δεύτερη παράμετρος είναι μια ανοιχτή σύνδεση σε ΒΔ. o Εκτελεί μια εντολή SQL που επιστρέφει result set (SELECT κλπ.) και επιστρέφει ένα recordset που περιέχει αυτό το result set. o Επιστρέφει recordset. FetchRow (recordset) o Δέχεται μία μεταβλητή στην οποία έχει ανατεθεί ένα recordset το οποίο ανακτήθηκε από μια ΒΔ μέσω μιας σύνδεσης. o Προχωρά το recordset κατά μία εγγραφή. o Επιστρέφει void. GetRecordsetItem (recordset, string) o Δέχεται μία μεταβλητή στην οποία έχει ανατεθεί ένα recordset το οποίο ανακτήθηκε από μια ΒΔ μέσω μιας σύνδεσης καθώς και ένα string που περιέχει το όνομα της στήλης της οποίας η τιμή πρόκειται να επιστραφεί. o Επιστρέφει την τιμή της στήλης που ορίζει η δεύτερη παράμετρος, στην συγκεκριμένη εγγραφή όπου βρίσκεται ο κέρσορας του recordset εκείνη την στιγμή. o Επιστρέφει object. HasErrors () o Δεν δέχεται παραμέτρους o Επιστρέφει λογική τιμή ανάλογα με το αν έχουν συμβεί λάθη κατά την διάρκεια εκτέλεσης του προγράμματος. o Επιστρέφει bool. Length (object) o Παίρνει σαν παράμετρο είτε ένα recordset είτε ένα string. o Εάν η παράμετρος είναι recordset, επιστρέφει το πλήθος των εγγραφών που περιέχει το recordset. Εάν η παράμετρος είναι string επιστρέφει το μήκος του string. o Επιστρέφει int. 32

33 OpenConnection (string) o Δέχεται παράμετρο μία μεταβλητή τύπου string που περιέχει ένα connection string με πληροφορίες για σύνδεση σε μία ΒΔ. o Ανοίγει μία σύνδεση με μία ΒΔ. o Επιστρέφει connection. QueryString ([string]) o Δέχεται προαιρετικά ένα string με το όνομα το πεδίου από το Query String που πρόκειται να ανακτηθεί. o Εάν υπάρχει παράμετρος, επιστρέφεται η τιμή του πεδίου που υποδεικνύει αυτή, αλλιώς επιστρέφεται ολόκληρο το Query String. o Επιστρέφει string. RequestForm ([string]) o Δέχεται προαιρετικά ένα string με το όνομα το πεδίου από την μέθοδο POST, που έχει προηγηθεί, που πρόκειται να ανακτηθεί. o Εάν υπάρχει παράμετρος, επιστρέφεται η τιμή του πεδίου που υποδεικνύει αυτή, αλλιώς επιστρέφεται ολόκληρο το POST. o Επιστρέφει string. ResponseRedirect (string) o Δέχεται παράμετρο ένα string που περιέχει ένα URL. o Ανακατευθύνει τον πελάτη στο URL που καθορίζει η παράμετρος. o Επιστρέφει void. ResponseWrite (string) o Δέχεται παράμετρο ένα string. o Προσθέτει στην έξοδο του προγράμματος την παράμετρο. o Επιστρέφει void. RollbackTrans (connection) o Δέχεται σαν παράμετρο μία μεταβλητή στην οποία ήδη έχει ανατεθεί μία σύνδεση σε κάποια βάση δεδομένων, η οποία (σύνδεση) είναι ανοιχτή και βρίσκεται σε transaction. o Αναιρεί το transaction. o Επιστρέφει void. 33

34 SuppressErrors (bool) o Δέχεται μία λογική τιμή σαν παράμετρο (0 1). o Εάν η παράμετρος είναι 0, η γλώσσα σταματά την διαδικασία εκτέλεσης όταν συμβεί κάποια εξαίρεση (run time error). Εάν είναι μή μηδενική, τότε η γλώσσα δεν σταματά την εκτέλεση όταν συμβαίνουν εξαιρέσεις Συναρτήσεις Η γλώσσα υποστηρίζει συναρτήσεις που καθορίζονται από τον προγραμματιστή. Μία συνάρτηση αναγνωρίζεται είτε αφού η διαδικασία της ανάλυσης (parsing) συναντήση την επικεφαλίδα της συνάρτησης ή την υλοποίηση αυτής. Το συντακτικό για τις συναρτήσεις καθορίζεται ως εξής : Επικεφαλίδα συνάρτησης : function function_name (<parameter-list>) Υλοποίηση συνάρτησης : function function_name (<parameter-list>) {<statement-list>} Παράδειγμα <% /*Header*/ function samplefunction(a,b); /* Implementation*/ function samplefunction(a,b) { return a + b; } %> Η επικεφαλίδα μιας συνάρτησης δεν είναι υποχρεωτικό να υπάρχει. Αντίθετα η υλοποίηση είναι υποχρεωτική. Μια συνάρτηση μπορεί να επιστρέφει μία τιμή μέσω της εντολής return το οποίο ωστόσο δεν είναι υποχρεωτικό Χειρισμός εξαιρέσεων κατά την διάρκεια εκτέλεσης Ο χειρισμός λαθών κατά την διάρκεια εκτέλεσης γίνεται μέσω της ρουτίνας SuppressErrors. Εάν δεν γίνει χρήση αυτής, η εκτέλεση διακόπτεται και αποστέλλεται επεξηγηματική σελίδα στον πελάτη με πληροφορίες για την εξαίρεση 34

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν

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

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ 2.3.1.1. Παπαγιάννη Νάσια Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ 1 περιλαμβάνει: Η έννοια του προγράμματος Επίλυση προβλήματος 1. Ακριβή προσδιορισμό

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

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το Σηµαντικά σηµεία κεφαλαίου Τα τρία στάδια επίλυσης ενός προβλήµατος: Ακριβής προσδιορισµό του προβλήµατος Ανάπτυξη του αντίστοιχου αλγορίθµου. ιατύπωση του αλγορίθµου σε κατανοητή µορφή από τον υπολογιστή.

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια.

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια. ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια. Τον ακριβή προσδιορισμό του προβλήματος. Την ανάπτυξη του αντίστοιχου αλγορίθμου.

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

6. 1 Η έννοια του προγράμματος

6. 1 Η έννοια του προγράμματος 6. 1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, τρία στάδια. 1.Τον ακριβή προσδιορισμό του προβλήματος. 2.Την ανάπτυξη του αντίστοιχου αλγορίθμου. 3.Τη διατύπωση

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό 6.1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, τρία σημαντικά στάδια: 1. Τον ακριβή προσδιορισμό του προβλήματος. 2. Την ανάπτυξη

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

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού. Κεφάλαιο 6 6.1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία σημαντικά στάδια : Σον ακριβή προσδιορισμό του προβλήματος Σην ανάπτυξη του αντίστοιχου αλγορίθμου

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Μάριος Αραποστάθης Καθηγητής πληροφορικής Βαρβάκειου Λύκειου http://users.sch.gr/mariosarapostathis 6.1 Η έννοια του

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

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

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

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

Μαλούτα Θεανώ Σελίδα 1

Μαλούτα Θεανώ Σελίδα 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Α. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΦΥΛΛΑΔΙΟ 6 ο ( Ενότητες 2.3 ) 1.Τι είναι πρόγραμμα; 2. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου σε σχέση με τις γλώσσες

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ Κεφάλαιο 2. Το περιβάλλον του παγκόσμιου Ιστού Επιμέλεια: Καραγιάννης Σπύρος Καθηγητής ΠΕ19 Πλεονεκτήματα παγκόσμιου Ιστού Εξυπηρετητής Ιστού & Ιστοσελίδες Κύριες

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

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

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1 ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 03/01/09 Χαράλαμπος Τζόκας 1 Πρόγραμμα - Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν στον Υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος της επίλυσης

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

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

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Προγραµµατισµός Η/Υ Ο προγραµµατισµός είναι η διατύπωση του αλγορίθµου σε µορφή κατανοητή από τον Η/Υ ώστε να τον εκτελέσει («τρέξει» όπως λέµε στην ορολογία της

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

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών Κεφ. 2 Θεωρητική Επιστήμη Υπολογιστών 2.3.1.1 Έννοια προγράμματος Τι είναι πρόγραμμα και τι προγραμματισμός; Πρόγραμμα είναι το σύνολο εντολών που χρειάζεται

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

ΚΕΦΑΛΑΙΟ VI. Εισαγωγή στον προγραμματισμό

ΚΕΦΑΛΑΙΟ VI. Εισαγωγή στον προγραμματισμό ΚΕΦΑΛΑΙΟ VI Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου σημαντικά στάδια. Τον ακριβή προσδιορισμό του προβλήματος. Την ανάπτυξη του αντίστοιχου αλγορίθμου.

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

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Προγραμματισμός Η/Υ Προτεινόμενα θέματα εξετάσεων Εργαστήριο Μέρος 1 ό ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Ιανουάριος 2011 Καλογιάννης Γρηγόριος Επιστημονικός/ Εργαστηριακός

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Στέφανος Ουγιάρογλου

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Στέφανος Ουγιάρογλου ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Κεφάλαιο 6 «Εισαγωγή στον Προγραμματισμό» Στέφανος Ουγιάρογλου Διαφάνειες από υλικό του Χ. Μουρατίδη Προγραμματισμός Η/Υ Ο προγραμματισμός είναι η διατύπωση

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

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

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1 ΚΕΦΑΛΑΙΟ 7 ο ΠΡΟΓΡΑΜΜΑ : Το πρόγραμμα αποτελείται από μια σειρά οδηγιών, που ονομάζονται εντολές, για την εκτέλεση τέτοιου είδους πράξεων, καθώς επίσης και από ένα σύνολο πρόσθετων οδηγιών ελέγχου, που

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

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης Σελίδα 1από ΤΕΙ ΚΑΒΑΛΑΣ Πτυχιακή εργασία Δικτυακή Εφαρμογή διαχείρισης ηλεκτρονικών εγγράφων υπηρεσίας. ΕΙΣΑΓΩΓΗ Μιλτιάδης Κακλαμάνης Σελίδα 2από Κατάλογος περιεχομένων ΕΙΣΑΓΩΓΗ...1 Σχετιζόμενα πρόσωπα...3

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

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο Με τι ασχολείται ο προγραμματισμός; Ο προγραμματισμός ασχολείται με την διατύπωση του αλγορίθμου σε κατανοητή μορφή από τον Η/Υ, δηλ. τη δημιουργία του προγράμματος, του συνόλου των εντολών που πρέπει

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

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

Μ Ε Ρ Ο Σ Γ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Μ Ε Ρ Ο Σ Γ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Γλώσσες Προγραμματισμού 6.1.1 Γλώσσες μηχανής (1 η γενιά) Η γλώσσα στην οποία ένας ηλεκτρονικός υπολογιστής καταλαβαίνει

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

Πληροφορική 2. Γλώσσες Προγραμματισμού

Πληροφορική 2. Γλώσσες Προγραμματισμού Πληροφορική 2 Γλώσσες Προγραμματισμού 1 2 Γλώσσες προγραμματσιμού Επιτρέπουν την κωδικοποίηση των αλγορίθμων Η εκτέλεση ενός προγράμματος θα πρέπει να δίνει τα ίδια αποτελέσματα με την νοητική εκτέλεση

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

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

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

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

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Κεφάλαιο 7 ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Ερωτήσεις 1. Να αναφέρετε διαφορές μεταξύ γλωσσών μηχανής και γλωσσών χαμηλού επιπέδου. Οι γλώσσες μηχανής κωδικοποιούν τις εντολές τους με ομάδες

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

ίκτυα - Internet Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) Ηλεκτρονική Αλληλογραφία (E-mail) Υπηρεσία FTP (File Transfer Protocol)

ίκτυα - Internet Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) Ηλεκτρονική Αλληλογραφία (E-mail) Υπηρεσία FTP (File Transfer Protocol) Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας-Βιβλιοθηκονοµίας Κέρκυρα ίκτυα - Internet 2 Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) ΜηχανέςΑναζήτησηςστοWeb Ηλεκτρονική Αλληλογραφία (E-mail) Υπηρεσία

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

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP.

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP. Εργαστήριο #5 Τι πρέπει να έχετε ολοκληρώσει από το προηγούμενο εργαστήριο. Θα πρέπει να ξέρετε να εισάγετε ένα βασικό πρόγραμμα PHP μέσα σε μια ιστοσελίδα, τη χρήση της echo και τον χειρισμό απλών μεταβλητών

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

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

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Κεφάλαιο 6ο Εισαγωγή στον Προγραµµατισµό Μέρος Πρώτο (6.1, 6.2 και 6.3) Α. Ερωτήσεις Σωστού Λάθους 1. Η γλώσσα µηχανής είναι µία γλώσσα υψηλού επιπέδου.

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

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

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

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

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΚΕΦΑΛΑΙΟ 10 Όπως είδαμε και σε προηγούμενο κεφάλαιο μια από τις βασικότερες τεχνικές στον Δομημένο Προγραμματισμό είναι ο Τμηματικός Προγραμματισμός. Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης

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

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ Α) Να γράψετε στο τετράδιό σας τον αριθμό κάθε πρότασης και δίπλα το γράμμα "Σ", αν είναι σωστή, ή το γράμμα "Λ", αν είναι λανθασμένη. (Μονάδες 25) 1. Ένα αδόμητο πρόβλημα είναι ταυτόχρονα και ανοικτό

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

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

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

6. Εισαγωγή στον προγραµµατισµό

6. Εισαγωγή στον προγραµµατισµό 6. Εισαγωγή στον προγραµµατισµό 6.1 Η έννοια του προγράµµατος. 6.2 Ιστορική αναδροµή. 6.2.1 Γλώσσες µηχανής. ΗΜ04-Θ1Α 1. Ένα πρόγραµµα σε γλώσσα µηχανής είναι µια ακολουθία δυαδικών ψηφίων. 5. Ένα πρόγραµµα

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

Ενότητα 2 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Ενότητα 2 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ενότητα 2 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΜΕ ΥΠΟΛΟΓΙΣΤΗ: Στάδιο 1: Ακριβής Προσδιορισμός του Προβλήματος Στάδιο 2: Ανάπτυξη του Αντίστοιχου Αλγόριθμου Στάδιο 3: Διατύπωση του αλγόριθμου

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

Κεφάλαιο 10 ο Υποπρογράµµατα

Κεφάλαιο 10 ο Υποπρογράµµατα Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,

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

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol HTTP Protocol Web and HTTP Βασικά Συστατικά: Web Server Web Browser HTTP Protocol Web Servers (1/2) Ένα πρόγραμμα (λογισμικό) που έχει εγκατασταθεί σε ένα υπολογιστικό σύστημα (έναν ή περισσότερους υπολογιστές)

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

Π ρ ο γ ρ α μ μ α τ ι σ μ ό ς Β α σ ι κ έ ς έ ν ν ο ι ε ς Ι σ τ ο ρ ι κ ή α ν α δ ρ ο μ ή Η έννοια του προγράμματος Ιστορική αναδρομή

Π ρ ο γ ρ α μ μ α τ ι σ μ ό ς Β α σ ι κ έ ς έ ν ν ο ι ε ς Ι σ τ ο ρ ι κ ή α ν α δ ρ ο μ ή Η έννοια του προγράμματος Ιστορική αναδρομή Προγραμματισμός Βασικές έννοιες Ιστορική αναδρομή Η έννοια του προγράμματος Η περιγραφή της λύσης ενός προβλήματος, ως γνωστόν, γίνεται με τη βοήθεια ενός αλγορίθμου. Έτσι οι εντολές ενός προγράμματος

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

ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος.

ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος. ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος 1 2 3 Εικόνα 43: Διάφορες πλακέτες υπολογιστών Μέσα σε δύο

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΣΚΗΣΕΙΣ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΩΤΗΣΕΙΣ ΣΩΣΤΟ ΛΑΘΟΣ Σημειώστε αν είναι σωστή ή

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

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

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

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

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής 4 φάσεις διαδικτυακών εφαρμογών 1.Εφαρμογές στατικής πληροφόρησης

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

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet. ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet. ΩΡΕΣ ΔΙΔΑΣΚΑΛΙΑΣ: ΕΙΔΟΣ ΜΑΘΗΜΑΤΟΣ: Μικτό Γενικός σκοπός είναι να αποκτήσει ο καταρτιζόμενος τις αναγκαίες γνώσεις σχετικά με εργαλεία και τις τεχνικές για

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

Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html. Χρ. Ηλιούδης

Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html. Χρ. Ηλιούδης Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html Χρ. Ηλιούδης Παγκόσμιος Ιστός (WWW) Ο Παγκόσμιος Ιστός (World Wide Web WWW), ή απλώς Ιστός, βασίζεται στην ιδέα των κατανεμημένων πληροφοριών. Αντί όλες

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

Βασικές Έννοιες Web Εφαρμογών

Βασικές Έννοιες Web Εφαρμογών ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Τεχνολογίες και Εφαρμογές Διαδικτύου Βασικές Έννοιες Web Εφαρμογών Κατερίνα Πραματάρη Τεχνολογίες και Εφαρμογές Διαδικτύου Περιεχόμενα

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

Πλοήγηση www / Με τον Internet Explorer

Πλοήγηση www / Με τον Internet Explorer Πλοήγηση www / Με τον Internet Explorer Περιεχόμενα 1.Eισαγωγή 2.Το περιβάλλον του Internet Explorer 3.Οδηγίες πλοήγησης 4.Αποθήκευση αρχείων 5.Αγαπημένα 6.Ασφαλής σύνδεση 7.Διακομιστής μεσολάβησης 1.Εισαγωγή

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

Στρατηγική ανάπτυξη δικτυακού κόμβου

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

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

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ.

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. ΚΕΦΑΛΑΙΟ 9 Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. Το 1966 αρχίζει ο σχεδιασμός του ARPANET, του πρώτου

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

Σχεδίαση και Ανάπτυξη Ιστότοπων

Σχεδίαση και Ανάπτυξη Ιστότοπων Σχεδίαση και Ανάπτυξη Ιστότοπων Ιστορική Εξέλιξη του Παγκόσμιου Ιστού Παρουσίαση 1 η 1 Βελώνης Γεώργιος Καθηγητής Περιεχόμενα Τι είναι το Διαδίκτυο Βασικές Υπηρεσίες Διαδικτύου Προηγμένες Υπηρεσίες Διαδικτύου

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

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

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης Κεφάλαιο 7 1. Σε τι διαφέρει ο Η/Υ από τις υπόλοιπες ηλεκτρικές και ηλεκτρονικές συσκευές; Που οφείλεται η δυνατότητά του να κάνει τόσο διαφορετικές

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

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών World Wide Web (WWW) Θέματα Επεξεργασία δεδομένων στο Web Δημιουργία απλών σελίδων HTML Περιγραφή κάποιων XHTML στοιχείων (tags) Εξέλιξης του WWW Το WWW

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

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ Εισαγωγή στις Αρχές της επιστήμης των ΗΥ Ερωτήσεις και ασκήσεις για επανάληψη 1. Τι είναι πρόβλημα (σελ 14) 2. Ποιες είναι οι κατηγορίες προβλημάτων με βάση την επίλυση; Δώστε τον ορισμό για κάθε μια κατηγορία.

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

Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network).

Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network). ΙΔΡΥΜΑ ΝΕΟΛΑΙΑΣ ΚΑΙ ΔΙΑ ΒΙΟΥ ΜΑΘΗΣΗΣ ΥΠΗΡΕΣΙΕΣ ΔΙΑΔΙΚΤΥΟΥ Καλαμάτα, 2015 Το Διαδίκτυο Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network). Πρόκειται

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

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου ΕΣΔ 516 Τεχνολογίες Διαδικτύου Εισαγωγή στην PHP Περιεχόμενα Περιεχόμενα PHP και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις Παράδειγματα 1 Βιβλιογραφία Ενότητας Βιβλιογραφία [Lane 2004]: Chapter

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου

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

To λεξικό του Internet

To λεξικό του Internet To λεξικό του Internet A Address: Ο τόπος που βρίσκεται μια πηγή του Internet. Μια e-mail address μπορεί να έχει την εξής μορφή : georgepapado@hotmail.com. Μια web address είναι κάπως έτσι: http://www.in.gr.

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

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

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

Περιεχόμενα. Πρόλογος... xiii

Περιεχόμενα. Πρόλογος... xiii Περιεχόμενα Πρόλογος... xiii Κεφάλαιο 1 ο Εισαγωγή στις τεχνολογίες Διαδικτύου... 1 1.1 Σύντομη ιστορία του Διαδικτύου... 3 1.2 Σύνδεση στο Διαδίκτυο μέσω Παρόχου (ISP)... 6 1.3 Μοντέλα Επικοινωνίας...

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

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις Προγραµµατισµός Η/Υ Ανασκόπηση - Ορισµοί Περιεχόµενα Ο κύκλος ανάπτυξης προγράµµατος Περιγραφή προβλήµατος Ανάλυση προβλήµατος Λογικό ιάγραµµα Ψευδοκώδικας Κωδικοποίηση Συντήρηση Γλώσσες Προγραµµατισµού

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

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής Εργαλεία και τεχνικές από την πλευρά του πελάτη Java Applet

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

PHP 1. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

PHP 1. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών PHP 1 Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

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

Δομημένος Προγραμματισμός Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 1: Εισαγωγή Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο

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

Ανάπτυξη Υπηρεσίας Τηλεκπαίδευσης σε ΙP Δίκτυα. Υλοποίηση Σύγχρονης Τηλεκπαίδευσης

Ανάπτυξη Υπηρεσίας Τηλεκπαίδευσης σε ΙP Δίκτυα. Υλοποίηση Σύγχρονης Τηλεκπαίδευσης Ανάπτυξη Υπηρεσίας Τηλεκπαίδευσης σε ΙP Δίκτυα. Υλοποίηση Σύγχρονης Τηλεκπαίδευσης Σπουδαστές: Μιχαήλ Μιχάλης ΑΜ:5089 Αναγνωστόπουλος Σπύρος ΑΜ:3692 Υπεύθυνος καθηγητής: Αναλυτή Κατερίνα Άρτα 2006 E- learning

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

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ - ΓΛΩΣΣΑ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τεχνικές Σχεδίασης Αλγορίθμων Εισαγωγή στον Προγραμματισμό - ΓΛΩΣΣΑ Επιμέλεια: Ομάδα Διαγωνισμάτων από Το στέκι των πληροφορικών ο Θέμα 1 Α. α) Ποια είναι

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

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

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

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

Το διαδίκτυο είναι ένα δίκτυο που αποτελείτε από πολλά μικρότερα δίκτυα υπολογιστών.

Το διαδίκτυο είναι ένα δίκτυο που αποτελείτε από πολλά μικρότερα δίκτυα υπολογιστών. Κεφάλαιο 2 Με το διαδίκτυο μπορεί κάποιος: να κάνει έρευνα, να ψωνίσει για διάφορες υπηρεσίες και προϊόντα, να δει καιρικούς χάρτες, να πάρει φωτογραφίες, ταινίες, και διάφορες άλλες πληροφορίες που βρίσκονται

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

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

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

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

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Ενότητες βιβλίου: 6.4, 6.7 Ώρες διδασκαλίας: 1 Τεχνικές σχεδίασης προγραμμάτων Στο βιβλίο γίνεται αναφορά σε μία τεχνική για την ανάπτυξη

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

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ii ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1. Εισαγωγή - Βασικές έννοιες....1 1.1 Εσωτερική παράσταση δεδομένων....2 1.1.1 Παράσταση θέσης....3 1.1.2 Μετατροπές μεταξύ συστημάτων διαφορετικών βάσεων....5 1.1.3 Οι αριθμητικές

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

Κεφ. 1: Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

Κεφ. 1: Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος Η έννοια του προβλήματος 1. Αναφέρετε μερικά από τα προβλήματα που συναντάτε στην καθημερινότητά σας. Απλά προβλήματα Ποιο δρόμο θα ακολουθήσω για να πάω στο σχολείο; Πως θα οργανώσω μια εκδρομή; Πως θα

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

Πληροφορική Τμήμα Σχεδιασμού & Τεχνολογίας Ξύλου & Επίπλου Αντώνιος Καραγεώργος Ευανθία Τσιλιχρήστου. Μάθημα 5 ο Τεχνολογίες Διαδικτύου: HTML I

Πληροφορική Τμήμα Σχεδιασμού & Τεχνολογίας Ξύλου & Επίπλου Αντώνιος Καραγεώργος Ευανθία Τσιλιχρήστου. Μάθημα 5 ο Τεχνολογίες Διαδικτύου: HTML I Πληροφορική Τμήμα Σχεδιασμού & Τεχνολογίας Ξύλου & Επίπλου Αντώνιος Καραγεώργος Ευανθία Τσιλιχρήστου Μάθημα 5 ο Τεχνολογίες Διαδικτύου: HTML I Διαδικτυακή Εφαρμογή (1/2) Ως διαδικτυακή εφαρμογή μπορούμε

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

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή 1 Πίνακας Περιεχομένων 1. Εισαγωγή... 4 1.1 Περιβάλλον Moodle...4 1.2 Χρήση ονόματος χρήστη και κωδικού...4 1.3 Δημιουργία νέου μαθήματος...4 1.3.1

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

Αρχές Προγραμματισμού Υπολογιστών

Αρχές Προγραμματισμού Υπολογιστών Αρχές Προγραμματισμού Υπολογιστών Ανάπτυξη Προγράμματος Β ΕΠΑΛ Τομέας Πληροφορικής Βελώνης Γεώργιος Καθηγητής Πληροφορικής ΠΕ20 Κύκλος ανάπτυξης προγράμματος/λογισμικού Η διαδικασία ανάπτυξης λογισμικού,

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

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

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

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

ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΙΣΤΟΤΟΠΩΝ

ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΙΣΤΟΤΟΠΩΝ ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΙΣΤΟΤΟΠΩΝ 1Τι είναι ο Παγκόσµιος Ιστός; Λόγω της µεγάλης απήχησης του Παγκόσµιου Ιστού πολλές φορές ταυτίζουµε τον Παγκόσµιο Ιστό µε το Διαδίκτυο. Στην πραγµατικότητα αυτή η αντίληψη

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

World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών

World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών Περιεχόµενα World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών Εισαγωγή Ιστορική Αναδροµή Το ιαδίκτυο και το WWW Υπερκείµενο Εντοπισµός πληροφοριών στο WWW Search Engines Portals Unicode Java Plug-Ins 1 2

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15. Δίκτυα υπολογιστών. (και το Διαδίκτυο)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15. Δίκτυα υπολογιστών. (και το Διαδίκτυο) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

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

ΜΕΡΙΚΑ ΣΤΟΙΧΕΙΑ ΓΙΑ ΤΙΣ ΓΛΩΣΣEΣ ΠPOΓPAMMATIΣMOY

ΜΕΡΙΚΑ ΣΤΟΙΧΕΙΑ ΓΙΑ ΤΙΣ ΓΛΩΣΣEΣ ΠPOΓPAMMATIΣMOY ΜΕΡΙΚΑ ΣΤΟΙΧΕΙΑ ΓΙΑ ΤΙΣ ΓΛΩΣΣEΣ ΠPOΓPAMMATIΣMOY Mία γλώσσα προγραμματισμού συνίσταται από ένα περιορισμένο υποσύνολο της αγγλικής γλώσσας και το οποίο αποτελείται από εκφράσεις σαφώς ορισμένες, χωρίς παρερμηνεία.

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 10 ΟΥ ΚΕΦΑΛΑΙΟΥ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Πως ορίζεται ο τμηματικός προγραμματισμός; Τμηματικός προγραμματισμός

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

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος Κεφάλαιο 10 Υποπρογράμματα 1 10.1 Τμηματικός προγραμματισμός Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης και ανάπτυξης των προγραμμάτων ως ένα σύνολο από απλούστερα τμήματα προγραμμάτων.

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

Βασικές Υπηρεσίες Διαδικτύου. Επικοινωνίες Δεδομένων Μάθημα 2 ο

Βασικές Υπηρεσίες Διαδικτύου. Επικοινωνίες Δεδομένων Μάθημα 2 ο Βασικές Υπηρεσίες Διαδικτύου Επικοινωνίες Δεδομένων Μάθημα 2 ο Μεταφορά αρχείων (File Transfer Protocol, FTP) user at host FTP user interface FTP client local file system file transfer FTP server remote

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

Διαδίκτυο: Ιστορία, Δομή, Υπηρεσίες

Διαδίκτυο: Ιστορία, Δομή, Υπηρεσίες Διαδίκτυο: Ιστορία, Δομή, Υπηρεσίες 1 η Ερώτηση (Ορισμός): Τι είναι το Διαδίκτυο; Διαδίκτυο είναι το παγκόσμιο δίκτυο όλων των επιμέρους δικτύων που έχουν συμφωνήσει σε κοινούς κανόνες επικοινωνίας και

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1 ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 1ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος Ορισμός Wikipedia.org 2 Δομημένος προγραμματισμός (structured programming) ή διαδικαστικός προγραμματισμός (procedural

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

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

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

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

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

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

Αλγόριθμος. Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος.

Αλγόριθμος. Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος. Αλγόριθμος Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος. Εντολές ή οδηγίες ονομάζονται τα βήματα που αποτελούν έναν αλγόριθμο.

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

ΑΕΠΠ Ερωτήσεις τύπου Σωστό-Λάθος

ΑΕΠΠ Ερωτήσεις τύπου Σωστό-Λάθος ΑΕΠΠ Ερωτήσεις τύπου Σωστό-Λάθος Κεφάλαιο 1 1. Πρόβλημα είναι μια μαθηματική κατάσταση που πρέπει να αντιμετωπίσουμε 2. Αν υποβάλλουμε τα δεδομένα σε επεξεργασία παίρνουμε πληροφορίες 3. Ο υπολογιστής

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

Εισαγωγή στην επιστήμη των υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Λογισμικό Υπολογιστών Γλώσσες Προγραμματισμού 1 Εξέλιξη Οι γλώσσες προγραμματισμού είναι σύνολα από προκαθορισμένες λέξεις οι οποίες συνδυάζονται σε προγράμματα σύμφωνα

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

ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης

ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης ΕΓΚΑΤΑΣΤΑΣΗ & ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ INTERNET INFORMATION SERVER (IIS) ΓΙΑ ΥΛΟΠΟΙΗΣΗ ΥΠΗΡΕΣΙΩΝ ΔΙΑΔΙΚΤΥΟΥ (WEB SERVICES) ΣΠΟΥΔΑΣΤΡΙΑ:Μπάρδα Μαρία ΕΙΣΗΓΗΤΗΣ: Τσιαντής

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

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

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

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

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού Κεφάλαιο 6 ο Διαχείριση στοιχείων λογισμικού Διδακτικοί στόχοι Να περιγραφούν οι κύριοι τύποι λογισμικού Να εξεταστεί το λογισμικό συστήματος και τα λειτουργικά συστήματα Να αναλυθούν οι πιο σημαντικές

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

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

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

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

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ της Πλατφόρμας Τηλεκατάρτισης ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή...2 2. Αρχική σελίδα, Εισαγωγή & Περιβάλλον Συστήματος...3 2.1. Αρχική σελίδα εισαγωγής...3 2.2. Εισαγωγή στην Πλατφόρμα Τηλε-κατάρτισης...4

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

Κεφάλαιο 1 Προγραμματισμός Υπολογιστή. Εφαρμογές Πληροφορικής Κεφ. 7 Καραμαούνας Πολύκαρπος 1

Κεφάλαιο 1 Προγραμματισμός Υπολογιστή. Εφαρμογές Πληροφορικής Κεφ. 7 Καραμαούνας Πολύκαρπος 1 Κεφάλαιο 1 Προγραμματισμός Υπολογιστή Καραμαούνας Πολύκαρπος 1 7.1 Η προγραμματιζόμενη μηχανή Από τις βασικότερες διαφορές ανάμεσα στον υπολογιστή και στις περισσότερες ηλεκτρονικές συσκευές είναι η δυνατότητα

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