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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.EVAL push bx Xor bx,bh Add si,ax.loop dec cx. 1. Fortran. 2. Cobol. 3. Algol

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

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

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

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

Κεφάλαιο 6 Εισαγωγή στον Προγραμματισμό. 26-Jun-15 ΑΕΠΠ - Καραμαούνας Π. 1

Εργαστήρι Πληροφορικής Αλγόριθµος 92 Σηµειώσεις Τεχνολογικής Κατεύθυνσης Γλώσσες µηχανής Αρχικά για να µπορέσει ο υπολογιστής να εκτελέσει µία οποιαδή

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

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

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

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.

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

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

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

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

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

κ ε φ ά λ α ι ο 7 0 Α. Θ Ε Ω Ρ Ι Α Η έ ν ν ο ι α τ ο υ π ρ ο γ ρ ά µ µ α τ ο ς Ι σ τ ο ρ ι κ ή Α ν α δ ρ ο µ ή π α ρ α τ ή ρ η σ η

ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α.

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

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

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

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

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

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

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

7 ο ΓΕΛ Καλλιθέας Οδηγός Α.Ε.Π.Π. ΚΕΦΑΛΑΙΟ 6 ο

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

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

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

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

ΑΕΠΠ ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 6.3 Φυσικές και Τεχνιτές Γλώσσες 6.4 Τεχνικές Σχεδίασης Προγραμμάτων

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

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

Βασίλειος Κοντογιάννης ΠΕ19

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

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

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

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

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου

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

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

Προγραμματισμός και Εφαρμογές Υπολογιστών

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

Γεωγραφικά Συστήµατα Πληροφοριών και Αρχές Τηλεπισκόπησης

ΓΕ0170 -Αλγόριθμοι και Προηγμένες Προγραμματικές Τεχνικές. Εισαγωγή. Νίκος Αθανάσης.

Προγραμματισμός Υπολογιστών

Τεχνολογία Λογισµικού Ι Κεφάλαιο 5

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

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

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

Ενότητα 13. Εισαγωγή στην Πληροφορική. Κεφάλαιο 13Α. Αρχεία. Χειµερινό Εξάµηνο ρ. Παναγιώτης Χατζηδούκας (Π..407/80) προγραµµατισµός

Γλώσσες Προγραμματισμού Μεταγλωττιστές

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

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

6.3 Φυσικές και τεχνητές γλώσσες

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

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

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

ΠΕΡΙΕΧΟΜΕΝΑ Η έννοια του προγράμματος Ιστορική αναδρομή Φυσικές και τεχνητές γλώσσες Τεχνικές σχεδίασης προγραμμάτων Αντικειμενοστραφής

Μεταγλωττιστής. Μεταφραστές. Γλώσσες. Είδη Μεταγλωττιστών. Μεταγλωττιστής Τελικό πρόγραµµα (object program) Εισαγωγή Αρχικό πρόγραµµα (source program)

Μεταγλωττιστές Ενότητα 1: Εισαγωγή

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

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ

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

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

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

Μέρος Α. Λογισµικό & Προγράµµατα συστήµατος και εφαρµογών ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ. Το σηµερινό µάθηµα. Λογισµικό συστηµάτων & εφαρµογών

ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ. ΘΕΜΑ 1 Δίνεται το παρακάτω τμήμα δηλώσεων ενός προγράμματος σε «ΓΛΩΣΣΑ»: ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: Π[10] ΛΟΓΙΚΕΣ: ΒΡΕΘΗΚΕ ΑΚΕΡΑΙΕΣ: i

Κεφάλαιο 7 Προγραμματισμός υπολογιστή

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΠΕΡΙΕΧΟΜΕΝΑ Η έννοια του προγράμματος Ιστορική αναδρομή Φυσικές και τεχνητές γλώσσες Τεχνικές σχεδίασης προγραμμάτων Αντικειμενοστραφής

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

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

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

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

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

Προγραµµατισµός Η/Υ. Μέρος2

A) Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-10 και δίπλα τη λέξη Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν είναι

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ Κεφάλαιο 1 ο Ανάλυση Προβλήµατος

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

