ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/pdf_kef6.pdf · Προγραμματισμός...

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

Upload: others

Post on 01-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 1

ΚΕΦΑΛΑΙΟ 6

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

Page 2: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 2

Πρόγραμμα - Προγραμματισμός

Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν στον Υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος της επίλυσης ενός προβλήματος

Προγραμματισμός: Διαδικασία μετατροπής ενός αλγόριθμου σε μορφή κατανοητή από τον υπολογιστή

Page 3: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 3

Ιστορική αναδρομή

Γλώσσες μηχανής Συμβολικές γλώσσες Γλώσσες Υψηλού επιπέδου Γλώσσες 4ης γενιάς Γλώσσες οπτικού προγραμματισμού και

οδηγούμενου από γεγονός προγραμματισμού **

Page 4: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 4

Γλώσσες Μηχανής ΠΛΕΟΝΕΚΤΗΜΑΤΑ

Εντολές σε μορφή 0,1 Πολύ γρήγορες γιατί εκτελούνται απευθείας

ΜΕΙΟΝΕΚΤΗΜΑΤΑ Στενά συνδεδεμένες με την αρχιτεκτονική του

υπολογιστή (άρα ο προγραμματιστής πρέπει να γνωρίζει πολύ καλό Hardware )

Πολύπλοκα και μακροσκελή προγράμματα Δύσκολη γραφή-διόρθωση- συντήρηση Δεν μεταφέρονται από ένα υπολογιστή σε κάποιον

άλλο διαφορετικού τύπου

Page 5: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 5

Συμβολικές γλώσσες ( Assembly ) Ο κώδικας κάθε εντολής αντικαθίσταται από

κάποια λέξη ή συντομογραφία λέξεων Οι διευθύνσεις μνήμης αντικαθίστανται από

συμβολικές λέξεις Απαιτείται κάποιο πρόγραμμα που να

μεταφράζει τα σύμβολα σε γλώσσα μηχανής ( Συμβολομεταφραστής –Assembler)

Page 6: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 6

Πλεονεκτήματα Πιο κατανοητές από τον άνθρωπο, αφού δεν

χρησιμοποιούν δυαδικά ψηφία Γρήγορες, αν και απαιτείται η χρήση του Assembler

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

διαφορετικού τύπου

Συμβολικές γλώσσες ( Assembly )

Page 7: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 7

Πλεονεκτήματα Κατανοητά προγράμματα Ανεξαρτησία από τον τύπο του υπολογιστή

(Μεταφερσιμότητα ) Ευκολία εκμάθησης και εκπαίδευσης Ευκολότερη διόρθωση λαθών και

συντήρηση Ελάττωση χρόνου και κόστους παραγωγής

προγραμμάτων

Γλώσσες Υψηλού επιπέδου

Page 8: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 8

Γλώσσες 4ης Γενιάς Ο χρήστης έχει την δυνατότητα ( χωρίς να

είναι προγραμματιστής) να: υποβάλει ερωτήσεις στο σύστημα, αναπτύσσει εφαρμογές που ανακτούν

πληροφορίες από βάσεις δεδομένων και να καθορίζει τον ακριβή τρόπο εμφάνισης των πληροφοριών

Απόκρυψη της αρχιτεκτονικής του υλικού Απόκρυψη της τεχνικής του

προγραμματισμού

Page 9: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 9

Ταξινόμηση Γλωσσών ( 1)

Αλγοριθμικές ή διαδικασιακές Αντικειμενοστραφείς Συναρτησιακές Μη διαδικαστιακές ή πολύ υψηλού

επιπέδου Ερωταπαντήσεων

Page 10: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 10

Επιστημονικής κατεύθυνσης Fortran

Εμπορικής κατεύθυνσης Cobol

Προγραμματισμού συστημάτων C

Τεχνητής νοημοσύνης LISP, PROLOG

Ειδικής χρήσης

Ταξινόμηση Γλωσσών ( 2)

Page 11: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 11

Γλώσσες –πεδία χρήσης

Fortran Επιστημονικές εφαρμογές Basic Γενικής χρήσης Pascal εκπαίδευση Cobol Εμπορικές εφαρμογές C Συστημάτων Lisp- Prolog Τεχνητής νοημοσύνης Java Διαδικτύου

Page 12: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 12

Χαρακτηριστικά φυσικών και τεχνητών γλωσσών Αλφάβητο Λεξιλόγιο Γραμματική

