Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ"— Μεταγράφημα παρουσίασης:

1 Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ
Κεφ. 2.3 Προγραμματισμός Ενοτ Αναφορά σε γλώσσες προγραμματισμού και προγραμματιστικά υποδείγματα Ενοτ Σχεδίαση και συγγραφή κώδικά

2 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού (1/6)
Ένας αλγόριθμος για να εκτελεστεί από την Η/Υ πρέπει να αναπαρασταθεί σε μορφή κατανοητή από αυτόν. Για το σκοπό αυτό αναπτύχθηκαν οι γλώσσες προγραμματισμού. Οι γλώσσες προγραμματισμού επιτρέπουν την επικοινωνία του ανθρώπου (προγραμματιστή) με τη μηχανή (υπολογιστή).

3 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού (2/6)
Πρόγραμμα: Είναι το σύνολο εντολών που χρειάζεται να δοθούν στον υπολογιστή ώστε να υλοποιηθεί ο αλγόριθμος για την επίλυση ενός προβλήματος . Η διαδικασία σύνταξης των προγραμμάτων σε κάποια γλώσσα προγραμματισμού ονομάζεται προγραμματισμός. Τα άτομα που γράφουν και συντάσσουν ένα πρόγραμμα ονομάζονται προγραμματιστές.

4 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού (3/6)
Αρχικά τα προγράμματα γράφονταν σε γλώσσα μηχανής: Δυαδική αναπαράσταση Δυσνόητη και δύσκολη στην εκμάθηση Απαιτεί καλή γνώση του υλικού & της αρχιτεκτονικής του Η/Υ Διαφορετική σε κάθε διαφορετικό επεξεργαστή. Στη συνέχεια αναπτύχθηκαν οι συμβολικές γλώσσες (γλώσσες assembly): Εντολές με συμβολικά ονόματα (π.χ. ADD, CMP, MOV) 1-1 αντιστοίχηση με τις εντολές της γλώσσας μηχανής Μετάφραση σε γλώσσα μηχανής από τον συμβολομεταφραστή (assembler)

5 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού (4/6)
Οι συμβολικές γλώσσες βελτίωσαν κάπως την κατάσταση αλλά εξακολουθούσαν να είναι δύσκολες και άμεσα εξαρτώμενες από την αρχιτεκτονική του Η/Υ “Life is too short to program in assembly” Για να ξεπεραστούν τα προβλήματα αναπτύχθηκαν οι γλώσσες υψηλού επιπέδου: Φυσικότερος και πιο ανθρώπινος τρόπος έκφρασης Ανεξαρτησία από τον επεξεργαστή και δυνατότητα μεταφοράς και εκτέλεσης σε οποιοδήποτε Η/Υ (μεταφερσιμότητα) Εύκολη εκμάθηση, διόρθωση λαθών και συντήρηση προγραμμάτων.

6 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού (5/6)
Παραδείγματα: FORTRAN (FORmula TRANslator) COBOL (Common Business Oriented Language) LISP (LISt Processor) PROLOG (PROgramming in LOGic) BASIC (Beginner’s All Purpose Symbolic Instruction Code) PASCAL C / C++ JAVA Μετεξελίξεις: Visual Basic Visual C++ Delphi

7 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού (6/6)
Οπτικές Γλώσσες (Visual Programming Languages): SCRATCH – BYOB Google AppInventor Γλώσσες Ειδικού Σκοπού: LOGO (Εκπαιδευτικού χαρακτήρα) GameMaker (Δημιουργία Παιχνιδιών) LabView (σχεδιασμός, έλεγχος, δοκιμή προϊόντων) Γλώσσες 4ης Γενιάς: Αποκρύπτουν πολλές λεπτομέρειες, ευκολότερες στη χρήση. SQL (Structured Query Language, Διαχείριση Βάσεων Δεδομένων)

8 2.3.1.2 Προγραμματιστικά Υποδείγματα (1/4)
Προγραμματιστικά Υποδείγματα (1/4) Προγραμματιστικό Υπόδειγμα: Είναι ένα πρότυπο ανάπτυξης προγραμμάτων, δηλ. μια καθορισμένη μεθοδολογία με βάση την οποία αναπτύσσονται η δομή και τα στοιχεία του προγράμματος Το προγραμματιστικό υπόδειγμα καθορίζει τις δυνατότητες και τις μεθοδολογίες ανάπτυξης προγραμμάτων που αυτή παρέχει. Μια γλώσσα μπορεί να υποστηρίζει περισσότερα από ένα υποδείγματα

9 2.3.1.2 Προγραμματιστικά Υποδείγματα (2/4)
Προγραμματιστικά Υποδείγματα (2/4) Τα κυριότερα προγραμματιστικά υποδείγματα: Προστακτικός Προγραμματισμός (εντολές σε προστακτική: Διάβασε, Γράψε, Επανάλαβε κτλ). Π.χ. Fortran, Basic, Pascal Δηλωτικός Προγραμματισμός (επίλυση προβλήματος μέσω περιγραφής των επιθυμητών ιδιοτήτων του αποτελέσματος). Π.χ. Prolog Συναρτησιακός Προγραμματισμός (επίλυση με χρήση μαθηματικών συναρτήσεων) Π.χ. Lisp

