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

Σχετικά έγγραφα
ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

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

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Συκά Φωτεινή Γπ

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 6: Γλώσσες. 6.1 Ιστορική εξέλιξη 6.4 Υλοποίηση γλώσσας. Κεφάλαιο 6: «Γλώσσες Προγραµµατισµού»

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

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

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

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

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ιαφάνειες παρουσίασης #1

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

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

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

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

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 9ο Γλώσσες Προγραμματισμού

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

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

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

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

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

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

Δομημένος Προγραμματισμός Γ ΕΠΑ.Λ Απαντήσεις των Ερωτήσεων & Λύσεις των Ασκήσεων. Περιέχονται επίσης:

Θεωρία Προγραμματισμού

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

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

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

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

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

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

Δομημένος Προγραμματισμός Γ ΕΠΑ.Λ Απαντήσεις των Ερωτήσεων & Λύσεις των Ασκήσεων. Περιέχονται επίσης:

Α3. Ποια είναι τα πλεονεκτήματα του Δομημένου προγραμματισμού; (Μονάδες 10)

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

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

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

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

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

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

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος

Transcript:

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού Είδη προγραµµατισµού και χαρακτηριστικά Διαδικασία δηµιουργίας εκτελέσιµου κώδικα Κατηγορίες προγραµµατιστικών περιβαλλόντων 2. Κύκλος ανάπτυξης προγράµµατος Πρόγραµµα : εντολές που εκτελούνται από τον υπολογιστή : εργαλείο για την επίλυση προβλήµατος µε τη βοήθεια υπολογιστή Κύκλος ανάπτυξης προγράµµατος Τυποποιηµένη διαδικασία που ακολουθείται για την ανάπτυξης προγράµµατος (επίλυση προβλήµατος µέσω Η/Υ) Σχεδίαση προγράµµατος α. κατανόηση προβλήµατος - αποσαφήνιση - δεδοµένα, ζητούµενα - περιορισµοί (βαθµός >= 0 <= 20) (καθορισµός απαιτήσεων) - συνθήκες (πότε υπολογίζεται φόρος) - ανάλυση σε απλούστερα προβλήµατα β. επιλογή µεθόδου επίλυσης - όγκος δεδοµένων - πολυπλοκότητα - δυνατότητες υπολογιστή υπολογισµός µεγίστου από τρεις αριθµούς if A > B then if A > C then MAX:=A else MAX :=C else if B > C then MAX := B else MAX := C; ΜΑΧ:=Α; if B > MAX then MAX := B; if C > MAX then MAX := C 1

Λοιπές διαδικασίες γ. κωδικοποίηση µετάφραση προγράµµατος δ. έλεγχος προγράµµατος ε. τεκµηρίωση προγράµµατος 3. Γλώσσες προγραµµατισµού 3.1. Γλώσσα µηχανής Σύνολο εντολών επεξεργαστή (Instruction set) Γλώσσα µηχανής : εντολές γραµµένες σαν ακολουθίες 0 / 1 σταθερού ή µεταβλητού µήκους Πρόγραµµα σε γλώσσα µηχανής : εξαρτηµένο από τον επεξεργαστή (διακόπτες διάτρητες κάρτες) 3.2. Συµβολικές γλώσσες Συµβολική γλώσσα (assembly) Μνηµονικά ονόµατα σε εντολές γλώσσας µηχανής Μνηµονικά ονόµατα σε διευθύνσεις µνήµης Παράδειγµα add %L1,%L2,%L3!%L1+%L2->%L3 add %L1,1,%L1!increment L1 sub %g0,%i3,%i3!negate i3 sub %L1,10,%G0!compare %L1 to 10 (discard result) add %L1,%G0,%L2!move %L1 to %L2 (add 0 to it) add %G0,%G0,%L4!clear L4 (0+0 ->%L4) ld [%L1+%L2],%L3!word at address [%L1+%L2]->%L3 ld [%L1+8],%L2!word at address [%L1+8]->%L2 ld [%L1],%L2!word at address [%L1]->%L2 st %g0,[%i2+0]!0 -> word at address in %i2 st %g0,[%i2]!same as above call printf Γλώσσες χαµηλού επιπέδου Αυστηρά συνδεδεµένες µε τον επεξεργαστή Συναρµολογητές (assemblers) Μετάφραση προγράµµατος από συµβολική γλώσσα σε γλώσσα µηχανής (0/1) Άνθρωπος πρόγραµµα Χρήση Προγράµµατα διαχείρισης συστήµατος. 3.3. Γλώσσες υψηλού επιπέδου Ανάγκη για γλώσσες ανεξάρτητες από τον υπολογιστή. Χαρακτηριστικά Έχουν λέξεις κλειδιά (αγγλικής γλώσσας) [read, write, while, begin, DIV, MOD, κτλ], σύµβολα [+, -, * /] και προτάσεις [while A do] Μια εντολή σε γλώσσα υψηλού επιπέδου µεταφράζεται συνήθως σε πολλές εντολές γλώσσας µηχανής [A:=B+C] 2

