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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 1: Εισαγωγή. Αρχές Γλωσσών και Προγραμματισμού και Μεταφραστών. Γιάννης Γαροφαλάκης ΤΜΗΥΠ - Πανεπιστήμιο Πατρών

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

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

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

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 2: Μεταφραστές

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

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

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

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

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

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

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

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

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

ΠΛΗΡΟΦΟΡΙΚΗ I. 9 η ΔΙΑΛΕΞΗ Λογισμικό - Προγραμματισμός

Transcript:

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

6.2 Ιστορική αναδρομή Οι πρώτοι υπολογιστές τεράστιοι σε μέγεθος με πάρα πολύ περιορισμένες δυνατότητες και μικρές ταχύτητας επεξεργασίας. εξελίχθηκαν σε πολύ μικρούς σε μέγεθος υπολογιστές με τεράστιες όμως δυνατότητες και ταχύτητες επεξεργασίας Ακολουθούν ακόμη και σήμερα τις ίδιες βασικές αρχές λειτουργίας (Von Newman)

κάθε υπολογιστή. Ανάπτυξη Εφαρμογων Σε Προγραμματιστικό Περιβάλλον Γλώσσα μηχανής Ενα πρόγραμμα σε γλώσσα μηχανής είναι μια ακολουθία δυαδικών ψηφίων. Ο πρώτος υπολογιστής ( ENIAC ) για να προγραμματιστεί, έπρεπε να αλλάξουν θέση εκατοντάδες διακόπτες και να ρυθμιστούν αντίστοιχα όλες οι καλωδιώσεις. Συμβολικές γλώσσες ή γλώσσες χαμηλού επιπέδου (Assembly) Οι εντολές σε συμβολική γλώσσα αποτελούνται από συμβολικά ονόματα που αντιστοιχούν σε εντολές της γλώσσας μηχανής. Τη μετάφραση αναλαμβάνει ένα ειδικό πρόγραμμα, ο συμβολομεταφραστής (assembler). Οι συμβολικές γλώσσες είναι συνδεδεμένες με την αρχιτεκτονική

Γλώσσα Μηχανής Assembly Γλώσσα υψηλού επιπέδου

Γλώσσες υψηλού επιπέδου τέλη της δεκαετίας του 50 η εμφάνιση των πρώτων γλωσσών προγραμματισμού υψηλού επιπέδου. FORTRAN (FORmula TRANslation) 1η γλώσσα υψηλού επιπέδου. Η FORTRAN αναπτύχθηκε ως γλώσσα κατάλληλη για την επίλυση μαθηματικών και επιστημονικών προβλημάτων. Το πρόγραμμα που γράφεται σε μια γλώσσα υψηλού επιπέδου, μεταφράζεται από τον υπολογιστή σε εντολές γλώσσας μηχανής με τη βοήθεια ενός ειδικού προγράμματος, που ονομάζεται μεταγλωττιστής. Έτσι μπορεί να εκτελεστεί σε οποιοδήποτε υπολογιστή.

COBOL (Cοmmon Business Oriented Language ) Κατάλληλη για ανάπτυξη εμπορικών εφαρμογών. Γνώρισε πολλές εκδόσεις. Χρησιμοποιείται ακόμη και σήμερα. ALGOL (ALGOrithmic Language) Δημιουργήθηκε το 1960, με σκοπό τη δημιουργία γενικής φύσης προγραμμάτων. PL/1 (Programming Language/1) Δημιουργήθηκε το 1960 και προσπάθησε, χωρίς επιτυχία να καλύψει όλους τους τομείς του προγραμματισμού

Γλώσσες Τεχνητής Νοημοσύνης LISP (LISt Processor-Επεξεργαστής Λίστας) Δημιουργήθηκε το1959 στο Μ.Ι.Τ. Προσανατολίζεται σε χειρισμό λιστών από σύμβολα. PROLOG (PROgramming LOGic ) Δημιουργήθηκε στις αρχές του 70.

BASIC (Beginner s All Purpose Symbolic Instruction Code) Αρχικά αναπτύχθηκε ως γλώσσα για την εκπαίδευση αρχαρίων στον προγραμματισμό Δημιουργήθηκε το 1964. Σχεδιάστηκε για να γράφονται σύντομα προγράμματα, τα οποία εκτελούνται με τη βοήθεια διερμηνευτή (interpreter). Ο πρώτοςδιερμηνευτής της γλώσσας ήταν έργο των Bill Gates και Paul Allen. Η τυποποίηση της από τη Microsoft με τις εκδόσεις QuickBasic και κύρια με τη Visual Basic την καθιέρωσε

