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

Σχετικά έγγραφα
Επιµέλεια Θοδωρής Πιερράτος

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 1 ο : ΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝ (HARDWARE)

Ένα περιοδικό για το ΑΕΠΠ

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

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

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

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

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

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

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

ΓΕ0170 -Αλγόριθμοι και Προηγμένες Προγραμματικές Τεχνικές. Εισαγωγή. Νίκος Αθανάσης.

Προγραμματισμός Η/Υ. 1 η ενότητα: Εισαγωγή στις γλώσσες προγραμματισμού. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων

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

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

Ταυτόχρονα ελέγχουμε μήπως κάποια από τις ερωτήσεις του βιβλίου δεν περιέχεται στις παραπάνω και την διαβάζουμε

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

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

ΘΕΜΑ 1 Ο Α1. Δίνονται οι παρακάτω εντολές από ένα τμήμα προγράμματος:

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

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

Περικλέους Σταύρου Χαλκίδα Τ: & F: chalkida@diakrotima.gr W:

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

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

Transcript:

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

Πρόγραμμα - Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν στον Υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος της επίλυσης ενός προβλήματος Προγραμματισμός: Διαδικασία μετατροπής ενός αλγόριθμου σε μορφή κατανοητή από τον υπολογιστή 03/01/09 Χαράλαμπος Τζόκας 2

Ιστορική αναδρομή Γλώσσες μηχανής Συμβολικές γλώσσες Γλώσσες Υψηλού επιπέδου Γλώσσες 4ης γενιάς Γλώσσες οπτικού προγραμματισμού και οδηγούμενου από γεγονός προγραμματισμού ** 03/01/09 Χαράλαμπος Τζόκας 3

Γλώσσες Μηχανής ΠΛΕΟΝΕΚΤΗΜΑΤΑ Εντολές σε μορφή 0,1 Πολύ γρήγορες γιατί εκτελούνται απευθείας ΜΕΙΟΝΕΚΤΗΜΑΤΑ Στενά συνδεδεμένες με την αρχιτεκτονική του υπολογιστή (άρα ο προγραμματιστής πρέπει να γνωρίζει πολύ καλό Hardware ) Πολύπλοκα και μακροσκελή προγράμματα Δύσκολη γραφή-διόρθωση- συντήρηση Δεν μεταφέρονται από ένα υπολογιστή σε κάποιον άλλο διαφορετικού τύπου 03/01/09 Χαράλαμπος Τζόκας 4

Συμβολικές γλώσσες ( Assembly ) Ο κώδικας κάθε εντολής αντικαθίσταται από κάποια λέξη ή συντομογραφία λέξεων Οι διευθύνσεις μνήμης αντικαθίστανται από συμβολικές λέξεις Απαιτείται κάποιο πρόγραμμα που να μεταφράζει τα σύμβολα σε γλώσσα μηχανής ( Συμβολομεταφραστής Assembler) 03/01/09 Χαράλαμπος Τζόκας 5

Συμβολικές γλώσσες ( Assembly ) Πλεονεκτήματα Πιο κατανοητές από τον άνθρωπο, αφού δεν χρησιμοποιούν δυαδικά ψηφία Γρήγορες, αν και απαιτείται η χρήση του Assembler Μειονεκτήματα Στενά συνδεδεμένες με την αρχιτεκτονική του υπολογιστή Πολύπλοκα και μακροσκελή προγράμματα Δύσκολη γραφή-διόρθωση- συντήρηση Δεν μεταφέρονται από ένα υπολογιστή σε κάποιον άλλο διαφορετικού τύπου 03/01/09 Χαράλαμπος Τζόκας 6

Γλώσσες Υψηλού επιπέδου Πλεονεκτήματα Κατανοητά προγράμματα Ανεξαρτησία από τον τύπο του υπολογιστή (Μεταφερσιμότητα ) Ευκολία εκμάθησης και εκπαίδευσης Ευκολότερη διόρθωση λαθών και συντήρηση Ελάττωση χρόνου και κόστους παραγωγής προγραμμάτων 03/01/09 Χαράλαμπος Τζόκας 7

