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



Σχετικά έγγραφα
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

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

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

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

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

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 3 : Γλώσσες προγραμματισμού. Δρ.

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

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΠΡΟΓΡΑΜΜΑ ΠΑΙΔΑΓΩΓΙΚΗΣ ΚΑΤΑΡΤΙΣΗΣ 2 η ΕΡΓΑΣΙΑ ΠΡΑΚΤΙΚΗΣ ΑΣΚΗΣΗΣ ΠΑΡΑΤΗΡΗΣΕΙΣ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ Κεφάλαια 2, 7, 8

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

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

ΘΕΜΑ 1 Ο Α1. Δίνονται οι παρακάτω εντολές από ένα τμήμα προγράμματος:

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ονοματεπώνυμο: Βαθμός:

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

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

Transcript:

Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί ένας αλγόριθµος για την επίλυση ενός προβλήµατος. Το πρόγραµµα, το οποίο γράφεται σε κάποια γλώσσα προγραµµατισµού, δεν είναι απλά η υλοποίηση του αλγόριθµου, αλλά βασικό στοιχείο του είναι τα δεδοµένα και οι δοµές δεδοµένων επί των οποίων ενεργεί. Οι γλώσσες προγραµµατισµού αναπτύχθηκαν µε σκοπό την επικοινωνία του ανθρώπου µε τη µηχανή. Ο υπολογιστής είναι µια µηχανή που καταλαβαίνει µόνο δυο καταστάσεις οι οποίες αντιπροσωπεύονται µε τους αριθµούς µηδέν και ένα, τα ψηφία του δυαδικού συστήµατος. Ο υπολογιστής µπορεί απλά να αποθηκεύει στη µνήµη τις ακολουθίες δυαδικών ψηφίων, να τις ανακτά, να κάνει στοιχειώδεις αριθµητικές πράξεις µε αυτές και να τις συγκρίνει, µε ασύλληπτη ταχύτητα. Ιστορική αναδροµή Οι πρώτοι υπολογιστές, τεράστιοι σε µέγεθος αλλά µε πολύ περιορισµένες δυνατότητες και χαµηλές ταχύτητες επεξεργασίας, εξελίχθηκαν σε πολύ µικρούς µε τεράστιες δυνατότητες και ταχύτητες επεξεργασίας. Οι βασικές αρχές λειτουργίας των υπολογιστών που διατυπώθηκαν το 1945 από τον Φον Νόυµαν, δεν έχουν αλλάξει πρακτικά καθόλου. Οι γλώσσες προγραµµατισµού αν και εξελίσσονται και συνεχώς εµπλουτίζονται µε νέες δυνατότητες, τα χαρακτηριστικά τους και οι βασικές τους ιδιότητες ουσιαστικά παραµένουν τα ίδια. Α. Γλώσσες µηχανής Ένα πρόγραµµα σε γλώσσα µηχανής είναι µια ακολουθία δυαδικών ψηφίων που αποτελούν εντολές προς τον επεξεργαστή για στοιχειώδεις λειτουργίες. Οι εντολές αυτές είναι κατανοητές από τον υπολογιστή αλλά ακατανόητες από τον άνθρωπο καθώς απαιτούν βαθιά γνώση του υλικού και της αρχιτεκτονικής του υπολογιστή. Β. Συµβολικές γλώσσες ή γλώσσες χαµηλού επιπέδου Μια συµβολική γλώσσα ενώ έχει έννοια για τον άνθρωπο µετατρέπεται εσωτερικά από τον υπολογιστή στις αντίστοιχες ακολουθίες από 0 και 1. Το έργο της µετάφρασης το αναλαµβάνει ένα ειδικό πρόγραµµα ο συµβολοµεταφραστής.

