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



Σχετικά έγγραφα
Α. Ερωτήσεις Ανάπτυξης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Άξονας ανάπτυξης του µαθήµατος 3. Γενικός σκοπός του µαθήµατος. Το µάθηµα της Πληροφορικής στο Γυµνάσιο

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

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

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

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

Εισαγωγή στην πληροφορική

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

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

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

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

Ορισμός Κάθε ζήτημα που τίθεται προς επίλυση, κάθε δύσκολη κατάσταση που μας απασχολεί και πρέπει να αντιμετωπιστεί.

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

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

Transcript:

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 7.1. Ανάπτυξη Προγράµµατος Τι είναι το Πρόγραµµα; Το Πρόγραµµα: Είναι ένα σύνολο εντολών για την εκτέλεση ορισµένων λειτουργιών από τον υπολογιστή. Χρησιµοποιείται για την επίλυση προβληµάτων από τον υπολογιστή Βασίζεται σε έναν ή περισσότερους αλγόριθµους. Τι είναι ο Κύκλος Ανάπτυξης Προγράµµατος; Από ποιες διαδικασίες αποτελείται; Ο Κύκλος Ανάπτυξης Προγράµµατος είναι ορισµένες τυποποιηµένες διαδικασίες που χρησιµοποιούµε για να λύσουµε ένα πρόβληµα µε τη βοήθεια του υπολογιστή. Οι διαδικασίες από τις οποίες αποτελείται ο Κύκλος Ανάπτυξης Προγράµµατος είναι: 1. Σχεδίαση Προγράµµατος a. Κατανόηση του Προβλήµατος b. Μέθοδοι επίλυσης του Προβλήµατος 2. Λοιπές ιαδικασίες a. Κωδικοποίηση-µετάφραση του προγράµµατος b. Έλεγχος του προγράµµατος c. Τεκµηρίωση του προγράµµατος Τι είναι η Κατανόηση του Προβλήµατος στην Ανάπτυξη του Προγράµµατος; Για να λύσουµε ένα πρόβληµα πρέπει να το καταλάβουµε. Πρέπει δηλαδή να προσδιορίσουµε: τα δεδοµένα, τα ζητούµενα και τους περιορισµούς ή τις συνθήκες που είναι απαραίτητες για την επίλυση του. Μερικές φορές χρειάζεται να χωρίσουµε ένα σύνθετο πρόβληµα σε άλλα απλούστερα. Πώς από τους τρόπους επίλυσης ενός προβλήµατος, επιλέγουµε εκείνον που είναι πιο κατάλληλος για επίλυση στον υπολογιστή που διαθέτουµε; Λαµβάνουµε υπόψη: Τον όγκο των δεδοµένων Την πολυπλοκότητα των υπολογισµών Τις δυνατότητες του υπολογιστή σε υλικό και λογισµικό Τι είναι η Κωδικοποίηση-Μετάφραση του προγράµµατος στην Ανάπτυξη του Προγράµµατος; Αρχικά αποτυπώνεται σε διαδοχικά βήµατα ο αλγόριθµος για την επίλυση του προβλήµατος. Για την αποτύπωση του αλγόριθµου χρησιµοποιούµε µία από τις παρακάτω µεθόδους: Τη φραστική, Το οµοδιάγραµµα Τον Ψευδοκώδικας ή Το Λογικό ιάγραµµα Μετά γίνεται η κωδικοποίηση του σε µία από τις γλώσσες προγραµµατισµού. Τέλος για να εκτελεστεί το πρόγραµµα που έχει γραφτεί σε µια γλώσσα προγραµµατισµού απαιτείται το αντίστοιχο µεταφραστικό πρόγραµµα (compiler ή interpreter), που θα το µετατρέψει σε κώδικα µηχανής. - 1 - Γεωργιλά Χιονία, Καθ. Πληροφορικής