Γλώσσες 4ης Γενιάς Ο χρήστης έχει την δυνατότητα ( χωρίς να είναι προγραμματιστής) να: υποβάλει ερωτήσεις στο σύστημα, αναπτύσσει εφαρμογές που ανακτούν πληροφορίες από βάσεις δεδομένων και να καθορίζει τον ακριβή τρόπο εμφάνισης των πληροφοριών Απόκρυψη της αρχιτεκτονικής του υλικού Απόκρυψη της τεχνικής του προγραμματισμού 03/01/09 Χαράλαμπος Τζόκας 8

Ταξινόμηση Γλωσσών ( 1) Αλγοριθμικές ή διαδικασιακές Αντικειμενοστραφείς Συναρτησιακές Μη διαδικαστιακές ή πολύ υψηλού επιπέδου Ερωταπαντήσεων 03/01/09 Χαράλαμπος Τζόκας 9

Ταξινόμηση Γλωσσών ( 2) Επιστημονικής κατεύθυνσης Fortran Εμπορικής κατεύθυνσης Cobol Προγραμματισμού συστημάτων C Τεχνητής νοημοσύνης LISP, PROLOG Ειδικής χρήσης 03/01/09 Χαράλαμπος Τζόκας 10

Γλώσσες πεδία χρήσης Fortran Επιστημονικές εφαρμογές Basic Γενικής χρήσης Pascal εκπαίδευση Cobol Εμπορικές εφαρμογές C Συστημάτων Lisp- Prolog Τεχνητής νοημοσύνης Java Διαδικτύου 03/01/09 Χαράλαμπος Τζόκας 11

Χαρακτηριστικά φυσικών και τεχνητών γλωσσών Αλφάβητο Λεξιλόγιο Γραμματική Τυπικό : Κανόνες ορισμού αποδεκτών λέξεων Συντακτικό: κανόνες για τη δημιουργία προτάσεων απ τις επιτρεπτές λέξεις Σημασιολογία: κανόνες καθορισμού νοήματος των λέξεων - προτάσεων 03/01/09 Χαράλαμπος Τζόκας 12

Διαφορές φυσικών τεχνητών γλωσσών Συνεχής εξέλιξη φυσικών γλωσσών Στασιμότητα τεχνητών αν και γίνονται βελτιώσεις για διόρθωση αδυναμιών κάλυψη μεγαλύτερου εύρους εφαρμογών Αλλαγή διαλέκτου ( από pascal3.0 σε Pascal 7.2) Επέκταση ( από Basic σε Visual Basic) 03/01/09 Χαράλαμπος Τζόκας 13

ΙΕΡΑΡΧΙΚΗ ΣΧΕΔΙΑΣΗ ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Καθορισμός βασικών λειτουργιών σε ανώτερο επίπεδο Διάσπαση κάθε λειτουργίας σε όλο και μικρότερες λειτουργίες μέχρι το τελευταίο επίπεδο που κάθε λειτουργία είναι απλή και επιλύεται εύκολα Υλοποίηση της ιεραρχικής σχεδίασης με τμηματικό προγραμματισμό : κάθε επιμέρους λειτουργία αποτελεί ανεξάρτητη ενότητα που γράφεται ξεχωριστά από τα υπόλοιπα τμήματα 03/01/09 Χαράλαμπος Τζόκας 14

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Συνδυασμός ιεραρχικής σχεδίασης και τμηματικού προγραμματισμού Χρήση μόνο τριών δομών ή συνδυασμό τους Ακολουθία Επιλογή Επανάληψη Πρόγραμμα ή ενότητα προγράμματος έχει ΜΙΑ είσοδο ΜΙΑ έξοδο 03/01/09 Χαράλαμπος Τζόκας 15

Πλεονεκτήματα Δομημένου προγραμματισμού Δημιουργία απλούστερων προγραμμάτων Άμεση μεταφορά των αλγορίθμων σε προγράμματα Διευκόλυνση της ανάλυσης του προγράμματος σε τμήματα Περιορισμός λαθών Διευκόλυνση στην ανάγνωση και κατανόηση από τρίτους Ευκολότερη διόρθωση και συντήρηση 03/01/09 Χαράλαμπος Τζόκας 16