Οι εντολές σε συµβολική γλώσσα αποτελούνται από συµβολικά ονόµατα που αντιστοιχούν σε εντολές σε γλώσσα µηχανής. Τα µειονεκτήµατα των συµβολικών γλωσσών είναι τα εξής: Παραµένουν συνδεδεµένες στενά µε την αρχιτεκτονική του υπολογιστή εν διαθέτουν εντολές πιο σύνθετων λειτουργιών οδηγώντας έτσι σε µακροσκελή προγράµµατα, που είναι δύσκολο να γραφούν και κυρίως να συντηρηθούν. εν µπορούν να µεταφερθούν σε άλλον διαφορετικό υπολογιστή ακόµη και του ίδιου κατασκευαστή. Γ. Γλώσσες υψηλού επιπέδου (3 ης γενιάς) Οι γλώσσες υψηλού επιπέδου χρησιµοποιούν ως εντολές απλές λέξεις της αγγλικής γλώσσας ακολουθώντας αυστηρούς κανόνες σύνταξης. Οι εντολές αυτές µεταφράζονται από τον ίδιο τον υπολογιστή σε εντολές σε γλώσσα µηχανής. Οι κυριότερες γλώσσες υψηλού επιπέδου είναι οι εξής: 1) FORTRAN, 2) COBOL, 3) ALGOL, 4) PL/1, 5) LISP, 6) PROLOG, 7) BASIC, 8) PASCAL, 9) C, 10) C++, 11) JAVA. Η πρώτη γλώσσα υψηλού επιπέδου, η FORTRAN, αναπτύχθηκε το 1957 ως γλώσσα κατάλληλη για την επίλυση µαθηµατικών και επιστηµονικών προβληµάτων και µετά από πολλές αλλαγές, προσθήκες και βελτιώσεις χρησιµοποιείται ακόµη και σήµερα για επιστηµονικές εφαρµογές. Η FORTRAN υστερεί στη διαχείριση αρχείων δεδοµένων και γενικότερα αλφαριθµητικών πληροφοριών. Το 1960 αναπτύχθηκε η COBOL ως γλώσσα κατάλληλη για ανάπτυξη εµπορικών συναλλαγών. Η COBOL καθιερώθηκε ως πρότυπο και χρησιµοποιήθηκε από πολλές επιχειρήσεις και από όλη τη δηµόσια διοίκηση. Πολλές εφαρµογές βρίσκονται σε χρήση ακόµη και σήµερα. Η γλώσσα ALGOL επηρέασε ιδιαίτερα τον προγραµµατισµό και τις επόµενες γλώσσες. Αναπτύχθηκε µε σκοπό τη δηµιουργία προγραµµάτων γενικής φύσης που να µην συνδέονται µε συγκεκριµένες εφαρµογές. Η γλώσσα PL/1 προσπάθησε ανεπιτυχώς να αντικαταστήσει την FORTRAN και την COBOL. Στο χώρο της τεχνητής νοηµοσύνης αναπτύχθηκαν δυο διαφορετικές γλώσσες, η LISP και η PROLOG. Η γλώσσα προγραµµατισµού BASIC αναπτύχθηκε ως γλώσσα για την εκπαίδευση αρχάριων στον προγραµµατισµό. Η ανάπτυξη των µικροϋπολογιστών και οι συνεχείς

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον εκδόσεις της την κατέστησαν την δηµοφιλέστερη, ίσως, γλώσσα στους προσωπικούς υπολογιστές. Η γλώσσα PASCAL παρουσιάστηκε το 1970 και στηρίχτηκε πάνω στην ALGOL. Είναι γλώσσα γενικής χρήσης, κατάλληλη για εκπαίδευση αρχάριων αλλά και για τη δηµιουργία ισχυρών προγραµµάτων κάθε τύπου. Είναι κατάλληλη για δηµιουργία δοµηµένων προγραµµάτων. Γνωρίζει τεράστια εξάπλωση στο χώρο των µικροϋπολογιστών. Η γλώσσα C γνώρισε µεγάλη διάδοση και χρησιµοποιήθηκε για την ανάπτυξη του λειτουργικού συστήµατος Unix. Είναι γλώσσα κατάλληλη για ανάπτυξη δοµηµένων εφαρµογών αλλά και µε πολλές δυνατότητες γλώσσας χαµηλού επιπέδου. Έχει εξελιχθεί στη γλώσσα C++ που είναι αντικειµενοστραφής. Τα τελευταία χρόνια χρησιµοποιείται ειδικά για προγραµµατισµό στο ιαδίκτυο η γλώσσα JAVA. Η JAVA είναι αντικειµενοστραφής γλώσσα που αναπτύχθηκε µε σκοπό την ανάπτυξη εφαρµογών που θα εκτελούνται σε κατανεµηµένα περιβάλλοντα, δηλαδή σε διαφορετικούς υπολογιστές που είναι συνδεδεµένοι στο ιαδίκτυο. Τα προγράµµατα αυτά µπορούν να εκτελούνται χωρίς αλλαγές από διαφορετικούς υπολογιστές, προσωπικούς ή µεγάλα συστήµατα µε διαφορετικά λειτουργικά συστήµατα. Η εµφάνιση των γραφικών περιβαλλόντων εργασίας οδήγησε στην εµφάνιση νέων γλωσσών ή νέων εκδόσεων παλιότερων γλωσσών που υλοποιούσαν τις έννοιες του οδηγούµενου από το γεγονός προγραµµατισµού και του οπτικού προγραµµατισµού. Με τον όρο οπτικό εννοούµε τη δυνατότητα να δηµιουργούµε γραφικά ολόκληρο το περιβάλλον της εφαρµογής για παράδειγµα τα πλαίσια διαλόγου ή τα µενού. Με τον όρο οδηγούµενο από το γεγονός εννοούµε τη δυνατότητα να ενεργοποιούνται λειτουργίες του προγράµµατος µε την εκτέλεση ενός γεγονότος, για παράδειγµα την επιλογή µιας εντολής από ένα µενού ή το κλικ του ποντικού. Οι πιο διαδεδοµένες γλώσσες προγραµµατισµού σε γραφικό περιβάλλον για προσωπικούς υπολογιστές είναι η Visual Basic, η Visual C++ και η Java. Τα πλεονεκτήµατα των γλωσσών υψηλού επιπέδου σε σχέση µε τις συµβολικές είναι τα εξής: Ο φυσικότερος και πιο ανθρώπινος τρόπος έκφρασης των προβληµάτων. Η ανεξαρτησία από τον τύπο του υπολογιστή και η δυνατότητα µεταφερσιµότητας που αυτή συνεπάγεται. Η ευκολία εκµάθησης και εκπαίδευσης.

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