Γραµµατικοί και συντακτικοί κανόνες Ελάχιστη εξάρτηση από τον υπολογιστή Βιβλιοθήκες υποπρογραµµάτων δηµιουργία νέων βιβλιοθηκών Κατηγοριοποίηση ανάλογα µε τη λειτουργικότητα επιστηµονικές εφαρµογές (FORTRAN, C, APL) εµπορικές εφαρµογές (COBOL, RPG) εκπαιδευτικές εφαρµογές (BASIC, LOGO) ειδικές εφαρµογές (τεχνητή νοηµοσύνη) (LISP, PROLOG) επιστηµονικές και εµπορικές εφαρµογές (PASCAL, PL-1) 3.4. Γλώσσες 4 ης Γενιάς Ερώτηση 4 : Τι γνωρίζετε για τις γλώσσες τέταρτης γενιάς Οι γλώσσες τέταρτης γενιάς είναι γλώσσες προγραµµατισµού (ή προγραµµατιστικά περιβάλλοντα) που κάθε µία είναι σχεδιασµένη για ένα συγκεκριµένο σκοπό (όπως για παράδειγµα η ανάπτυξη µιας εµπορικής εφαρµογής πληροφοριακό σύστηµα) Η χρήση γλωσσών υψηλού επιπέδου διευκόλυνε τη διαδικασία ανάπτυξης προγραµµάτων αλλά ο προγραµµατισµός παρέµεινε µια δύσκολη και χρονοβόρα διαδικασία επιρρεπής σε λάθη. Με τη χρήση γλωσσών τέταρτης γενιάς, καταρχήν επιταχύνεται η διαδικασία ανάπτυξης προγραµµάτων. Παρέχουν στον προγραµµατιστή δοµές και εντολές που µπορούν να χρησιµοποιηθούν για τη δηµιουργία εφαρµογών οι οποίες θα χρειαζόταν πολύ περισσότερες εντολές µε µια γλώσσα υψηλού επιπέδου. Έτσι έχουµε µικρότερα προγράµµατα µε λιγότερα λάθη. Είναι διαλογικές γλώσσες (δηλαδή υπάρχει αλληλεπίδραση µε τον προγραµµατιστή και ανάδραση) µε συνέπεια να είναι πιο εύκολη η χρήση τους. Δεν απαιτούνται τόσο εξειδικευµένες γνώσεις προγραµµατισµού όπως για µια γλώσσα υψηλού επιπέδου. 3.5. Ερωτήσεις Ερώτηση 1 : διαφορές γλώσσες µηχανής γλώσσες χαµηλού επιπέδου Ερώτηση 2 : διαφορές γλώσσες υψηλού επιπέδου γλώσσες χαµηλού επιπέδου Ερώτηση 3 : Κατηγορίες γλωσσών υψηλού επιπέδου ανάλογα µε τη λειτουργικότητά τους. 4. Είδη προγραµµατισµού 4.1. Διαδικασιακός Προγραµµατισµός ερώτηση 5. (Τι γνωρίζετε για το διαδικασιακό προγραµµατισµό) ερώτηση 6 (Παραδείγµατα γλωσσών που είναι εξαρτηµένα από τη διαδικασία) Το πρόγραµµα είναι γραµµένο σε µια γλώσσα η οποία είναι εξαρτηµένη από τη διαδικασία. Γλώσσες οι οποίες είναι εξαρτηµένες από τη διαδικασία είναι οι γλώσσες της 3 ης γενιάς. 3