Αντικειμενοστραφής προγραμματισμός Πρωτεύοντα δομικά στοιχεία ενός προγράμματος είναι τα δεδομένα σε αντίθεση με τον παραδοσιακό προγραμματισμό που πρωτεύον στοιχείο είναι οι τρόποι επεξεργασίας που εφαρμόζονται πάνω στα δεδομένα Με κατάλληλη μορφοποίηση των δεδομένων προκύπτουν τα αντικείμενα Χρησιμοποίηση ιεραρχικής σχεδίασηςτμηματικού προγραμματισμού και αρχές δομημένου προγραμματισμού 03/01/09 Χαράλαμπος Τζόκας 17

Οπτικός προγραμματισμός και οδηγούμενος από τα γεγονότα προγραμματισμός Οπτικός: Δυνατότητα να δημιουργούμε γραφικά ολόκληρο το περιβάλλον της εφαρμογής ( παράδειγμα πλαίσια διαλόγου μενού ) Οδηγούμενος..: Δυνατότητα να ενεργοποιούνται λειτουργίες του προγράμματος με την εκτέλεση ενός γεγονότος ( κάνουμε κλικ σε ένα μέρος ή επιλέγουμε από ένα μενού ) Βοηθάει πολύ ο αντικειμενοστραφής προγραμματισμός 03/01/09 Χαράλαμπος Τζόκας 18

Παράλληλος Προγραμματισμός Αλλαγή αρχιτεκτονικής ΗΥ που διαθέτει περισσότερες από ένα επεξεργαστές Μοιράζονται την ίδια μνήμη και εκτελούν ταυτόχρονα διαφορετικά τμήματα του ίδιου προγράμματος Θεωρητικά έχουν πολύ υψηλότερες ταχύτητες Τα παλιά προγράμματα πρέπει να τα αλλάξουμε έτσι ώστε να επιτρέπεται η παράλληλη εκτέλεση 03/01/09 Χαράλαμπος Τζόκας 19

Μετάφραση προγραμμάτων ΠΗΓΑΙΟ ΠΡΟΓΡΑΜΜΑ ΑΝΤΙΚΕΙΜΕΝΟ ΠΡΟΓΡΑΜΜΑ ΕΚΤΕΛΕΣΙΜΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΓΛΩΤΙΣΤΗΣ ΣΥΝΔΕΤΗΣ- ΦΟΡΤΩΤΗΣ 03/01/09 Χαράλαμπος Τζόκας 20

Κατηγορίες μεταφραστών Μεταγλωττιστές Διερμηνευτές Μια φορά γίνεται Μεταγλώττιση και αν δεν υπάρχουν λάθη Φόρτωση Σύνδεση Παραγωγή εκτελέσιμου κώδικα για όλο το πρόγραμμα Εκτέλεση του παραγόμενου εκτελέσιμου προγράμματος κάθε φορά που θέλει ο χρήστης Πιο γρήγορη εκτέλεση Κάθε φορά γίνεται Ανάλυση Έλεγχος Ανίχνευση Εκτέλεση κάθε εντολής Πλεονέκτημα η άμεση εκτέλεση άμεση διόρθωση Δεν παράγεται εκτελέσιμος κώδικας για όλο το πρόγραμμα Πιο αργό στην εκτέλεση 03/01/09 Χαράλαμπος Τζόκας 21

Είδη λαθών Λογικά Συντακτικά Σφάλματα πάνω στην υλοποίηση του αλγόριθμου Σφάλματα πάνω στο συντακτικό και την ορθογραφία Εμφανίζονται μόνο κατά την εκτέλεση Εμφανίζονται κατά την μεταγλώττιση Το πρόγραμμα μπορεί να εκτελεστεί αλλά το αποτέλεσμα Το πρόγραμμα δεν μπορεί να εκτελεστεί αν δεν διορθωθούν 03/01/09 Χαράλαμπος Τζόκας 22