Ανάπτυξη εφαρµογών σε προγραµµατιστικό περιβάλλον (στοιχεία θεωρίας)

Transcript:

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Προγραµµατισµός Η/Υ Ο προγραµµατισµός είναι η διατύπωση του αλγορίθµου σε µορφή κατανοητή από τον Η/Υ ώστε να τον εκτελέσει («τρέξει» όπως λέµε στην ορολογία της Πληροφορικής). Η διατύπωση γίνεται χρησιµοποιώντας µία γλώσσα προγραµµατισµού Κατηγορίες Γλωσσών Προγραµµατισµού Γλώσσα µηχανής Γλώσσες χαµηλού επιπέδου ή Συµβολικές γλώσσες Γλώσσες υψηλού επιπέδου (ή Τρίτης γενιάς) 1. Γλώσσες Μηχανής : Το πρόγραµµα περιέχει εντολές που είναι σε δυαδική µορφή, άµεσα κατανοητή από τον Η/Υ (όχι όµως από τον άνθρωπο). ηλαδή, το πρόγραµµα αποτελείται από ακολουθίες 0 και 1 π.χ. 10101000 00001010 11000000 00000001 Πλεονεκτήµατα : - Ταχύτατη εκτέλεση των εντολών. - εν απαιτείται µεταφραστικό πρόγραµµα. Μειονεκτήµατα : - Το γράψιµο του προγράµµατος είναι µία ιδιαίτερα επίπονη και χρονοβόρα διαδικασία. - Απαιτείται βαθιά γνώση της αρχιτεκτονικής του Η/Υ. - Το πρόγραµµα «τρέχει» µόνο στο συγκεκριµένο τύπο του Η/Υ. Γλώσσες χαµηλού Επιπέδου ή συµβολικές (Assembly). Οι εντολές που είναι σε µορφή 0 και 1 αντικαθίστανται από µνηµονικά (συµβολικά) ονόµατα. Για παράδειγµα, η εντολή 100001100 αντικαθίστανται από το ADD. Πλεονεκτήµατα : - Ταχύτατη εκτέλεση των εντολών. - Η µορφή του προγράµµατος είναι καλύτερα κατανοητή από τον άνθρωπο σε σχέση µε τη γλώσσα µηχανής. Μειονεκτήµατα : - Η αντιστοιχία 1 προς 1 µε τις εντολές της γλώσσας µηχανής παρέµενε.

- Απαιτείται η χρήση ενός µεταφραστικού προγράµµατος ώστε οι συµβολικές εντολές να µετατραπούν στις αντίστοιχες δυαδικές. Το ειδικό αυτό πρόγραµµα ονοµάζεται συµβολοµεταφραστής (assembler). - Το γράψιµο του προγράµµατος εξακολουθεί να είναι µία ιδιαίτερα επίπονη και χρονοβόρα διαδικασία. - Απαιτείται βαθιά γνώση της αρχιτεκτονικής του Η/Υ. - Το πρόγραµµα «τρέχει» µόνο στο συγκεκριµένο τύπο του Η/Υ. 2. Γλώσσες Υψηλού Επιπέδου: Γλώσσες που οι εντολές προσεγγίζουν κατά πολύ την κατανοητή στον άνθρωπο γλώσσα. Έχουν τα εξής πλεονεκτήµατα: Έχουν πιο φυσικό και «ανθρώπινο» τρόπο έκφρασης Πλεονεκτήµατα : Η ανεξαρτησία από τον τύπο του Επεξεργαστή (Υπολογιστή) που εκτελούνται. Μπορούν να εκτελεστούν µε ελάχιστες ή καθόλου µετατροπές σε οποιονδήποτε Υπολογιστή αρκεί να έχει εγκατασταθεί στον Υπολογιστή το κατάλληλο γι αυτόν τον Υπολογιστή µεταφραστικό πρόγραµµα που µετατρέπει το πρόγραµµα σε Γλώσσα µηχανής. Έχουν δηλαδή το πλεονέκτηµα της µεταφερσιµότητας. Η ευκολία εκµάθησης και εκπαίδευσης στις γλώσσες αυτές Η διόρθωση λαθών και η συντήρηση του προγράµµατος είναι πολύ πιο εύκολη. Μειονεκτήµατα : - Απαιτείται η χρήση ενός µεταφραστικού προγράµµατος ώστε οι εντολές να µετατραπούν σε πολλές δυαδικές εντολές (δεν έχουµε εδώ αντιστοιχία 1 προς 1). Έχουµε δύο ειδών µεταφραστικά προγράµµατα: τους µεταγλωττιστές (compilers) και τους διερµηνείς (interpreters). - Το πρόγραµµα «τρέχει» πιο αργά σε σχέση µε τα προγράµµατα των συµβολικών γλωσσών ή της γλώσσας µηχανής. Κατηγορίες γλωσσών υψηλού επιπέδου βάσει του τρόπου δόµησης των προγραµµάτων ιαδικασιακές ή αλγοριθµικές γλώσσες (Procedural) : λέγονται έτσι διότι επιτρέπουν την εύκολη υλοποίηση αλγορίθµων π.χ. Pascal, Basic. Αντικειµενοστραφείς γλώσσες (object oriented) π.χ. C++ Συναρτησιακές γλώσσες (functional) π.χ. LISP Μη-διαδικασιακές γλώσσες : χαρακτηρίζονται και γλώσσες πολύ υψηλού επιπέδου.π.χ. PROLOG Γλώσσες ερωταπαντήσεων (Query languages) ή 4ης γενιάς π.χ. SQL

