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

Σχετικά έγγραφα
Μαλούτα Θεανώ Σελίδα 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

III. Πως μετατρέπεται το πηγαίο πρόγραμμα σε εκτελέσιμο πρόγραμμα;

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 6/04/2014

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

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

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

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

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

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

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

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

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

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

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

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

A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα. το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη.

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

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

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

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

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

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

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

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

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

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

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

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

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

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

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

ΦΡΟΝΤΙΣΤΗΡΙΟ Μ.Ε. «ΠΕΡΙ ΓΝΩΣΕΩΣ»

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

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

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

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

Transcript:

Κεφάλαιο 2.3: Προγραμματισμός 1

2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν στον υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος για την επίλυση του προβλήματος. Βασικό στοιχείο του προγράμματος, εκτός από τον αλγόριθμο που υλοποιεί, είναι τα δεδομένα και οι δομές δεδομένων που επεξεργάζεται. Προγραμματισμός: η εργασία σύνταξης των προγραμμάτων σε κάποια γλώσσα προγραμματισμού Προγραμματιστές: τα άτομα που γράφουν και συντάσσουν προγράμματα Γλώσσες μηχανής: ακολουθία δυαδικών ψηφίων (bits 1/0), που αποτελούν εντολές προς τον επεξεργαστή για στοιχειώδεις λειτουργίες. Ήταν επίπονες και ελάχιστοι μπορούσαν να τις υλοποιήσουν, αφού απαιτούσαν βαθιά γνώση του υλικού και της αρχιτεκτονικής του υπολογιστή. Οι εντολές ενός προγράμματος και σήμερα μετατρέπονται σε γλώσσα μηχανής. Συμβολικές γλώσσες: εντολές που αποτελούνται από συμβολικά ονόματα τα οποία αντιστοιχούν σε εντολές της γλώσσας μηχανής. Το έργο της μετάφρασης των εντολών σε γλώσσα μηχανής το αναλαμβάνει ένα ειδικό πρόγραμμα, ο συμβολομεταφραστής (assembler). Παραμένουν στενά συνδεδεμένες με την αρχιτεκτονική του κάθε υπολογιστή και η έλλειψη εντολών σύνθετων λειτουργιών οδηγεί σε μακροσκελή προγράμματα που είναι δύσκολο να γραφούν και να συντηρηθούν. 2

2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Γλώσσες υψηλού επιπέδου: φτιάχτηκαν για την καλύτερη επικοινωνία ανθρώπου μηχανής. Πλεονεκτήματα: φυσικότερος και πιο ανθρώπινος ο τρόπος έκφρασης των προβλημάτων. «μεταφερσιμότητα»: δυνατότητα εκτέλεσης των προγραμμάτων σε οποιοδήποτε υπολογιστή. εύκολη εκμάθηση, διόρθωση των λαθών και συντήρηση των προγραμμάτων. Γλώσσες: FORTRAN (FORmula TRANslation μετάφραση τύπων): κατάλληλη για την επίλυση μαθηματικών και επιστημονικών προβλημάτων. (1957 ΙΒΜ) COBOL (COMmon Oriented Language Κοινή γλώσσα προσανατολισμένη στις επιχειρήσεις): κατάλληλη για την ανάπτυξη εμπορικών εφαρμογών. (1960) LISP (LISt Processor Επεξεργαστής Λίστας) και PROLOG (PROgramming LOGic Λογικός Προγραμματισμός): γλώσσες της Τεχνητής Νοημοσύνης που χρησιμοποιούνται στα έμπειρα συστήματα, τα παιχνίδια, την επεξεργασία φυσικών γλωσσών κλπ. (μέσα δεκ. 60) BASIC (Beginner s All Purpose Symbolic Instruction Code Συμβολικός Κώδικας Εντολών Γενικής Χρήσης για Αρχάριους ): για την εκπαίδευση αρχάριων στον προγραμματισμό (δεκ. 60). Αργότερα έγινε η δημοφιλέστερη γλώσσα στους προσωπικούς ΗΥ (Visual Basic). 3

