Κεφάλαιο 6
Έλεγχος αλγορίθμων
Διαδικασίες τερματισμού αλγορίθμων.
Ο σωστός αλγόριθμος πρέπει να έχει πάντα αρχή και τέλος.
Μερικές φορές μπορεί να διακοπεί απρόοπτα η εκτέλεση του αλγορίθμου. Σε κάθε περίπτωση όμως, πρέπει να οδηγεί στο ένα και μοναδικό σημείο τερματισμού του αλγορίθμου. Μερικές γλώσσες προσφέρουν εργαλεία που διακόπτουν την εκτέλεση του προγράμματος με σκοπό τον έλεγχο κάποιου σημείου. Ωστόσο, πρέπει να αποφεύγονται με δεδομένο ότι το πρόγραμμα πρέπει να συντηρείται εύκολα, να είναι κατανοητό και ευανάγνωστο.
2
1/11/2013
Κέρος Α. Ιωάννης
Δοκιμή αλγορίθμου – Εντοπισμός λαθών. Ορισμός: Δοκιμή αλγορίθμου είναι ο έλεγχος του αλγορίθμου για να διαπιστωθεί η ορθότητα των αποτελεσμάτων του. Για να ελέγξουμε έναν αλγόριθμο, εκτελούμε τα παρακάτω βήματα: Καταγράφουμε εικονικά δεδομένα σύμφωνα με τις απαιτήσεις τους προβλήματος. Εξάγουμε τα αποτελέσματα σύμφωνα με τα βήματα του αλγορίθμου με χειρογραφικό τρόπο. Κωδικοποιούμε τον αλγόριθμο σε μία γλώσσα προγραμματισμού. Εκτελούμε το πρόγραμμα σε Η/Υ και καταγράφουμε τα αποτελέσματα.
Συγκρίνουμε τα χειρογραφικά και τα αποτελέσματα από την εκτέλεση του προγράμματος.
Εάν διαφέρουν, αναγνωρίζουμε την υποψία λογικών λαθών ….
3
1/11/2013
Κέρος Α. Ιωάννης
Εκσφαλμάτωση του προγράμματος. Ορισμός: Η εκσφαλμάτωση του προγράμματος είναι η διαδικασία εντοπισμού των λογικών λαθών του και η διόρθωση τους. Περιλαμβάνει τα παρακάτω βήματα:
Διαπίστωση του είδους του λάθους. Εύρεση του ανεξάρτητου τμήματος του αλγορίθμου που εκτελεί την λανθασμένη λειτουργία. Εύρεση του λάθους μέσα σε αυτό το ανεξάρτητο τμήμα.
4
1/11/2013
Κέρος Α. Ιωάννης
Έλεγχος δεδομένων. Πρωταρχικός παράγοντας επιτυχίας της δοκιμής ενός αλγορίθμου είναι η σωστή επιλογή των δεδομένων του.
Μπορεί αυτά που διαλέξαμε να μην ανταποκρίνονται σε όλο το εύρος των τιμών (σε ένα μερικό παράδειγμα και όχι σε ένα γενικό). Πρέπει να διαλέγουμε δεδομένα από διαφορετικά παραδείγματα ώστε να καλύψουμε όλα τα πραγματικά. Η διαδικασία αυτή καλείται Έλεγχος Δεδομένων.
5
1/11/2013
Κέρος Α. Ιωάννης
Αξιολόγηση αλγορίθμων. Η αξιολόγηση ενός αλγορίθμου γίνεται με βάση κάποια κριτήρια, των οποίων η επιλογή δεν είναι εύκολη υπόθεση (εξαρτώνται από την γλώσσα προγραμματισμού που ια επιλέξουμε). Σε γενικές γραμμές τα πιο συνηθισμένα κριτήρια είναι: Δυνατότητα ελαχιστοποίησης κόστους ελέγχου ορθότητας του. Δυνατότητα για εύκολη συντήρηση, αλλαγές και επεκτάσεις.
Δυνατότητα για εύκολη ανάπτυξη σε μια γλώσσα προγραμματισμού. Επίδοση (χρόνος εκτέλεσης). Απασχόληση μνήμης και πόρων.
6
Όχι στις εμπορικές εφαρμογές, λόγω πολύ ισχυρού hardware που διαθέτουμε πλέον. 1/11/2013 Κέρος Α. Ιωάννης