Κατηγορίες γλωσσών υψηλού επιπέδου βάσει περιοχής χρήσης Γλώσσες γενικής χρήσης : Σκοπός τους είναι να επιλύουν πάσης φύσεως προβλήµατα (αριθµητικά, εµπορικά, επιστηµονικά). Τέτοιες είναι η Basic, Pascal. Μερικές γλώσσες, όµως, έχουν δηµιουργηθεί αποκλειστικά για να επιλύουν ευκολότερα συγκεκριµένους τύπους προβληµάτων όπως : Γλώσσες επιστηµονικής κατεύθυνσης : π.χ. FORTRAN Γλώσσες εµπορικής κατεύθυνσης : π.χ. COBOL. Γλώσσες προγραµµατισµού συστηµάτων π.χ. C Γλώσσες τεχνητής νοηµοσύνης π.χ. LISP, PROLOG. Γλώσσες ειδικής χρήσης. Σκοπός τους είναι να επιλύουν εδικού τύπου προβλήµατα όπως διαχείριση Βάσεων εδοµένων κ.α. π.χ. SQL Ονοµαστική περιγραφή γλωσσών υψηλού επιπέδου 1. FORTRAN (Επιστηµονικές και µαθηµατικές εφαρµογές). Πρόκειται για µιά παλιά γλώσσα 2. COBOL (Εµπορικές Εφαρµογές π.χ. διαχείριση αποθήκης) 3. ALGOL (Γενικής χρήσης). Μια από τις πρώτες γλώσσες που δεν πολυχρησιµοποιήθηκε αλλά επηρέασε την εξέλιξη των άλλων γλωσσών. 4. PL /1 (Γενικής χρήσης) 5. LISP (Χειρισµός Λιστών Προβλήµατα Τεχνιτής Νοηµοσύνης π.χ. Ροµποτική)) ανήκει στις λεγόµενες Συναρτησιακές Γλώσσες 6. PROLOG (Προβλήµατα Τεχνιτής Νοηµοσύνης π.χ. Ροµποτική) ανήκει στις λεγόµενες µη διαδικασιακές γλώσσες 7. PASCAL (Γενικής χρήσης) 8. BASIC (Γενικής χρήσης) 9. C++ (Σι Πλας Πλας) (Γλώσσα αντικειµενοστρεφής) 10. JAVA (Γλώσσα εφαρµογών Internet) 11. Visual Basic (Γλώσσα Οπτικού Προγραµµατισµού) 12. Visual C++ (Γλώσσα Οπτικού Προγραµµατισµού) 13. SQL (Γλώσσα 4ης Γενιάς) χρησιµοποιείται για άντληση δεδοµένων µέσα από Βάσεις δεδοµένων. Ανήκει στις λεγόµενες Γλώσσες Ερωταπαντήσεων εν απευθύνεται µόνο σε προγραµµατιστές αλλά και χρήστες. Ο χρήστης µπορεί, σχετικά εύκολα, να υποβάλει ερωτήσεις στο σύστηµα ή να αναζητά πληροφορίες από µία Βάση εδοµένων. Παράδειγµα, SELECT Επώνυµο, Όνοµα FROM Μαθητές WHERE Τάξη = Γ2