PASCAL Έφερε μεγάλες αλλαγές στον προγραμματισμό Παρουσιάστηκε το 1970 και στηρίχτηκε πάνω στην ALGOL. Σχεδιάστηκε για να γράφονται σύντομα προγράμματα, τα οποία εκτελούνται με τη βοήθεια διερμηνευτή (interpreter). Γλώσσα γενικής χρήσης, κατάλληλη για την εκπαίδευση και τη δημιουργία ισχυρών προγραμμάτων κάθε τύπου. Κατάλληλη για δημιουργία δομημένων προγραμμάτων. Αποτέλεσε τη βάση για την ανάπτυξη άλλων ισχυρότερων γλωσσών όπως η ADA και η Modula-2. Στα μέσα του 1960 παρουσιάστηκε η τεχνική του δομημένου προγραμματισμού.

C Αναπτύχθηκε στα εργαστήρια της εταιρείας Bell από τον Dennis Ritchie. Γνώρισε μεγάλη διάδοση και είναι πολύ ισχυρή. Χρησιμοποιήθηκε στην ανάπτυξη του λειτουργικού UNIX. Εξελίχθηκε στην C++ που είναι αντικειμενοστραφής γλώσσα. JAVA Δημιουργήθηκε από τη εταιρεία SUN με σκοπό τη δημιουργία προγραμμάτων για που θα εκτελούνται σε κατανεμημένα περιβάλλοντα. Τα προγράμματα αυτά μπορούν να εκτελούνται από διαφορετικούς υπολογιστές, με διαφορετικά λειτουργικά συστήματα.

dbase Δημιουργήθηκε στα τέλη του 1970 και υπήρξε ο σπουδαιότερος εκπρόσωπος εξελγμένων γλωσσών της εποχής της. Είχε εξαιρετικές δυνατότητες διαχείρισης αρχείων (βάσεων) δεδομένων. Εξέλιξη της ήταν η Clipper. LOGO Προέρχεται από την λέξη Λόγος Είναι κατάλληλη για την εισαγωγή στον προγραμματισμό μαθητών μικρής ηλικίας. H αυξανόμενη τάση απόκρυψης της αρχιτεκτονικής του υλικού και της τεχνικής του προγραμματισμού οδήγησε στις γλώσσες 4ης γενιάς.

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

Ταξινόμηση γλωσσών προγραμματισμού Διαδικασιακές ή Αλγοριθμικες. Αντικειμενοστραφείς γλώσσες (object -oriented languages) C++ Συναρτησιακές γλώσσες (functional languages) LISP Μη διαδικασιακές γλώσσες (non procedural languages) PROLOG. Γλώσσες ερωταπαντήσεων (query languages) SQL.

Tαξινόμηση με βάση την περιοχή χρήσης Γλώσσες γενικής χρήσης. Γλώσσες επιστημονικής κατεύθυνσης (science-oriented languages) π.χ. FORTRAN Γλώσσες εμπορικής κατεύθυνσης (business-oriented languages)π.χ. COBOL. Γλώσσες προγραμματισμού συστημάτων (system programming languages) π.χ. C. Γλώσσες τεχνητής νοημοσύνης (artificial intelligence languages) π.χ. LISP, PROLOG. Γλώσσες ειδικής χρήσης.

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

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

Η Γραμματική Η Γραμματική αποτελείται από το τυπικό ή τυπολογικό (accidence) και το συντακτικό (syntax). Τυπικό είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μία λέξη είναι αποδεκτή. Συντακτικό είναι το σύνολο των κανόνων που καθορίζει τη νομιμότητα της διάταξης και της σύνδεσης των λέξεων της γλώσσας για τη δημιουργία προτάσεων. Η σημασιολογία Η σημασιολογία (Semantics) είναι το σύνολο των κανόνων που καθορίζει το νόημα των λέξεων και κατά επέκταση των εκφράσεων και προτάσεων που χρησιμοποιούνται σε μία γλώσσα.