Τυπικό : Κανόνες ορισμού αποδεκτών λέξεων Συντακτικό: κανόνες για τη δημιουργία προτάσεων

απ’ τις επιτρεπτές λέξεις Σημασιολογία: κανόνες καθορισμού νοήματος

των λέξεων - προτάσεων

Page 13: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 13

Διαφορές φυσικών – τεχνητών γλωσσών

Συνεχής εξέλιξη φυσικών γλωσσών Στασιμότητα τεχνητών αν και γίνονται

βελτιώσεις για διόρθωση αδυναμιών – κάλυψη μεγαλύτερου εύρους εφαρμογών

Αλλαγή διαλέκτου ( από pascal3.0 σε Pascal 7.2)

Επέκταση ( από Basic σε Visual Basic)

Page 14: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 14

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

Καθορισμός βασικών λειτουργιών σε ανώτερο επίπεδο

Διάσπαση κάθε λειτουργίας σε όλο και μικρότερες λειτουργίες μέχρι το τελευταίο επίπεδο που κάθε λειτουργία είναι απλή και επιλύεται εύκολα

Υλοποίηση της ιεραρχικής σχεδίασης με τμηματικό προγραμματισμό : κάθε επιμέρους λειτουργία αποτελεί ανεξάρτητη ενότητα που γράφεται ξεχωριστά από τα υπόλοιπα τμήματα

Page 15: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 15

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Συνδυασμός ιεραρχικής σχεδίασης και

τμηματικού προγραμματισμού Χρήση μόνο τριών δομών ή συνδυασμό τους

Ακολουθία Επιλογή Επανάληψη

Πρόγραμμα ή ενότητα προγράμματος έχει ΜΙΑ είσοδο – ΜΙΑ έξοδο

Page 16: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 16

Πλεονεκτήματα Δομημένου προγραμματισμού Δημιουργία απλούστερων προγραμμάτων Άμεση μεταφορά των αλγορίθμων σε

προγράμματα Διευκόλυνση της ανάλυσης του

προγράμματος σε τμήματα Περιορισμός λαθών Διευκόλυνση στην ανάγνωση και κατανόηση

από τρίτους Ευκολότερη διόρθωση και συντήρηση

Page 17: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 17

Αντικειμενοστραφής προγραμματισμός Πρωτεύοντα δομικά στοιχεία ενός

προγράμματος είναι τα δεδομένα σε αντίθεση με τον παραδοσιακό προγραμματισμό που πρωτεύον στοιχείο είναι οι τρόποι επεξεργασίας που εφαρμόζονται πάνω στα δεδομένα

Με κατάλληλη μορφοποίηση των δεδομένων προκύπτουν τα αντικείμενα

Χρησιμοποίηση ιεραρχικής σχεδίασης- τμηματικού προγραμματισμού και αρχές δομημένου προγραμματισμού

Page 18: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 18

Οπτικός προγραμματισμός και οδηγούμενος από τα γεγονότα

προγραμματισμός

Οπτικός: Δυνατότητα να δημιουργούμε γραφικά ολόκληρο το περιβάλλον της εφαρμογής ( παράδειγμα πλαίσια διαλόγου – μενού )

Οδηγούμενος ..: Δυνατότητα να ενεργοποιούνται λειτουργίες του προγράμματος με την εκτέλεση ενός γεγονότος ( κάνουμε κλικ σε ένα μέρος ή επιλέγουμε από ένα μενού )

Βοηθάει πολύ ο αντικειμενοστραφής προγραμματισμός

Page 19: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 19

Παράλληλος Προγραμματισμός Αλλαγή αρχιτεκτονικής ΗΥ που διαθέτει

περισσότερες από ένα επεξεργαστές Μοιράζονται την ίδια μνήμη και εκτελούν

ταυτόχρονα διαφορετικά τμήματα του ίδιου προγράμματος

Θεωρητικά έχουν πολύ υψηλότερες ταχύτητες Τα παλιά προγράμματα πρέπει να τα

αλλάξουμε έτσι ώστε να επιτρέπεται η παράλληλη εκτέλεση

Page 20: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 20

Μετάφραση προγραμμάτων

ΠΗΓΑΙΟ ΠΡΟΓΡΑΜΜΑ

ΑΝΤΙΚΕΙΜΕΝΟΠΡΟΓΡΑΜΜΑ

