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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα

Λογισμικό Υπολογιστών (Software) ΜΥΥ-106 Εισαγωγή Η/Υ και Πληροφορική

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

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

Γεωγραφικά Συστήµατα Πληροφοριών και Αρχές Τηλεπισκόπησης

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

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

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

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

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

ΑΕΠΠ ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 6.3 Φυσικές και Τεχνιτές Γλώσσες 6.4 Τεχνικές Σχεδίασης Προγραμμάτων

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 1 Ο. Εισαγωγή στις έννοιες Πρόβλημα, Αλγόριθμος, Προγραμματισμός, Γλώσσες Προγραμματισμού

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

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

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

Transcript:

ΚΕΦΑΛΑΙΟ 7 ο ΠΡΟΓΡΑΜΜΑ : Το πρόγραμμα αποτελείται από μια σειρά οδηγιών, που ονομάζονται εντολές, για την εκτέλεση τέτοιου είδους πράξεων, καθώς επίσης και από ένα σύνολο πρόσθετων οδηγιών ελέγχου, που επηρεάζουν τη σειρά με την οποία εκτελούνται οι εντολές. ΚΑΤΗΓΟΡΙΕΣ ΓΛΩΣΣΩΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 1. ΓΛΩΣΣΑ ΜΗΧΑΝΗΣ Επειδή ο κάθε τύπος ΚΜΕ έχει διαφορετικό ρεπερτόριο εντολών, τα προγράμματα που εκτελεί πρέπει να είναι διατυπωμένα στη δική της γλώσσα μηχανής. Αυτά τα προγράμματα αποτελούνται από ακολουθίες 0 και 1. Οι εντολές που αναγνωρίζει μια τυπική ΚΜΕ ανήκουν σε μια από τις πιο κάτω κατηγορίες: 1. εντολές μεταφοράς δεδομένων μεταξύ της κεντρικής μνήμης και των καταχωρητών της ΚΜΕ 2. εντολές μεταφοράς δεδομένων μεταξύ των καταχωρητών 3. εντολές αριθμητικών πράξεων 4.εντολές λογικών πράξεων 5. εντολές ελέγχου της ροής εκτέλεσης των εντολών 6. διάφορες βοηθητικές εντολές. Κωδικός λειτουργίας Τελεστέος O κωδικός λειτουργίας προσδιορίζει τη λειτουργία της εντολής, O τελεστέος αφορά τα δεδομένα στα οποία δρα η εντολή ή τη διεύθυνση στην οποία βρίσκονται αποθηκευμένα. 2. ΣΥΜΒΟΛΙΚΕΣ ΓΛΩΣΣΕΣ Μια πρώτη προσπάθεια για τη διευκόλυνση της γραφής προγραμμάτων ήταν η γραφή τους σε συμβολική γλώσσα (assembly). Στις συμβολικές γλώσσες, σε κάθε εντολή της γλώσσας μηχανής αντιστοιχίζεται μια μνημονική λέξη η οποία θυμίζει το σκοπό της εντολής. Επί πλέον δίνεται η δυνατότητα να χρησιμοποιούνται, στη θέση αριθμών, ονόματα που αντιπροσωπεύουν σταθερές ή διευθύνσεις μνήμης. Για την μετατροπή της ΣΥΜΒΟΛΙΚΗΣ ΓΛΩΣΣΑΣ σε γλώσσα μηχανής χρησιμοποιούμε ένα ειδικό πρόγραμμα που λέγεται ΣΥΜΒΟΛΟΜΕΤΑΦΡΑΣΤΗΣ. <<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