Απαιτούμενα προγράμματα για την δημιουργία, μετάφραση και εκτέλεση Συντάκτης Μεταγλωττιστής Συνδέτης -φορτωτής Στα σύγχρονα ολοκληρωμένα προγραμματιστικά περιβάλλοντα παρέχονται μαζί με τον μεταγλωττιστή ότι άλλο χρειάζεται 03/01/09 Χαράλαμπος Τζόκας 23

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

Πρόγραμμα - Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν στον Υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος της επίλυσης ενός προβλήματος Προγραμματισμός: Διαδικασία μετατροπής ενός αλγόριθμου σε μορφή κατανοητή από τον υπολογιστή 03/01/09 Χαράλαμπος Τζόκας 2

Ιστορική αναδρομή Γλώσσες μηχανής Συμβολικές γλώσσες Γλώσσες Υψηλού επιπέδου Γλώσσες 4ης γενιάς Γλώσσες οπτικού προγραμματισμού και οδηγούμενου από γεγονός προγραμματισμού ** 03/01/09 Χαράλαμπος Τζόκας 3

Γλώσσες Μηχανής ΠΛΕΟΝΕΚΤΗΜΑΤΑ Εντολές σε μορφή 0,1 Πολύ γρήγορες γιατί εκτελούνται απευθείας ΜΕΙΟΝΕΚΤΗΜΑΤΑ Στενά συνδεδεμένες με την αρχιτεκτονική του υπολογιστή (άρα ο προγραμματιστής πρέπει να γνωρίζει πολύ καλό Hardware ) Πολύπλοκα και μακροσκελή προγράμματα Δύσκολη γραφή-διόρθωση- συντήρηση Δεν μεταφέρονται από ένα υπολογιστή σε κάποιον άλλο διαφορετικού τύπου 03/01/09 Χαράλαμπος Τζόκας 4

Συμβολικές γλώσσες ( Assembly ) Ο κώδικας κάθε εντολής αντικαθίσταται από κάποια λέξη ή συντομογραφία λέξεων Οι διευθύνσεις μνήμης αντικαθίστανται από συμβολικές λέξεις Απαιτείται κάποιο πρόγραμμα που να μεταφράζει τα σύμβολα σε γλώσσα μηχανής ( Συμβολομεταφραστής Assembler) 03/01/09 Χαράλαμπος Τζόκας 5

Συμβολικές γλώσσες ( Assembly ) Πλεονεκτήματα Πιο κατανοητές από τον άνθρωπο, αφού δεν χρησιμοποιούν δυαδικά ψηφία Γρήγορες, αν και απαιτείται η χρήση του Assembler Μειονεκτήματα Στενά συνδεδεμένες με την αρχιτεκτονική του υπολογιστή Πολύπλοκα και μακροσκελή προγράμματα Δύσκολη γραφή-διόρθωση- συντήρηση Δεν μεταφέρονται από ένα υπολογιστή σε κάποιον άλλο διαφορετικού τύπου 03/01/09 Χαράλαμπος Τζόκας 6

Γλώσσες Υψηλού επιπέδου Πλεονεκτήματα Κατανοητά προγράμματα Ανεξαρτησία από τον τύπο του υπολογιστή (Μεταφερσιμότητα ) Ευκολία εκμάθησης και εκπαίδευσης Ευκολότερη διόρθωση λαθών και συντήρηση Ελάττωση χρόνου και κόστους παραγωγής προγραμμάτων 03/01/09 Χαράλαμπος Τζόκας 7

Γλώσσες 4ης Γενιάς Ο χρήστης έχει την δυνατότητα ( χωρίς να είναι προγραμματιστής) να: υποβάλει ερωτήσεις στο σύστημα, αναπτύσσει εφαρμογές που ανακτούν πληροφορίες από βάσεις δεδομένων και να καθορίζει τον ακριβή τρόπο εμφάνισης των πληροφοριών Απόκρυψη της αρχιτεκτονικής του υλικού Απόκρυψη της τεχνικής του προγραμματισμού 03/01/09 Χαράλαμπος Τζόκας 8