Κεφάλαιο 7 Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Πώς αναπαριστάνουµε τους αλγόριθµους; Υπάρχουν διάφοροι τρόποι για την αναπαράσταση των αλγόριθµων. Οι πιο συνηθισµένοι είναι: Ο Φραστικός, Το οµοδιάγραµµα Ο Ψευδοκώδικας και Το Λογικό ιάγραµµα 7.2 ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 7.2.1 Γλώσσες Μηχανής Τι είναι οι Γλώσσες Μηχανής Κάθε υπολογιστής µπορεί να καταλάβει και να εκτελέσει εντολές που είναι γραµµένες µε ένα συγκεκριµένο τρόπο, που έχει σχέση µε τη δική του Κεντρική Μονάδα Επεξεργασίας. Οι εντολές αυτές είναι γραµµένες σε γλώσσα µηχανής. Οι εντολές σε γλώσσα µηχανής έχουν σταθερό ή µεταβλητό µέγεθος, αποτελούνται από 0 και 1 και δίνουν εντολή στην ΚΜΕ να εκτελέσει µια στοιχειώδη λειτουργία (πχ. πρόσθεση, αφαίρεση, αποθήκευση κλπ ). Ένα πρόγραµµα σε γλώσσα µηχανής: είναι εξαρτηµένο από τη δοµή του συγκεκριµένου υπολογιστή και µπορεί να τρέξει µόνο σε όµοιους ή συµβατούς υπολογιστές. Είναι εύκολα κατανοητό από τον υπολογιστή, αλλά δύσκολα κατανοητό από τον άνθρωπο, ακόµη και από αυτόν που το έγραψε. Ο προγραµµατισµός σε γλώσσα µηχανής: Ήταν ο πρώτος τρόπος προγραµµατισµού των υπολογιστών Ήταν πάρα πολύ δύσκολος Γινόταν µε τη χρήση διακοπτών, των οποίων η µία θέση αντιπροσώπευε το 0 και η άλλη το 1. 7.2.2 Συµβολικές Γλώσσες Οι συµβολικές (assembly) γλώσσες, χρησιµοποιούν: αντί για εντολές σε µορφή 0 και 1, συντοµογραφίες λέξεων της Αγγλικής γλώσσας και αντί για διευθύνσεις δεδοµένων σε µορφή 0 και 1, µνηµονικά ονόµατα. Έτσι µειώθηκαν τα λάθη από απροσεξία που γινόταν στο προγραµµατισµό σε Γλώσσα Μηχανής. Είναι στενά συνδεδεµένες µε την αρχιτεκτονική του υπολογιστή και για αυτό ονοµάζονται γλώσσες χαµηλού επιπέδου. Επειδή όµως ο υπολογιστής αναγνωρίζει µόνο τη γλώσσα µηχανής, τα προγράµµατα σε συµβολική γλώσσα πρέπει να µεταφραστούν σε γλώσσα µηχανής για να εκτελεστούν από τον υπολογιστή. Αυτή η εργασία της µετάφρασης γινόταν αρχικά από ανθρώπους που ονοµάζονταν assemblers (συναρµολογητές), αργότερα όµως φτιάχτηκαν µεταφραστικά προγράµµατα που έκαναν τη δουλειά αυτή. Τα προγράµµατα σε συµβολική γλώσσα είναι άµεσα συνδεδεµένα µε τον υπολογιστή για τον οποίο γράφτηκαν και δε µπορούν να µεταφερθούν σε διαφορετικό υπολογιστή. Η συµβολική γλώσσα χρησιµοποιείται για τη συγγραφή προγραµµάτων διαχείρισης του συστήµατος, όπως: Λειτουργικά συστήµατα Βοηθητικά προγράµµατα Συστήµατα αυτοµάτου ελέγχουµε υπολογιστή - 2 -

