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

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

1 Προγραμματισμός Η/Υ Κεφάλαιο 8 Παραρτήματα Γ + Δ.

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


Παρουσίαση με θέμα: "1 Προγραμματισμός Η/Υ Κεφάλαιο 8 Παραρτήματα Γ + Δ."— Μεταγράφημα παρουσίασης:

1 1 Προγραμματισμός Η/Υ Κεφάλαιο 8 Παραρτήματα Γ + Δ

2 2 Περιεχόμενα zΑνασκόπηση - Ορισμοί zΟ κύκλος ανάπτυξης προγράμματος yΠεριγραφή προβλήματος yΑνάλυση προβλήματος yΛογικό Διάγραμμα yΨευδοκώδικας yΚωδικοποίηση yΣυντήρηση zΓλώσσες Προγραμματισμού zΑσκήσεις

3 3 Εισαγωγή zΑλγόριθμο ονομάζουμε μια ταξινομημένη ακολουθία μη διφορούμενων βημάτων που οδηγούν στη λύση ενός προβλήματος. zΠρόγραμμα ονομάζουμε την αναπαράσταση ενός ή πολλών αλγορίθμων σε μορφή κατανοητή από τον υπολογιστή zΗ διαδικασία της ανάπτυξης ενός αλγορίθμου σε συνδυασμό με τη συγγραφή ενός προγράμματος καλείται προγραμματισμός. zΤο σύνολο των γραμματικών και συντακτικών κανόνων που μας επιτρέπει να δίνουμε εντολές στον Η/Υ μέσω ενός προγράμματος καλείται γλώσσα προγραμματισμού zΗ διαδικασία που ακολουθούμε για την ανάπτυξη ενός προγράμματος καλείται κύκλος ανάπτυξης προγράμματος

4 4 Ο κύκλος ανάπτυξης προγράμματος zΟ κύκλος ανάπτυξης προγράμματος αναλύεται σε έξι βασικά βήματα: yΠεριγραφή του προβλήματος, καθορισμός απαιτήσεων, yΑνάλυση προβλήματος, προσδιορισμός της λύσης yΣχεδίαση της λύσης του προβλήματος xΑνάπτυξη αλγορίθμου xΣχεδιασμός διαγράμματος ροής xΔημιουργία ψευδοκώδικα yΚωδικοποίηση σε γλώσσα προγραμματισμού, yΈλεγχος, διόρθωση λαθών, yΣυντήρηση προγράμματος.

5 5 Περιγραφή του προβλήματος & καθορισμός απαιτήσεων zΠροσπαθούμε με απλά βήματα να απομονώσουμε και να καταγράψουμε τις πραγματικές συνιστώσες ενός προβλήματος, τοποθετώντας τις σε λογική σειρά μεταξύ τους. yΠοια είναι τα δεδομένα εισόδου; yΠοιο είναι το απτό αποτέλεσμα που πρέπει να προκύψει από την επίλυση του προβλήματος; zΑποσαφηνίζουμε τους στόχους που επιδιώκουμε να υλοποιήσουμε με αναλυτικό τρόπο προκειμένου να καταγραφεί το πλαίσιο απαιτήσεων της όλης προσπάθειας. yΜήπως οι απαιτήσεις για την επίλυση του προβλήματος καθιστούν την αυτοματοποίηση της διαδικασίας μη συμφέρουσα;

6 6 Περιγραφή του προβλήματος & καθορισμός απαιτήσεων (Παράδειγμα) STUDENTS.DAT

7 7 Περιγραφή του προβλήματος & καθορισμός απαιτήσεων (Παράδειγμα) 1.Περιγραφή Προβλήματος zΠρόβλημα: Εύρεση Φοιτητών 1ου έτους από μια λίστα zΔεδομένα Εισόδου: STUDENTS.DAT zΑποτέλεσμα: H Λίστα με τους φοιτητές του 1ου έτους. zΣτόχοι: Εξοικονόμηση μνήμης (RAM) yυποθέστε ότι υπάρχει αρκετή μνήμη για επεξεργασία μόνο μιας εγγραφής yΘυμηθείτε ότι για να επεξεργαστούμε μια εγγραφή πρέπει να ανακτηθεί (μεταφερθεί) από το δίσκο (DISK) στη μνήμη (RAM)