ΕΚΤΕΛΕΣΙΜΟΠΡΟΓΡΑΜΜΑ

ΜΕΤΑΓΛΩΤΙΣΤΗΣ ΣΥΝΔΕΤΗΣ-ΦΟΡΤΩΤΗΣ

Page 21: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 21

Κατηγορίες μεταφραστών Μεταγλωττιστές

Μια φορά γίνεται Μεταγλώττιση και αν δεν

υπάρχουν λάθη Φόρτωση Σύνδεση Παραγωγή εκτελέσιμου

κώδικα για όλο το πρόγραμμα

Εκτέλεση του παραγόμενου εκτελέσιμου προγράμματος κάθε φορά που θέλει ο χρήστης

Πιο γρήγορη εκτέλεση

Διερμηνευτές

Κάθε φορά γίνεται Ανάλυση Έλεγχος Ανίχνευση Εκτέλεση κάθε εντολής

Πλεονέκτημα η άμεση εκτέλεση – άμεση διόρθωση

Δεν παράγεται εκτελέσιμος κώδικας για όλο το πρόγραμμα

Πιο αργό στην εκτέλεση

Page 22: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 22

Είδη λαθών Λογικά

Σφάλματα πάνω στην υλοποίηση του αλγόριθμου

Εμφανίζονται μόνο κατά την εκτέλεση

Το πρόγραμμα μπορεί να εκτελεστεί αλλά το αποτέλεσμα …

Συντακτικά Σφάλματα πάνω στο

συντακτικό και την ορθογραφία

Εμφανίζονται κατά την μεταγλώττιση

Το πρόγραμμα δεν μπορεί να εκτελεστεί αν δεν διορθωθούν

Page 23: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 23

Απαιτούμενα προγράμματα για την δημιουργία, μετάφραση και εκτέλεση

Συντάκτης Μεταγλωττιστής Συνδέτης -φορτωτής

Στα σύγχρονα ολοκληρωμένα προγραμματιστικά περιβάλλοντα παρέχονται μαζί με τον μεταγλωττιστή ότι άλλο χρειάζεται …

Page 24: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 1

ΚΕΦΑΛΑΙΟ 6

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

Page 25: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 2

Πρόγραμμα - Προγραμματισμός

Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν στον Υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος της επίλυσης ενός προβλήματος

Προγραμματισμός: Διαδικασία μετατροπής ενός αλγόριθμου σε μορφή κατανοητή από τον υπολογιστή

Page 26: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 3

Ιστορική αναδρομή

Γλώσσες μηχανής Συμβολικές γλώσσες Γλώσσες Υψηλού επιπέδου Γλώσσες 4ης γενιάς Γλώσσες οπτικού προγραμματισμού και

οδηγούμενου από γεγονός προγραμματισμού **

Page 27: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 4

Γλώσσες Μηχανής ΠΛΕΟΝΕΚΤΗΜΑΤΑ

Εντολές σε μορφή 0,1 Πολύ γρήγορες γιατί εκτελούνται απευθείας

ΜΕΙΟΝΕΚΤΗΜΑΤΑ Στενά συνδεδεμένες με την αρχιτεκτονική του

υπολογιστή (άρα ο προγραμματιστής πρέπει να γνωρίζει πολύ καλό Hardware )

Πολύπλοκα και μακροσκελή προγράμματα Δύσκολη γραφή-διόρθωση- συντήρηση Δεν μεταφέρονται από ένα υπολογιστή σε κάποιον

άλλο διαφορετικού τύπου

Page 28: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 5

Συμβολικές γλώσσες ( Assembly ) Ο κώδικας κάθε εντολής αντικαθίσταται από

κάποια λέξη ή συντομογραφία λέξεων Οι διευθύνσεις μνήμης αντικαθίστανται από

συμβολικές λέξεις Απαιτείται κάποιο πρόγραμμα που να

μεταφράζει τα σύμβολα σε γλώσσα μηχανής ( Συμβολομεταφραστής –Assembler)

Page 29: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 6

Πλεονεκτήματα Πιο κατανοητές από τον άνθρωπο, αφού δεν

χρησιμοποιούν δυαδικά ψηφία Γρήγορες, αν και απαιτείται η χρήση του Assembler

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

διαφορετικού τύπου

Συμβολικές γλώσσες ( Assembly )