7.2.3 Γλώσσες Υψηλού Επιπέδου Επειδή οι συµβολικές γλώσσες ήταν εξαρτηµένες από τον υπολογιστή, δηµιουργήθηκαν οι γλώσσες υψηλού επιπέδου οι οποίες ήταν σχεδόν ανεξάρτητες από τον τύπο του υπολογιστή. Οι γλώσσες υψηλού επιπέδου: Βασίζονται σε λέξεις-κλειδιά της Αγγλικής γλώσσας Στηρίζονται σε µια γραµµατική και σε ένα συντακτικό. Οι εντολές των γλωσσών υψηλού επιπέδου είναι προτάσεις που υπακούν στο συντακτικό και στη γραµµατική της γλώσσας και σχηµατίζονται από τις λέξεις κλειδιά της γλώσσας και λέξεις που παράγουµε εµείς µε το Λατινικό αλφάβητο και κάποιους ειδικούς χαρακτήρες. Οι γλώσσες υψηλού επιπέδου κατατάσσονται στις ακόλουθες κατηγορίες: Για επιστηµονικές εφαρµογές: FORTRAN, C, APL Για εµπορικές εφαρµογές: COBOL, RPG Για εκπαιδευτικές εφαρµογές: BASIC, LOGO Για ειδικές εφαρµογές: LISP, PROLOG Για επιστηµονικές-εµπορικές εφαρµογές: PL-I, PASCAL Ποια είναι τα χαρακτηριστικά των Γλωσσών Υψηλού Επιπέδου 1. Χρησιµοποιούν συγκεκριµένες λέξεις, σύµβολα και προτάσεις 2. Κάθε µία εντολή τους µεταφράζεται κατά τη διάρκεια της µετάφρασης σε πολλές εντολές του κώδικα µηχανής 3. Έχουν συγκεκριµένους γραµµατικούς και συντακτικούς κανόνες, που πρέπει να τους γνωρίζει ο προγραµµατιστής που γράφει το πρόγραµµα 4. Η εξάρτηση της γλώσσας από τη µηχανή είναι ελάχιστη και πολλές φορές µάλιστα η γλώσσα είναι ανεξάρτητη από τη µηχανή 5. Η γλώσσα έχει συνήθως ένα µεγάλο αριθµό υποπρογραµµάτων που ονοµάζονται βιβλιοθήκη της γλώσσας. Από τη βιβλιοθήκη αυτή, ο προγραµµατιστής µπορεί: να ενσωµατώσει ένα ή περισσότερα έτοιµα υποπρογράµµατα, µέσα στο δικό του πρόγραµµα ή να προσθέσει δικά του υποπρογράµµατα στη βιβλιοθήκη αυτή 7.2.2 Γλώσσες 4 ης γενιάς Τι είναι οι Γλώσσες 4 ης γενιάς; 1. ίνουν ένα νέο δοµηµένο τρόπο για τη δηµιουργία Πληροφοριακών Συστηµάτων. 2. Είναι υψηλής παραγωγικότητας, αφού µε τη χρήση τους χρειάζεται λιγότερος χρόνος για την κατασκευή ενός προγράµµατος από ότι µε τις κλασσικές γλώσσες. 3. Μπορούν να τις χρησιµοποιήσουν και άτοµα που δεν γνωρίζουν προγραµµατισµό. 4. Ο χρήστης δηλαδή καθορίζει το είδος της επεξεργασίας που θέλει να προσθέσει στο πρόγραµµα του και όχι το πώς θα γίνει αυτό. 5. Είναι διαλογικές, και µπορούν να εµφανίσουν διάφορα µηνύµατα σε σχέση µε τις εντολές που εκτελούνται. 6. Περιέχονται συνήθως σε Συστήµατα ιαχείρισης Βάσεων εδοµένων, όπως η INGRES και η ORACLE. Τι είναι οι δυναµικές εντολές που χρησιµοποιούν οι Γλώσσες 4 ης γενιάς; Είναι µία κατηγορία εντολών που βοηθούν το χρήστη: Να δηµιουργεί και να ενηµερώνει αρχεία Να σχεδιάζει οθόνες για την πρόσβαση στα αρχεία Να δηµιουργεί εκτυπώσεις. - 3 - Γεωργιλά Χιονία, Καθ. Πληροφορικής