3.ΓΛΩΣΣΕΣ ΥΨΗΛΟΥ ΕΠΙΠΕΔΟΥ Οι γλώσσες υψηλού επιπέδου χρησιμοποιούν ως εντολές απλές λέξεις της αγγλικής γλώσσας ακολουθώντας αυστηρούς κανόνες σύνταξης, οι ο ποίες μεταφράζονται από τον ίδιο τον υπολογιστή σε εντολές σε γλώσσα μηχανής ΟΝΟΜΑΣΙΑ ΓΛΩΣΣΑΣ ΤΟΜΕΑΣ ΕΦΑΡΜΟΓΩΝ ΕΙΔΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 1.COBOL OIKONOMIKΕΣ ΕΦΑΡΜΟΓΕΣ ΔΙΑΔΙΚΑΣΙΑΚΟΣ 2. BASIC,PASCAL,ALGOL ΓΕΝΙΚΕΣ ΕΦΑΡΜΟΓΕΣ ΔΙΑΔΙΚΑΣΙΑΚΟΣ 3.FORTRAN EΠΙΣΤΗΜΟΝΙΚΕΣ ΕΦΑΡΜΟΓΕΣ ΔΙΑΔΙΚΑΣΙΑΚΟΣ 4. PROLOG,LISP TEXNHTHΣ ΝΟΗΜΟΣΥΝΗΣ 5. C,C++ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΥΣΤΗΜΑΤΩΝ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ (C++ ) 6. JAVA ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΑΔΙΚΤΥΟ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ 7. LOGO EΚΠΑΙΔΕΥΤΙΚΗ ΓΛΩΣΣΑ 8. SQL ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ (ΓΛΩΣΣΑ ΕΡΩΤΟΑΠΑΝΤΗΣΕΩΝ ) 9. SMALLTALK ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ <<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 2

Πλεονεκτήματα των γλωσσών υψηλού επιπέδου Στα πλεονεκτήματα των γλωσσών προγραμματισμού υψηλού επιπέδου σε σχέση με τις συμβολικές μπορούν να αναφερθούν: Ο φυσικότερος και πιο "ανθρώπινος" τρόπος έκφρασης των προβλημάτων. Τα προγράμματα σε γλώσσα υψηλού επιπέδου είναι πιο κοντά στα προβλήματα που επιλύουν. Η ανεξαρτησία από τον τύπο του υπολογιστή. Προγράμματα σε μία γλώσσα υψηλού επιπέδου μπορούν να εκτελεστούν σε οποιονδήποτε υπολογιστή με ελάχιστες ή καθόλου μετατροπές. Η δυνατότητα της μεταφερσιμότητας των προγραμμάτων είναι σημαντικό προσόν. Η ευκολία της εκμάθησης και εκπαίδευσης ως απόρροια των προηγουμένων. Η διόρθωση λαθών και η συντήρηση προγραμμάτων σε γλώσσα υψηλού επιπέδου είναι πολύ ευκολότερο έργο. Εξάρτηση των γλωσσών από το σκοπό Οι διάφορες γλώσσες ανάλογα με το σκοπό που εξυπηρετούν, ή ακριβέστερα σύμφωνα με το σκοπό για τον οποίο αρχικά σχεδιάστηκαν, χωρίζονται σε δύο γενικές κατηγορίες, στις ειδικού και στις γενικού σκοπού γλώσσες. Στην κατηγορία των γλωσσών ειδικού σκοπού ανήκουν εκείνες οι οποίες είναι προσανατολισμένες σε μια συγκεκριμένη κατηγορία εφαρμογών. Γλώσσες ειδικού σκοπού Για παράδειγμα: H COBOL είναι προσανατολισμένη στην επίλυση εμπορικών προβλημάτων. Αυτή η κατηγορία προβλημάτων χαρακτηρίζεται από την αποθήκευση και διαχείριση μεγάλου όγκου δεδομένων με σχετικά περιορισμένες απαιτήσεις αριθμητικών πράξεων. Ως αποτέλεσμα η COBOL δίνει μεγάλη βαρύτητα στα θέματα περιγραφής και αποθήκευσης δεδομένων, ενώ μειονεκτεί στο θέμα της αποδοτικής εκτέλεσης μεγάλου αριθμού αριθμητικών πράξεων. H FORTRAN είναι προσανατολισμένη στις επιστημονικές εφαρμογές, όπου κυρίαρχο ρόλο παίζει η ταχύτητα εκτέλεσης μεγάλου πλήθους αριθμητικών πράξεων πάνω σε μικρό σχετικά όγκο δεδομένων. H LISP είναι προσανατολισμένη στη διαχείριση συμβόλων, γεγονός που την καθιστά κατάλληλη για εφαρμογές τεχνητής νοημοσύνης. Γλώσσες γενικού σκοπού, περιλαμβάνει γλώσσες που μπορούν να χρησιμοποιηθούν σε διαφορετικές περιοχές εφαρμογών με εξίσου καλά αποτελέσματα. Για παράδειγμα, τέτοιες γλώσσες είναι η C και η Java. <<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 3