2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού PASCAL (Niklaus Wirth): για την εκπαίδευση και τη δημιουργία ισχυρών προγραμμάτων. Ήταν η βάση για ισχυρότερες γλώσσες (ADA, Modula-2) (1970). C : ανάπτυξη του λειτουργικού συστήματος UNIX και δομημένων εφαρμογών. Έχει δυνατότητες γλώσσας χαμηλού επιπέδου. (1972-Bell) C++ : αντικειμενοστραφής γλώσσα, εξέλιξη της C. JAVA : ανάπτυξη αντικειμενοστραφών εφαρμογών εκτελέσιμων σε κατανεμημένα περιβάλλοντα, σε διαφορετικούς (με διαφορετικά λειτουργικά συστήματα) ΗΥ δηλ. συνδεδεμένους στο Διαδίκτυο. Σε ένα οπτικό περιβάλλον προγραμματισμού υπάρχει η δυνατότητα να δημιουργείται γραφικά ολόκληρο το περιβάλλον της εφαρμογής, όπως για παράδειγμα τα πλαίσια διαλόγου ή τα μενού. Γλώσσες 4ης γενιάς Παρέχουν τη δυνατότητα υποβολής ερωτήσεων στο σύστημα, ανάπτυξης εφαρμογών που ανακτούν πληροφορίες από βάσεις δεδομένων και καθορισμού του τρόπου εμφάνισης αυτών. π.χ. γλώσσες ερωταπαντήσεων (query languages) όπως η SQL. 4

2.3.1.2 Προγραμματιστικά Υποδείγματα Ως «Προγραμματιστικό Υπόδειγμα» εννοείται ένα πρότυπο ανάπτυξης προγραμμάτων, δηλαδή μία καθορισμένη μεθοδολογία με βάση την οποία αναπτύσσονται η δομή και τα στοιχεία του προγράμματος. Τα κυριότερα προγραμματιστικά υποδείγματα είναι: Ο προστακτικός προγραμματισμός όπου τα προγράμματα αναπτύσσονται με απλές εντολές σε προστακτική (Διάβασε, Εμφάνισε, Επανάλαβε). Π.χ. FORTRAN, BASIC, PASCAL, C Ο δηλωτικός προγραμματισμός όπου το πρόβλημα επιλύεται δηλώνοντας απλώς τις επιθυμητές ιδιότητες του αποτελέσματος. Το πρόγραμμα περιέχει λογικές εκφράσεις, ενώ κατά την εκτέλεσή του γίνεται έλεγχος για το ποιες ακριβώς ικανοποιούνται. Π.χ. PROLOG, SQL. Ο συναρτησιακός προγραμματισμός επιλύει το πρόβλημα με τη χρήση μαθηματικών συναρτήσεων. Π.χ. LISP. Ο αντικειμενοστραφής προγραμματισμός βασίζεται στην έννοια του αντικειμένου. Τα αντικείμενα δημιουργούνται από τις κλάσεις. Μία κλάση ορίζει τα χαρακτηριστικά και τη συμπεριφορά ενός τύπου αντικειμένου, λειτουργεί δηλαδή ως πρότυπο. Ένα αντικείμενο είναι μία δομή δεδομένων η οποία περιέχει τόσο τα δεδομένα (χαρακτηριστικά που την περιγράφουν) όσο και τις διαδικασίες (μεθόδους) που επενεργούν σε αυτά. Π.χ. C++ και η JAVA. Ο λογικός προγραμματισμός όπου τα προγράμματα είναι γραμμένα ως ένα σύνολο από προτάσεις σε μορφή λογικών εκφράσεων. Π.χ. PROLOG. 5

2.3.1.2 Προγραμματιστικά Υποδείγματα Ο παράλληλος προγραμματισμός στον οποίο τα προγράμματα εκμεταλλεύονται την ύπαρξη υπολογιστών που διαθέτουν περισσότερους από έναν επεξεργαστές. Έτσι επιτυγχάνεται η μείωση του χρόνου εκτέλεσης της εφαρμογής. Θα πρέπει όμως το πρόβλημα προς επίλυση να διαιρεθεί σε τμήματα που μπορούν να επιλυθούν παράλληλα. Π.χ. Occam. 6

2.3.1.3 Δομημένος Προγραμματισμός Δομημένος Προγραμματισμός: μεθοδολογία ανάλυσης, σχεδίασης και συγγραφής προγραμμάτων. Χρησιμοποιεί: την ιεραρχική σχεδίαση: ανάλυση «από πάνω προς τα κάτω» χρησιμοποιεί τη στρατηγική της συνεχούς διαίρεσης του προβλήματος σε υποπροβλήματα τον τμηματικό προγραμματισμό: υλοποιεί την ιεραρχική σχεδίαση όπου κάθε υποπρόβλημα αποτελεί ανεξάρτητη ενότητα που ονομάζεται υποπρόγραμμα τη δομή ακολουθίας, τη δομή επιλογής και τη δομή επανάληψης ή συνδυασμό τους που καθιστούν άσκοπη τη χρήση της εντολής GOTO (Πήγαινε). Υποπρόγραμμα: τμήμα προγράμματος που επιτελεί ένα αυτόνομο έργο και έχει γραφεί χωριστά από το υπόλοιπο πρόγραμμα. Εντολή GOTO: έχει ως αποτέλεσμα την αλλαγή της ροής του προγράμματος, δηλαδή της διακλάδωσης σε μία άλλη εντολή του προγράμματος εκτός από την επόμενη 7