Ταξινόμηση Γλωσσών ( 1) Αλγοριθμικές ή διαδικασιακές Αντικειμενοστραφείς Συναρτησιακές Μη διαδικαστιακές ή πολύ υψηλού επιπέδου Ερωταπαντήσεων 03/01/09 Χαράλαμπος Τζόκας 9

Ταξινόμηση Γλωσσών ( 2) Επιστημονικής κατεύθυνσης Fortran Εμπορικής κατεύθυνσης Cobol Προγραμματισμού συστημάτων C Τεχνητής νοημοσύνης LISP, PROLOG Ειδικής χρήσης 03/01/09 Χαράλαμπος Τζόκας 10

Γλώσσες πεδία χρήσης Fortran Επιστημονικές εφαρμογές Basic Γενικής χρήσης Pascal εκπαίδευση Cobol Εμπορικές εφαρμογές C Συστημάτων Lisp- Prolog Τεχνητής νοημοσύνης Java Διαδικτύου 03/01/09 Χαράλαμπος Τζόκας 11

Χαρακτηριστικά φυσικών και τεχνητών γλωσσών Αλφάβητο Λεξιλόγιο Γραμματική Τυπικό : Κανόνες ορισμού αποδεκτών λέξεων Συντακτικό: κανόνες για τη δημιουργία προτάσεων απ τις επιτρεπτές λέξεις Σημασιολογία: κανόνες καθορισμού νοήματος των λέξεων - προτάσεων 03/01/09 Χαράλαμπος Τζόκας 12

Διαφορές φυσικών τεχνητών γλωσσών Συνεχής εξέλιξη φυσικών γλωσσών Στασιμότητα τεχνητών αν και γίνονται βελτιώσεις για διόρθωση αδυναμιών κάλυψη μεγαλύτερου εύρους εφαρμογών Αλλαγή διαλέκτου ( από pascal3.0 σε Pascal 7.2) Επέκταση ( από Basic σε Visual Basic) 03/01/09 Χαράλαμπος Τζόκας 13

ΙΕΡΑΡΧΙΚΗ ΣΧΕΔΙΑΣΗ ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Καθορισμός βασικών λειτουργιών σε ανώτερο επίπεδο Διάσπαση κάθε λειτουργίας σε όλο και μικρότερες λειτουργίες μέχρι το τελευταίο επίπεδο που κάθε λειτουργία είναι απλή και επιλύεται εύκολα Υλοποίηση της ιεραρχικής σχεδίασης με τμηματικό προγραμματισμό : κάθε επιμέρους λειτουργία αποτελεί ανεξάρτητη ενότητα που γράφεται ξεχωριστά από τα υπόλοιπα τμήματα 03/01/09 Χαράλαμπος Τζόκας 14

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Συνδυασμός ιεραρχικής σχεδίασης και τμηματικού προγραμματισμού Χρήση μόνο τριών δομών ή συνδυασμό τους Ακολουθία Επιλογή Επανάληψη Πρόγραμμα ή ενότητα προγράμματος έχει ΜΙΑ είσοδο ΜΙΑ έξοδο 03/01/09 Χαράλαμπος Τζόκας 15

Πλεονεκτήματα Δομημένου προγραμματισμού Δημιουργία απλούστερων προγραμμάτων Άμεση μεταφορά των αλγορίθμων σε προγράμματα Διευκόλυνση της ανάλυσης του προγράμματος σε τμήματα Περιορισμός λαθών Διευκόλυνση στην ανάγνωση και κατανόηση από τρίτους Ευκολότερη διόρθωση και συντήρηση 03/01/09 Χαράλαμπος Τζόκας 16