Μια τέτοια γλώσσα δίνει έµφαση στον προγραµµατισµό των υπολογιστικών (µέσος όρος, φόρος, ποσοστό) και λογικών διαδικασιών (µέγιστο - ελάχιστο) που απαιτούνται για την επίλυση ενός προβλήµατος. Γλώσσες εξαρτηµένες από τη διαδικασία (COBOL, PASCAL, FORTRAN) Προβλήµατα που λύνονται µε διαδικασιακό προγραµµατισµό : λογιστικές εφαρµογές, διοικητικές εφαρµογές (µισθοδοσία), συγκοινωνίες (κράτηση θέσης, εισιτήρια) Στο διαδικασιακό προγραµµατισµό το πρόγραµµα είναι µια διαδικασία που εκτελεί ένα προς ένα τα βήµατα του αλγορίθµου που λύνει το πρόβληµα. Οι εντολές εκτελούνται ακολουθιακά η µία µετά την άλλη εκτός και αν υπάρχουν συνθήκες µε βάση τις οποίες µπορεί κάποιες εντολές να παραλείπονται ή άλλες να επαναλαµβάνονται. 4.2. Δοµηµένος Προγραµµατισµός ερώτηση 7. (Βασικές αλγοριθµικές δοµές και τεχνικές σχεδίασης στο δοµηµένο προγραµµατισµό) ερώτηση 8 (Που χρησιµοποιούνται τα διαγράµµατα HIPO) Το πρόγραµµα αποτελείται από ανεξάρτητα τµήµατα τα οποία συνδέονται µε βάση κάποιο σχέδιο. Χρησιµοποιούνται οι αλγοριθµικές δοµές της ακολουθίας, επιλογής και επανάληψης. Χρησιµοποιεί τις τεχνικές του τµηµατικού προγραµµατισµού και ιεραρχικού σχεδιασµού Χρησιµοποιεί τα διαγράµµατα HIPO για την αναπαράσταση των παραπάνω τεχνικών. Σε ένα διάγραµµα HIPO εµφανίζονται τα διάφορα επίπεδα ιεραρχίας και 4.3. Παράλληλος προγραµµατισµός Ερώτηση 9 (Που οφείλει την καθιέρωσή του ο παράλληλος προγραµµατισµός) Οφείλει την καθιέρωσή του στην εξέλιξη του υλικού (πολλοί επεξεργαστές µε κοινή µνήµη) Επιτρέπει την ταυτόχρονη εκτέλεση διαδικασιών από διαφορετικούς επεξεργαστές Διαφορετικά υποπρογράµµατα του ίδιου προγράµµατος µπορούν να εκτελούνται ταυτόχρονα Γλώσσα Occam 4.4. Αντικειµενοστραφής προγραµµατισµός Ερώτηση 10 (Τι είναι ο αντικειµενοστραφής προγραµµατισµός) Ερώτηση 11 (Τι είναι τα χαρακτηριστικά και ποιες οι µέθοδοι στον αντικειµενοστραφή προγραµµατισµό) Ο αντικειµενοστραφής προγραµµατισµός βασίζεται στην έννοια του αντικειµένου (οποιαδήποτε οντότητα άνθρωπος, αυτοκίνητο, πλοίο, τραπέζι κτλ. αναπαρίσταται ως αντικείµενο) Κάθε αντικείµενο έχει δεδοµένα που είναι τα χαρακτηριστικά του 4

Κάθε αντικείµενο έχει µεθόδους που είναι οι ενέργειες που µπορούν να γίνουν πάνω στα δεδοµένα (χειρισµός) και καθορίζουν τη συµπεριφορά του αντικειµένου Οι µέθοδοι µπορεί να είναι διαδικασίες ή συναρτήσεις Μπορούµε να έχουµε κλάσεις (οµάδες) αντικειµένων στις οποίες ορίζονται κοινά χαρακτηριστικά για ένα µεγάλο σύνολο αντικειµένων και για κάθε κλάση υποκλάσεις (υποσύνολο αντικειµένων) ιεραρχικά δοµηµένες. Οι υποκλάσεις κληρονοµούν τα χαρακτηριστικά και µεθόδους τα κλάσεων από τις οποίες προήλθαν και µπορούµε να ορίσουµε νέες ιδιότητες και µεθόδους. 4.5. Συναρτησιακός προγραµµατισµός Ερώτηση 12 (Τι είναι ο συναρτησιακός προγραµµατισµός) Ερώτηση 13 (Παραδείγµατα γλωσσών συναρτησιακού προγραµµατισµού) ( Απαντήσεις & Λύσεις Βιβλίου) 4.6. Λογικός προγραµµατισµός Ερώτηση 14 (Διαφορές Διαδικασιακού Λογικού προγραµµατισµού) ( Απαντήσεις & Λύσεις Βιβλίου) 5