2.3.1.3 Δομημένος Προγραμματισμός Παράδειγμα 2.32. Να γραφεί πρόγραμμα το οποίο θα διαβάζει αριθμούς και θα υπολογίζει το μέσο όρο τους. Η διαδικασία εισαγωγής αριθμών θα σταματά αν διαβαστεί ο αριθμός 0, χωρίς να συνυπολογίζεται. Αν ο πρώτος αριθμός που θα διαβαστεί είναι το μηδέν, θα εκτυπώνει το μήνυμα «Δεν δόθηκε άλλο στοιχείο εκτός του μηδενός» 8

2.3.2 Σχεδίαση και συγγραφή κώδικα Πηγαίο πρόγραμμα (source program): Το πρόγραμμα που γράφεται σε κάποια γλώσσα προγραμματισμού Συντάκτης (editor): ειδικό πρόγραμμα για τη σύνταξη του πηγαίου προγράμματος Μεταφραστικά προγράμματα: Μεταγλωττιστές (compilers): δέχονται στην είσοδο ένα πρόγραμμα γραμμένο σε μία γλώσσα υψηλού επιπέδου και παράγει ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής. (-): υποχρεωτική μεταγλώττιση και σύνδεση πριν την εκτέλεση (+): ταχύτερη εκτέλεση Διερμηνευτές (interpreters): διαβάζουν μία προς μία τις εντολές του αρχικού προγράμματος και για κάθε μία εκτελεί αμέσως μία ισοδύναμη ακολουθία εντολών μηχανής. (+): άμεση εκτέλεση και διόρθωση (-) : πιο αργή εκτέλεση 9

2.3.2 Σχεδίαση και συγγραφή κώδικα Είδη λαθών: Συντακτικά: εμφανίζονται κατά τη μετάφραση. Οφείλονται σε αναγραμματισμούς, σε λανθασμένη σύνταξη, παράλειψη δήλωσης μεταβλητών κ.ά. Ο μεταφραστής ανιχνεύει τα λάθη και εμφανίζει κατάλληλα διαγνωστικά μηνύματα. Ακολουθεί η διόρθωσή τους από τον προγραμματιστή. Λογικά: δεν ανιχνεύονται από τα μεταφραστικά προγράμματα (π.χ. διαίρεση με το μηδέν). Τα σύγχρονα προγραμματιστικά περιβάλλοντα παρέχουν εργαλεία εκσφαλμάτωσης για την εκτέλεση του προγράμματος εντολή προς εντολή με παρακολούθηση των τιμών των μεταβλητών Αντικείμενο (object) πρόγραμμα: το πρόγραμμα σε γλώσσα μηχανής που παράγεται από τους μεταγλωττιστές Συνδέτης φορτωτής (linker - loader): συνδέει το αντικείμενο πρόγραμμα με τις βιβλιοθήκες (libraries: συλλογή από έτοιμα υποπρογράμματα που μπορούν να χρησιμοποιούνται κατά τη συγγραφή νέων προγραμμάτων) Εκτελέσιμο (executable) πρόγραμμα: το αποτέλεσμα του συνδέτη 10

2.3.2 Σχεδίαση και συγγραφή κώδικα Παράδειγμα 2.40. Σε ένα ραδιοφωνικό σταθμό το κόστος ενός διαφημιστικού μηνύματος σε σχέση με τα δευτερόλεπτα μετάδοσης, υπολογίζεται κλιμακωτά σύμφωνα με τον παραπάνω πίνακα. A. Να αναπτύξετε πρόγραμμα το οποίο: i. να διαβάζει το πλήθος των διαφορετικών μηνυμάτων που πρόκειται να μεταδώσει ο σταθμός την επόμενη εβδομάδα ii. να διαβάζει τη χρονική διάρκεια κάθε μηνύματος και να υπολογίζει καλώντας κατάλληλο υποπρόγραμμα το κόστος του iii. να εμφανίζει με κατάλληλο μήνυμα τα συνολικά έσοδα του σταθμού καθώς και το ποσοστό (%) των μηνυμάτων με χρονική διάρκεια άνω των 30 δευτερολέπτων. Β. Να γράψετε τον αλγόριθμο για τον υπολογισμό του κόστους του κάθε μηνύματος. 11

2.3.2 Σχεδίαση και συγγραφή κώδικα 12