10 2.3.1.2 Προγραμματιστικά Υποδείγματα (3/4)
Προγραμματιστικά Υποδείγματα (3/4) Τα κυριότερα προγραμματιστικά υποδείγματα (συνέχ.): Αντικειμενοστραφής Προγραμματισμός (βασίζεται στην έννοια του αντικειμένου. Κάθε αντικείμενο ανήκει σε μια κλάση και έχει συγκεκριμένα χαρακτηριστικά). Π.χ. C++, Java Λογικός Προγραμματισμός (το πρόγραμμα είναι σύνολο από λογικές εκφράσεις, εφαρμογή στην τεχνητή νοημοσύνη). Π.χ. Prolog Παράλληλος Προγραμματισμός (εκμεταλλεύεται την ύπαρξη πολλών επεξεργαστών) Π.χ. Occam

11 2.3.1.2 Προγραμματιστικά Υποδείγματα (4/4)
Προγραμματιστικά Υποδείγματα (4/4)

12 2.3.1.3 Δομημένος Προγραμματισμός (1/2)
Δομημένος Προγραμματισμός (1/2) Ο Δομημένος Προγραμματισμός είναι μια πολύ δημοφιλής και διαδεδομένη μεθοδολογία στο χώρο της Πληροφορικής. Ο Δομημένος Προγραμματισμός χρησιμοποιεί: Την ιεραρχική σχεδίαση για την ανάπτυξη του αλγορίθμου που επιλύει το πρόβλημα. Τον τμηματικό προγραμματισμό για τη σχεδίαση του προγράμματος και για τη δημιουργία των ενοτήτων του. Τρεις βασικές συνιστώσες/δομές για τη συγγραφή των επιμέρους ενοτήτων που καθιστούν άσκοπη τη χρήση της εντολής GOTO (Πήγαινε).

13 2.3.1.3 Δομημένος Προγραμματισμός (2/2)
Δομημένος Προγραμματισμός (2/2) Η ιεραρχική σχεδίαση ή ανάλυση «από πάνω προς τα κάτω» χρησιμοποιεί τη στρατηγική της συνεχούς διαίρεσης του προβλήματος σε υποπροβλήματα. Ο τμηματικός προγραμματισμός υλοποιεί την ιεραρχική σχεδίαση όπου κάθε υποπρόβλημα αποτελεί ανεξάρτητη ενότητα που ονομάζεται υποπρόγραμμα. Χρησιμοποιούνται μόνο 3 βασικές αλγοριθμικές δομές δομή ακολουθίας δομή επιλογής δομή επανάληψης

14 2.3.2 Σχεδίαση και συγγραφή κώδικα (1/5)
Εργαλεία ανάπτυξης προγραμμάτων: Συντάκτης (editor). Ειδικό πρόγραμμα για τη συγγραφή του πηγαίου προγράμματος (source code) Πρόγραμμα Μετάφρασης. Μεταφράζει τον πηγαίο κώδικα σε αντικείμενο κώδικα (object code) δηλ. σε μορφή αναγνωρίσιμη και εκτελέσιμη από τον Η/Υ (εντολές γλώσσας μηχανής). Συνδέτης-Φορτωτής (Linker-Loader). Σύνδεση του αντικείμενου κώδικα με άλλα τμήματα προγράμματος (π.χ. βιβλιοθήκες) και παραγωγή του εκτελέσιμου (executable) προγράμματος

15 2.3.2 Σχεδίαση και συγγραφή κώδικα (2/5)
Πορεία συγγραφής, μεταγλώττισης και σύνδεσης προγράμματος

16 2.3.2 Σχεδίαση και συγγραφή κώδικα (3/5)
Είδη προγραμμάτων Μετάφρασης: Μεταγλωττιστές (compilers). Δέχονται στην είσοδο ένα πρόγραμμα γραμμένο σε γλώσσα υψηλού επιπέδου και παράγουν ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής. Διερμηνευτές (Interpreters). Διαβάζουν μία προς μία τις εντολές του πηγαίου προγράμματος και για καθεμία εκτελούν αμέσως μια ισοδύναμη ακολουθία εντολών μηχανής.

17 2.3.2 Σχεδίαση και συγγραφή κώδικα (4/5)
Διαδικασία μετάφρασης και εκτέλεσης προγράμματος με Διερμηνευτή και Μεταγλωττιστή

18 2.3.2 Σχεδίαση και συγγραφή κώδικα (5/5)
Είδη λαθών κατά την ανάπτυξη προγραμμάτων: Συντακτικά Λάθη. Είναι τα λάθη που εμφανίζονται κατά τη μετάφραση του προγράμματος και έχουν να κάνουν με τη μορφή και δομή της γλώσσας (π.χ. αναγραμματισμοί, σε λανθασμένη σύνταξη εντολών. Ανιχνεύονται όλα από τα προγράμματα μετάφρασης. Λογικά Λάθη. Είναι τα λάθη στη δομή και τη λογική του αλγορίθμου και εμφανίζονται κατά την εκτέλεση του προγράμματος (π.χ. λάθος πράξη, ορισμός λάθος συνθήκης). Δεν ανιχνεύονται από τα προγράμματα μετάφρασης αλλά από τον προγραμματιστή.


Κατέβασμα ppt "Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google