Οι περισσότερες Γλώσσες Προγραµµατισµού ανήκουν στην κατηγορία των ιαδικασιακών Γλωσσών ή Αλγοριθµικών Γλωσσών (Εξαίρεση όπως φαίνεται παραπάνω είναι η PROLOG). Η επιλογή της γλώσσας προγραµµατισµού για την δηµιουργία ενός προγράµµατος εξαρτά ται από τα εξής: 1. Το είδος της εφαρµογής (πχ. Για εµπορική εφαρµογή µπορεί να χρησιµοποιηθεί λόγω εξειδίκευσης της γλώσσας η COBOL) 2. To Υπολογιστικό περιβάλλον που θα εκτελεστεί η εφαρµογή 3. Ποιες γλώσσες διαθέτουµε σαν προγραµµατιστικό περιβάλλον 4. Τι γνώσεις έχει ο προγραµµατιστής. Αντικειµενικά ιδανική γλώσσα για την ανάπτυξη µιας εφαρµογής δεν υπάρχει. Φυσικές Τεχνητές Γλώσσες Φυσικές είναι οι γλώσσες που µιλάµε. Τεχνητές είναι οι γλώσσες προγραµµατισµού που αναπτύχθηκαν για να µπορέι ο προγραµµατιστής να δίνει εντολές που µπορεί να εκτελέσει ο προγραµµατιστής. Χαρακτηριστικά που προσδιορίζουν µια Γλώσσα (Φυσική ή Τεχνητή) 1. Αλφάβητο (Γράµµατα αλφαβήτου πεζά ή κεφαλαία, αριθµητικά ψηφία, σηµεία στίξης) 2. Λεξιλόγιο (το σύνολο των λέξεων) 3. Γραµµατική a. Τυπικό (το σύνολο των κανόνων που καθορίζει τις µορφές µε τις οποίες µια λέξη µπορεί να εµφανίζεται π.χ. γλώσσα, γλώσσας κλπ.) b. Συντακτικό (το σύνολο των κανόνων που καθορίζει τον τρόπο µε τον οποίο οι λέξεις συνδέονται για να σχηµατίσουν προτάσεις) 4. Σηµασιολογία (Το σύνολο των κανόνων που καθορίζουν το νόηµα των λέξεων και κατ επέκταση των εκφράσεων και προτάσεων που χρησιµοποιούνται σε µία γλώσσα). ιαφορές Φυσικών και Τεχνητών Γλωσσών Η βασική διαφορά είναι ότι οι Φυσικές Γλώσσες εξελίσσονται συνεχώς ανάλογα µε τις εποχές τον κοινωνικό περίγυρο κλπ. Και οι τεχνητές βέβαια γλώσσες κατά καιρούς βελτιώνονται από τους κατασκευαστές τους. Τενικές Σχεδίασης Προγραµµάτων

