15.1. προσδοκώμενα αποτελέσματα

Σχετικά έγγραφα
Συναρτήσεις στη Visual Basic 6.0

ΠΕΡΙΕΧΟΜΕΝΑ. Κατηγορίες λαθών Εκσφαλμάτωση Εργαλεία εκσφαλμάτωσης Χειρισμός λαθών κατά το χρόνο εκτέλεσης

ΚΕΦΑΛΑΙΑ XIII, XIV. Εκσφαλμάτωση προγράμματος - Κύκλος Ζωής Λογισμικού

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο

Στην εντολή while η επανάληψη συνεχίζεται όσο η λογική έκφραση έχει τιμή false.

Άσκηση 1 (α) Να διατυπώσετε την πιο κάτω λογική έκφραση στη Visual Basic κάνοντας χρήση μεταβλητών:

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

Υπολογιστικά Συστήματα

4. Επιλογή και Επανάληψη

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επανάληψης. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Γ3.3.Μ7 ΕΠΑΝΆΛΗΨΗ ΜΈΡΟΣ Α: ΈΝΝΟΙΕΣ ΤΙ ΕΊΝΑΙ Η VISUAL BASIC ΤΙ ΜΠΟΡΟΎΜΕ ΝΑ ΚΆΝΟΥΜΕ ΜΕ ΤΗ VISUAL BASIC ΑΝΤΙΚΕΊΜΕΝΑ: ΦΌΡΜΑ ΚΑΙ ΧΕΙΡΙΣΤΉΡΙΑ ΕΤΙΚΈΤΑ LABEL

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΟΔΗΓΙΕΣ ΔΗΜΙΟΥΡΓΙΑΣ ΕΦΑΡΜΟΓΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΑΜΕΣΟΥ ΑΡΧΕΙΟΥ ΣΕ ΠΕΡΙΒΑΛΛΟΝ VISUAL STUDIO NET

Αρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record)

ΜΑΗΣ ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Οι εντολές ελέγχου της ροής ενός προγράμματος.

Βασικές έννοιες προγραμματισμού

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ

ΛΥΚΕΙΟ ΠΑΡΑΛΙΜΝΙΟΥ ΣΧΟΛΙΚΗ ΧΡΟΝΙΑ: ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ-ΙΟΥΝΙΟΥ ΜΑΘΗΜΑ: Πληροφορική Κατεύθυνσης ΗΜΕΡΟΜΗΝΙΑ: 10/06/2014

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

Περι-γράφοντας... βρόχους

8.4. Δραστηριότητες - ασκήσεις

Γ ΓΥΜΝΑΣΙΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΗ ΓΛΩΣΣΑ MicroWorlds Pro

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΕΞΑΙΡΕΣΕΙΣ ΚΑΙ Ο ΧΕΙΡΙΣΜΟΣ ΤΟΥΣ

ΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Είσοδος Έξοδος - Μεταβλητές

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ

Αριστείδης Παλιούρας Ανακαλύψτε το Scratch 2. Στη δραστηριότητα αυτή θα μάθεις να δημιουργείς τις δικές σου εντολές.

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επιλογής. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

ΗΥ101: Εισαγωγή στην Πληροφορική

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

α. Λογικό διάγραμμα είναι η μέθοδος που χρησιμοποιεί απλά σχήματα που υποστηρίζονται με απλές λέξεις για την αναπαράσταση συγκεκριμένων λειτουργιών.

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

Λογισµικό (Software SW) Γλώσσες

Διαδικασιακός Προγραμματισμός