Αντικειμενοστραφής προγραμματισμός Πρωτεύοντα δομικά στοιχεία ενός προγράμματος είναι τα δεδομένα σε αντίθεση με τον παραδοσιακό προγραμματισμό που πρωτεύον στοιχείο είναι οι τρόποι επεξεργασίας που εφαρμόζονται πάνω στα δεδομένα Με κατάλληλη μορφοποίηση των δεδομένων προκύπτουν τα αντικείμενα Χρησιμοποίηση ιεραρχικής σχεδίασηςτμηματικού προγραμματισμού και αρχές δομημένου προγραμματισμού 03/01/09 Χαράλαμπος Τζόκας 17

Οπτικός προγραμματισμός και οδηγούμενος από τα γεγονότα προγραμματισμός Οπτικός: Δυνατότητα να δημιουργούμε γραφικά ολόκληρο το περιβάλλον της εφαρμογής ( παράδειγμα πλαίσια διαλόγου μενού ) Οδηγούμενος..: Δυνατότητα να ενεργοποιούνται λειτουργίες του προγράμματος με την εκτέλεση ενός γεγονότος ( κάνουμε κλικ σε ένα μέρος ή επιλέγουμε από ένα μενού ) Βοηθάει πολύ ο αντικειμενοστραφής προγραμματισμός 03/01/09 Χαράλαμπος Τζόκας 18

Παράλληλος Προγραμματισμός Αλλαγή αρχιτεκτονικής ΗΥ που διαθέτει περισσότερες από ένα επεξεργαστές Μοιράζονται την ίδια μνήμη και εκτελούν ταυτόχρονα διαφορετικά τμήματα του ίδιου προγράμματος Θεωρητικά έχουν πολύ υψηλότερες ταχύτητες Τα παλιά προγράμματα πρέπει να τα αλλάξουμε έτσι ώστε να επιτρέπεται η παράλληλη εκτέλεση 03/01/09 Χαράλαμπος Τζόκας 19

Μετάφραση προγραμμάτων ΠΗΓΑΙΟ ΠΡΟΓΡΑΜΜΑ ΑΝΤΙΚΕΙΜΕΝΟ ΠΡΟΓΡΑΜΜΑ ΕΚΤΕΛΕΣΙΜΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΓΛΩΤΙΣΤΗΣ ΣΥΝΔΕΤΗΣ- ΦΟΡΤΩΤΗΣ 03/01/09 Χαράλαμπος Τζόκας 20

Κατηγορίες μεταφραστών Μεταγλωττιστές Διερμηνευτές Μια φορά γίνεται Μεταγλώττιση και αν δεν υπάρχουν λάθη Φόρτωση Σύνδεση Παραγωγή εκτελέσιμου κώδικα για όλο το πρόγραμμα Εκτέλεση του παραγόμενου εκτελέσιμου προγράμματος κάθε φορά που θέλει ο χρήστης Πιο γρήγορη εκτέλεση Κάθε φορά γίνεται Ανάλυση Έλεγχος Ανίχνευση Εκτέλεση κάθε εντολής Πλεονέκτημα η άμεση εκτέλεση άμεση διόρθωση Δεν παράγεται εκτελέσιμος κώδικας για όλο το πρόγραμμα Πιο αργό στην εκτέλεση 03/01/09 Χαράλαμπος Τζόκας 21

Είδη λαθών Λογικά Συντακτικά Σφάλματα πάνω στην υλοποίηση του αλγόριθμου Σφάλματα πάνω στο συντακτικό και την ορθογραφία Εμφανίζονται μόνο κατά την εκτέλεση Εμφανίζονται κατά την μεταγλώττιση Το πρόγραμμα μπορεί να εκτελεστεί αλλά το αποτέλεσμα Το πρόγραμμα δεν μπορεί να εκτελεστεί αν δεν διορθωθούν 03/01/09 Χαράλαμπος Τζόκας 22

Απαιτούμενα προγράμματα για την δημιουργία, μετάφραση και εκτέλεση Συντάκτης Μεταγλωττιστής Συνδέτης -φορτωτής Στα σύγχρονα ολοκληρωμένα προγραμματιστικά περιβάλλοντα παρέχονται μαζί με τον μεταγλωττιστή ότι άλλο χρειάζεται 03/01/09 Χαράλαμπος Τζόκας 23