Ιεραρχική Σχεδίαση Προγραµµάτων Σήµερα χρησιµοποιείται η Τεχνική της Ιεραρχικής Σχεδίασης Προγραµµάτων (ή από πάνω προς τα κάτω Τεχνική ή Top Down Technique). Ουσιαστικά περιλαµβάνει τον καθορισµό των βασικών λειτουργιών ενός προγράµµατος και στη συνέχει τη διάσπαση των λειτουργιών αυτών σε απλούστερες, µέχρι το τελευταίο επίπεδο που οι λειτουργίες είναι απλές και επιλύονται εύκολα. Απαιτεί τη διάσπαση του προβλήµατος σε επιµέρους προβλήµατα όπως έχει αναφερθεί και στο 1ο κεφάλαιο. Τµηµατικός Προγραµµατισµός Η Ιεραρχική Σχεδίαση Υλοποιείται µε τον Τµηµατικό Προγραµµατισµό. Περιλαµβάνει την διάσπαση του προβλήµατος σε επιµέρους, την επίλυσή τους και τελικά τη σύνθεση της λύσης µε σκοπό την επίλυση του συνολικού προβλήµατος. οµηµένος Προγραµµατισµός Η Ιεραρχική Σχεδίαση και Τµηµατικός Προγραµµατισµός συνιστούν τον λεγόµενο οµηµένο Προγραµµατισµό. Ο οµηµένος Προγραµµατισµός έχει σαν κύριο χαρακτηριστικό την εξάλειψη ή την µείωση της χρήσης της εντολής GOTO η οποία µεταφέρει την εκτέλεση του προγράµµατος σε άλλο σηµείο. ( Η εντολή GOTO θεωρείται σήµερα το µαύρο πρόβατο του προγραµµατισµού) Γενικά ο οµηµένος προγραµµατισµός στηρίζεται στη χρήση τριών και µόνο στοιχειωδών λογικών δοµών, τη δοµή ακολουθίας, τη δοµή της επιλογής και της επανάληψης. Όλα τα προγράµµατα µπορούν να γραφτούν χρησιµοποιώντας τις τρεις αυτές δοµές. Κάθε πρόγραµµα όπως και κάθε ενότητα προγράµµατος έχει µόνο µία είσοδο και µόνο µία έξοδο. Πλεονεκτήµατα: ηµιουργία απλούστερων προγραµµάτων. Άµεση µεταφορά των αλγορίθµων σε προγράµµατα ιευκόλυνση ανάλυσης του προγράµµατος σε τµήµατα Περιορισµός των λαθών κατά την ανάπτυξη του προγράµµατος ιευκόλυνση στην ανάγνωση και την κατανόηση του προγράµµατος από τρίτους Ευκολότερη διόρθωση και συντήρηση Οπτικός και καθοδηγούµενος από το γεγονός Προγραµµατισµός Με την ευρεία διάδοση των γραφικών περιβαλλόντων επικοινωνίας (π.χ. Windows, MacOS κλπ) δηµιουργήθηκαν παραλλαγές κάποιων γλωσσών που απευθύνονται σε αυτά. Τέτοιες είναι η Visual Basic, Visual C++, Delphi (Visual Pascal), C# κ.α. Αυτές οι γλώσσες ακολουθούν τη φιλοσοφία του οπτικού και του καθοδηγούµενου-απόγεγονότα προγραµµατισµού χωρίς να απορρίπτουν τις αρχές του δοµηµένου προγραµµατισµού.