Κεφάλαιο 7 Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Χωρίς τις δυναµικές εντολές, για καθεµιά από τις παραπάνω εργασίες θα έπρεπε να γραφτεί ένα ολόκληρο πρόγραµµα, σε µια κλασσική γλώσσα προγραµµατισµού Να συγκρίνετε τις γλώσσες 4 ης γενιάς µε τις γλώσσες υψηλού επιπέδου Σε σύγκριση µε τις κλασσικές γλώσσες υψηλού επιπέδου, µε τις γλώσσες 4 ης γενιάς: 1. Μπορεί να φτιαχτεί πολύ πιο γρήγορα ένα Πληροφοριακό Σύστηµα 2. Οι εντολές τους είναι λιγότερες, αλλά πιο περιεκτικές 3. Τα προγράµµατα που φτιάχνονται µε αυτές έχουν ευκολότερη συντήρηση γιατί είναι µικρότερα και έτσι γίνονται λιγότερα λάθη, που βρίσκονται πιο γρήγορα. 7.3 Είδη Προγραµµατισµού Αναφέρετε ονοµαστικά τα είδη του Προγραµµατισµού. 1. ιαδικασιακός Προγραµµατισµός 2. οµηµένος Προγραµµατισµός 3. Παράλληλος Προγραµµατισµός 4. Αντικειµενοστρεφής Προγραµµατισµός 5. Συναρτησιακός Προγραµµατισµός 6. Λογικός Προγραµµατισµός Τι γνωρίζετε για το ιαδικασιακό Προγραµµατισµό; Είναι ο προγραµµατισµός στον οποίο το πρόγραµµα γράφεται σε γλώσσα προγραµµατισµού εξαρτηµένη από τη διαδικασία (συνήθως γλώσσα τρίτης γενιάς) Χρησιµοποιείται για προβλήµατα που επιλύονται αλγοριθµικά (πχ. λογιστικές, εµπορικές, διοικητικές εφαρµογές ή εφαρµογές µεταφορών) Η µορφή του προγράµµατος στο ιαδικασιακό Προγραµµατισµό είναι µια διαδικασία που εκτελεί ένα προς ένα τα βήµατα του αλγόριθµου επίλυσης του προβλήµατος. Οι εντολές εκτελούνται διαδοχικά, εκτός αν υπάρχουν συνθήκες οπότε συµβαίνουν παραλήψεις, διακλαδώσεις ή επαναλήψεις. Τι γνωρίζετε για τον οµηµένο Προγραµµατισµό; Προϋποθέτει δοµηµένη σχεδίαση και έλεγχο ενός δοµηµένου προγράµµατος, που αποτελείται από ανεξάρτητα τµήµατα µε βάση ένα προκαθορισµένο σχέδιο. Χρησιµοποιεί: o τις βασικές αλγοριθµικές δοµές (διαδοχή, απλή επιλογή και επανάληψη) για τη δηµιουργία πολύπλοκων προγραµµάτων. o Χρησιµοποιεί τις τεχνικές του ιεραρχικού και τµηµατικού προγραµµατισµού, που παριστάνονται από τα διαγράµµατα HIPO, όπου εµφανίζονται τα διάφορα επίπεδα ιεραρχίας και τα τµήµατα προγράµµατος µε αριθµό σύµφωνα µε τη σειρά εκτέλεσης τους. Τι γνωρίζετε για τον Παράλληλο Προγραµµατισµό; Οφείλει την καθιέρωση του στην εξέλιξη του υλικού, δηλαδή: Η εµφάνιση της αρχιτεκτονικής των πολλών επεξεργαστών που χρησιµοποιούν κοινή µνήµη, οδήγησε στους παράλληλους αλγορίθµους και αυτοί µε τη σειρά τους στον Παράλληλο Προγραµµατισµό. Χρησιµοποιεί: o Τις δοµές του διαδικασιακού προγραµµατισµού και o οµές που επιτρέπουν την ταυτόχρονη εκτέλεση διαδικασιών από διαφορετικούς επεξεργαστές. - 4 -