for for for for( . */

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2

Ευχαριστίες...xi Εισαγωγή...xiii. ΚΕΦΑΛΑΙΟ 1 Άνοιγµα και εκτέλεση ενός προγράµµατος Visual Basic.NET

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #3

ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΛΥΣΕΙΣ

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

12.1. Προσδοκώμενα αποτελέσματα

ΑΠΑΝΤΗΣΕΙΣ. H διαδικασία ανεύρεσης λογικών λαθών περιλαμβάνει : β- Σωστό. Διαπίστωση του είδους του λάθους γ- Σωστό δ- Λάθος

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΗΧΑΝΟΓΡΑΦΗΣΗ ΝΟΣΟΚΟΜΕΙΟΥ

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. β. Οι πληροφορίες είναι δεδομένα τα οποία δεν έχουν υποστεί επεξεργασία.

Εντολή If-Then-Else Σκοπός Μαθήματος

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές

Τεχνικές Προγραμματισμού και Χρήση Λογισμικού Η/Υ στις Κατασκευές

Υπολογιστικά Συστήματα

Α3. Ποια είναι τα πλεονεκτήματα του Δομημένου προγραμματισμού; (Μονάδες 10)

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου

ΕΠΛ031 - Εισαγωγή στον Προγραμματισμό

ΠΕΡΙΕΧΟΜΕΝΑ. Εντολές επιλογής Εντολές επανάληψης

Τα αντικείμενα ή Χειριστήρια και οι βασικές ιδιότητες τους (properties)

Εντολές ελέγχου ροής if, for, while, do-while

Μάριος Αγγελίδης Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου

ΣΤΗΛΗ Β ΑΠΟΤΕΛΕΣΜΑ 1. float(10) α pow(2,3) β abs(-10) γ int(5.6) δ. 10 ε. 5.6 Μονάδες 8 ΣΤΗΛΗ Α ΣΥΝΑΡΤΗΣΗ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) a= b= c= 3 read(d,e)

8 FORTRAN 77/90/95/2003

Προγραµµατισµός Η/Υ. Μέρος2

Υπολογιστικά Συστήματα

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΔΟΜΗΜΕΝΟΣ ΟΠΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΠAΡΑΘΥΡΙΚΟ ΠΕΡΙΒΑΛΛΟΝ με τη Γλώσσα Προγραμματισμού VISUAL BASIC (1 ο ΕΠΙΠΕΔΟ)

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP.

ΠΕΚ ΤΡΙΠΟΛΗΣ ΕΠΙΜΟΡΦΩΣΗ ΕΚΠ/ΚΩΝ ΠΕ19,20 ΗΜ/ΝΙΑ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό

3 ο Εργαστήριο Μεταβλητές, Τελεστές

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

ΤΡΑΠΕΖΑ ΤΗΣ ΕΛΛΑΔΟΣ ΔΙΕΥΘΥΝΣΗ ΕΠΟΠΤΕΙΑΣ ΠΙΣΤΩΤΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ

Επαναληπτικό Διαγώνισμα

Transcript:

15.1. προσδοκώμενα αποτελέσματα Τα λάθη κατά το προγραμματισμό είναι αναπόφευκτα ακόμη και από έμπειρους προγραμματιστές. Ένα πρόγραμμα πριν το παραδώσεις για παραγωγική εργασία, πρέπει να είσαι σίγουρος ότι εργάζεται σωστά και τα αποτελέσματα του είναι αυτά που περιμένεις να πάρεις. Για να σιγουρευτείς για την ποιότητα του προγράμματος σου, πρέπει να το περάσεις από τη διαδικασία του ελέγχου και με τη χρήση των εργαλείων εκσφαλμάτωσης να εντοπίσεις και να διορθώσεις τα λάθη που εμφανίζονται. Μέσα από αυτό το κεφάλαιο θα αποκτήσεις εξοικείωση με εργαλεία και έννοιες εκσφαλμάτωσης και τέλος θα γνωρίσεις τεχνικές για την αντιμετώπιση λαθών που παρουσιάζονται κατά το χρόνο εκτέλεσης ενός προγράμματος. 15.2. Επιπλέον Παραδείγματα Σε ένα πρόγραμμα διαίρεσης δύο αριθμών να δημιουργηθεί μια διαδικασία χειρισμού των πιθανών λαθών που πιθανόν να προκύψουν κατά το χρόνο εκτέλεσης. Ενδεικτικά αναφέρονται οι κωδικοί λάθους που επιστρέφει η Visual Basic σε συνηθισμένα σφάλματα που παρουσιάζονται κατά τη διαίρεση δύο αριθμών : Κωδικός Περιγραφή 11 Διαίρεση με μηδέν 13 Λάθος τύπος δεδομένων (π.χ. προσπάθεια εκτέλεσης μαθηματικής πράξης χωρίς αριθμητικά δεδομένα)