5. Προγραµµατιστικά περιβάλλοντα Ένα πρόγραµµα γράφεται από τον προγραµµατιστή σε µια γλώσσα προγραµµατισµού (υψηλού επιπέδου). Για να εκτελεστεί από τον υπολογιστή (επεξεργαστή) θα πρέπει να µεταφραστεί σε γλώσσα µηχανής. Αυτή η µετάφραση γίνεται από ένα πρόγραµµα που ονοµάζεται µεταγλωττιστής. 5.1. Μεταγλωττιστής Ερώτηση 15 (Πηγαίο πρόγραµµα, αντικείµενο πρόγραµµα και µεταγλωττιστής) Ερώτηση 16 (Οµοιότητες διαφορές compiler interpreter) Ο µεταγλωττιστής είναι ένα ειδικό πρόγραµµα που µεταφράζει ένα άλλο πρόγραµµα από µια γλώσσα υψηλού επιπέδου σε γλώσσα µηχανής. το πρόγραµµα σε γλώσσα υψηλού επιπέδου ονοµάζεται πηγαίο (source) πρόγραµµα (πηγαίος κώδικας source code). το µεταφρασµένο πρόγραµµα ονοµάζεται αντικείµενο (object) πρόγραµµα. 5.2. Κατηγορίες µεταγλωττιστών COMPILER : Μεταγλώττιση (µετάφραση) προγράµµατος από γλώσσα υψηλού επιπέδου σε γλώσσα µηχανής. έλεγχος για ορθογραφικά (γραµµατικά π.χ. writa αντί για write) και συντακτικά (π.χ. λείπει ; η κάποιο end.) λάθη. αν δεν βρει κανένα λάθος παράγει το αντικείµενο πρόγραµµα και το αποθηκεύει στο δίσκο. ανάλογα µε τη βούληση του χρήστη µπορεί να παράγει το πρόγραµµα σε γλώσσα µηχανής ή / και συµβολική γλώσσα). 6

ΠΡΟΣΟΧΗ το αντικείµενο πρόγραµµα που παράγεται από ένα µεταγλωττιστή δεν είναι εκτελέσιµο από τον επεξεργαστή. INTERPRETER (διερµηνέας): Μεταγλώττιση (µετάφραση) προγράµµατος από γλώσσα υψηλού επιπέδου σε γλώσσα µηχανής και ταυτόχρονη εκτέλεση. έλεγχος για ορθογραφικά (γραµµατικά π.χ. writa αντί για write) και συντακτικά (π.χ. λείπει ; η κάποιο end.) λάθη τις εντολές του πηγαίου προγράµµατος τη µία µετά την άλλη µε τη σειρά. αν για µια εντολή δεν βρει λάθος, παράγει τις αντίστοιχες εντολές µηχανής και τις εκτελεί. σταµατάει όταν βρει συντακτικό γραµµατικό λάθος σε µια εντολή και ενηµερώνει το χρήστη.. Οµοιότητες Compiler Interpreter Είναι και τα δύο µεταφραστικά προγράµµατα που µετατρέπουν ένα πρόγραµµα από γλώσσα υψηλού επιπέδου σε γλώσσα µηχανής. Διαφορές Compiler Interpreter Ο compiler κάνει ανάλυση(συντακτική και γραµµατική) ολόκληρου του πηγαίου προγράµµατος και το µετατρέπει σε αντικείµενο πρόγραµµα µόνο εφόσον δεν υπάρχουν λάθη. Αντίθετα, ο interpreter δεν ελέγχει τη σύνταξη ολόκληρου του πηγαίου προγράµµατος πριν από την εκτέλεση. Με τη χρήση compiler και εφόσον γίνει επιτυχής µετάφραση, το αντικείµενο πρόγραµµα µπορεί να χρησιµοποιηθεί όσες φορές θέλουµε χωρίς να προηγηθεί µετάφραση. Αντίθετα, µε τη χρήση interpreter, πάντα θα πρέπει να επαναλαµβάνεται η διαδικασία µετάφρασης ελέγχου κάθε φορά που εκτελείται το πηγαίο πρόγραµµα. Ο συντακτικός έλεγχος και η µετάφραση γίνεται σε κάθε µία από τις εντολές του πηγαίου προγράµµατος. Εφόσον δεν υπάρχουν λάθη, παράγεται η αντίστοιχη εντολή σε κώδικα µηχανής, εκτελείται και συνεχίζεται η µετάφραση της επόµενης εντολής. Ο έλεγχος και η διόρθωση των λαθών ενός προγράµµατος µε τη χρήση interpreter είναι πιο εύκολη από ότι η διόρθωση µε τη χρήση compiler, αφού στην περίπτωση του interpreter το πρόγραµµα σταµατά στο σηµείο του λάθους, ο προγραµµατιστής το πληροφορείται, το διορθώνει και συνεχίζει την εκτέλεση του προγράµµατος. Η εκτέλεση ενός προγράµµατος µε interpreter είναι πολύ πιο αργή σε σύγκριση µε την εκτέλεση του ιδίου προγράµµατος, µεταφρασµένου µε compiler. 7

5.3. Γραφή Εκτέλεση προγράµµατος Ερώτηση 17 (Διαδικασία γραφής εκτέλεσης προγράµµατος) 5.4. Σύγχρονα προγραµµατιστικά περιβάλλοντα Ερώτηση 18 (Ποια είναι τα σύγχρονα προγραµµατιστικά περιβάλλοντα) Ολοκληρωµένο περιβάλλον Γραφικό περιβάλλον 8