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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 1 Ο. Εισαγωγή στις έννοιες Πρόβλημα, Αλγόριθμος, Προγραμματισμός, Γλώσσες Προγραμματισμού

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

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

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

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

Ένα περιοδικό για το ΑΕΠΠ

ΣΗΜΕΙΩΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ H/Y ΜΕ PASCAL. Ειδικότητα Τεχνικός Εφαρμογών Πληροφορικής ( Πολυμέσα/Web Designer- Developer/Video Games)

Η ΑΕΠΠ IN A GLANCE! ΦΡΟΝΤΙΣΤΗΡΙΑ ΠΟΛΥΜΕΝΗ

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

ΕΠΛ Εισαγωγή στον Προγραµµατισµό: Λογισµικό. Το λογισµικό του συστήµατος: 1 Εισαγωγή ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

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

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

Ορισμός Κάθε ζήτημα που τίθεται προς επίλυση, κάθε δύσκολη κατάσταση που μας απασχολεί και πρέπει να αντιμετωπιστεί.

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

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

Κεφάλαιο 1. Τι είναι πληροφορία Με τον όρο πληροφορία αναφέρεται οποιοδήποτε γνωσιακό στοιχείο προέρχεται από επεξεργασία δεδοµένων.

Προγραμματισμός Η/Υ. 1 η ενότητα: Εισαγωγή στις γλώσσες προγραμματισμού. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων

8. Λεξιλόγιο μιας γλώσσας είναι όλες οι ακολουθίες που δημιουργούνται από τα στοιχεία του αλφαβήτου της γλώσσας, τις λέξεις.

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

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

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

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

ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ

Transcript:

Σηµαντικά σηµεία κεφαλαίου Τα τρία στάδια επίλυσης ενός προβλήµατος: Ακριβής προσδιορισµό του προβλήµατος Ανάπτυξη του αντίστοιχου αλγορίθµου. ιατύπωση του αλγορίθµου σε κατανοητή µορφή από τον υπολογιστή. Ο προγραµµατισµός ασχολείται µε το τρίτο αυτό στάδιο, τη δηµιουργία του προγράµµατος δηλαδή του συνόλου των εντολών που πρέπει να δοθούν στον υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθµος για την επίλυση του προβλήµατος. Το πρόγραµµα, το οποίο γράφεται σε κάποια γλώσσα προγραµµατισµού, δεν είναι απλά η υλοποίηση του αλγορίθµου, αλλά βασικό στοιχείο του είναι τα δεδοµένα και οι δοµές δεδοµένων επί των οποίων ενεργεί. Γλώσσα µηχανής Αρχικά για να µπορέσει ο υπολογιστής να εκτελέσει µία οποιαδήποτε λειτουργία, έπρεπε να δοθούν κατευθείαν οι κατάλληλες ακολουθίες από 0 και 1, δηλαδή εντολές σε µορφή κατανοητή από τον υπολογιστή (Γλώσσα µηχανής) αλλά ακατανόητες από τον άνθρωπο. Γλώσσες χαµηλού επιπέδου Οι γλώσσες αυτές έχουν λίγες απλές εντολές (πχ ADD, JUMP) οι οποίες µεταφράζονται σε γλώσσα µηχανής από τον συµβολοµεταφραστή (assembler). Μειονεκτήµατα: Είναι στενά συνδεδεµένες µε την αρχιτεκτονική του κάθε Η/Υ (αυτό σηµαίνει ότι ένα πρόγραµµα γραµµένο για έναν Η/Υ, δεν θα λειτουργεί µε τον ίδιο τρόπο για κάποιον άλλο) Περιέχουν λίγες εντολές. Αυτό οδηγεί τον προγραµµατιστή να χρησιµοποιήσει πολλές εντολές για την εκτέλεση µιας απλής ενέργειας. Μιχάλης Αρταβάνης κλάδου Πληροφορικής ΠΕ19 1

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από τον µεταγλωττιστή, είτε από τον διερµηνευτή. ιάφορες γλώσσες υψηλού επιπέδου: FORTRAN (επίλυση µαθηµατικών και επιστηµονικών προγραµµάτων, χρησιµοποιείται ακόµα και σήµερα) COBOL (Εµπορικές και διαχειριστικές εφαρµογές, πολλές εφαρµογές τις χρησιµοποιούνται ακόµα) ALGOL (Αναπτύχθηκε για την ανάπτυξη γενικής φύσης προγραµµάτων, ελάχιστη πρακτική εφαρµογή) LISP, PROLOG (Γλώσσες τεχνητής νοηµοσύνης) BASIC (γλώσσα γενικής χρήσης µε µεγάλη επιτυχία, χρησιµοποιεί διερµηνευτή) PASCAL (γλώσσα γενικής χρήσης, κατάλληλη για την δηµιουργία δοµηµένων προγραµµάτων) C (Ισχυρή γλώσσα µε χαρακτηριστικά δοµηµένου προγραµµατισµού και µε πολλές δυνατότητες γλώσσας χαµηλού επιπέδου) C++ (Εξελίχθηκε από την C προσδίδοντας στοιχεία αντικειµενοστραφούς προγραµµατισµού) JAVA (αντικειµενοστραφής γλώσσα κατάλληλη για ανάπτυξη εφαρµογών που θα εκτελούνται στο διαδίκτυο) Visual BASIC, Visual C++, JAVA (Οπτικές γλώσσες προγραµµατισµού οδηγούµενου από γεγονότα) Πλεονεκτήµατα: Φυσικότερος και πιο ανθρώπινος τρόπος έκφρασης των προβληµάτων. Η ανεξαρτησία από τον τύπο του υπολογιστή. Προγράµµατα σε µία γλώσσα υψηλού επιπέδου µπορούν να εκτελεστούν σε οποιονδήποτε υπολογιστή µε ελάχιστες ή καθόλου µετατροπές. Η δυνατότητα της µεταφερσιµότητας των προγραµµάτων είναι σηµαντικό προσόν. Η ευκολία της εκµάθησης και εκπαίδευσης. Η διόρθωση λαθών και η συντήρηση προγραµµάτων σε γλώσσα υψηλού επιπέδου είναι πολύ ευκολότερο έργο. Γλώσσες 4ης γενιάς Ο χρήστης έχει τη δυνατότητα, σχετικά εύκολα, να υποβάλει ερωτήσεις στο σύστηµα ή να αναπτύσσει εφαρµογές που ανακτούν πληροφορίες από βάσεις δεδοµένων και να καθορίζει τον ακριβή τρόπο εµφάνισης αυτών των πληροφοριών Μιχάλης Αρταβάνης κλάδου Πληροφορικής ΠΕ19 2

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

χρησιµοποιείται από τη γλώσσα. ΑΕΠΠ Κεφάλαιο 6 Εισαγωγή στον Προγραµµατισµό Το λεξιλόγιο αποτελείται από ένα υποσύνολο όλων των ακολουθιών που δηµιουργούνται από τα στοιχεία του αλφαβήτου, τις λέξεις που είναι δεκτές από την γλώσσα. Η Γραµµατική αποτελείται από το τυπικό ή τυπολογικό (accidence) και το συντακτικό (syntax). Τυπικό είναι το σύνολο των κανόνων που ορίζει τις µορφές µε τις οποίες µία λέξη είναι αποδεκτή. Συντακτικό είναι το σύνολο των κανόνων που καθορίζει τη νοµιµότητα της διάταξης και της σύνδεσης των λέξεων της γλώσσας για τη δηµιουργία προτάσεων. Η γνώση του συντακτικού επιτρέπει στις γλώσσες προγραµµατισµού τη δηµιουργία σωστών εντολών. Η σηµασιολογία (Semantics) είναι το σύνολο των κανόνων που καθορίζει το νόηµα των λέξεων και κατά επέκταση των εκφράσεων και προτάσεων που χρησιµοποιούνται σε µία γλώσσα. Ιεραρχική σχεδίαση προγράµµατος Καθορισµός των βασικών λειτουργιών ενός προγράµµατος, σε ανώτερο επίπεδο, και στη συνέχεια τη διάσπαση των λειτουργιών αυτών σε όλο και µικρότερες λειτουργίες, µέχρι το τελευταίο επίπεδο που οι λειτουργίες είναι πολύ απλές, ώστε να επιλυθούν εύκολα. Για την υποβοήθηση της ιεραρχικής σχεδίασης χρησιµοποιούνται διάφορες διαγραµµατικές τεχνικές Τµηµατικός προγραµµατισµός Η ιεραρχική σχεδίαση προγράµµατος υλοποιείται µε τον τµηµατικό προγραµµατισµό. Ο τµηµατικός προγραµµατισµός διευκολύνει τη δηµιουργία του προγράµµατος, µειώνει τα λάθη και επιτρέπει την ευκολότερη παρακολούθηση, κατανόηση και συντήρηση του προγράµµατος από τρίτους. Μιχάλης Αρταβάνης κλάδου Πληροφορικής ΠΕ19 4