ιάφορα υποπρογράµµατα ενός προγράµµατος εκτελούνται παράλληλα (ταυτόχρονα) από δύο ή περισσότερους επεξεργαστές του υπολογιστή. Η ανάγκη για o Ταυτόχρονη εκτέλεση των διεργασιών και o Επικοινωνία µεταξύ των εκτελούµενων διεργασιών οδήγησε: Στην επέκταση κάποιων κλασικών γλωσσών διαδικασιακού προγραµµατισµού (γλώσσες Ada, Modula 2, Concurrent C)και Στο σχεδιασµό νέων γλωσσών (γλώσσα Occam) Τι γνωρίζετε για τον Αντικειµενοστρεφή Προγραµµατισµό; Είναι τεχνική που ενσωµατώνει o Τα δεδοµένα και o Τον τρόπο χειρισµού των δεδοµένων µέσα στα αντικείµενα. Ένα αντικείµενο αποτελείται: o Από µια σειρά δεδοµένων, που είναι τα χαρακτηριστικά του αντικειµένου και o Από µια σειρά µεθόδων, που έχουν σχέση µε την επεξεργασία των παραπάνω δεδοµένων και περιγράφουν τη συµπεριφορά του αντικειµένου στο πρόγραµµα. Τα αντικείµενα µπορεί να σχηµατίζουν ιεραρχικά δοµηµένες κλάσεις, όπου οι υποκλάσεις κληρονοµούν χαρακτηριστικά (δεδοµένα) και ιδιότητες (µεθόδους) των κλάσεων από τις οποίες προήλθαν, ενώ µπορεί να προστίθενται σε αυτές και νέα χαρακτηριστικά και ιδιότητες. Τι γνωρίζετε για τον Συναρτησιακό Προγραµµατισµό; Βασίζεται στην έννοια της συνάρτησης όπως τη γνωρίζουµε από τα Μαθηµατικά. ηλαδή η συνάρτηση απεικονίζει ένα πεδίο ορισµού σε ένα πεδίο τιµών. Οι εντολές και οι δοµές ελέγχου (διακλάδωση, επανάληψη κλπ) είναι συναρτήσεις. Τα ορίσµατα των συναρτήσεων µπορεί να είναι δεδοµένα ή άλλες συναρτήσεις εν υπάρχουν οι έννοιες της µεταβλητής και της εκχώρησης (που υπάρχουν στον διαδικασιακό προγραµµατισµό), αλλά υπάρχει η έννοια της δέσµευσης ονοµάτων σε τιµές κατά την εφαρµογή των συναρτήσεων Βασίζονται στη Θεωρία του Λογισµού Λάµδα, που συνδέει Θέµατα Λογικής µε την Πληροφορική Παραδείγµατα γλωσσών συναρτησιακού προγραµµατισµού είναι η Lisp, η Forth και η Logo. Τι γνωρίζετε για τον Λογικό Προγραµµατισµό; Στο πρόγραµµα δεν περιγράφεται ο αλγόριθµος επίλυσης του προβλήµατος, όπως συµβαίνει µε τον διαδικασιακό προγραµµατισµό, αλλά η γνώση που σχετίζεται µε το πρόβληµα και προσδιορίζονται οι στόχοι που πρέπει να αποδειχθούν. Στηρίζεται στη γνώση, η οποία περιγράφεται από γεγονότα και κανόνες, ενώ ορίζεται µία πρόταση-στόχος, η οποία πρέπει να αποδειχθεί αληθής. Για να αποδείξει αυτήν την πρόταση-στόχο το πρόγραµµα εφαρµόζει τους κανόνες πάνω στα γεγονότα. Η εφαρµογή των κανόνων για την απόδειξη του στόχου, δεν αποτελεί µέρος του προγραµµατισµού αλλά εκτελείται αυτόµατα. Εµφανίστηκε στα τέλη της δεκαετίας του 1970. Υπήρξε αντικείµενο έρευνας για την Αυτόµατη Απόδειξη Θεωρηµάτων και την Τεχνητή Νοηµοσύνη Παράδειγµα γλώσσας λογικού προγραµµατισµού είναι η Prolog. - 5 - Γεωργιλά Χιονία, Καθ. Πληροφορικής