Διαφορές φυσικών και τεχνητών γλωσσών Η δυνατότητα εξέλιξής τους. Οι φυσικές γλώσσες εξελίσσονται συνεχώς. Οι τεχνητές γλώσσες χαρακτηρίζονται από στασιμότητα. Συχνά οι γλώσσες προγραμματισμού βελτιώνονται με σκοπό να διορθωθούν αδυναμίες ή να καλύψουν μεγαλύτερο εύρος εφαρμογών ή τέλος να ακολουθήσουν τις νέες εξελίξεις. Αλλάζουν σε επίπεδο διαλέκτου (για παράδειγμα GW-Basic και QuickBasic) ή σε επίπεδο επέκτασης (για παράδειγμα Basic και Visual Basic).

6.4 Τεχνικές σχεδίασης προγραμμάτων Ιεραρχική σχεδίαση προγράμματος Διάσπαση του προβλήματος σε μια σειρά από απλούστερα υποπροβλήματα. Τμηματικός προγραμματισμός Υλοποιεί την ιεραρχική σχεδίαση. Κάθε υποπρόβλημα αποτελεί ανεξάρτητη ενότητα (module), που γράφεται ξεχωριστά. Διευκολύνει τη δημιουργία του προγράμματος, μειώνει τα λάθη και επιτρέπει την ευκολότερη παρακολούθηση, κατανόηση και συντήρηση του προγράμματος από τρίτους.

Ιεραρχική Σχεδίαση Υπολογισμού του Φόρου Εισοδήματος

Δομημένος προγραμματισμός Το 1964 σε ένα συνέδριο στο Ισραήλ παρουσιάστηκε ένα κείμενο με τις θεωρητικές αρχές του δομημένου προγραμματισμού. Το 1968 ο καθηγητής Edsger Dijkstra δημοσίευσε το κείμενο η εντολή GOTO θεωρείται επιβλαβής και θεμελίωνε το δομημένο προγραμματισμό. Τα προγράμματα ήταν μεγάλα και ιδιαίτερα μπερδεμένα λόγω της αλόγιστης χρήσης της εντολής GOTO. Ο δομημένος προγραμματισμός στηρίζεται στη χρήση τριών και μόνο στοιχειωδών λογικών δομών, της δομής ακολουθίας, της δομής επιλογής και της δομής επανάληψης. Όλα τα προγράμματα μπορούν να γραφούν χρησιμοποιώντας μόνο αυτές τις τρεις δομές καθώς και συνδυασμό τους. Κάθε πρόγραμμα όπως και κάθε ενότητα προγράμματος έχει μόνο μία είσοδο και μόνο μία έξοδο.

ΑΝ αριθμός > 0 ΤΟΤΕ GOTO 1 ΑΝ αριθμός = 0 ΤΟΤΕ GOTO 2 ΓΡΑΨΕ αρνητικός GOTO 4 1: ΓΡΑΨΕ θετικός GOTO 4 2: ΓΡΑΨΕ Μηδέν GOTO 4 4:! Συνέχεια

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

6.5 Αντικειμενοστραφής προγραμματισμός Γεννήθηκε στις παγωμένες νορβηγικές ακτές στα τέλη της δεκαετίας του 70 και πέρασε πολύ γρήγορα στην άλλη μεριά του Ατλαντικού. Ερώτημα : η δομή του προγράμματος είναι προτιμότερο να στηρίζεται στις ενέργειες ή στα δεδομένα; Η αντικειμενοστραφής σχεδίαση εκλαμβάνει ως πρωτεύοντα δομικά στοιχεία ενός προγράμματος τα δεδομένα, από τα οποία δημιουργούνται με κατάλληλη μορφοποίηση τα αντικείμενα (objects). Χρησιμοποιεί την ιεραρχική σχεδίαση, τον τμηματικό προγραμματισμό και ακολουθεί τις αρχές του δομημένου προγραμματισμού.

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

6.7 Προγραμματιστικά περιβάλλοντα Κάθε πρόγραμμα που γράφτηκε σε οποιαδήποτε γλώσσα προγραμματισμού,πρέπει να μετατραπεί σε εντολές γλώσσας μηχανής. Δύο κατηγορίες μεταφραστικών προγραμμάτων : Μεταγλωττιστές (compilers) Διερμηνευτές (interpreters). Τα λογικά λάθη εμφανίζονται μόνο στην εκτέλεση, ενώ τα συντακτικά λάθη στο στάδιο της μεταγλώττισης.

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

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