ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ

Σχετικά έγγραφα
Θέματα Προγραμματισμού Η/Υ

Πληροφορική ΙΙ Ενότητα 1

Είναι μια αλληλουχία κατάλληλων οδηγιών(εντολών) που εκτελεί ο υπολογιστής για την επίλυση ενός προβλήματος.

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

Πληροφορική ΙΙ Θεματική Ενότητα 2

ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ

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

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

Πληροφορική 2. Αλγόριθμοι

11/23/2014. Στόχοι. Λογισμικό Υπολογιστή

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

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

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

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

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 1: Εισαγωγικές έννοιες

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

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

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

Πληροφορική ΙΙ. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

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

Εισαγωγή στον Προγραμματισμό Μάθημα 4: Αλγόριθμοι και Γλώσσες Προγραμματισμού Δεκέμβριος 2015 Χ. Αλεξανδράκη

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Προγραμματισμός

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

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

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων

Διαδικασιακός Προγραμματισμός

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Προγραμματισμός

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

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

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

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

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

Προγραμματισμός Ι (HY120)

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

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

εισαγωγικές έννοιες Παύλος Εφραιμίδης Δομές Δεδομένων και

Αλγόριθμοι & Προγραμματισμός

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 1

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

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

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

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

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

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

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

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

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

Βασικές Έννοιες Αλγορίθμων Τι είναι αλγόριθμος

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

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

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

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

Εισαγωγή στην επιστήμη των Υπολογιστών & Τηλεπικοινωνιών

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

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

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

Fortran και Αντικειμενοστραφής προγραμματισμός.

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

Μάριος Αγγελίδης Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1

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

Διαδικασιακός Προγραμματισμός

Ταξινόμηση: Εισαγωγικά. Ταξινόμηση (Sor ng) Αλγόριθμοι Απλής Ταξινόμησης. Βασικά Βήματα των Αλγορίθμων

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

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

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

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

Στοιχεία Αλγορίθµων και Πολυπλοκότητας

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

Κεφάλαιο : Εισαγωγή Στον Προγραμματισμό. (Διάλεξη 2) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ. Περιεχόμενα

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

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

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

Εργαστηριακή Άσκηση 1

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2

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

Θέματα Προγραμματισμού Η/Υ

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

Προχωρημένες έννοιες προγραμματισμού σε C

ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ. Γ Λυκείου Κατεύθυνσης Mike Trimos

Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

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

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

Transcript:

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ. ΚΑΤΕΥΘΥΝΣΗ ΔΙΟΙΚΗΣΗΣ ΤΟΥΡΙΣΤΙΚΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΙ ΕΠΙΧΕΙΡΗΣΕΩΝ ΦΙΛΟΞΕΝΙΑΣ Πληροφορική I "Προγραμματισμός" B. Φερεντίνος ver. 141214

Ο ρόλος των υπολογιστών Ο υπολογιστής είναι εργαλείο επίλυσης προβλημάτων λόγω: ταχύτητας υπολογισμού και μεγέθους μνήμης γενικής χρησιμότητας μέσω της έννοιας του προγραμματισμού Ένα πρόγραμμα: Είναι μια αλληλουχία κατάλληλων οδηγιών (εντολών) που εκτελεί ο υπολογιστής για την επίλυση ενός προβλήματος Η λειτουργία του υπολογιστή προσαρμόζεται στο προς επίλυση πρόβλημα Υλοποιεί έναν αλγόριθμο

Αλγόριθμος Είναι μια μαθηματική μεθοδολογία υπολογιστικής επίλυσης ενός προβλήματος Ορισμός: Ο πεπερασμένος αριθμός βημάτων που λύνουν ένα πρόβλημα Αλλιώς: Η βήμα προς βήμα διαδικασία για την επίλυση ενός προβλήματος Απαραίτητα χαρακτηριστικά ενός αλγόριθμου: Είσοδος (>=0 εξωτερικά δεδομένα) Έξοδος (>=1 αποτελέσματα) Ορισμένος (περιέχει σαφείς και ακριβείς οδηγίες) Κάθε οδηγία, μεμονωμένα, είναι εξαιρετικά απλή Καλύπτει όλες τις δυνατές καταστάσεις Τερματισμός (σε πεπερασμένο αριθμό βημάτων ή χρόνο)

Βασικές αλγοριθμικές ενέργειες Κάθε αλγόριθμος περιγράφει μόνο τις εξής οδηγίες: είσοδο δεδομένων έξοδο δεδομένων πράξεις και αναθέσεις τιμών σε μεταβλητές έλεγχο ποσοτήτων επιλογή ανάλογης δράσης (διακλαδώσεις) επαναληπτικές διαδικασίες τερματισμό Τα (πεπερασμένα) βήματα ενός αλγόριθμου εκτελούνται σειριακά