οµηµένος προγραµµατισµός Στηρίζεται στη χρήση τριών και µόνο στοιχειωδών λογικών δοµών, τη δοµή της ακολουθίας, τη δοµή της επιλογής και τη δοµή της επανάληψης. Όλα τα προγράµµατα µπορούν να γραφούν χρησιµοποιώντας µόνο αυτές τις τρεις δοµές καθώς και συνδυασµό τους. Κάθε πρόγραµµα όπως και κάθε ενότητα προγράµµατος έχει µόνο µία είσοδο και µόνο µία έξοδο. Πλεονεκτήµατα του δοµηµένου προγραµµατισµού. ηµιουργία απλούστερων προγραµµάτων. Άµεση µεταφορά των αλγορίθµων σε προγράµµατα. ιευκόλυνση ανάλυσης του προγράµµατος σε τµήµατα. Περιορισµός των λαθών κατά την ανάπτυξη του προγράµµατος. ιευκόλυνση στην ανάγνωση και κατανόηση του προγράµµατος από τρίτους. Ευκολότερη διόρθωση και συντήρηση. Αντικειµενοστραφής Προγραµµατισµός Η αντικειµενοστραφής σχεδίαση εκλαµβάνει ως πρωτεύοντα δοµικά στοιχεία ενός προγράµµατος τα δεδοµένα, από τα οποία δηµιουργούνται µε κατάλληλη µορφοποίηση τα αντικείµενα(objects). Παράλληλος προγραµµατισµός Προσπαθεί να εκµεταλλευτεί τις δυνατότητες των υπολογιστών που δουλεύουν µε παραπάνω από έναν επεξεργαστές Μετάφραση προγραµµάτων Μεταγλωττιστές (compilers). Μεταφράζουν όλο το πηγαίο πρόγραµµα πριν το εκτελέσουν και παράγουν ένα ισοδύναµο αντικείµενο πρόγραµµα σε γλώσσα µηχανής. Το πρόγραµµα αυτό µε την βοήθεια του συνδέτη-φορτωτή (linker) µετατρέπεται στο εκτελέσιµο πρόγραµµα το οποίο µπορεί να εκτελεστεί σε οποιονδήποτε Η/Υ. ιερµηνευτές (interpreters). Μεταφράζουν το πρόγραµµα γραµµή γραµµή. Η κάθε γραµµή αφού µεταφραστεί σε γλώσσα µηχανής εκτελείται την ίδια στιγµή Για τη δηµιουργία, τη µετάφραση και την εκτέλεση ενός προγράµµατος απαιτούνται τουλάχιστον τρία προγράµµατα: ο συντάκτης, ο µεταγλωττιστής και ο συνδέτης. Τα σύγχρονα προγραµµατιστικά περιβάλλοντα παρέχουν αυτά τα προγράµµατα µε ενιαίο τρόπο. Μιχάλης Αρταβάνης κλάδου Πληροφορικής ΠΕ19 5