Οπτικός προγραµµατισµός. Είναι η δυνατότητα να δηµιουργούµε, µε γραφικό τρόπο, ολόκληρο το περιβάλλον της εφαρµογής όπως για παράδειγµα τα µενού και τα πλαίσια διαλόγου και άλλα παράθυρα της εφαρµογής. Ο οπτικός προγραµµατισµός εκµεταλλεύεται τις δυνατότητες των γραφικών περιβαλλόντων επικοινωνίας (π.χ Windows, MacOs κλπ). Καθοδηγούµενος από γεγονότα προγραµµατισµός Είναι η δυνατότητα να εκτελούνται οι διάφορες λειτουργίες του προγράµµατος µε την ενεργοποίηση ενός γεγονότος. Για παράδειγµα, αν κάνουµε κλικ σε κάποια εντολή ενός µενού ή σε κάποιο κουµπί σε ένα παράθυρο της εφαρµογής τότε θα εκτελεστεί µία λειτουργία.. Προγραµµατιστικά Περιβάλλοντα Κάθε πρόγραµµα αφού σχεδιαστεί γράφεται στο περιβάλλον µιας γλώσσας προγραµµατισµού. Αυτό το πρόγραµµα ονοµάζεται Πηγαίο Πρόγραµµα (source) και φυσικά δεν µπορεί να εκτελεστεί αν δεν µετατραπεί σε γλώσσα µηχανής. Το περιβάλλον της γλώσσας που γράφεται το πρόγραµµα ονοµάζεται Συντάκτης (editor.) Το Πρόγραµµα σε Γλώσσα Μηχανής που θα προκύψει µετά τη µετατροπή του Πηγαίου, ονοµάζεται Αντικείµενο Πρόγραµµα (object) και είναι το πρόγραµµα το οποίο µπορεί να εκτελεστεί. Ένα πρόγραµµα εκτός από τις εντολές έχει και στοιχεία τα οποία µία γλώσσα προγραµµατισµού διαθέτει έτοιµα να τα χρησιµοποιήσει ο Προγραµµατιστή (όπως για παράδειγµα οι αριθµητικές πράξεις). Αυτά υπάρχουν σ ένα χώρο της µνήµης που ονοµάζεται Βιβλιοθήκη της Γλώσσας και κάθε πρόγραµµα πριν γίνει η πλήρης µετατροπή του σε Γλώσσα Μηχανής πρέπει να συνδεθεί µε τη Βιβλιοθήκη της Γλώσσας µε τη Βοήθεια άλλων προγραµµάτων που ονοµάζονται Συνδέτες (Linkers ) και η διαδικασία Σύνδεση (Link). Άρα έχουµε τη διαδικασία: Αρχικό Πρόγραµµα Μετατροπέας Πηγαίου Προγράµµατος Αντικείµενο Πρόγραµµα σε Γλώσσα Μηχανής Συνδέτης (Linker) Εκτελέσιµο πρόγραµµα σε Γλώσσα µηχανής. Οι µετατροπείς των Πηγαίων Προγραµµάτων χωρίζονται στις εξής κατηγορίες: 1. Συµβολοµεταφραστές Πρόκειται για τα προγράµµατα που µετατρέπουν τις Γλώσσες χαµηλού Επιπέδου (Assembly) σε γλώσσα µηχανής)

2. Μετατροπείς Γλωσσών Υψηλού Επιπέδου i. Μεταγλωττιστές (Compilers) οι οποίοι παίρνουν όλο το αρχικό πρόγραµµα και το µετατρέπουν σε αντικείµενο το οποίο στη συνέχεια εκτελείται ενιαίο. (Μοιάζει µε τη διαδικασία µετάφρασης βιβλίου) ii. ιερµηνευτές (Interpreters) οι οποίοι παίρνουν κάθε εντολή µία τη µετατρέπουν σε γλώσσα εντολής την εκτελούν, και µετά κάνουν ξανά τη διαδικασία για την επόµενη εντολή (Μοιάζει µε τη διαδικασία που κάνει ένας διερµηνέας σ ένα συνέδριο) Χαρακτηριστικά Μεταγλωττιστών 1. Πιο γρήγορη εκτέλεση του προγράµµατος γιατί εκτελείται ενιαίο 2. Πιο δύσκολη, επίπονη και χρονοβόρα η διαδικασία Εντοπισµού και διόρθωσης λαθών Χαρακτηριστικά ιερµηνευτών 1. Πιο αργή εκτέλεση του προγράµµατος γιατί εκτελείται µία µία εντολή 2. Πιο εύκολος ο εντοπισµός και η διόρθωση σφαλµάτων Σήµερα πολλές γλώσσες έχουν και διερµηνευτή που χρησιµοποιείται στη διαδικασία ελέγχου του προγράµµατος και διόρθωσης λαθών και αφού διορθωθούν τα λάθη χρησιµοποιείται µεταγλωττιστής για την πιο γρήγορη εκτέλεση του Προγράµµατος Παρατηρήσεις 1. Με βάση τα παραπάνω λοιπόν αν χρησιµοποιείται διερµηνέας δεν υπάρχει η έννοια του αντικείµενου προγράµµατος σαν σύνολο. 2. Σε κάθε Πρόγραµµα υπάρχουν δύο ειδών λάθη που µπορούµε να βρούµε a. Συντακτικά που οφείλονται σε λάθος πληκτρολόγηση εντολών, λάθος χρήση σηµείων στίξης κλπ. b. Λογικά ή Αλγοριθµικά που οφείλονται σε λάθος στη λογική του προγράµµατος (π.χ. να δηµιουργηθεί ένα ατέρµονο loop)