ΠεριβάΒΒον προγραμματισμού visual Basic Η εφαρμογή μας είναι ιδιαίτερα απλή και αποτελείται από τα παρακάτω γραφικά αντικείμενα: e» μια φόρμα (form) η οποία αποτελεί το παράθυρο μέσα στο οποίο θα εκτελείται η εφαρμογή, e» τρία πλαίσια κειμένου, σε δύο από τα οποία ο χρήστης θα πληκτρολογεί τους α ριθμούς και στο τρίτο θα εμφανίζεται το αποτέλεσμα της διαίρεσης, <ζ> δύο πλήκτρα εντολής για την εκτέλεση της διαίρεσης και τον τερματισμό της ε φαρμογής. Στις ιδιότητες των αντικειμένων της εφαρμογής αποδίδουμε τις παρακάτω τιμές: Αντικείμενο Ιδιότητα Τιμή Φόρμα Πλήκτρο εντολής 1 Πλήκτρο εντολής 2 Πλαίσιο κειμένου 1 Πλαίσιο κειμένου 2 Πλαίσιο κειμένου 3 Ετικέτα 1 Ετικέτα 2 Ετικέτα 3 BackColor Locked FrmMain Παράδειγμα χειρισμού λαθών κατά το χρόνο εκτέλεσης CmdDiv Διαίρεση CmdEnd Τέλος TxtNuml (κενό) TxtNum2 (κενό) TxtNum3 &Η80000018& (Tooltip) (κενό) True LblNuml Αριθμός 1 LblNum2 Αριθμός 2 LblNum4 Αποτέλεσμα Μετά την τοποθέτηση των αντικειμένων και την αντιστοίχηση των ιδιοτήτων έ χουμε ολοκληρώσει τη φόρμα του παραδείγματος (Σχήμα13. 1).

Εκσφαλμάτωση προγράμματος Παράδειγμα χειρισμού ϋαθών κατά την εκτέλεση ΗΙΪΙΙ 1. Σχ. 13.1. Η φόρμα του παραδείγματος. Η ανίχνευση των λαθών κατά το χρόνο εκτέλεσης γίνεται με ειδικές εντολές που παγιδεύουν και κωδικοποιούν το λάθος που παρουσιάστηκε. Η εντολή ανίχνευσης τοποθετείται στην αρχή της διαδικασίας που θέλουμε να πραγματοποιούμε τον έ λεγχο λαθών και παραμένει ενεργή όσο εκτελείται η διαδικασία. Στη Visual Basic η εντολή ανίχνευσης λάθους κατά το χρόνο εκτέλεσης είναι η : On Error Goto labell: Μόλις ένα λάθος ανιχνευτεί η εντολή κατευθύνει τη ροή εκτέλεσης στο τμήμα της διαδικασίας που έχει την ετικέτα labell. Στο τμήμα αυτό τοποθετούμε τις εντολές χειρισμού του λάθους. Μόλις ελέγξουμε το λάθος, αν είναι δυνατόν το διορθώνουμε προγραμματιστικά ή ενημερώνουμε το χρήστη για να εκτελέσει τις απαραίτητες ενέργειες ώστε να αντιμετωπιστεί. Στη συνέχεια πρέπει να συνεχιστεί η εκτέλεση του προγράμματος, γι αυτό συνήθως αν διορθωθεί το λάθος επαναφέρουμε τη ροή εκτέλεσης της εφαρμογής στο σημείο που εμφανίστηκε, διαφορετικά το α γνοούμε και μεταφέρουμε τη ροή εκτέλεσης στην αμέσως επόμενη εντολή. Τέλος σε περίπτωση που το λάθος δεν διορθώνεται και δεν επιτρέπει τη συνέχεια της εκτέλεσης του προγράμματος, τερματίζουμε τη ρουτίνα κώδικα που περιέχει την εντολή λάθους. Η Visual Basic παρέχει τις παρακάτω εντολές για την επαναφορά της ροής εκτέλεσης του προγράμματος μετά το χειρισμό του λάθους : e» Resume: επαναφέρει τη ροή εκτέλεσης του προγράμματος στην εντολή που προκάλεσε το λάθος ο Resume Next: επαναφέρει τη ροή εκτέλεσης προγράμματος στην εντολή που ακολουθεί αυτή που προκάλεσε το λάθος

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Στο φόρμα του παραδείγματος, εσκεμμένα δεν κάνουμε κανένα έλεγχο στα δεδομένα που εισάγει ο χρήστης για να είναι δυνατή η πρόκληση λαθών κατά το χρόνο ε κτέλεσης. Σε μια πραγματική εφαρμογή, πρέπει να ορίσουμε κανόνες εγκυρότητας στη διεπαφή χρήστη, όπως τη δυνατότητα εισαγωγής μόνο αριθμητικών δεδομένων στα πλαίσια κειμένου του διαιρετέου και του διαιρέτη και επιπλέον στο δεύτερο πλαίσιο να μην επιτρέπουμε την εισαγωγή μηδενικής τιμής. Το τελευταίο βήμα που πρέπει να εκτελέσουμε για να ολοκληρωθεί ο σχεδιασμός της εφαρμογής είναι η προσθήκη των εντολών κώδικα: Private Sub CmdDiv_Click() On Error GoTo Errorhandler: Text.TxtNum3 = Text.TxtNuml / Text.TxtNum2 Exit Sub λ Έξοδος από τη διαδικασία Errorhandler: If Err.Number = 11 Then ' Διαίρεση με μηδέν Dim Response As String λ Εμφάνιση πλαισίου διαλόγου για την αντικατάσταση του διαιρέτη Response = InputBox("Δεν είναι δυνατή η διαίρεση με το μηδέν. Αντικαταστήστε τον δεύτερο αριθμό. ") Text.TxtNum2 = Response Text.TxtNum2.SetFocus Λ Μεταφορά της ροής εκτέλεσης του προγράμματος στην εντολή εμφάνισης λάθους Resume Elself Err.Number = 13 Then λ Αάθος τύπος δεδομένων MsgBox "Εχετε πληκτρολογήσει λάθος δεδομένα στα πλαίσια κε ιμένου" Text.TxtNuml = "" Text.TxtNum2 = "" TxtNuml.SetFocus Exit Sub x Εξοδος από τη διαδικασία Else ' Εμφάνιση πλαισίου διαλόγου με κωδικό και περιγραφή λάθους MsgBox Err.Number & " " & Err.Description Resume Next λ Επαναφέρει τη ροή εκτέλεσης προγράμματος στην εντολή που ακολουθεί αυτή που προκάλεσε το λάθος από τη διαδικασία End If End Sub Private Sub CmdEnd_Click() End End Sub Η συνάρτηση InputBox εμφανίζει όπως και η MsgBox ένα προκαθορισμένο πλαίσιο διαλόγου, με τη διαφορά ότι περιέχει και ένα πλαίσιο κειμένου που επιτρέπει στο χρήστη να περάσει αλφαριθμητικά δεδομένα στη εφαρμογή. Η σύνταξη της είναι :