Κεφάλαιο 7 Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού 7.4 Προγραµµατιστικά Περιβάλλοντα Γιατί δηµιουργήθηκαν τα µεταφραστικά προγράµµατα; Πρόβληµα: Ένα πρόγραµµα δηµιουργείται από τον προγραµµατιστή σε µια γλώσσα προγραµµατισµού (συνήθως υψηλού επιπέδου), όµως ο υπολογιστής µπορεί να εκτελέσει ένα πρόγραµµα µόνο όταν αυτό είναι γραµµένο σε γλώσσα µηχανής! Λύση: Υπάρχουν ειδικά µεταφραστικά προγράµµατα που µετατρέπουν ένα πρόγραµµα από γλώσσα προγραµµατισµού σε γλώσσα µηχανής. Τι είναι ο µεταγλωττιστής; Αναφέρετε ονοµαστικά τις δύο κατηγορίες µεταγλωττιστών. Ο µεταγλωττιστής είναι ένα ειδικό πρόγραµµα που µεταφράζει ένα άλλο πρόγραµµα από µία γλώσσα προγραµµατισµού σε γλώσσα µηχανής. Το πρόγραµµα προς µετάφραση, ονοµάζεται πηγαίο (source) πρόγραµµα, ενώ το µεταφρασµένο ονοµάζεται αντικείµενο (object) πρόγραµµα. Οι 2 κατηγορίες µεταγλωττιστών είναι: Ο Μεταγλωττιστής γλώσσας υψηλού επιπέδου ή COMPILER Ο ιερµηνέας ή INTERPRETER, ο οποίος είναι Μεταγλωττιστής γλώσσας υψηλού επιπέδου που κάνει ταυτόχρονα εκτέλεση του προγράµµατος. Συνοψίστε τις εργασίες που εκτελεί ο µεταγλωττιστής. 1. Κάνει συντακτική και γραµµατική ανάλυση του πηγαίου προγράµµατος µε εκτύπωση των λαθών 2. Κάνει την κατάληψη του απαραίτητου χώρου στην κύρια µνήµη για να µπορέσει να εκτελεστεί το πρόγραµµα 3. Παράγει πίνακες στη µνήµη (πίνακες σταθερών, πίνακες βρόχων κλπ.) που είναι απαραίτητοι για τη µετάφραση του προγράµµατος 4. Φυλάσσει το αντικείµενο πρόγραµµα στο δίσκο 5. Παράγει, αν το θέλει ο προγραµµατιστής, ένα αρχείο που έχει τις εντολές του προγράµµατος και σε κώδικα µηχανής και σε γλώσσα χαµηλού επιπέδου Τι είναι ο Interpreter και πως δουλεύει; Ο Interpreter είναι ένας µεταγλωττιστής που ελέγχει συντακτικά και γραµµατικά το πηγαίο πρόγραµµα εξετάζοντας τη µια εντολή µετά την άλλη. Αν δεν υπάρχουν λάθη στην εντολή, τη µεταφράζει σε γλώσσα µηχανής, την εκτελεί και συνεχίζει µε τη µετάφραση της επόµενης εντολής. Σε ποια χαρακτηριστικά διαφέρει ο Interpreter από τον Compiler; 1. εν κάνει συντακτικό έλεγχο ολόκληρου του πηγαίου προγράµµατος, πριν από την εκτέλεση. 2. Κάθε φορά που εκτελείται το πηγαίο πρόγραµµα, επαναλαµβάνει τη διαδικασία του συντακτικού ελέγχου και της µετάφρασης. 3. Κατά την εκτέλεση του προγράµµατος, κάθε φορά που συναντά µία εντολή κάνει συντακτικό έλεγχο και µετάφραση της. 4. Ο έλεγχος και η διόρθωση των λαθών γίνεται ευκολότερα γιατί: a. Ο προγραµµατιστής πληροφορείται αµέσως για κάθε συντακτικό ή γραµµατικό λάθος b. Το διορθώνει και c. Συνεχίζει την εκτέλεση του προγράµµατος 5. Η εκτέλεση ενός προγράµµατος µε Interpreter είναι πιο αργή σε σύγκριση µε την εκτέλεση του ίδιου προγράµµατος µεταφρασµένου µε compiler. - 6 -