ΜΕΤΑΦΡΑΣΤΕΣ 1. ΣΥΜΒΟΛΟΜΕΤΑΦΡΑΣΤΗΣ Μετατρέπει την ΣΥΜΒΟΛΙΚΗ γλώσσα σε γλώσσα μηχανής. 2. ΜΕΤΑΓΛΩΤΙΣΤΗΣ Ο μεταγλωττιστής δέχεται στην είσοδο ένα πρόγραμμα γραμμένο σε μια γλώσσα υψηλού επιπέδου και παράγει ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής. Το τελευταίο μπορεί να εκτελείται οποτεδήποτε από τον υπολογιστή και είναι τελείως ανεξάρτητο από το αρχικό πρόγραμμα. 3. ΔΙΕΡΜΗΝΕΥΤΗΣ Ο διερμηνευτής διαβάζει μία προς μία τις εντολές του αρχικού προγράμματος και για κάθε μια εκτελεί αμέσως μια ισοδύναμη ακολουθία εντολών μηχανής. ΣΤΑΔΙΑ ΜΕΤΑΓΛΩΤΙΣΗΣ 1. Το αρχικό πρόγραμμα λέγεται πηγαίο πρόγραμμα (source), ενώ το πρόγραμμα που παράγεται από το μεταγλωττιστή λέγεται αντικείμενο πρόγραμμα (object). 2. Το αντικείμενο πρόγραμμα είναι μεν σε μορφή κατανοητή από τον υπολογιστή, αλλά συνήθως δεν είναι σε θέση να εκτελεστεί. Χρειάζεται να συμπληρωθεί και να συνδεθεί με άλλα τμήματα προγράμματος απαραίτητα για την εκτέλεσή του, τμήματα που είτε τα γράφει ο προγραμματιστής είτε βρίσκονται στις βιβλιοθήκες (libraries) της γλώσσας. Το πρόγραμμα που επιτρέπει αυτή τη σύνδεση ονομάζεται συνδέτης - φορτωτής (linker- loader). Το αποτέλεσμα του συνδέτη είναι η παραγωγή του εκτελέσιμου προγράμματος (executable), το οποίο είναι το τελικό πρόγραμμα που εκτελείται από τον υπολογιστή. Για το λόγο αυτό η συνολική διαδικασία αποκαλείται μεταγλώττιση και σύνδεση. <<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 4

ΑΡΧΕΣ ΚΑΤΑΣΚΕΥΗΣ ΛΟΓΙΣΜΙΚΟΥ 1. Ιεραρχική Σχεδίαση Προγράμματος Η ιεραρχική σχεδίαση ή ιεραρχικός προγραμματισμός χρησιμοποιεί τη στρατηγική της συνεχούς διαίρεσης του προβλήματος σε υποπροβλήματα. 2. Τμηματικός προγραμματισμός Η ιεραρχική σχεδίαση προγράμματος υλοποιείται με τον τμηματικό προγραμματισμό. Μετά την ανάλυση του προβλήματος σε αντίστοιχα υποπροβλήματα, κάθε υποπρόβλημα αποτελεί ανεξάρτητη ενότητα (module), που γράφεται ξεχωριστά από τα υπόλοιπα τμήματα προγράμματος.κάθε υποπρόβλημα υλοποιείται με ένα ανεξάρτητο υποπρόγραμμα ή υπορουτίνα. 3. Δομημένος Προγραμματισμός Βασική τεχνική του δομημένου προγραμματισμού είναι η διάσπαση των λειτουργιών του προγράμματος σε άλλες, απλούστερες και ανεξάρτητες κατά το δυνατό, επιμέρους λειτουργίες και στη συνέχεια η υλοποίησή τους με καθορισμένους τύπους δομών ελέγχου. Οι δομές αυτές είναι: H διαδοχή (ακολουθία). Οι εντολές βρίσκονται σε ακολουθία και εκτελούνται με τη σειρά που είναι γραμμένες. H επιλογή. H εκτέλεση των εντολών εξαρτάται από την τιμή αλήθειας της συνθήκης. H επανάληψη. Οι εντολές επαναλαμβάνονται, εφόσον αληθεύει ή δεν αληθεύει η συνθήκη. Ολες οι σύγχρονες γλώσσες προγραμματισμού εφαρμόζουν την αρχή του δομημένου προγραμματισμού. <<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 5

ΠΡΟΤΥΠΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 1. Διαδικαστικός ή Προστακτικός Προγραμματισμός Σύμφωνα με αυτό το πρότυπο, το πρόγραμμα αποτελείται από δύο ξεχωριστά δομικά στοιχεία: Από εντολές που περιγράφουν βήμα βήμα τη διαδικασία επίλυσης του προβλήματος Από δομές δεδομένων, στις οποίες αποθηκεύονται τα δεδομένα του προβλήματος τα οποία χειρίζονται οι εντολές. Οι εντολές που, κατ' ελάχιστο, περιέχονται σε κάθε διαδικαστική γλώσσα προγραμματισμού είναι: Εντολές ανάθεσης Εντολές συνθήκης Εντολές επανάληψης Εντολές για είσοδο και έξοδο στοιχείων 2. Αντικειμενοστραφής Προγραμματισμός Στην αντικειμενοστρεφή προσέγγιση προγραμματισμού, το αντικείμενο (object) είναι ένα προγραμματιστικό «πακέτο», το οποίο αποτελείται από διαδικασίες και δεδομένα σχετιζόμενα μεταξύ τους. Αυτές οι διαδικασίες ονομάζονται μέθοδοι (methods), ενώ τα δεδομένα ονομάζονται ιδιότητες (properties). Οι μέθοδοι σε πολλές περιπτώσεις είναι γραμμένες σε κάποια διαδικαστική γλώσσα. To πρόγραμμα, σε αυτήν την προσέγγιση, αποτελείται από αντικείμενα, τα οποία μπορούν να αλληλεπιδρούν μεταξύ τους με μηνύματα (messages). Τα μηνύματα ενεργοποιούν τις μεθόδους των αντικειμένων, που με τη σειρά τους μπορεί να στείλουν άλλα μηνύματα. Για παράδειγμα, σε ένα πρόγραμμα γεωμετρίας ένα αντικείμενο θα μπορούσε να είναι ένα τρίγωνο. Ως ιδιότητες θα μπορούσε να έχει τα μήκη των πλευρών του, ενώ ως μεθόδους τον υπολογισμό της περιμέτρου και του εμβαδού. Πχ java,c ++ <<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 6

3. Λογικός Προγραμματισμός O λογικός προγραμματισμός (logic programming) είναι επηρεασμένος και εμπνευσμένος από τη μαθηματική λογική. Ένα πρόγραμμα γραμμένο σε μια γλώσσα λογικού προγραμματισμού, όπως η Prolog, είναι ένα σύνολο από λογικές προτάσεις και από ένα μηχανισμό εξαγωγής συμπερασμάτων, μέσω του οποίου μπορούμε να υποβάλουμε ερωτήσεις στο πρόγραμμα και αυτό να μας απαντήσει αν αληθεύουν ή όχι. 4.Συναρτησιακός Προγραμματισμός O συναρτησιακός προγραμματισμός (functional programming), που συχνά ονομάζεται και εφαρμοστικός προγραμματισμός (applicative programming), έχει ως βάση τη συνάρτηση με τη μαθηματική της έννοια, δηλαδή αυτή της απεικόνισης από ένα πεδίο ορισμού σε ένα πεδίο τιμών. ΜΕΘΟΔΟΣ ΑΝΑΠΤΥΞΗΣ ΛΟΓΙΣΜΙΚΟΥ Τα βήματα αυτής της μεθόδου είναι: α) Προσδιορισμός των απαιτήσεων του προβλήματος. β) Ανάλυση του προβλήματος. γ) Σχεδιασμός αλγόριθμου για την επίλυση του προβλήματος. δ) Υλοποίηση του αλγόριθμου. ε) Έλεγχος και επαλήθευση του τελικού προγράμματος. στ) Συντήρηση και ενημέρωση του προγράμματος. ζ) Τεκμηρίωση. Α. Προσδιορισμός των απαιτήσεων του προβλήματος(ανάλυση προβλήμματος) O προσδιορισμός των απαιτήσεων του προβλήματος είναι ένα στάδιο στο οποίο θα πρέπει να καθοριστεί με σαφήνεια το πρόβλημα και να υπάρξει ξεκάθαρη αντίληψη του είδους των απαιτήσεων για τη λύση του. Β. Ανάλυση του προβλήματος. H ανάλυση του προβλήματος περιλαμβάνει: 1.Τον καθορισμό των «εισόδων», δηλαδή των δεδομένων με τα οποία θα δουλέψουμε (inputs) 2.Τον καθορισμό των «εξόδων», δηλαδή των απαιτουμένων αποτελεσμάτων (outputs) 3.Την αναζήτηση άλλων απαιτήσεων ή περιορισμών. <<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 7

