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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

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

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

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

Προγραμματισμός I (Θ)

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

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

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

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

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

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

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

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

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

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

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

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

Transcript:

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

Κεφάλαιο 7 μέρος2 ο Είδη, τεχνικέςκαιπεριβάλλοντα προγραμματισμού

ΕίδηΠρογραμματισμού Επιταχυνόμενη εξέλιξη υλικού και λογισμικού ανάπτυξη προγραμματισμού Απαιτήσεις για αξιοπιστία, ποιότητα και χαμηλό κόστος στο λογισμικό συστηματοποίηση προγραμματισμού Τις τελευταίες δεκαετίες δημιουργούνται συνεχώς Νέες μέθοδοι, τεχνικές και πρότυπα στον προγραμματισμό Νέες εξειδικευμένες γλώσσες προγραμματισμού Οιγλώσσες3 ης γενιάςμετέτρεψαντονπρογραμματισμόσεμια ευχάριστη και δημιουργική εργασία, όπου οι προγραμματιστές απελευθερωμένοι από δουλειές ρουτίνας πέτυχαν να δημιουργήσουν νέα εργαλεία και τεχνικές και η εξέλιξη της Πληροφορικής συνεχίζεται από τότε με ιλιγγιώδεις ρυθμούς

ΕίδηΠρογραμματισμού Είδηπρογραμματισμού: Διαδικασιακός Δομημένος Παράλληλος Αντικειμενοστραφής Συναρτησιακός Λογικός

1. Διαδικασιακόςπρογραμματισμός (procedural programming) Τοπρόγραμμαείναιγραμμένοσεμιαγλώσσαη οποίαείναιεξαρτημένηαπότηδιαδικασία. Η διαδικασία είναι το χαρακτηριστικό των περισσοτέρωνγλωσσών3 ης γενιάς. Μια τέτοια γλώσσα δίνει έμφαση στον προγραμματισμό των υπολογιστικών(π.χ. μέσος όρος, φόρος, ποσοστό) και λογικών(π.χ. μέγιστοελάχιστο) διαδικασιών που απαιτούνται για την επίλυσηενόςπροβλήματος. Γλώσσεςεξαρτημένεςαπότηδιαδικασία: COBOL, PASCAL, FORTRAN

1. Διαδικασιακόςπρογραμματισμός (procedural programming) Προβλήματα που λύνονται με διαδικασιακό προγραμματισμό: λογιστικέςεφαρμογές, Εμπορικές εφαρμογές διοικητικέςεφαρμογές(μισθοδοσία), Μεταφορών(κράτησηθέσης, εισιτήρια) Στο διαδικασιακό προγραμματισμό το πρόγραμμα είναιμιαδιαδικασίαπουεκτελείέναπροςένατα βήματα του αλγορίθμου που λύνει το πρόβλημα. Οι εντολές εκτελούνται ακολουθιακά η μία μετά την άλληεκτόςκαιανυπάρχουνσυνθήκεςμεβάσητις οποίες μπορεί κάποιες εντολές να παραλείπονται ή άλλες να επαναλαμβάνονται

Ερώτηση5(Τιγνωρίζετεγιατο διαδικασιακόπρογραμματισμό) Σελίδα 58. Ενότητα 7.3.1

Ερώτηση6(Παραδείγματαγλωσσών εξαρτημένααπότηδιαδικασία) Σελίδα 58. Ενότητα 7.3.1 COBOL, FORTRAN, PASCAL

2. Δομημένοςπρογραμματισμός (structural programming) Προϋποθέτει τη δομημένη σχεδίαση και έλεγχο ενός δομημένου προγράμματος Το πρόγραμμα αποτελείται από ανεξάρτητα τμήματα(modules) τα οποία συνδέονται με βάση κάποιοσχέδιο. Χρησιμοποιούνται οι βασικές αλγοριθμικές δομές της ακολουθίας (διαδοχής), επιλογής και επανάληψης.

2. Δομημένοςπρογραμματισμός (structural programming) Χρησιμοποιεί τις τεχνικές του τμηματικού προγραμματισμού και ιεραρχικού σχεδιασμού Χρησιμοποιεί τα διαγράμματα HIPO για την αναπαράσταση των παραπάνω τεχνικών. Σε ένα διάγραμμα HIPO εμφανίζονται τα διάφορα επίπεδα ιεραρχίας και τα τμήματα του προγράμματος με αριθμό σύμφωνα με τη σειρά εκτέλεσης