8 8 Ανάλυση του προβλήματος & προσδιορισμός της λύσης zΟλοκληρωμένη απεικόνιση του πλαισίου επίλυσης του προβλήματος zΣκιαγραφούμε ένα προσχέδιο της επίλυσης του προβλήματος zΕλέγχουμε αν η λύση καλύπτει τους στόχους που έχουν τεθεί και αν παράγει τα επιθυμητά δεδομένα εξόδου zΔιερευνούμε την πιθανότητα ύπαρξης περισσοτέρων λύσεων zΕπιλέγουμε τη βέλτιστη λύση με βάση τις προδιαγραφές που έχουν τεθεί

9 9 Ανάλυση του προβλήματος & προσδιορισμός της λύσης (Παράδειγμα) 2.Ανάλυση Προβλήματος zΛύση 1: 1) Άνοιξε το αρχείο. 2) Διάβασε όλες τις εγγραφές από το δίσκο στη μνήμη. 3) Βρες και τύπωσε στην οθόνη τους φοιτητές του πρώτου έτους. zΛύση 2: 1) Άνοιξε το αρχείο. 2) Διάβασε μια εγγραφή από το δίσκο στη μνήμη. 3) Αν είναι φοιτητής του πρώτου έτους τύπωσε το όνομά του. 4) Αν υπάρχει επόμενη εγγραφή, διάβασε την και μετά επανέλαβε τo βήμα 3-4. zΠοια λύση είναι καλύτερη? yΗ Λύση 2 ικανοποιεί το στόχο του προγράμματος. Χρειάζεται μόνο μια εγγραφή να βρίσκεται στην RAM

10 10 Σχεδίαση της λύσης του προβλήματος zΑνάπτυξη του αλγορίθμου επίλυσης του προβλήματος yΔημιουργία μιας ταξινομημένης ακολουθίας μη διφορούμενων βημάτων που οδηγούν στη λύση zΣχεδιασμός διαγράμματος ροής yΣχηματικός τρόπος αναπαράστασης του αλγορίθμου input

11 11 Σχεδίαση της λύσης του προβλήματος (Παράδειγμα) 3. (Α) Διάγραμμα Ροής Δεδομένων

12 12 Σχεδίαση της λύσης του προβλήματος 3. (Β) Δημιουργία ψευδοκώδικα yΑναπαράσταση του αλγορίθμου με ένα μίγμα λέξεων της Αγγλικής γλώσσας και κοινών, σε πολλές γλώσσες προγραμματισμού, εντολών open STUDENT.DAT /* Άνοιξε το αρχείο που περιέχει τη λίστα φοιτητών */ read student_info_rec /* Διάβασε τις πληροφορίες του πρώτου φοιτητή - εγγραφή */ while not EOF do /* Ξεκίνα τον κυρίως βρόχο */ if YEAR=1 then print NAME/* δομή επιλογής */ read student_info_rec /* Διάβασε τις πληροφορίες του επόμενου φοιτητή – εγγραφή */ end while close STUDENT.DAT /* Κλείσε το αρχείο εισόδου */ end /* Τέλος προγράμματος */

13 13 Κωδικοποίηση zΑξιοποιείται η διαδικασία του σχεδιασμού zΠραγματοποιείται η συγγραφή του προγράμματος σε μια γλώσσα προγραμματισμού (π.χ. C, Java, VisualBasic, κλπ). zΜέσω μεταγλωττιστή (compiler) ή μεταφραστή (interpreter) το πρόγραμμα μετατρέπεται σε γλώσσα η οποία είναι αναγνωρίσιμη από τη μηχανή. yΣτο στάδιο αυτό γίνεται ο έλεγχος συντακτικών λαθών (λάθη που οφείλονται σε λανθασμένη χρήση των κανόνων της γλώσσας προγραμματισμού)

14 14 Κωδικοποίηση (Παράδειγμα) 4. Κώδικας σε Γλώσσα Προγραμματισμού C Δημιουργείται μόνο από ένα συντακτικά ορθό κώδικα

15 15 Έλεγχος λαθών, συντήρηση προγράμματος zΈλεγχος λαθών και διόρθωση προγράμματος: yΠραγματοποιούνται συνεχείς δοκιμές προκειμένου να βεβαιωθούμε ότι το πρόγραμμα δουλεύει σωστά. yΔιορθώνονται πιθανά λογικά σφάλματα (σφάλματα που σχετίζονται με το σχεδιασμό της λύσης). xΠ.χ. if YEAR=2 then print NAME, αντί if YEAR=1 zΣυντήρηση προγράμματος: yΣυγγραφή τεκμηρίωσης yΤο λογισμικό εγκαθίσταται και ξεκινά η λειτουργία του. yΟι ανάγκες των χρηστών και η συνεχής προσαρμογή των προγραμμάτων στις νέες απαιτήσεις καθιστούν αναγκαία τη συνεχή παρακολούθηση του προγράμματος και την τροποποίηση του.