Page 30: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 7

Πλεονεκτήματα Κατανοητά προγράμματα Ανεξαρτησία από τον τύπο του υπολογιστή

(Μεταφερσιμότητα ) Ευκολία εκμάθησης και εκπαίδευσης Ευκολότερη διόρθωση λαθών και

συντήρηση Ελάττωση χρόνου και κόστους παραγωγής

προγραμμάτων

Γλώσσες Υψηλού επιπέδου

Page 31: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 8

Γλώσσες 4ης Γενιάς Ο χρήστης έχει την δυνατότητα ( χωρίς να

είναι προγραμματιστής) να: υποβάλει ερωτήσεις στο σύστημα, αναπτύσσει εφαρμογές που ανακτούν

πληροφορίες από βάσεις δεδομένων και να καθορίζει τον ακριβή τρόπο εμφάνισης των πληροφοριών

Απόκρυψη της αρχιτεκτονικής του υλικού Απόκρυψη της τεχνικής του

προγραμματισμού

Page 32: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 9

Ταξινόμηση Γλωσσών ( 1)

Αλγοριθμικές ή διαδικασιακές Αντικειμενοστραφείς Συναρτησιακές Μη διαδικαστιακές ή πολύ υψηλού

επιπέδου Ερωταπαντήσεων

Page 33: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 10

Επιστημονικής κατεύθυνσης Fortran

Εμπορικής κατεύθυνσης Cobol

Προγραμματισμού συστημάτων C

Τεχνητής νοημοσύνης LISP, PROLOG

Ειδικής χρήσης

Ταξινόμηση Γλωσσών ( 2)

Page 34: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 11

Γλώσσες –πεδία χρήσης

Fortran Επιστημονικές εφαρμογές Basic Γενικής χρήσης Pascal εκπαίδευση Cobol Εμπορικές εφαρμογές C Συστημάτων Lisp- Prolog Τεχνητής νοημοσύνης Java Διαδικτύου

Page 35: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 12

Χαρακτηριστικά φυσικών και τεχνητών γλωσσών Αλφάβητο Λεξιλόγιο Γραμματική

Τυπικό : Κανόνες ορισμού αποδεκτών λέξεων Συντακτικό: κανόνες για τη δημιουργία προτάσεων

απ’ τις επιτρεπτές λέξεις Σημασιολογία: κανόνες καθορισμού νοήματος

των λέξεων - προτάσεων

Page 36: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 13

Διαφορές φυσικών – τεχνητών γλωσσών

Συνεχής εξέλιξη φυσικών γλωσσών Στασιμότητα τεχνητών αν και γίνονται

βελτιώσεις για διόρθωση αδυναμιών – κάλυψη μεγαλύτερου εύρους εφαρμογών

Αλλαγή διαλέκτου ( από pascal3.0 σε Pascal 7.2)

Επέκταση ( από Basic σε Visual Basic)

Page 37: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 14

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

Καθορισμός βασικών λειτουργιών σε ανώτερο επίπεδο

Διάσπαση κάθε λειτουργίας σε όλο και μικρότερες λειτουργίες μέχρι το τελευταίο επίπεδο που κάθε λειτουργία είναι απλή και επιλύεται εύκολα

Υλοποίηση της ιεραρχικής σχεδίασης με τμηματικό προγραμματισμό : κάθε επιμέρους λειτουργία αποτελεί ανεξάρτητη ενότητα που γράφεται ξεχωριστά από τα υπόλοιπα τμήματα

Page 38: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 15

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Συνδυασμός ιεραρχικής σχεδίασης και

τμηματικού προγραμματισμού Χρήση μόνο τριών δομών ή συνδυασμό τους

Ακολουθία Επιλογή Επανάληψη

Πρόγραμμα ή ενότητα προγράμματος έχει ΜΙΑ είσοδο – ΜΙΑ έξοδο

Page 39: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 16

Πλεονεκτήματα Δομημένου προγραμματισμού Δημιουργία απλούστερων προγραμμάτων Άμεση μεταφορά των αλγορίθμων σε

προγράμματα Διευκόλυνση της ανάλυσης του

προγράμματος σε τμήματα Περιορισμός λαθών Διευκόλυνση στην ανάγνωση και κατανόηση

από τρίτους Ευκολότερη διόρθωση και συντήρηση

Page 40: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 17