Τρόποι περιγραφής αλγορίθμων Φυσική γλώσσα Διάγραμμα ροής (flow chart) Ψευδοκώδικας (pseudocode) Κώδικας

Διάγραμμα ροής ή Αρχή / Τέλος Εκτέλεση υπολογισμών ή απόδοση τιμών σε μεταβλητές Έλεγχος συνθήκης (true ή false) Είσοδος δεδομένων / Έξοδος αποτελ. Διεύθυνση ροής του προγράμματος

Βήματα στην υπολογ. επίλυση προβλήματος 1. Ανάλυση δεδομένων του προβλήματος 2. Μαθηματική διατύπωση του προβλήματος 3. Ανάπτυξη τεχνικών επίλυσης: αλγόριθμος Σχεδιασμός ή επιλογή αλγορίθμου Συνήθως: ένα πρόβλημα πολλοί αλγόριθμοι 4. Διατύπωση αλγορίθμου σε γλώσσα προγ/σμού: πρόγραμμα 5. Εκτέλεση προγράμματος για συγκεκριμένα δεδομένα 6. Ερμηνεία αποτελεσμάτων

Ένα απλό πρόβλημα Έστω ότι ο φόρος ενός εργαζόμενου προκύπτει ως εξής: αν ο μισθός του είναι κάτω από 1000, ο φόρος του είναι 10% του μισθού του, αλλιώς ο φόρος του είναι 20% του μισθού του. Γράψτε ένα πρόγραμμα που δέχεται σαν είσοδο το μισθό ενός εργαζόμενου και εμφανίζει στην έξοδο το φόρο που πρέπει αυτός να πληρώσει.

Ο αλγόριθμος σε φυσική γλώσσα Αν ο μισθός της εισόδου είναι μικρότερος από 1000, τον πολλαπλασιάζουμε επί 10, διαιρούμε το γινόμενο με το 100 και τυπώνουμε το αποτέλεσμα. Αλλιώς, πολλαπλασιάζουμε τον αριθμό της εισόδου επί 20, διαιρούμε το γινόμενο με το 100 και τυπώνουμε το αποτέλεσμα.

Ο αλγόριθμος σε διάγραμμα ροής Αρχή Διάβασε Μ ΝΑΙ Μ < 1000? ΟΧΙ Φ = Μ *0.1 Φ = Μ *0.2 Εκτύπωσε Φ Τέλος

Ένα πιο πολύπλοκο πρόβλημα Έστω ότι ο φόρος ενός εργαζόμενου προκύπτει ως εξής: Αν ο μισθός του είναι κάτω από 1000, ο φόρος του είναι 10% του μισθού του. Αν ο μισθός του είναι πάνω από 1000 και κάτω από 2000, ο φόρος του είναι 20% του μισθού του. Αλλιώς, ο φόρος του είναι 30% του μισθού του. Γράψτε ένα πρόγραμμα που δέχεται σαν είσοδο το μισθό ενός εργαζόμενου και εμφανίζει στην έξοδο το φόρο που πρέπει αυτός να πληρώσει.

Ο αλγόριθμος σε διάγραμμα ροής Αρχή Διάβασε Μ ΝΑΙ Μ < 1000? ΟΧΙ Φ = Μ *0.1 ΝΑΙ Μ < 2000? ΟΧΙ Φ = Μ *0.2 Φ = Μ *0.3 Εκτύπωσε Φ Τέλος

Παραδείγματα αλγορίθμων Μέσος όρος 2 αριθμών Ελάχιστος 2 αριθμών Μετατροπή δεκαδικού σε δυαδικό αριθμό Μέγιστος Ν αριθμών

Αλγόριθμος ταξινόμησης φυσαλίδας Ο αλγόριθμος της φυσαλίδας (bubble sort) σε φυσική γλώσσα: 1. Σύγκρινε κάθε ζευγάρι στοιχείων (1ο με 2ο, 2ο με 3ο,..., (ν-1)ο με ν-οστό) και εάν τα στοιχεία κάποιου ζευγαριού είναι λάθος ταξινομημένα, ενάλλαξέ τα (swap) 2. Εάν έγινε έστω και μία εναλλαγή στοιχείων στο προηγούμενο βήμα, τότε επανέλαβε τη διαδικασία σύγκρισης των ζευγαριών (βήμα 1), διαφορετικά (δηλ., εάν δεν έγινε καμία εναλλαγή) τερμάτισε τον αλγόριθμο. (σε κάθε νέα επανάληψη του 1ου βήματος, το τελευταίο ζευγάρι της προηγούμενης επανάληψης της διαδικασίας δεν χρειάζεται να συγκριθεί, άρα συγκρίνεται πάντα ένα ζευγάρι λιγότερο)