ΙηρυίΒοχ(μήνυμα [, τίτλος πλαισίου] [, προκαθορισμένη επιλογή] [, χ συντεταγμένη] [, y συντεταγμένη] [, αρχείο βοήθειας, δείκτης αρχείου]) Σε ένα πρόγραμμα την InputBox πρέπει να την αντιστοιχήσουμε σε κάποια αλφαριθμητική μεταβλητή που θα δεχτεί τα δεδομένα. Η μεταβλητή θα δεχτεί τα περιεχόμενα του πλαισίου κειμένου όταν ο χρήστης επιλέξει το πλήκτρο επικύρωσης, ενώ αν επιλέξει το πλήκτρο Ακύρωσης θα δεχτεί ως τιμή ένα αλφαριθμητικό μηδενικού μήκους "". Στη τμήμα κώδικα που χειρίζεσαι το λάθος, να μην περιορίζεις τον έλεγχο στα λάθη που προβλέπεις κατά το χρόνο σχεδιασμού. Να συμπεριλαμβάνεις πάντοτε εντολές που χειρίζονται απρόβλεπτα λάθη. Στο παράδειγμα μας όταν εμφανιστεί κάποιο απρόβλεπτο λάθος, εμφανίζουμε αντίστοιχα το κωδικό και την περιγραφή του με τις ιδιότητες Number και Description του ειδικού αντικειμένου Err της Visual Basic και τερματίζουμε την εκτέλεση της διαδικασίας. Το ειδικό αντικείμενο Err της Visual Basic περιέχει πληροφορίες για τα λάθη που ανιχνεύονται κατά το χρόνο εκτέλεσης από το περιβάλλον προγραμματισμού. Στην διαδικασία γεγονότος πριν από την ετικέτα του τμήματος κώδικα που περιέχει τις εντολές χειρισμού λάθους πρέπει να τοποθετήσουμε μια εντολή εξόδου γιατί διαφορετικά οι εντολές χειρισμού λάθους θα εκτελούνται συνεχώς. Σχ. 13.2. Η εκτέλεση του παραδείγματος και ο εντοπισμός λάθους. Περιβάααον προγραμματισμού Delphi program Errsl; uses Forms, Errl in 'Errl.pas' {Forml}; {$R *.RES) Application.Initialize; Application.CreateForm(TForml, Forml);

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Application.Run; end. unit Errl; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForml = class(tform) TxtNuml: TEdit; TxtNum2: TEdit; TxtNum3: TEdit; CmdDiv: TButton; CmdEnd: TButton; LblNuml: TLabel; LblNum2: TLabel; LblNum3: TLabel; procedure CmdDivClick(Sender: TObject); procedure CmdEndClick(Sender: TObject); private { Private declarations } public { Public declarations } var Forml: TForml; implementation {$R *.DFM} procedure Messagel; ShowMessage( λ Δεν είναι δυνατή η διαίρεση με το μηδέν. Αντικαταστήστε τον δεύτερο αριθμό.'); Forml.TxtNum2.SetFocus; procedure Message2; ShowMessage('Εχετε πληκτρολογήσει λάθος δεδομένα στα πλαίσια κειμένου'); Forml.TxtNuml.Text := λ ' ; Forml.TxtNum2.Text := w ; Forml.TxtNuml.SetFocus; procedure TForml.CmdDivClick(Sender: TObject); var Num3 : Real; try Num3 := StrToInt(TxtNuml.Text) / StrToInt(TxtNum2.Text); TxtNum3.Text := Format ( y %f, [Num3] );

Εκσφαλμάτωση προγράμματος 7*9 except on EZeroDivide do Messagel; on EConvertError do Message2; procedure TForml.CmdEndClick(Sender: TObject); close; end. 15.5. Συμβουλές υποδείξεις Όταν σχεδιάζεις μια εφαρμογή, φρόντισε να είσαι προσεκτικός και προσπάθησε να προβλέπεις όλες τις δυνατές καταστάσεις που θα δημιουργήσουν πρόβλημα κατά το χρόνο εκτέλεσης. Αν είναι δυνατόν ακολούθησε τους παρακάτω κανόνες εκσφαλμάτωσης : ο Κατά τον έλεγχο ενός προγράμματος να χρησιμοποιείς δεδομένα που θα καλύπτουν όλο το εύρος των δυνατών τιμών. Για παράδειγμα όταν θέλεις να δοκιμάσεις τη συμπεριφορά μιας μεταβλητής που δέχεται τιμές σε συγκεκριμένο όριο, μην ελέγχεις μόνο τις ακραίες αλλά και τις ενδιάμεσες τιμές. ί» Μάθε σωστά τα εργαλεία εκσφαλμάτωσης πριν αρχίσεις να προγραμματίζεις σε κάποιο προγραμματιστικό περιβάλλον. c» Όταν το πρόγραμμα σου δεν παράγει τα αναμενόμενα αποτελέσματα, εκτέλεσε το βήμα προς βήμα και μελέτησε τον κώδικα. Στις εντολές που πιθανόν να προκαλούν το πρόβλημα τοποθέτησε σημεία διακοπής. Χρησιμοποίησε εκφράσεις ελέγχου σε κρίσιμες μεταβλητές και εκφράσεις και παρακολούθησε πως μετατρέπονται τα περιεχόμενα τους. e» Στα σημεία που θα διακοπεί η εκτέλεση της εφαρμογής παρακολούθησε τις τιμές των εκφράσεων ελέγχου. Αν νομίζεις εκτέλεσε άμεσα κάποια εντολή κώδικα από την διαδικασία άμεσης εκτέλεσης για την αλλαγή της ροής εκτέλεσης της εφαρμογής e» Κατά την εκσφαλμάτωση προσπάθησε να προκαλέσεις όλα τα πιθανά λάθη του χρήστη ή του συστήματος για να παρατηρήσεις τη συμπεριφορά του προγράμματος σου. Η πρόκληση λαθών μπορεί να γίνει και με ειδικές εντολές κώδικα που προσφέρει κάθε προγραμματιστικό περιβάλλον. α> Όταν αρχίσεις να γράφεις διαδικασίες χειρισμού λαθών θα παρατηρήσεις ότι τις περισσότερες φορές επαναλαμβάνεις τους ίδιους ελέγχους για την αντιμετώπιση παρόμοιων καταστάσεων. Δημιούργησε γενικές διαδικασίες χειρισμού λαθών και χρησιμοποίησε τις από διαφορετικά σημεία του προγράμματος. s* Όταν κατά το χρόνο εκτέλεσης ενός προγράμματος, ανιχνευτεί κάποιο λάθος, φρόντισε όπου είναι απαραίτητο να εμφανίζονται προς το χρήστη κατανοητά μηνύματα και οδηγίες για το χειρισμό του.

Ανάπτυξη εφαρμογών σε προγραμματιστικό»» ν ^;fe'»&o : ; ::: '*; : περιβάλλον 15.4. Δραστηριότητες ασκήσεις Στην τάξη ΔΤ1. Αναφέρατε παραδείγματα λαθών που μπορεί να προκύψουν κατά το χρόνο ε κτέλεσης ενός προγράμματος. ΔΤ2. Αναφέρατε περιπτώσεις που είναι δυνατό να χρησιμοποιήσετε εργαλεία εκσφαλμάτωση ς. ΔΤ3. Περιγράψτε τις ενέργειες που θα συμπεριλαμβάνατε σε μια διαδικασία χειρισμού λάθους κατά το χρόνο εκτέλεσης. Στο εργαστήριο Στο προγραμματιστικό περιβάλλον του εργαστηρίου του σχολείου σου: ΔΕ1. Σε κάποιο πρόγραμμα που επιλύθηκε στο κεφάλαιο 11, κάνε μια επίδειξη των εργαλείων εκσφαλμάτωσης που προσφέρει το προγραμματιστικό περιβάλλον σου. ΔΕ2. Υλοποίησε μια διαδικασία χειρισμού λαθών για τις περιπτώσεις λαθών που πιθανόν να προκύψουν κατά την εγγραφή ενός αρχείου σε δισκέτα. Στο σπίτι Στο τετράδιο σας αντιμετωπίστε τα παρακάτω προβλήματα. $ ΔΣ1. Περιγράψτε τις πιθανές περιπτώσεις λάθους που μπορεί να προκύψουν κατά το χρόνο εκτέλεσης ενός προγράμματος αντιγραφής αρχείων και δημιούργησε γι αυτά μια διαδικασία χειρισμού λαθών. ΔΣ2. Στο παραπάνω πρόβλημα διαχώρισε τα πιθανά λάθη που μπορεί να προκαλέσει ο χρήστης από τα λάθη που μπορεί να προκληθούν από το σύστημα.

Εκσφαλμάτωση προγράμματος 15.5. Τεστ αυτοαξιοηόγησης 1. ρακτήρισετα παρακάτω σαν σοκ Τα λογικά λάθη δεν είναι δυνατό να ανιχνευτούν σε ένα πρόγραμμα. 2. Με τις εκφράσεις ελέγχου παρατηρούμε τις τιμές των μεταβλητών και των εκφράσεων κατά τη δοκιμαστική εκτέλεση ενός προγράμματος. Ένα εργαλείο εκσφαλμάτωσης χειρίζεται κάποιο λάθος που θα παρουσιαστεί κατά το χρόνο εκτέλεσης της εφαρμογής. Η λάθος σύνταξη μιας εντολής προγράμματος θα αντιμετωπιστεί μέσα από μια διαδικασία χειρισμού λάθους. Ο μηχανισμός ανίχνευσης λαθών μόλις ανιχνεύσει κάποιο λάθος επιστρέφει στο πρόγραμμα έναν αναγνωρίσιμο κωδικό. t\p^f fil/y in?t iff ΙΙΓΤ/ΥΛΙΙ ',νόμενω 6. Λάθη κατά το χρόνο εκτέλεσης: Α. καταστροφή αρχείου Β. λάθος σύνταξη εντολής Γ. διαίρεση με μηδέν Δ. εσφαλμένη εισαγωγή δεδομένων Ε. εκφράσεις ελέγχου 7. Εργαλεία εκσφαλμάτωσης : Α. εκφράσεις ελέγχου Β. σημεία διακοπής Γ. δομές ελέγχου Δ. μεταβλητές Ε. ιχνηλάτιση Συμπλήρωσε τα κενά με τη σωστή λέξη που λείπει 8. Ένα λάθος παράγει ανεπιθύμητα αποτελέσματα και μπορεί να ανιχνευτεί μόνο με την ανάλυση των αποτελεσμάτων του προγράμματος. 9. Τα λάθη κατά το χρόνο ανιχνεύονται από το μεταγλωτιστή της γλώσσας προγραμματισμού. 10. Η διαδικασία ελέγχου, εντοπισμού και διόρθωσης λαθών καλείται