1) από το είδος της εφαρµογής, 2) το υπολογιστικό περιβάλλον στο οποίο θα εκτελεστεί, 3) τα προγραµµατιστικά περιβάλλοντα που διαθέτουµε, και 4) τις γνώσεις του προγραµµατιστή. Φυσικές και τεχνητές γλώσσες Οι φυσικές γλώσσες χρησιµοποιούνται για την επικοινωνία ανθρώπων. Οι τεχνητές γλώσσες χρησιµοποιούνται για την επικοινωνία ανθρώπου και µηχανής. Μια γλώσσα προσδιορίζεται από: 1. το αλφάβητό της 2. το λεξιλόγιό της 3. τη γραµµατική της 4. τη σηµασιολογία της. Αλφάβητο µιας γλώσσας καλείται το σύνολο των στοιχείων που χρησιµοποιείται από τη γλώσσα. Το λεξιλόγιο αποτελείται από ένα υποσύνολο όλων των ακολουθιών που δηµιουργούνται από τα στοιχεία του αλφαβήτου, τις λέξεις που είναι αποδεκτές από τη γλώσσα. Η γραµµατική αποτελείται από το τυπικό ή τυπολογικό και το συντακτικό. Τυπικό είναι το σύνολο των κανόνων που ορίζει τις µορφές µε τις οποίες µια λέξη είναι αποδεκτή. Συντακτικό είναι το σύνολο των κανόνων που καθορίζει τη νοµιµότητα της διάταξης και της σύνδεσης των λέξεων της γλώσσας για τη δηµιουργία προτάσεων. Η σηµασιολογία είναι το σύνολο των κανόνων που καθορίζει το νόηµα των λέξεων και κατ επέκταση των εκφράσεων και προτάσεων που χρησιµοποιούνται σε µια γλώσσα. Μια βασική διαφορά µεταξύ φυσικών και τεχνητών γλωσσών είναι η δυνατότητα εξέλιξής τους. Οι φυσικές γλώσσες εξελίσσονται διαρκώς αντίθετα οι τεχνητές γλώσσες χαρακτηρίζονται από στασιµότητα. Τεχνικές σχεδίασης προγραµµάτων. Α. Ιεραρχική σχεδίαση προγράµµατος. Η ιεραρχική σχεδίαση προγράµµατος ή η διαδικασία σχεδιασµού «από επάνω προς τα κάτω» χρησιµοποιεί τη στρατηγική της συνεχούς διαίρεσης του προβλήµατος σε

