Καθηγητής: Σπύρος Ξουργιάς1 Η Έννοια του Προγράμματος Ακριβής προσδιορισμός προβλήματος Ακριβής προσδιορισμός προβλήματος Ανάπτυξη αντίστοιχου αλγορίθμου.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τι είναι ο προγραμματισμός
Advertisements

Επιμέλεια: Τίκβα Χριστίνα
Προγραμματισμοσ υπολογιστη
7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Κεφάλαιο 3 ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
7.5.2 Αντικειμενοστραφής προγραμματισμός
Τι είναι ο υπολογιστής; Τι είναι ο προγραμματισμός
Προγραμματισμός υπολογιστή
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Ενότητα 1: Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
ΜΑΘ-3122/106 Προγραμματισμός
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΗ
Προγραμματισμός Η/Υ.
ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Ενότητα Η Δομή Επανάληψης
1 Πρόγραμμα ονομάζεται η διατύπωση του αλγορίθμου σε μορφή κατανοητή από τον υπολογιστή Το Υλικό μπορεί μόνο Να αποθηκεύει και να ανακτά ακολουθίες δυαδικών.
ΗΥ 150 – ΠρογραμματισμόςΞενοφών Ζαμ π ούλης ΗΥ-150 Προγραμματισμός Αλγόριθμοι και Προγράμματα.
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
ΕΠΛ223 Θεωρία και Πρακτική Μεταγλωττιστών Εαρινό Εξάμηνο 2002 Κ. Μουρλάς, Λέκτορας Σημείωση: Οι διαφάνειες αυτές βασίζονται κατά το μεγαλύτερο μέρος τους.
ΛΟΓΙΣΜΙΚΟ Πρόγραμμα Είναι μία ακολουθία από εντολές, σε λογική σειρά, με σκοπό να κατευθύνουν τον Η.Υ. στην εκτέλεση των επιθυμητών εργασιών. ΛΟΓΙΣΜΙΚΟ.
Γεωργαλλίδης Δημήτρης Καθηγητής Πληροφορικής
Ίδιες αρχές λειτουργίας
Εισαγωγή στον προγραμματισμό
Κεφάλαιο 3 ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
Κεφ.1 Εισαγωγη στην εννοια του Αλγοριθμου και στον Προγραμματισμο
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
Κεφάλαιο 6 -Περιβάλλοντα Ανάπτυξης Εφαρμογών
Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό Φυσικές και τεχνητές γλώσσες.
Ενότητα Α.4. Δομημένος Προγραμματισμός
Λογισμικό (Software).
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής,
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 1 Απριλίου 2015Τετάρτη, 1 Απριλίου 2015Τετάρτη, 1 Απριλίου 2015Τετάρτη, 1 Απριλίου 2015Τμ. Πληροφορικής,
Για τη διεκπεραίωση ενός προβλήματος πρέπει να ακολουθηθεί η εξής διαδικασία:  να γραφεί ο αλγόριθμος να συνταχθεί το πρόγραμμα σε γλώσσα υψηλού επιπέδου.
1.5 Γλώσσες Προγραμματισμού
Κατανόηση (δεδομένα – ζητούμενα) Ανάλυση σε απλούστερα προβλήματα Επίλυση με οργανωμένα, απολύτως καθορισμένα, πεπερασμένα βήματα ΑΛΓΟΡΙΘΜΟΣ.
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
ΛΑΔΑΚΑΚΟΣ ΘΑΛΗΣ Α.Μ ΔΙΑΧΕΙΡΗΣΗ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ. ΥΠΟΛΟΓΙΣΤΗΣ Μηχανή που μπορεί να φέρει σε πέρας πνευματικές εργασίες ρουτίνας με μεγάλη ταχύτητα.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τμ.
Κεφάλαιο 10 – Υποπρογράμματα
Προγραμματισμός Γιατι γραφουμε προγραμματα (προηγ. διαλεξη)
Από την ιδέα μέχρι το λογισμικό. Ξεκινώντας από το πρόβλημα...
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
1 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Κεφάλαιο 6 Παπαγιάννη Νάσια Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ.
Εισαγωγή στον προγραμματισμό ΤΑΞΗ: Γ’ ΛΥΚΕΙΟΥ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ.
Εισαγωγή στον προγραμματισμό Μέρος 3 ο Προγραμματιστικά περιβάλλοντα § 6.7.
Πληροφορική 2 Γλώσσες Προγραμματισμού 1. Γλώσσες προγραμματσιμού  Επιτρέπουν την κωδικοποίηση των αλγορίθμων  Η εκτέλεση ενός προγράμματος θα πρέπει.
ΚΕΦ 6 ο ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. ΣΤΑΔΙΑ ΕΠΙΛΥΣΗΣ ΕΝΟΣ ΠΡΟΒΛΗΜΑΤΟΣ ΚΑΤΑΝΟΗΣΗ – ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ (ΖΗΤΟΥΜΕΝΑ - ΔΕΔΟΜΕΝΑ) ΣΧΕΔΙΑΣΜΟΣ - ΑΝΑΠΤΥΞΗ ΛΥΣΗΣ.
ΕΙΔΗ, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 7 © Βελώνης Γεώργιος.
ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α΄ ΛΥΚΕΙΟΥ
Εισαγωγή στο Περιβάλλον της Visual Basic
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Ανάπτυξη Εφαρμογών για Φορητές Συσκευές
Στοιχεία Δομημένου Προγραμματισμού
2ο ΓΥΜΝΑΣΙΟ ΣΗΤΕΙΑΣ - ΤΑΞΗ Γ'
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΗ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
Κεφάλαιο 3 ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΥΠΟΔΕΙΓΜΑΤΑ  Προγραμματιστικό Υπόδειγμα: Είναι ένα πρότυπο ανάπτυξης προγραμμάτων, δηλ. μια καθορισμένη μεθοδολογία με βάση την οποία.
ΠΛΗΡΟΦΟΡΙΚΗ Γ΄ Γυμνασίου Α΄ Τρίμηνο
Ιεραρχική σχεδίαση Καθορίζονται οι βασικές λειτουργίες σε ανώτερο επίπεδο και στη συνέχεια γίνεται διάσπαση σε όλο και μικρότερες λειτουργίες μέχρι το.
Μεταγράφημα παρουσίασης:

Καθηγητής: Σπύρος Ξουργιάς1 Η Έννοια του Προγράμματος Ακριβής προσδιορισμός προβλήματος Ακριβής προσδιορισμός προβλήματος Ανάπτυξη αντίστοιχου αλγορίθμου Ανάπτυξη αντίστοιχου αλγορίθμου Διατύπωση του αλγορίθμου σε μορφή κατανοητή από τον υπολογιστή Διατύπωση του αλγορίθμου σε μορφή κατανοητή από τον υπολογιστή Στάδια επίλυσης προβλήματος

Καθηγητής: Σπύρος Ξουργιάς2 Προγραμματισμός είναι η δημιουργία του προγράμματος Ένα σύνολο εντολών δίνονται στον Η/Υ, ώστε να υλοποιηθεί ο αλγόριθμος επίλυσης του προβλήματος Ένα σύνολο εντολών δίνονται στον Η/Υ, ώστε να υλοποιηθεί ο αλγόριθμος επίλυσης του προβλήματος Το πρόγραμμα γράφεται σε μια γλώσσα προγραμματισμού Το πρόγραμμα γράφεται σε μια γλώσσα προγραμματισμού Αλγόριθμος + Δεδομένα = Πρόγραμμα Αλγόριθμος + Δεδομένα = Πρόγραμμα

Καθηγητής: Σπύρος Ξουργιάς3 Γλώσσες Προγραμματισμού Γλώσσες Μηχανής Γλώσσες Μηχανής Συμβολικές Γλώσσες (χαμηλού επιπέδου) με χρήση συμβολομεταφραστή (assembler) Συμβολικές Γλώσσες (χαμηλού επιπέδου) με χρήση συμβολομεταφραστή (assembler) Γλώσσες υψηλού επιπέδου (1957 FORTRAN, 1960 COBOL, ALGOL, PL1,LISP, BASIC, PASCAL 1970 PROLOG, 1972 C, JAVA κ.λ.π.) Γλώσσες υψηλού επιπέδου (1957 FORTRAN, 1960 COBOL, ALGOL, PL1,LISP, BASIC, PASCAL 1970 PROLOG, 1972 C, JAVA κ.λ.π.) Γλώσσες 4ης Γενιάς Γλώσσες 4ης Γενιάς