Διάγραμμα HIPO

Ερώτηση 7(Οι βασικές αλγοριθμικές δομές και τεχνικές σχεδίασης στο δομημένο προγραμματισμό) Στον δομημένο προγραμματισμό, οι βασικές αλγοριθμικές δομές είναι οι δομές της διαδοχής (ακολουθία), της απλής επιλογής και της επανάληψης. Στον δομημένο προγραμματισμό χρησιμοποιούνται οι τεχνικές του ιεραρχικού και του τμηματικού προγραμματισμού.

Ερώτηση8(Πουχρησιμοποιούνταιτα διαγράμματαhipo) Τα διαγράµµατα HIPO χρησιµοποιούνται στον δοµηµένο προγραµµατισµό για την αναπαράσταση των τεχνικών του ιεραρχικού σχεδιασµού και του τµηµατικού προγραµµατισµού. Στα διαγράµµατα αυτά εµφανίζονται τα διάφορα επίπεδα ιεραρχίας και τα διάφορα τµήµατα προγράµµατος µε αριθµό σύµφωνα µε τη σειρά εκτέλεσής τους.

3. Παράλληλοςπρογραμματισμός (parallel programming) Οφείλει την καθιέρωσή του στην εξέλιξη του υλικού Αρχιτεκτονική πολλών επεξεργαστών με κοινή μνήμη Παράλληλοι αλγόριθμοι Επιτρέπει την ταυτόχρονη εκτέλεση διαδικασιών από διαφορετικούς επεξεργαστές Διαφορετικά υποπρογράμματα του ίδιου προγράμματος μπορούν να εκτελούνται παράλληλα(ταυτόχρονα) από διαφορετικούς επεξεργαστές

3. Παράλληλοςπρογραμματισμός (parallel programming) Ανάγκη για ταυτόχρονη εκτέλεση και επικοινωνία μεταξύ των εκτελούμενων διεργασιών επέκταση σε κλασικές γλώσσες διαδικασιακού προγραμματισμού(ada, Modula2, Concurrent C) ή σχεδιασμόςνέωνγλωσσών(occam) Παράλληλος προγραμματισμός αποτελεσματική εκμετάλλευση των δυνατοτήτων που παρέχει η αρχιτεκτονική των παράλληλων επεξεργαστών

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

4. Αντικειμενοστραφής προγραμματισμός(object oriented) Βασίζεται στην ενσωμάτωση των δεδομένων και του τρόπου χειρισμού αυτών μέσα από την έννοια του αντικειμένου (οποιαδήποτε οντότητα άνθρωπος, σχολείο, αυτοκίνητο, τραπέζι κτλ. αναπαρίσταται ως αντικείμενο) Κάθε αντικείμενο έχει δεδομένα που είναι τα χαρακτηριστικά του Κάθε αντικείμενο έχει μεθόδους που είναι οι ενέργειες που μπορούνναγίνουνπάνωσταδεδομένα(χειρισμός, επεξεργασία) και καθορίζουν τη συμπεριφορά του αντικειμένου Οι μέθοδοι μπορεί να είναι διαδικασίες ή συναρτήσεις

4. Αντικειμενοστραφής προγραμματισμός(object oriented) Μπορούμε να έχουμε κλάσεις(ομάδες) αντικειμένων στις οποίες ορίζονται κοινά χαρακτηριστικά για ένα μεγάλο σύνολο αντικειμένων και για κάθε κλάση υποκλάσεις (υποσύνολοαντικειμένων) ιεραρχικάδομημένες. Οι υποκλάσεις κληρονομούν τα χαρακτηριστικά και μεθόδους των κλάσεων από τις οποίες προήλθαν και μπορούμεναορίσουμενέεςιδιότητεςκαιμεθόδους.

Παράδειγμααντικειμενοστραφούς προγραμματισμού(java)

Ερώτηση10 (Τι είναι ο αντικειμενοστραφής προγραμματισμός) Σελίδα 60. Ενότητα 7.3.4