Αντικειμενοστραφής προγραμματισμός Πρωτεύοντα δομικά στοιχεία ενός

προγράμματος είναι τα δεδομένα σε αντίθεση με τον παραδοσιακό προγραμματισμό που πρωτεύον στοιχείο είναι οι τρόποι επεξεργασίας που εφαρμόζονται πάνω στα δεδομένα

Με κατάλληλη μορφοποίηση των δεδομένων προκύπτουν τα αντικείμενα

Χρησιμοποίηση ιεραρχικής σχεδίασης- τμηματικού προγραμματισμού και αρχές δομημένου προγραμματισμού

Page 41: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 18

Οπτικός προγραμματισμός και οδηγούμενος από τα γεγονότα

προγραμματισμός

Οπτικός: Δυνατότητα να δημιουργούμε γραφικά ολόκληρο το περιβάλλον της εφαρμογής ( παράδειγμα πλαίσια διαλόγου – μενού )

Οδηγούμενος ..: Δυνατότητα να ενεργοποιούνται λειτουργίες του προγράμματος με την εκτέλεση ενός γεγονότος ( κάνουμε κλικ σε ένα μέρος ή επιλέγουμε από ένα μενού )

Βοηθάει πολύ ο αντικειμενοστραφής προγραμματισμός

Page 42: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 19

Παράλληλος Προγραμματισμός Αλλαγή αρχιτεκτονικής ΗΥ που διαθέτει

περισσότερες από ένα επεξεργαστές Μοιράζονται την ίδια μνήμη και εκτελούν

ταυτόχρονα διαφορετικά τμήματα του ίδιου προγράμματος

Θεωρητικά έχουν πολύ υψηλότερες ταχύτητες Τα παλιά προγράμματα πρέπει να τα

αλλάξουμε έτσι ώστε να επιτρέπεται η παράλληλη εκτέλεση

Page 43: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 20

Μετάφραση προγραμμάτων

ΠΗΓΑΙΟ ΠΡΟΓΡΑΜΜΑ

ΑΝΤΙΚΕΙΜΕΝΟΠΡΟΓΡΑΜΜΑ

ΕΚΤΕΛΕΣΙΜΟΠΡΟΓΡΑΜΜΑ

ΜΕΤΑΓΛΩΤΙΣΤΗΣ ΣΥΝΔΕΤΗΣ-ΦΟΡΤΩΤΗΣ

Page 44: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 21

Κατηγορίες μεταφραστών Μεταγλωττιστές

Μια φορά γίνεται Μεταγλώττιση και αν δεν

υπάρχουν λάθη Φόρτωση Σύνδεση Παραγωγή εκτελέσιμου

κώδικα για όλο το πρόγραμμα

Εκτέλεση του παραγόμενου εκτελέσιμου προγράμματος κάθε φορά που θέλει ο χρήστης

Πιο γρήγορη εκτέλεση

Διερμηνευτές

Κάθε φορά γίνεται Ανάλυση Έλεγχος Ανίχνευση Εκτέλεση κάθε εντολής

Πλεονέκτημα η άμεση εκτέλεση – άμεση διόρθωση

Δεν παράγεται εκτελέσιμος κώδικας για όλο το πρόγραμμα

Πιο αργό στην εκτέλεση

Page 45: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 22

Είδη λαθών Λογικά

Σφάλματα πάνω στην υλοποίηση του αλγόριθμου

Εμφανίζονται μόνο κατά την εκτέλεση

Το πρόγραμμα μπορεί να εκτελεστεί αλλά το αποτέλεσμα …

Συντακτικά Σφάλματα πάνω στο

συντακτικό και την ορθογραφία

Εμφανίζονται κατά την μεταγλώττιση

Το πρόγραμμα δεν μπορεί να εκτελεστεί αν δεν διορθωθούν

Page 46: ΚΕΦΑΛΑΙΟ 6 - sch.grusers.sch.gr/chtzokas/PDF_KEF6.pdf · Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν

03/01/09 Χαράλαμπος Τζόκας 23

Απαιτούμενα προγράμματα για την δημιουργία, μετάφραση και εκτέλεση

Συντάκτης Μεταγλωττιστής Συνδέτης -φορτωτής

Στα σύγχρονα ολοκληρωμένα προγραμματιστικά περιβάλλοντα παρέχονται μαζί με τον μεταγλωττιστή ότι άλλο χρειάζεται …