Καθηγητής: Σπύρος Ξουργιάς4 Παράδειγμα κώδικα που υπολογίζει το άθροισμα από 1 μέχρι 10 Σε ΓΛΩΣΣΑ ΜΗΧΑΝΗΣ Σε Assembler INDEX=$01SUM=$02 LDA #10 STA INTEX CLA LOOP ADD INDEX DEC INDEX BNE SUM BRK Σε ΓΛΩΣΣΑ basic sum = 0 FOR index=1 TO 10 Sum=sum+index NEXT index END

Καθηγητής: Σπύρος Ξουργιάς5 Πλεονεκτήματα γλωσσών υψηλού επιπέδου Τρόπος έκφρασης κατανοητός από τον άνθρωπο Τρόπος έκφρασης κατανοητός από τον άνθρωπο Ανεξαρτησία από τον Η/Υ Ανεξαρτησία από τον Η/Υ Ευκολία στην εκμάθηση και εκπαίδευση Ευκολία στην εκμάθηση και εκπαίδευση Εύκολη διόρθωση λαθών και συντήρηση προγραμμάτων Εύκολη διόρθωση λαθών και συντήρηση προγραμμάτων

Καθηγητής: Σπύρος Ξουργιάς6 Γλώσσες 4ης Γενιάς Αποκρύπτουν την αρχιτεκτονική του υλικού και της τεχνικής του προγραμματισμού. Αποκρύπτουν την αρχιτεκτονική του υλικού και της τεχνικής του προγραμματισμού. Ο χρήστης έχει τη δυνατότητα να υποβάλει ερωτήσεις στο σύστημα, να δημιουργεί σενάρια και να αναπτύσσει εφαρμογές. Ο χρήστης έχει τη δυνατότητα να υποβάλει ερωτήσεις στο σύστημα, να δημιουργεί σενάρια και να αναπτύσσει εφαρμογές. Οι πληροφορίες ανακτώνται από βάσεις δεδομένων σύμφωνα με τις εκάστοτε απαιτήσεις. Οι πληροφορίες ανακτώνται από βάσεις δεδομένων σύμφωνα με τις εκάστοτε απαιτήσεις.

Καθηγητής: Σπύρος Ξουργιάς7 Ταξινόμηση Γλωσσών Προγραμματισμού Διαδικασιακές ή αλγοριθμικές π.χ. Pascal Διαδικασιακές ή αλγοριθμικές π.χ. Pascal Αντικειμενοστραφείς π.χ.Visual Basic Αντικειμενοστραφείς π.χ.Visual Basic Συναρτησιακές π.χ. LISP Συναρτησιακές π.χ. LISP Μη διαδικασιακές π.χ.PROLOG Μη διαδικασιακές π.χ.PROLOG Ερωταπαντήσεων SQL Ερωταπαντήσεων SQL

Καθηγητής: Σπύρος Ξουργιάς8 Ταξινόμηση με κριτήριο την περιοχή χρήσης Γενικής Χρήσης: Γενικής Χρήσης: Επιστημονικής κατεύθυνσης π.χ. FORTRAN Εμπορικής κατεύθυνσης π.χ. COBOL Προγραμματισμού συστημάτων π.χ. C Προγραμματισμού συστημάτων π.χ. C Τεχνητής νοημοσύνης π.χ. LISP, PROLOG Τεχνητής νοημοσύνης π.χ. LISP, PROLOG Ειδικής χρήσης που χρησιμοποιούνται στη ρομποτική, στη σχεδίαση ολοκληρωμένων κυκλωμάτων, βάσεων δεδομένων κ.λ.π. Ειδικής χρήσης που χρησιμοποιούνται στη ρομποτική, στη σχεδίαση ολοκληρωμένων κυκλωμάτων, βάσεων δεδομένων κ.λ.π.

Καθηγητής: Σπύρος Ξουργιάς9 Ποια είναι η καλύτερη Γλώσσα Προγραμματισμού; Δεν υπάρχει και ούτε πρόκειται να υπάρξει!