Ερώτηση11 (Τι είναι τα χαρακτηριστικά και ποιες οι μέθοδοι στον αντικειμενοστραφή προγραμματισμό) Τα χαρακτηριστικά ενός αντικειµένου είναι τα δεδοµένα από τα οποία αποτελείται Οι µέθοδοι του αντικειµένου είναι οι ενέργειες οι οποίες σχετίζονται µε την επεξεργασία των δεδοµένων και καθορίζουν τη συµπεριφορά τουαντικειµένου στο πρόγραµµα. Οι µέθοδοι µπορεί να είναιδιαδικασίες ή συναρτήσεις του χρήστη

5. Συναρτησιακόςπρογραμματισμός (functional programming) Στηρίζεται στην έννοια της συνάρτησης, όπως την έχουμε γνωρίσει από τα μαθηματικά. Η συνάρτηση δίνει τη δυνατότητα απεικόνισης ενός πεδίου ορισμού σε ένα πεδίο τιμών. Οι εντολές και οι δομές ελέγχου είναι συναρτήσεις οι οποίες έχουν ως ορίσματα δεδομένα ή άλλες συναρτήσεις. Μέσααπότιςσυναρτήσειςυλοποιούνταιοιδιάφορεςδομέςπ.χ. επανάληψη Η έννοια της μεταβλητής και της εκχώρησης τιμής αντικαθίστανται από την έννοια της δέσμευσης ονομάτων σε τιμές Οι ίδιες οι συναρτήσεις μπορεί να αντιμετωπίζονται σαν δεδομένα και έτσι να εμφανίζονται ως είσοδος ή έξοδος άλλων συναρτήσεων Θεωρητικό υπόβαθρο ο λογισμός Λάμδα Παραδείγματα γλωσσών: LISP, FORTH και logo.

ΠαράδειγμαΣυναρτησιακού Λογισμού(Lisp)

Ερώτηση12 (Τι είναι ο συναρτησιακός προγραμματισμός) Ο Συναρτησιακός Προγραµµατισµός στηρίζεταιστηνέννοιατηςσυνάρτησης, όπως την έχουµε γνωρίσει από τα µαθηµατικά. Η συνάρτηση δίνει τη δυνατότητα απεικόνισης ενός πεδίου ορισµού σε ένα πεδίο τιµών. Στο Συναρτησιακό προγραµµατισµό οι εντολές και οι δοµές ελέγχου είναι συναρτήσεις οι οποίες έχουν ως ορίσµατα δεδοµένα ή άλλες συναρτήσεις.

Ερώτηση13 (Παραδείγματα γλωσσών συναρτησιακού προγραμματισμού) Lisp, FORTH, LOGO

6. Λογικόςπρογραμματισμός(logic programming) (διαφορά από τον διαδικασιακό προγραμματισμό:) Στο πρόγραμμα δεν περιγράφεται ο αλγόριθμος επίλυσης του προβλήματος αλλά η γνώση που σχετίζεται με το πρόβλημα. Ο Λογικός Προγραμματισμός σε αντίθεση με το Διαδικασιακό, στηρίζεται στηγνώση. Η γνώση περιγράφεται υπό μορφή γεγονότων και κανόνων ενώ ορίζεται μία πρόταση στόχος προς απόδειξη. Για την απόδειξη της πρότασης αυτής το πρόγραμμα εφαρμόζει τους κανόνες του πάνω στα γεγονότα. Πεδίο εφαρμογής η Τεχνητή Νοημοσύνη Χαρακτηριστική Γλώσσα: Prolog

ΠαράδειγμαΛογικού Προγραμματισμού(Prolog) has(jack,apples) has(ann,plums) has(dan,money) fruit(apples) fruit(plums)?-has(jack,x). /* whathasjack? */ X = apples?- has(x,apples),has(y,plums). /* who has apples and who has plums? */ X = jacky = ann?-has(x,apples),has(x,plums). /* doessomeonehaveapplesandplums? */ no?-has(dan,x),fruit(x). /* hasdanfruits? */ no?-has(x,y),notfruit(y). /* doessomeonehavesomethingelse? */ X = dany = money

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

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

Προγραμματιστικάπεριβάλλοντα Ο προγραμματιστής κωδικοποιεί ένα πρόγραμμα σε μια γλώσσα προγραμματισμού υψηλού επιπέδου Ο υπολογιστής μπορεί να εκτελέσει ένα πρόγραμμα μόνο αν είναι γραμμένο σε γλώσσα μηχανής Άρα απαιτείται μετατροπή του προγράμματος Πώς; Με ένα μεταφραστικό πρόγραμμα μεταγλωττιστή