7.4.2 Γραφή Εκτέλεση Προγράµµατος Περιγράψτε τις φάσεις που περνάει ένα πρόγραµµα γραµµένο σε µια γλώσσα προγραµµατισµού µέχρι να εκτελεστεί. 1. Με τη βοήθεια ενός επεξεργαστή κειµένου, που λέγεται εκδότης-διορθωτής (editor) γράφεται το κείµενο του προγράµµατος, που λέγεται πηγαίος κώδικας (source code) 2. Ο Μεταγλωττιστής ελέγχει τον πηγαίο κώδικα για ορθογραφικά ή συντακτικά λάθη. Αν υπάρχουν τέτοια λάθη, ο µεταγλωττιστής βγάζει µηνύµατα. Με τη βοήθεια αυτών των µηνυµάτων και του εκδότη-διορθωτή, ο προγραµµατιστής διορθώνει τον πηγαίο κώδικα. Η διαδικασία συνεχίζεται µέχρις ότου να µην υπάρχουν λάθη. Τότε ο Μεταγλωττιστής παράγει το αντικείµενο πρόγραµµα (object code). 3. Το αντικείµενο πρόγραµµα, ανάλογα µε το Μεταγλωττιστή που χρησιµοποιείται, µπορεί να είναι εκτελέσιµο, αλλά µπορεί και να µην είναι. Όταν δεν είναι, τότε πρέπει να συνδεθεί µε υποπρογράµµατα της βιβλιοθήκης της γλώσσας ή του προγραµµατιστή. Αυτό γίνεται µε τη βοήθεια του συνδέτη (linker) ή του φορτωτή(loader). Ο φορτωτής όχι µόνο συνδέει το αντικείµενο πρόγραµµα µε τις απαραίτητες βιβλιοθήκες, αλλά φορτώνει και στη µνήµη το εκτελέσιµο πρόγραµµα που προκύπτει. Αν αντί για Μεταγλωττιστή χρησιµοποιήσουµε ιερµηνέα, τότε η παραπάνω διαδικασία γίνεται εντολή προς εντολή. Βλέπε Σχήµα 7.3 σελίδα 64. 7.4.3 Σύγχρονα Προγραµµατιστικά Περιβάλλοντα Τι είναι ένα Ολοκληρωµένο Προγραµµατιστικό Περιβάλλον; Είναι ένα Περιβάλλον που χρησιµοποιείται για την ανάπτυξη ενός προγράµµατος. Στο περιβάλλον αυτό υπάρχουν και συνεργάζονται τα εργαλεία που είναι απαραίτητα για τη δηµιουργία του προγράµµατος, δηλαδή: ο διορθωτής, ο µεταγλωττιστής, ο εκσφαλµατωτής κ.α. Τα εργαλεία αυτά µπορούµε να τα επιλέξουµε από τα µενού. ιευκολύνει και επιταχύνει την ολοκλήρωση της ανάπτυξης του προγράµµατος καθώς και τη µετάβαση στα διάφορα στάδια. Τι είναι ένα γραφικό Περιβάλλον; Όταν ένα ολοκληρωµένο περιβάλλον ανάπτυξης προγραµµάτων διαθέτει εργαλεία σχεδίασης µε τη βοήθεια γραφικών, τότε λέγεται γραφικό περιβάλλον. Τα εργαλεία γραφικών βοηθούν τον προγραµµατιστή να σχεδιάσει στην οθόνη την εφαρµογή του - 7 - Γεωργιλά Χιονία, Καθ. Πληροφορικής