Γ) Σχεδιασμός αλγόριθμου για την επίλυση του προβλήματος. O αλγόριθμος είναι μια σειρά από βήματα, τα οποία πρέπει να ακολουθήσουμε για να επιλύσουμε ένα συγκεκριμένο πρόβλημα. Τα βήματα πρέπει να είναι σαφή και να υπάρχει συγκεκριμένο σημείο περάτωσης της διαδικασίας. Δ) Υλοποίηση του αλγόριθμου. H υλοποίηση του αλγόριθμου αφορά τη συγγραφή του προγράμματος. Αυτό σημαίνει ότι κάθε βήμα του αλγόριθμου πρέπει να μετατραπεί σε μια ή περισσότερες εντολές κάποιας γλώσσας προγραμματισμού. O δομημένος προγραμματισμός είναι μια πειθαρχημένη προσέγγιση στη διαδικασία συγγραφής, που οδηγεί στη δημιουργία προγραμμάτων, τα οποία όχι μόνο είναι εύκολο να διαβαστούν και να γίνουν κατανοητά, αλλά και να περιέχουν τα λιγότερα λάθη. Ε) Έλεγχος και επαλήθευση του τελικού προγράμματος. Αφορά την εκτέλεση του προγράμματος για διάφορα -σωστά επιλεγμένα- σύνολα τιμών εισόδου και τον έλεγχο των αντίστοιχων εξόδων ΣΤ) Συντήρηση και ενημέρωση του προγράμματος. Δύο είναι οι βασικοί λόγοι: Για να διορθωθούν λάθη τα οποία εντοπίστηκαν, αφού το πρόγραμμα παραδόθηκε για χρήση, κατά τη διάρκεια δηλαδή χρήσης του προγράμματος Για να γίνουν αλλαγές που προέκυψαν με την πάροδο του χρόνου, λόγω αλλαγών στο περιβάλλον χρήσης του προγράμματος. Ζ) Τεκμηρίωση. H τεκμηρίωση αφορά το σύνολο των εγγράφων που προκύπτουν καθ' όλη τη διάρκεια της ανάπτυξης του προγράμματος και βοηθούν το έργο της συντήρησης του αλλά και τη χρήση του. Διακρίνουμε την Εξωτερική και την Εσωτερική Τεκμηρίωση. <<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 8

ΤΡΟΠΟΙ ΠΑΡΑΣΤΑΣΗΣ ΑΛΓΟΡΙΘΜΩΝ α. Με φυσική γλώσσα Σε αυτήν ο αλγόριθμος περιγράφεται σαν ένα απλό κείμενο β. Με ψευδοκώδικα O ψευδοκώδικας μοιάζει με την περιγραφή του αλγόριθμου σε φυσική γλώσσα, με τη διαφορά ότι χρησιμοποιεί συγκεκριμένες δομές για την περιγραφή του αλγόριθμου, που είναι πολύ κοντά στις εντολές των γλωσσών υψηλού επιπέδου. γ. Με Λογικά διαγράμματα Τα λογικά διαγράμματα είναι ένας γραφικός τρόπος παρουσίασης των βημάτων του αλγόριθμου. Υπάρχει ένα σύνολο από τυποποιημένα σχήματα που παριστάνουν τις διάφορες δομές ενός αλγόριθμου ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Ένα προγραμματιστικό περιβάλλον συνήθως αποτελείται από εργαλεία όπως Α. Ένα συντάκτη κειμένων, με τον οποίο γράφεται το πηγαίο πρόγραμμα. Β. Μεταφραστικά προγράμματα (assembler, compiler, interpreter). Γ. Εργαλεία εντοπισμού λαθών (debugger). ΟΠΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ H αξιοποίηση γραφικών μεθόδων στην ανάπτυξη προγραμμάτων αναφέρεται ως οπτικός προγραμματισμός (visual programming). Με αυτόν η παραγωγή του κώδικα επιτυγχάνεται με γραφικές μεθόδους, <<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 9