Μεταγλωττιστής Ειδικό πρόγραμμα που μεταφράζει ένα άλλο πρόγραμμα, από μια γλώσσα προγραμματισμού σε γλώσσα μηχανής Πρόγραμμαπροςμετάφρασηπηγαίο(source) πρόγραμμα Μεταφρασμένο αντικείμενο(object) πρόγραμμα 2 κατηγορίες μεταγλωττιστών Compiler Interpreter

Μεταγλωττιστής

Ερώτηση15 (Πηγαίο πρόγραμμα, αντικείμενο πρόγραμμα, μεταγλωττιστής) σελ. 61, 62 καιτοσχήμασελίδα62

Compiler Διαβάζει πρόγραμμα γραμμένο σε γλώσσα υψηλού επιπέδουκαιτομεταφράζεισεγλώσσαμηχανής. Αρχικά γίνεται έλεγχος για ορθογραφικά(γραμματικά) και συντακτικάλάθη. Αν βρεθούν λάθη, πρέπει να διορθωθούν(με χρήση προγράμματος που λέγεται συντάκτης διορθωτής κειμένου (editor) Η διαδικασία επαναλαμβάνεται όσες φορές χρειάζεται μέχρι να μην υπάρχουν πλέον λάθη Αν δεν βρει κανένα λάθος, ο compiler παράγει το αντικείμενο πρόγραμμα(κώδικα) Προσοχή: Το αντικείμενο πρόγραμμα που παράγεται από ένα μεταγλωττιστή δεν είναι ακόμα εκτελέσιμο από τον επεξεργαστή (πρέπει να ακολουθήσουν και άλλες διαδικασίες μέχρι να γίνει εκτελέσιμο)

Compiler συνοψίζοντας Κάνει συντακτική και γραμματική ανάλυση του πηγαίου προγράμματος με εκτύπωση λαθών Κάνει την κατάληψη του απαραίτητου χώρου στην κύρια μνήμη για να μπορεί να εκτελεστεί το πρόγραμμα Φυλάσσει το αντικείμενο πρόγραμμα στο δίσκο Παράγει, κατά βούληση του χρήστη, πρόγραμμα σε γλώσσα μηχανής και/ή συμβολική γλώσσα Παράγει πίνακες στη μνήμη που είναι απαραίτητοι για τη μετάφρασητουπρογράμματος(πίνακεςσταθερών, βρόχων κλπ)

Interpreter διερμηνέας Μεταγλώττιση(μετάφραση) προγράμματος από γλώσσα υψηλού επιπέδουσεγλώσσαμηχανήςκαιταυτόχρονηεκτέλεση. ελέγχει για ορθογραφικά(γραμματικά) και συντακτικά λάθη τις εντολές του πηγαίου προγράμματος τη εξετάζοντας τη μία μετά την άλλη κατά τη σειράεκτέλεσηςτους. ανγιαμιαεντολήδενβρειλάθος, παράγειτιςαντίστοιχεςεντολέςσε κώδικα μηχανής, την εκτελεί και συνεχίζει με τη μετάφραση της επόμενης εντολής. Σταματάει όταν βρει συντακτικό γραμματικό λάθος σε μια εντολή και ενημερώνει το χρήστη.. Γλώσσα που χρησιμοποιεί interpreter η BASIC(ευκολία προγραμματισμού που οφείλεται στο διερμηνέα και στο διαλογικό περιβάλλον που δημιουργεί)

Ομοιότητεςμεταξύ compiler και interpreter (ερώτηση 15) Και τα δύο μεταφραστικά προγράμματα που μετατρέπουν ένα πρόγραμμα από γλώσσα υψηλού επιπέδου σε γλώσσα μηχανής Πριν τη μετάφραση κάνουν έλεγχο για συντακτικά και γραμματικά ορθογραφικά λάθη

Διαφορέςμεταξύ compiler και interpreter (ερώτηση 16) Compiler Interpreter Κάνει ανάλυση(συντακτική και γραμματική) ολόκληρου του πηγαίου προγράμματος και το μετατρέπει σε αντικείμενο πρόγραμμα μόνο εφόσον δεν υπάρχουνλάθη. δεν ελέγχει τη σύνταξη ολόκληρου του πηγαίου προγράμματος πριν από την εκτέλεση. επαναλαμβάνεται η διαδικασία μετάφρασης ελέγχου κάθε φορά που εκτελείται το πηγαίο πρόγραμμα. Εφόσον γίνει επιτυχής μετάφραση, το αντικείμενο πρόγραμμα μπορεί να χρησιμοποιηθεί όσες φορές θέλουμε χωρίς να προηγηθεί ξανά μετάφραση. Η εκτέλεση ενός προγράμματος είναι πιο γρήγορη Ο συντακτικός έλεγχος και η μετάφραση γίνεται σε μία εντολή κάθε φορά που συναντάται, κατά την εκτέλεση του προγράμματος Ο έλεγχος και η διόρθωση των λαθών γίνονται ευκολότερα, γιατί ο προγραμματιστής πληροφορείται αμέσως για κάθε συντακτικό ή γραμματικό λάθος, το διορθώνει και συνεχίζει την εκτέλεση του προγράμματος Η εκτέλεση ενός προγράμματος είναι πολύ πιο αργή

Γραφή εκτέλεσηπρογράμματος Το πηγαίο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού με τη βοήθεια ενός απλού προγράμματος επεξεργασίαςκειμένου(πουλέγεταιεκδότης-διορθωτής(editor)). (το κείμενο του προγράμματος που παράγεται ονομάζεται πηγαίος κώδικας, source code) Ο μεταγλωττιστής ελέγχει το πηγαίο πρόγραμμα για ορθογραφικά ή συντακτικά λάθη. Σε περίπτωση που διαπιστώνονται λάθη: ο μεταγλωττιστής δίνει κατάλληλα μηνύματα, ο editor χρησιμοποιείται για τη διόρθωση τους και το πηγαίο πρόγραμμα επανελέγχεται από το μεταγλωττιστή. Ηδιαδικασίααυτήεπαναλαμβάνεταιμέχριταλάθηναμηδενιστούν. Στην περίπτωση αυτή, η μεταγλώττιση του προγράμματος είναι επιτυχήςκαιπαράγεταιτοαντικείμενοπρόγραμμα.

Γραφή εκτέλεσηπρογράμματος Το αντικείμενο πρόγραμμα δεν είναι κατ ανάγκη εκτελέσιμο από τον υπολογιστή αλλά πρέπει να συνδεθεί με υποπρογράμματα της βιβλιοθήκης της γλώσσας ή του προγραμματιστή με τη βοήθεια ενός άλλου προγράμματος του συνδέτη(linker) ώστετελικάναπαραχθείεκτελέσιμοςκώδικας. [διαδικασία: γραφήμεταγλώττισησύνδεσηεκτέλεση]. Σε άλλες περιπτώσεις αντί του συνδέτη χρησιμοποιείται ένα άλλο πρόγραμμα, ο φορτωτής(loader), ο οποίος συνδέει το αντικείμενο πρόγραμμα με υποπρογράμματα της βιβλιοθήκης της γλώσσας ή του προγραμματιστή και φορτώνει στη μνήμη γιαεκτέλεσητουκώδικαμηχανήςπουπροκύπτει. [διαδικασία: γραφήμεταγλώττισηφόρτωση].

Γραφή εκτέλεσηπρογράμματος (Ερώτηση17)

Σύγχροναπρογραμματιστικά περιβάλλοντα(ερώτηση18) Ολοκληρωμένοπεριβάλλον: για την ανάπτυξη ενός προγράμματος συνυπάρχουν διάφορα από τα προγράμματαπουαναφέρθηκαν(π.χ. editor compiler linker) τα προγράμματα αυτά συνεργάζονται στο ίδιο περιβάλλον, οπότε διευκολύνεται και επιταχύνεται η ολοκλήρωση της ανάπτυξης του προγράμματος καθώς και η μετάβαση στα διάφορα στάδια(pame) Γραφικό περιβάλλον: ένα ολοκληρωμένο περιβάλλον που διαθέτει και εργαλεία σχεδίασης με τη βοήθεια γραφικών Τα εργαλεία γραφικών χρησιμεύουν για να σχεδιάσει ο προγραμματιστής στην οθόνη την εφαρμογή του.(scratch, Visual Basic)