16 16 Έλεγχος λαθών (Παράδειγμα) zΕπέστρεψε το πρόγραμμα τις αναμενόμενες τιμές; yΝαι. zΤο πρόγραμμα πρέπει να ελεγχθεί και με άλλες τιμές εισόδου πριν να χρησιμοποιηθεί. zΑν βρεθούν λάθη τότε αυτά πρέπει να διορθωθούν

17 17 Γλώσσες προγραμματισμού zΓλώσσα Μηχανής- Machine Language, (Γλώσσα πρώτης γενιάς- 1940) yΕίναι η φυσική γλώσσα των Η/Υ. yΕίναι κώδικας σε δυαδική μορφή (0,1). yΔιακρίνεται για την ταχύτητα εκτέλεσης των εντολών της και τη βέλτιστη χρήση της κύριας μνήμης. yΕίναι δύσκολη στη χρήση της, στον εντοπισμό και διόρθωση τυχόν λαθών. zΣυμβολική γλώσσα -Assembly Language ( Γλώσσα δεύτερης Γενιάς - 1950-60) yΜνημονική αναπαράσταση των χαρακτήρων. yΕίναι πιο εύκολη στη γραφή και στην κατανόηση. yΗ εκτέλεσή της απαιτεί τη μετάφρασή της σε γλώσσα μηχανής μέσω των συμβολομεταφραστών (Assembler).

18 18 Γλώσσες προγραμματισμού zΓλώσσες υψηλού επιπέδου- High level Languages, (Γλώσσες τρίτης Γενιάς 1960-..) yΕννοιολογικά εμφανίζονται να βρίσκονται πιο κοντά στις ανθρώπινες γλώσσες. yΧρησιμοποιούν ένα μικρό σύνολο από αγγλικές λέξεις. yΓια να εκτελεστεί ένα τέτοιο πρόγραμμα γίνεται χρήση μεταγλωττιστών (Compilers) και των μεταφραστών ή διερμηνευτών (Interpreters). yΠαραδείγματα: Cobol, Fortran, Basic, Logo, Pascal, Ada, C.

19 19 Γλώσσες προγραμματισμού zΓλώσσες τέταρτης γενιάς - 4th Generation Languages.- 1980 -1990 yΟ προγραμματιστής δεν περιγράφει αλγορίθμους. Απλά καθορίζει τα δεδομένα και τις ενέργειες που πρέπει να γίνουν και το ίδιο το εργαλείο δημιουργεί τον κώδικα σε κάποια γλώσσα προγραμματισμού. y Αντικειμενοστρεφείς γλώσσες προγραμματισμού (Object oriented Language). Παραδείγματα: C++, Java, Visual basic. yΓλώσσες ανάπτυξης εφαρμογών τεχνητής νοημοσύνης, Π.χ LISP, PROLOG. yΓλώσσες ερωταποκρίσεων. yΓεννήτριες προγραμμάτων. yΣυστήματα διαχείρισης βάσεων δεδομένων.

20 20 Γλώσσες προγραμματισμού zΓλώσσες Πέμπτης Γενιάς (5th Generation language) - 21ος αιώνας yΗ επικοινωνία μεταξύ ανθρώπου και μηχανής γίνεται με τη βοήθεια φυσικής γλώσσας. yΧρησιμοποιούν λέξεις και συντακτικούς κανόνες της φυσικής γλώσσας. yΑναπτύσσονται τεχνικές αναγνώρισης φωνής. yΈχουν μεγάλες υπολογιστικές απαιτήσεις. yΔεν έχουν ακόμη αναπτυχθεί πρότυπα με ευρεία αποδοχή. zΌλες οι παραπάνω γλώσσες, εκτός από τη γλώσσα μηχανής, προκειμένου να γίνουν κατανοητές από τον Η/Υ πρέπει να μεταφραστούν σε γλώσσα μηχανής


Κατέβασμα ppt "1 Προγραμματισμός Η/Υ Κεφάλαιο 8 Παραρτήματα Γ + Δ."

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


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