Καθηγητής: Σπύρος Ξουργιάς10 Οι γλώσσες προγραμματισμού είναι τεχνητές γλώσσες και προσδιορίζονται από: Το αλφάβητο π.χ. Α-Ω,α-ω, 0-9, !,$,),[,%,? Το λεξιλόγιο π.χ. INPUT, READ, ΓΡΑΨΕ Τη Γραμματική, Τυπικό, συντακτικό Τη σημασιολογία

Καθηγητής: Σπύρος Ξουργιάς11 Διαφορές φυσικών και τεχνικών γλωσσών προγραμματισμού Οι φυσικές γλώσσες εξελίσσονται Οι φυσικές γλώσσες εξελίσσονται Οι τεχνητές γλώσσες είναι στάσιμες Οι τεχνητές γλώσσες είναι στάσιμες Οι τεχνητές γλώσσες αλλάζουν επίπεδο διαλέκτου για να βελτιωθούν Οι τεχνητές γλώσσες αλλάζουν επίπεδο διαλέκτου για να βελτιωθούν π.χ. GW-Basic, QuickBasic, Visual Basic π.χ. GW-Basic, QuickBasic, Visual Basic

Καθηγητής: Σπύρος Ξουργιάς12 Τεχνικές σχεδίασης Προγραμμάτων Ιεραρχική σχεδίαση προγράμματος Ιεραρχική σχεδίαση προγράμματος Τμηματικός προγραμματισμός Τμηματικός προγραμματισμός Δομημένος προγραμματισμός Δομημένος προγραμματισμός Αντικειμενοστραφής προγραμματισμός Αντικειμενοστραφής προγραμματισμός Παράλληλος προγραμματισμός Παράλληλος προγραμματισμός

Καθηγητής: Σπύρος Ξουργιάς13 Ιεραρχική σχεδίαση Καθορίζονται οι βασικές λειτουργίες σε ανώτερο επίπεδο και στη συνέχεια γίνεται διάσπαση σε όλο και μικρότερες λειτουργίες μέχρι το τελευταίο επίπεδο που οι λειτουργίες είναι απλές και επιλύονται εύκολα Καθορίζονται οι βασικές λειτουργίες σε ανώτερο επίπεδο και στη συνέχεια γίνεται διάσπαση σε όλο και μικρότερες λειτουργίες μέχρι το τελευταίο επίπεδο που οι λειτουργίες είναι απλές και επιλύονται εύκολα

Καθηγητής: Σπύρος Ξουργιάς14 Τμηματικός προγραμματισμός Στηρίζεται στον διαχωρισμό του προγράμματος σε επί μέρους τμήματα, κάθε ένα από τα οποία εκτελεί συγκεκριμένη λειτουργία και διασυνδέεται με τα υπόλοιπα ώστε να επιλύεται το αρχικό πρόβλημα Στηρίζεται στον διαχωρισμό του προγράμματος σε επί μέρους τμήματα, κάθε ένα από τα οποία εκτελεί συγκεκριμένη λειτουργία και διασυνδέεται με τα υπόλοιπα ώστε να επιλύεται το αρχικό πρόβλημα Πλεονεκτήματα είναι: η ευκολία στον προγραμματισμό, η μείωση των λαθών, η εύκολη κατανόηση και συντήρηση από τρίτους Πλεονεκτήματα είναι: η ευκολία στον προγραμματισμό, η μείωση των λαθών, η εύκολη κατανόηση και συντήρηση από τρίτους

Καθηγητής: Σπύρος Ξουργιάς15 Δομημένος προγραμματισμός Μεθοδολογία σύνταξης σύνθετων προγραμμάτων με σκοπό να μειώσει τα λάθη, να εξασφαλίσει την εύκολη κατανόηση και συντήρηση. Μεθοδολογία σύνταξης σύνθετων προγραμμάτων με σκοπό να μειώσει τα λάθη, να εξασφαλίσει την εύκολη κατανόηση και συντήρηση. Χρησιμοποιούνται οι δομές ακολουθίας, επιλογής και επανάληψης Χρησιμοποιούνται οι δομές ακολουθίας, επιλογής και επανάληψης Κάθε πρόγραμμα και κάθε ενότητα έχει μία είσοδο και μία έξοδο Κάθε πρόγραμμα και κάθε ενότητα έχει μία είσοδο και μία έξοδο

Καθηγητής: Σπύρος Ξουργιάς16 Πλεονεκτήματα Δομημένου Προγραμματισμού Απλά προγράμματα Απλά προγράμματα Μεταφορά αλγορίθμου σε πρόγραμμα Μεταφορά αλγορίθμου σε πρόγραμμα Ανάλυση κατά τμήματα Ανάλυση κατά τμήματα Περιορισμός λαθών Περιορισμός λαθών Εύκολη ανάγνωση – κατανόηση Εύκολη ανάγνωση – κατανόηση Εύκολη διόρθωση και συντήρηση Εύκολη διόρθωση και συντήρηση

Καθηγητής: Σπύρος Ξουργιάς17 Εντολή GOTO ΑΝ Αριθμός > 0 ΤΟΤΕ GOTO 1 ΑΝ Αριθμός = 0 ΤΟΤΕ GOTO 2 ΓΡΑΨΕ ‘Αρνητικός’ GOTO 4 1: ΓΡΑΨΕ ‘Θετικός’ GOTO 4 2: ΓΡΑΨΕ ‘ Μηδέν’ GOTO 4 4: ! Συνέχεια…

Καθηγητής: Σπύρος Ξουργιάς18 Δομημένος Προγραμματισμός ΑΝ Αριθμός >0 ΤΟΤΕ ΓΡΑΨΕ ‘Θετικός’ ΑΛΛΙΩΣ_ΑΝ Αριθμός =0 ΤΟΤΕ ΓΡΑΨΕ ‘Μηδέν’ ΑΛΛΙΩΣ ΓΡΑΨΕ ‘Αρνητικός’ ΤΕΛΟΣ_ΑΝ

Καθηγητής: Σπύρος Ξουργιάς19 Προγραμματιστικά περιβάλλοντα Τα προγράμματα που έχουν γραφεί σε οποιαδήποτε γλώσσα προγραμματισμού για να γίνουν αναγνωρίσιμα και εκτελέσιμα από τον υπολογιστή πρέπει να μετατραπούν σε γλώσσα μηχανής. Τα προγράμματα που έχουν γραφεί σε οποιαδήποτε γλώσσα προγραμματισμού για να γίνουν αναγνωρίσιμα και εκτελέσιμα από τον υπολογιστή πρέπει να μετατραπούν σε γλώσσα μηχανής. Η μετατροπή γίνεται με ειδικά μεταφραστικά προγράμματα τους μεταγλωττιστές και τους διερμηνευτές. Η μετατροπή γίνεται με ειδικά μεταφραστικά προγράμματα τους μεταγλωττιστές και τους διερμηνευτές. Ο μεταγλωττιστής (compiler) δέχεται στην είσοδο ένα πρόγραμμα σε μια γλώσσα υψηλού επιπέδου και παράγει ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής που μπορεί να εκτελείται οποτεδήποτε από τον υπολογιστή αφού είναι τελείως ανεξάρτητο από το αρχικό πρόγραμμα. Ο μεταγλωττιστής (compiler) δέχεται στην είσοδο ένα πρόγραμμα σε μια γλώσσα υψηλού επιπέδου και παράγει ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής που μπορεί να εκτελείται οποτεδήποτε από τον υπολογιστή αφού είναι τελείως ανεξάρτητο από το αρχικό πρόγραμμα. Ο διερμηνευτής (interpreter) διαβάζει μία προς μία τις εντολές του αρχικού προγράμματος και για κάθε μία εντολή εκτελεί αμέσως μια ισοδύναμη ακολουθία εντολών μηχανής Ο διερμηνευτής (interpreter) διαβάζει μία προς μία τις εντολές του αρχικού προγράμματος και για κάθε μία εντολή εκτελεί αμέσως μια ισοδύναμη ακολουθία εντολών μηχανής

Καθηγητής: Σπύρος Ξουργιάς20 Συντάκτης (editor): Χρησιμοποιείται για τη σύνταξη και διόρθωση προγραμμάτων (είναι επεξεργαστής κειμένου). Συντάκτης (editor): Χρησιμοποιείται για τη σύνταξη και διόρθωση προγραμμάτων (είναι επεξεργαστής κειμένου). Το αρχικό πρόγραμμα λέγεται πηγαίο ( source). Το αρχικό πρόγραμμα λέγεται πηγαίο ( source). Το πρόγραμμα που παράγεται από τον μεταγλωττιστή λέγεται αντικείμενο (object) Το πρόγραμμα που παράγεται από τον μεταγλωττιστή λέγεται αντικείμενο (object) Το αντικείμενο πρόγραμμα είναι σε μορφή κατανοητή από τον υπολογιστή αλλά για να εκτελεστεί πρέπει να συνδεθεί με άλλα τμήματα προγράμματος. Το αντικείμενο πρόγραμμα είναι σε μορφή κατανοητή από τον υπολογιστή αλλά για να εκτελεστεί πρέπει να συνδεθεί με άλλα τμήματα προγράμματος. Συνδέτης-φορτωτής (linker-loader): Συνδέει το αντικείμενο πρόγραμμα που είναι σε γλώσσα μηχανής με άλλα τμήματα προγράμματος, που είτε είναι σε βιβλιοθήκες (libraries) της γλώσσας είτε τα γράφει ο προγραμματιστής και παράγεται το εκτελέσιμο πρόγραμμα (executable). Συνδέτης-φορτωτής (linker-loader): Συνδέει το αντικείμενο πρόγραμμα που είναι σε γλώσσα μηχανής με άλλα τμήματα προγράμματος, που είτε είναι σε βιβλιοθήκες (libraries) της γλώσσας είτε τα γράφει ο προγραμματιστής και παράγεται το εκτελέσιμο πρόγραμμα (executable). Η συνολική διαδικασία λέγεται μεταγλώττιση και σύνδεση. Η συνολική διαδικασία λέγεται μεταγλώττιση και σύνδεση.

Καθηγητής: Σπύρος Ξουργιάς21 Μεταγλώτισση και σύνδεση Το πηγαίο πρόγραμμα μετατρέπεται σε εκτελέσιμο Συντάκτης Μεταγλωττιστής Αντικείμενο πρόγραμμα Εκτελέσιμο πρόγραμμα Συνδέτης Φορτωτής Πηγαίο πρόγραμμα

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

Καθηγητής: Σπύρος Ξουργιάς23 Ο διερμηνευτής (interpreter) έχει το πλεονέκτημα της άμεσης εκτέλεσης των εντολών και συνεπώς της άμεσης διόρθωσης σε περίπτωση λάθους. Μειονεκτεί στην ταχύτητα σε σχέση με το μεταγλωττιστή. Ο διερμηνευτής (interpreter) έχει το πλεονέκτημα της άμεσης εκτέλεσης των εντολών και συνεπώς της άμεσης διόρθωσης σε περίπτωση λάθους. Μειονεκτεί στην ταχύτητα σε σχέση με το μεταγλωττιστή. Ο μεταγλωττιστής (compiler) μειονεκτεί σε σχέση με το διερμηνευτή αφού δεν εκτελεί αμέσως τις εντολές, αλλά πρέπει το πρόγραμμα να περάσει από τη διαδικασία της μεταγλώττισης και σύνδεσης για να γίνει εκτελέσιμο. Ο μεταγλωττιστής (compiler) μειονεκτεί σε σχέση με το διερμηνευτή αφού δεν εκτελεί αμέσως τις εντολές, αλλά πρέπει το πρόγραμμα να περάσει από τη διαδικασία της μεταγλώττισης και σύνδεσης για να γίνει εκτελέσιμο. Ένα προγραμματιστικό περιβάλλον πρέπει να περιέχει τουλάχιστον συντάκτη, μεταγλωττιστή και συνδέτη για τη δημιουργία, μετάφραση και εκτέλεση του προγράμματος. Ένα προγραμματιστικό περιβάλλον πρέπει να περιέχει τουλάχιστον συντάκτη, μεταγλωττιστή και συνδέτη για τη δημιουργία, μετάφραση και εκτέλεση του προγράμματος. Τα σύγχρονα προγραμματιστικά περιβάλλοντα συνήθως χρησιμοποιούν διερμηνευτή κατά τη φάση της δημιουργίας του προγράμματος και μεταγλωττιστή για την τελική δημιουργία του εκτελέσιμου προγράμματος. Τα σύγχρονα προγραμματιστικά περιβάλλοντα συνήθως χρησιμοποιούν διερμηνευτή κατά τη φάση της δημιουργίας του προγράμματος και μεταγλωττιστή για την τελική δημιουργία του εκτελέσιμου προγράμματος.