υποπροβλήµατα. Για την υποβοήθηση της ιεραρχικής σχεδίασης χρησιµοποιούνται διάφορες διαγραµµατικές τεχνικές. Β. Τµηµατικός προγραµµατισµός. Η ιεραρχική σχεδίαση προγράµµατος υλοποιείται µε τον τµηµατικό προγραµµατισµό. Μετά την ανάλυση του προβλήµατος σε υποπροβλήµατα, κάθε υποπρόβληµα αποτελεί ανεξάρτητη ενότητα που γράφεται ξεχωριστά από τα υπόλοιπα τµήµατα προγράµµατος. Ο τµηµατικός προγραµµατισµός: µειώνει τα λάθη και επιτρέπει την ευκολότερη παρακολούθηση, κατανόηση και συντήρηση του προγράµµατος από τρίτους. Γ. οµηµένος προγραµµατισµός. Ο δοµηµένος προγραµµατισµός αναπτύχθηκε από την ανάγκη α) να υπάρχει µια κοινή µεθοδολογία στην ανάπτυξη των προγραµµάτων και β) να µειωθεί η χρήση εντολών GOTO, εντολών που αλλάζουν τη ροή του προγράµµατος. Ο δοµηµένος προγραµµατισµός είναι µια µεθοδολογία σύνταξης προγραµµάτων που έχει σκοπό να βοηθήσει τον προγραµµατιστή στην ανάπτυξη σύνθετων προγραµµάτων, να µειώσει τα λάθη, να εξασφαλίσει την εύκολη κατανόηση των προγραµµάτων και να διευκολύνει τις διορθώσεις και τις αλλαγές σε αυτά. Ο δοµηµένος προγραµµατισµός στηρίζεται στη χρήση τριών και µόνο στοιχειωδών λογικών δοµών, τη δοµή ακολουθίας, τη δοµή της επιλογής και τη δοµή της επανάληψης. Όλα τα προγράµµατα µπορούν να γραφούν χρησιµοποιώντας µόνο αυτές τις τρεις δοµές καθώς και συνδυασµό τους. Κάθε πρόγραµµα όπως και κάθε ενότητα προγράµµατος έχει µόνο µια είσοδο και µόνο µια έξοδο. Ο όρος δοµηµένος προγραµµατισµός περιέχει την ιεραρχική σχεδίαση όσο και τον τµηµατικό προγραµµατισµό. Τα πλεονεκτήµατα του δοµηµένου προγραµµατισµού είναι τα εξής: δηµιουργία απλούστερων προγραµµάτων άµεση µεταφορά αλγορίθµων σε προγράµµατα διευκόλυνση ανάλυσης του προγράµµατος περιορισµός των λαθών κατά την ανάπτυξη του προγράµµατος διευκόλυνση στην ανάγνωση και κατανόηση του προγράµµατος από τρίτους

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

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