Μάθημα : Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον - Πληροφορική Γ' Λυκείου

Κωδικός : EL933100

EL933100  -  ΜΑΡΑΓΚΟΣ ΙΩΑΝΝΗΣ

Εκσφαλμάτωση Προγράμματος (Debugging)

Ερώτηση 1 (Αντιστοίχιση — 10 βαθμοί) 

Να αντιστοιχίσετε κάθε Λάθος (Bug) με την Κατηγορία στην οποία ανήκει.
Στήλη Α Κάντε την αντιστοιχία Στήλη B
1. Μη Έγκυρο Όνομα Μεταβλητής.
A. Συντακτικό Λάθος (Syntax Error)
2. Άπειρο Loop.
B. Λάθος Αντικανονικού Τερματισμού (RunTime Error)
3. Ανοιχτές Παρενθέσεις.
C. Λογικό Λάθος (Logical Error)
4. Διαίρεση με το Μηδέν.
 
5. Μη Αρχικοποίηση Μεταβλητής.
 
6. Χρήση Μεταβλητών χωρίς Δήλωση.
 
7. Πρόσβαση εκτός ορίων ενός Πίνακα.
 
8. Εκχώρηση λάθος Τύπου Δεδομένων σε Μεταβλητή.
 
9. Κλήση Συνάρτησης με λιγότερα Ορίσματα από αυτά που έχει δηλωθεί.
 
10. Κλήση Διαδικασίας με Πραγματικές Παραμέτρους διαφορετικού Τύπου από τις Τυπικές Παραμέτρους.
 

Ερώτηση 2 (Συμπλήρωση Κενών (Χαλαρή Ταυτοποίηση) — 25 βαθμοί) 

Να συμπληρώσετε τα κενά στις παρακάτω προτάσεις, σχετικά με την Εκσφαλμάτωση Προγράμματος.
Τα λάθη κατά τον χρόνο προκαλούνται κυρίως από λανθασμένη εντολών του προγράμματος και ονομάζονται . Τέτοια λάθη μπορεί να είναι η λανθασμένη συγγραφή μιας λέξης της γλώσσας προγραμματισμού, η λανθασμένη δήλωση τύπου δεδομένων μίας , η χρήση ενός μη αποδεκτού μεταβλητής καθώς και η χρήση μιας δομής ελέγχου χωρίς την εντολή της.
Ένα λάθος που προκαλείται κατά τη του προγράμματος ανιχνεύεται από τον , ο οποίος εμφανίζει προς τον προγραμματιστή κάποιο προειδοποιητικό . Αν το πρόγραμμα περιέχει ένα λάθος αυτής της μορφής, δεν επιτρέπεται η του, μέχρι να το διορθώσει ο .
Τα λάθη που προκαλούνται κατά τον χρόνο του προγράμματος είναι πιο επώδυνα γιατί συνήθως εμφανίζονται σε πραγματικό περιβάλλον εκτέλεσης και τις περισσότερες φορές προκαλούν τον αντικανονικό της εφαρμογής και το κρέμασμα (crash) του . Τέτοια λάθη (run-time errors) προκύπτουν όταν προσπαθούμε να διαιρέσουμε έναν αριθμό με το , όταν βγαίνουμε εκτός ενός πίνακα ή όταν κατά την ανάγνωση ενός εισάγουμε κατά λάθος ένα γράμμα.
Τα λογικά λάθη είναι συνήθως λάθη και δεν προκαλούν τη της εκτέλεσης του προγράμματος. Η τέτοιων λαθών δεν είναι δυνατό να πραγματοποιηθεί από κάποιο του υπολογιστή. Συνεπώς, τα λογικά λάθη διαπιστώνονται μόνο με τη διαδικασία δοκιμαστικών για συγκεκριμένες τιμές και την ανάλυση των των προγραμμάτων.

Ερώτηση 3 (Συμπλήρωση Κενών (Χαλαρή Ταυτοποίηση) — 23 βαθμοί) 

Να συμπληρώσετε τα κενά στις παρακάτω προτάσεις, που αφορούν την μέθοδο Ελέγχου Μαύρου Κουτιού.
Κατά το στάδιο της ενός προγράμματος, πολύ συχνά πραγματοποιούνται ανασκοπήσεις από ομάδες προγραμματιστών με τη χρήση ελέγχου, με σκοπό τον των πιο συνηθισμένων λαθών.
Ένα σενάριο (test case) περιγράφει τα δεδομένα ολόκληρου του προγράμματος ή τμήματός του (υποπρόγραμμα) καθώς και τα αναμενόμενα αυτού. Τα σενάρια ελέγχου εκτελούνται, είτε σε περιβάλλον προγραμματισμού είτε με δημιουργία πίνακα των μεταβλητών.
Ο έλεγχος μαύρου (black-box testing), ονομάζεται έτσι επειδή τα δεδομένα εισόδου στα ελέγχου προκύπτουν από τις του προγράμματος, αγνοώντας εντελώς τον . Ιδανικά θα θέλαμε να ελέγξουμε τις τιμές εισόδου και όλα τα αποτελέσματα. Επειδή όμως αυτό είναι αδύνατο, προσπαθούμε να βρούμε τιμές για τα δεδομένα εισόδου που θα παράγουν αντιπροσωπευτικά .
Το πρώτο βήμα είναι η δημιουργία διαστημάτων τιμών (equivalence partitioning) για τα δεδομένα . Είναι σημαντικό να δημιουργούνται και για τις μη έγκυρες τιμές εισόδου, καθώς δεν μπορούμε να είμαστε σίγουροι ότι ένα πρόγραμμα θα τροφοδοτείται μόνο με τιμές.
Μετά τον καθορισμό των διαστημάτων πρέπει να επιλεγούν για τα σενάρια ελέγχου που να καλύπτουν όλα τα διαστήματα. Αφού τα διαστήματα είναι ισοδύναμα, μπορεί να επιλεγεί οποιαδήποτε τιμή από κάθε . Ωστόσο, μία καλύτερη στρατηγική είναι να γίνει έλεγχος των τιμών κάθε διαστήματος (boundary value analysis).

Ερώτηση 4 (Συμπλήρωση Κενών (Χαλαρή Ταυτοποίηση) — 14 βαθμοί) 

Να συμπληρώσετε τα κενά στις παρακάτω προτάσεις, σχετικά με την Εκσφαλμάτωση Προγράμματος στις Δομές Επανάληψης, του Πίνακες και τα Υποπρογράμματα.
Κατά την εκσφαλμάτωση των δομών επανάληψης χρειάζεται να δίνετε προσοχή στα εξής: 1) στους συγκριτικούς και τους τελεστές των συνθηκών επανάληψης ή , 2) στην πριν την επανάληψη και στην της συνθήκης εντός του βρόχου, 3) στο κριτήριο της , 4) στην επανάληψη και στην περίπτωση που ο βρόχος επανάληψης δεν πρέπει να εκτελεστεί ούτε μία , καθώς και στην επανάληψη.
Κατά την εκσφαλμάτωση προγραμμάτων που χρησιμοποιούν πίνακες χρειάζεται να δίνετε ιδιαίτερη προσοχή: 1) στο των πινάκων κατά τη δήλωσή τους, 2) στους των πινάκων κατά την προσπέλασή τους, 3) στη μη υπέρβαση των του πίνακα.
Κατά την εκσφαλμάτωση προγραμμάτων που χρησιμοποιούν υποπρογράμματα χρειάζεται να δίνεται προσοχή στα εξής: 1) την του υποπρογράμματος και το πέρασμα των , 2) την αντιστοίχιση πραγματικών και παραμέτρων.