Παράδειγμα bubble sort (ελαχιστοποίηση): Αρχική λίστα: 1η σύγκριση: 2η σύγκριση:... (ν-1)η σύγκριση: Μετά το 1ο πέρασμα:... Μετά το 2ο πέρασμα: 5 3 8 1 4 5 7 6 3 5 8 1 4 5 7 6 3 5 8 1 4 5 7 6 3 5 1 4 5 7 6 8 3 5 1 4 5 7 6 8 3 1 4 5 5 6 7 8

Ο ψευδοκώδικας του αλγόριθμου procedure bubblesort(a : list of sortable items) do swapped := false for each i in 0 to length(a) - 2 if A[i] > A[i+1] then swap( A[i], A[i+1] ) swapped := true end if end for while swapped end procedure Πρόβλημα: δεν προβλέπει μία επανάληψη λιγότερη σε κάθε επανεκτέλεση του for. Λύση;

Βήματα στην υπολογ. επίλυση προβλήματος 1. Ανάλυση δεδομένων του προβλήματος 2. Μαθηματική διατύπωση του προβλήματος 3. Ανάπτυξη τεχνικών επίλυσης: αλγόριθμος Σχεδιασμός ή επιλογή αλγορίθμου Συνήθως: ένα πρόβλημα πολλοί αλγόριθμοι 4. Διατύπωση αλγορίθμου σε γλώσσα προγ/σμού: πρόγραμμα 5. Εκτέλεση προγράμματος για συγκεκριμένα δεδομένα 6. Ερμηνεία αποτελεσμάτων

Γλώσσες προγραμματισμού Γλώσσα μηχανής (ΓΜ) Γλώσσα assembly Οι εντολές είναι αλληλουχίες από bits Εκτελούνται άμεσα από τη CPU Διαφορετική για κάθε τύπο επεξεργαστή Μνημονικά ονόματα αντί bits (ίδιο πλήθος εντολών) Μετατροπή σε ΓΜ από κατάλληλο πρόγραμμα (assembler) Διαφορετική για κάθε τύπο επεξεργαστή Γλώσσες υψηλού επιπέδου (π.χ. Fortran, C, C++, Java) Υψηλή αφαίρεση / ευκολότερος προγραμματισμός Μετατροπή σε ΓΜ από κατάλληλα προγράμματα: μεταγλωττιστές (compilers) ή διερμηνείς (interpreters) Ανεξάρτητες από τύπο επεξεργαστή: υψηλή φορητότητα

Το Hello world! σε C #include <stdio.h> main() { printf("hello world!\n"); }

Το Hello world! σε Assembly ; Hello World for Intel Assembler (MSDOS) mov ax,cs mov ds,ax mov ah,9 mov dx, offset Hello int 21h xor ax,ax int 21h Hello: db "Hello World!",13,10,"$"

Το Hello world! σε Γλώσσα Μηχ. 0000000 457f 464c 0101 0001 0000 0000 0000 0000 0000020 0002 0003 0001 0000 82c0 0804 0034 0000 0000040 1d08 0000 0000 0000 0034 0020 0007 0028 0000060 0021 001e 0006 0000 0034 0000 8034 0804 0000100 8034 0804 00e0 0000 00e0 0000 0005 0000 0000120 0004 0000 0003 0000 0114 0000 8114 0804... 0026060 6e69 755f 6573 0064 5f5f 6164 6174 735f 0026100 6174 7472 5f00 764a 525f 6765 7369 6574 0026120 4372 616c 7373 7365 5f00 675f 6f6d 5f6e 0026140 7473 7261 5f74 005f 0026150 (712 γραμμές)

Μεταγλωττιστές (compilers) Προγράμματα που μετατρέπουν ένα πηγαίο πρόγραμμα (κώδικα) γραμμένο σε γλώσσα υψηλού επιπέδου, σε εκτελέσιμο (δηλ., σε ΓΜ) Αρχείο προγράμματος Compiler Αρχείο object Linker Εκτελέσιμο αρχείο Αρχεία βιβλιοθήκες Ο μεταγλωττιστής δεν εκτελεί το πηγαίο πρόγραμμα Το παραγόμενο εκτελέσιμο πρόγραμμα εκτελείται ( τρέχει ) αυτόνομα σε κάθε υπολογιστή που καταλαβαίνει τη συγκεκριμένη ΓΜ.

Διερμηνείς (Interpreters) Προγράμματα που εκτελούν άμεσα ένα πηγαίο πρόγραμμα γραμμένο σε γλώσσα υψηλού επιπέδου Αρχείο προγράμματος ΔΙΕΡΜΗΝΕΑΣ ΕΚΤΕΛΕΣΗ Δεν παράγουν εκτελέσιμο πρόγραμμα Για την εκτέλεση του πηγαίου προγράμματος σε κάποιον υπολογιστή, απαιτείται και η ύπαρξη του διερμηνέα Τα ερμηνευόμενα προγράμματα είναι πιο αργά από τα μεταγλωττιζόμενα.