13. ÅêóöáëìÜôùóç ðñïãñüììáôïò

Σχετικά έγγραφα
ÓÕÍÄÕÁÓÔÉÊÇ É, ÓÅÐÔÅÌÂÑÉÏÓ ÏÌÁÄÁ ÈÅÌÁÔÙÍ B

ÓÕÍÄÕÁÓÔÉÊÇ É, ÓÅÐÔÅÌÂÑÉÏÓ ÏÌÁÄÁ ÈÅÌÁÔÙÍ Á

ÌÅÑÏÓ 3 ΥΠΗΡΕΣΙΕΣ ΥΠΟΣΤΗΡΙΞΗΣ ΤΗΣ ΚΛΙΝΙΚΗΣ ΠΡΑΞΗΣ ÁÐÁÉÔÇÓÅÙÍ ÕÐÇÑÅÓÉÙÍ. Υπηρεσίες Ιατρικής Πληροφορικής και Τηλεϊατρικής 9 ÂÁÓÉÊÅÓ ÊÁÔÅÕÈÕÍÓÅÉÓ

ιαδικασία åãêáôüóôáóçò MS SQL Server, SingularLogic Accountant, SingularLogic Accountant Ìéóèïäïóßá

ÊåöÜëáéï 4 ÄÉÁÍÕÓÌÁÔÁ. 4.1 ÅéóáãùãÞ (ÃåùìåôñéêÞ)

Ó ÅÄÉÁÓÌÏÓ - ÊÁÔÁÓÊÅÕÇ ÓÔÏÌÉÙÍ & ÅÉÄÉÊÙÍ ÅÎÁÑÔÇÌÁÔÙÍ ÊËÉÌÁÔÉÓÌÏÕ V X

16. ÌåëÝôç ôùí óõíáñôþóåùí y=çìx, y=óõíx êáé ôùí ìåôáó çìáôéóìþí ôïõò.

Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Εισαγωγή. Μεταγλωττιστές. Νίκος Παπασπύου, Κωστής Σαγώνας

ÄéáêñéôÝò êáé óõíå åßò ôõ áßåò ìåôáâëçôýò ÁóêÞóåéò

3.1 Íá âñåèåß ôï ðåäßï ïñéóìïý ôçò óõíüñôçóçò f: 4 x. (iv) f(x, y, z) = sin x 2 + y 2 + 3z Íá âñåèïýí ôá üñéá (áí õðüñ ïõí): lim

ÊåöÜëáéï 3 ÏÑÉÆÏÕÓÅÓ. 3.1 ÅéóáãùãÞ

B i o f l o n. Ãéá åöáñìïãýò ìåôáöïñüò çìéêþí

Cel animation. ÅöáñìïãÝò ðïëõìýóùí

( ) ξî τέτοιο, + Ý åé ìßá ôïõëü éóôïí ñßæá óôï äéüóôçìá ( ) h x =,να δείξετε ότι υπάρχει ( α,β) x ΕΦΑΡΜΟΓΕΣ ΣΤΙΣ ΠΑΡΑΓΩΓΟΥΣ

Üóêçóç 15. ÕëéêÜ - åîáñôþìáôá äéêôýïõ ðåðéåóìýíïõ áýñá êáé ðíåõìáôéêýò óõóêåõýò

3524 ÅÖÇÌÅÑÉÓ ÔÇÓ ÊÕÂÅÑÍÇÓÅÙÓ (ÔÅÕ ÏÓ ÄÅÕÔÅÑÏ)

ΕΛΕΝΗ ΓΕΡΟΥΛΑΝΟΥ. Εικονογράφηση ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ ΓΙΑ ΠΑΙΔΙΑ ΝΗΠΙΑΓΩΓΕΙΟΥ ΛΗΔΑ ΒΑΡΒΑΡΟΥΣΗ ΕΚΔΟΣΕΙΣ ΠΑΠΑΔΟΠΟΥΛΟΣ

ÅÍÏÔÇÔÁ 6ç ÑÏÍÏÓ-ÄÉÁÄÏ Ç

¼ñãáíá Èåñìïêñáóßáò - ÓõóêåõÝò Øõêôéêþí Ìç áíçìüôùí

: Ï ðáñþí ïäçãüò åîçãåß ôïí ôñüðï ñþóçò ðñïáéñåôéêþí åîùôåñéêþí óõóêåõþí ìå ôïí õðïëïãéóôþ.

Ç íýá Ýííïéá ôïõ ýðíïõ!

9. ÁíÜðôõîç ðñïãñáììüôùí ìå ñïíéêýò ëåéôïõñãßåò.

ÓÕÍÈÇÊÇ ÁÌÅÔÁÈÅÔÏÔÇÔÁÓ ÓÕÓÔÇÌÁÔÏÓ ÔÏÉ ÙÌÁÔÙÍ ÐÁÑÁÑÔÇÌÁ Â

Áóõìðôùôéêïß Óõìâïëéóìïß êáé Éåñáñ ßá ÓõíáñôÞóåùí

2.4 ñçóéìïðïéþíôáò ôïí êáíüíá áëõóßäáò íá âñåèåß ç dr

Κίνδυνοι στο facebook WebQuest Description Grade Level Curriculum Keywords

Estimation Theory Exercises*

Τυπικές Γλώσσες. Μεταγλωττιστές. (μέρος 1ο) Νίκος Παπασπύου, Κωστής Σαγώνας

ÏñãÜíùóç ÐñïãñÜììáôïò

Ìáèáßíïõìå ôéò áðïäåßîåéò

Microfocus NetExpress

1. Íá ëõèåß ç äéáöïñéêþ åîßóùóç (15 ìïí.) 2. Íá âñåèåß ç ãåíéêþ ëýóç ôçò äéáöïñéêþò åîßóùóçò (15 ìïí.)

ÐïëëÝò åôáéñßåò ðñïóöýñïõí õðçñåóßåò

Συντακτική ανάλυση. Μεταγλωττιστές. (μέρος 3ον) Νίκος Παπασπύου, Κωστής Σαγώνας

µµ Setup : µ 2005

245/Á/1977). 2469/1997 (ÖÅÊ 36/Á/1997). 1484/Â/ ).

: Ï ïäçãüò áõôüò ðåñéãñüöåé ôïí ôñüðï ñþóçò êáñôþí åîùôåñéêþí ìýóùí.

: Ï ïäçãüò áõôüò åîçãåß ôïí ôñüðï áíôéêáôüóôáóçò êáé áíáâüèìéóçò ôçò ìíþìçò óôïí õðïëïãéóôþ.

ÊåöÜëáéï 5 ÄÉÁÍÕÓÌÁÔÉÊÏÉ ÙÑÏÉ. 5.1 ÅéóáãùãÞ. 56 ÊåöÜëáéï 5. ÄÉÁÍÕÓÌÁÔÉÊÏÉ ÙÑÏÉ

Íá èõìçèïýìå ôç èåùñßá...

: Ï ïäçãüò áõôüò ðåñéãñüöåé ôïí ôñüðï ñþóçò êáñôþí åîùôåñéêþí ìýóùí ìå ôïí õðïëïãéóôþ.

: Ï ïäçãüò áõôüò åîçãåß ôïí ôñüðï áíôéêáôüóôáóçò êáé áíáâüèìéóçò ôçò ìíþìçò óôïí õðïëïãéóôþ.

: Ï ïäçãüò áõôüò åîçãåß ôïí ôñüðï áíôéêáôüóôáóçò êáé áíáâüèìéóçò ôçò ìíþìçò óôïí õðïëïãéóôþ.

> ÁíáãåíÝò óôüäéï (ðïëý ìåãüëç äéüñêåéá) Ôï áíáãåíýò åßíáé ôï óôüäéï ôçò áíüðôõîçò. Ç ôñß á áñ ßæåé íá ãåííéýôáé êáé ðïëý ãñþãïñá ðáßñíåé ôçí ïëïêëçñù

DOS Microsoft Windows... 65

ËåéôïõñãéêÜ ÓõóôÞìáôá

å) Íá âñåßôå ôï äéüóôçìá ðïõ äéáíýåé ôï êéíçôü êáôü ôï ñïíéêü äéüóôçìá áðü ôï ðñþôï Ýùò ôï Ýâäïìï äåõôåñüëåðôï ôçò êßíçóþò ôïõ.

: Ï ðáñþí ïäçãüò åîçãåß ôïí ôñüðï ñþóçò ðñïáéñåôéêþí åîùôåñéêþí óõóêåõþí.

ΔΙΗΜΕΡΟ ΚΙΝΗΤΟΠΟΙΗΣΕΩΝ ΤΩΝ ΔΗΜΩΝ ΤΗΣ ΧΩΡΑΣ. Αναστολή λειτουργίας των δήμων στις 12 και 13 Σεπτεμβρίου 2012

8. ÅðéëïãÞ êáé åðáíüëçøç

MultiBoot :

Προτεινόμενα θέματα Πανελλαδικών εξετάσεων. Χημεία Θετικής Κατεύθυνσης ΕΛΛΗΝΟΕΚΔΟΤΙΚΗ

ATHINA COURT. ÐïëõôåëÞ Äéáìåñßóìáôá

5Ô Ô ÚÓÔ. ðüóï 15 ðüóï 1/ ðüóï 2/ ðüóï 4/ ðüóï ðüóï ðüóï. 13 ðüóï 33 ðüóï ðüóï ðüóï. ðüóï 26 ðüóï 2XA ðüóï 3XA ¼ëïé ðüóï

: Ï ïäçãüò áõôüò åîçãåß ôïí ôñüðï áíôéêáôüóôáóçò êáé áíáâüèìéóçò ôçò ìíþìçò óôïí õðïëïãéóôþ.

ÅÍÏÔÇÔÁ 5ç ÔÁ Ó ÇÌÁÔÁ

Artwork Package GK Issue 2.0

ΜΑΘΗΜΑ 1. Βαρυτικές και Μαγνητικές Μέθοδοι Γεωφυσικής Διασκόπησης ΝΟΜΟΣ ΒΑΡΥΤΗΤΑΣ NEWTON ΓΗΙΝΟ ΠΕΔΙΟ ΒΑΡΥΤΗΤΑΣ ΜΕΤΡΟΥΜΕΝΑ ΜΕΓΕΘΗ -

ÈÅÌÁ ÌÅËÅÔÇ ÖÙÔÉÓÌÏÕ ÌÉÊÑÏÕ ÂÉÏÔÅ ÍÉÊÏÕ ÙÑÏÕ ÌÅ ÔÇ ÑÇÓÇÇ/Õ

ÓÕÍÁÑÔÇÓÅÉÓ ÐÏËËÙÍ ÌÅÔÁÂËÇÔÙÍ

ÐÉÍÁÊÅÓ ÔÉÌÙÍ ÁÍÔÉÊÅÉÌÅÍÉÊÙÍ ÁÎÉÙÍ

: Ï ïäçãüò áõôüò ðåñéãñüöåé ôïí ôñüðï ñþóçò êáñôþí åîùôåñéêþí ìýóùí.

3.1 H Ýííïéá ôçò óõíüñôçóçò ÐÁÑÁÄÅÉÃÌÁÔÁ - ÅÖÁÑÌÏÃÅÓ

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

ΕΝΔΟΣΚΟΠΙΚΕΣ ΚΑΙ ΧΕΙΡΟΥΡΓΙΚΕΣ ΤΕΧΝΙΚΕΣ ΘΕΡΑΠΕΙΑΣ ΚΙΝΗΤΙΚΩΝ ΔΙΑΤΑΡΑΧΩΝ ΓΑΣΤΡΟΟΙΣΟΦΑΓΙΚΗΣ ΣΥΜΒΟΛΗΣ Εκπαιδευτικό Σεμινάριο.

ÕÄÑÏËÇØÉÅÓ ÔÕÐÏÕ Á2 - Á4 ÌÅ ÁÍÔÉÐÁÃÅÔÉÊÇ ÐÑÏÓÔÁÓÉÁ

6936 ÅÖÇÌÅÑÉÓ ÔÇÓ ÊÕÂÅÑÍÇÓÅÙÓ (ÔÅÕ ÏÓ ÄÅÕÔÅÑÏ)

Á~/99) , Ã2/2864/ êáé Ã2/3850/

1. Εισαγωγή 2. Διαπιστεύσεις: Πιστοποίηση Ε.ΚΕ.ΠΙΣ.- Πιστοποίηση ΕΛΟΤ ΕΝ ISO 9001: Σκοπός του Προγράμματος 4. Κατηγορίες υποψηφίων που

Êáëþò Þëèáôå. Ïäçãüò ãñþãïñçò Ýíáñîçò. ÓõíäÝóôå. ÅãêáôáóôÞóôå. Áðïëáýóôå

Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Λεκτική Ανάλυση. Μεταγλωττιστές. Νίκος Παπασπύου, Κωστής Σαγώνας

Ðñïêýðôïõí ôá ðáñáêüôù äéáãñüììáôá.

ÅñãáóôÞñéï 1. ÄïìÝò ÄåäïìÝíùí. 1.1 Óôü ïé. 1.2 Áðáñáßôçôï Õëéêü

Åñãáóßåò. Õëïðïßçóç åöáñìïãþò ðïëõìýóùí Äåýôåñï óôüäéï

7. ÂáóéêÜ óôïé åßá ðñïãñáììáôéóìïý

: Ï ðáñþí ïäçãüò åîçãåß ôïí ôñüðï ñþóçò ðñïáéñåôéêþí åîùôåñéêþí óõóêåõþí.

4.5 ÁóêÞóåéò çìéêþò éóïññïðßáò ìå åðßäñáóç óôç èýóç éóïññïðßáò

ÅñùôÞóåéò ÓõìðëÞñùóçò êåíïý

ÌÁÈÇÌÁÔÉÊÇ ËÏÃÉÊÇ Ë1 5ï ðáêýôï áóêþóåùí

J-Y(St)Y Ôçëåöùíéêü êáëþäéï åóùôåñéêïý þñïõ ìå èùñüêéóç êáôü VDE 0815

ÁíÜðôõîç åöáñìïãþí óå ðñïãñáììáôéóôéêü ðåñéâüëëïí

8.1 Ãåíéêüò äéäáêôéêüò óêïðüò

ÁíÜðôõîç. ðëçñïöïñéáêþí óõóôçìüôùí. 2.1 ÂáóéêÝò ííïéåò ÊÅÖÁËÁÉÏ 2

& µ 1 ( ) * + &, 2 µ µ & ) * + * + & µ µ iii

11. ΜΕΝΤΕΣΕΔΕΣ ΕΠΙΠΛΩΝ

11. ΜΕΝΤΕΣΕΔΕΣ ΕΠΙΠΛΩΝ

1 Client Management Solutions

Ïäçãüò åðéêïéíùíéþí äéêôýïõ ÓåéñÜ åðéôñáðýæéùí õðïëïãéóôþí Evo ÓåéñÜ óôáèìþí åñãáóßáò Evo

$ µ 1 & ' ( ) * + $ ' ' ', 2 - µ µ $ ( ) + ) * + $ ' µ µ iii

Chi-Square Goodness-of-Fit Test*

ΠΡΟΣ: Τους Αποδέκτες

Ανώτερα Μαθηματικά Ι. Ανοικτά Ακαδημαϊκά Μαθήματα. Ενότητα 7: Οριακή Τιμή Συνάρτησης. Αθανάσιος Μπράτσος. Τμήμα Ναυπηγών Μηχανικών ΤΕ

: Ï ïäçãüò áõôüò åîçãåß ôïí ôñüðï áíôéêáôüóôáóçò êáé áíáâüèìéóçò ôçò ìíþìçò óôïí õðïëïãéóôþ.

Σημασιολογική ανάλυση

0 np6e6p0(; T O U A.I Tr\q n.e.a. A.M.. oaq K Q A E I as auvespiaar) CTTIC; 2 AcKcpppiou

ÅÌÐÏÑÉÊÇ ÐÏËÉÔÉÊÇ. ãéá êáôáóôþìáôá åìðïñßáò õäñáõëéêïý õëéêïý. Ãåíéêïß ¼ñïé Óõíáëëáãþí. Ïé êïéíïß êáíüíåò, ôá. ðïéïôéêü êñéôþñéá, ï

ÂÉÏÊËÉÌÁÔÉÊÏÓ Ó ÅÄÉÁÓÌÏÓ Ó ÏËÉÊÙÍ

ÁðáñéèìçôÝò- ÓõãêñéôÝò

Óõíå Þ êëüóìáôá & Áöáéñåôéêüò Åõêëåßäåéïò áëãüñéèìïò

ÐÑÏÓÅÃÃÉÓÇ ÅËÁ ÉÓÔÙÍ ÔÅÔÑÁÃÙÍÙÍ

Transcript:

13. ÅêóöáëìÜôùóç ðñïãñüììáôïò

280 ÁíÜðôõîç åöáñìïãþí óå ðñïãñáììáôéóôéêü ðåñéâüëëïí ÅéóáãùãÞ ÁíåîÜñôçôá áðü ôï ðüóï ðñïóåêôéêü Ý åé ãñüøåé êüðïéïò Ýíá ðñüãñáììá, ôéò ðåñéóóüôåñåò öïñýò áðñüâëåðôåò êáôáóôüóåéò, êáêüò åéñéóìüò ÞëïãéêÜ ëüèç óôï ó åäéáóìü ôùí ðñïãñáììüôùí, ïäçãïýí óôçí åìöüíéóç ëáèþí. Ôá ëüèç ðïõ ðáñïõóéüæïíôáé êáôü ôçí åêôýëåóç åíüò ðñïãñüììáôïò, ìåñéêýò öïñýò ìðïñåß íá åßíáé áóþìáíôá, üðùò ãéá ðáñüäåéãìá ÞåóöáëìÝíç óôïß éóç ôùí áðïôåëåóìüôùí. Áëëåò öïñýò üìùò ìðïñåß íá åßíáé éäéáßôåñá êñßóéìá, þóôå íá ïäçãïýí óôçí êáôüññåõóç ôùí åöáñìïãþí Þôïõ óõóôþìáôïò. íá ðñüãñáììá ðñéí ðáñáäïèåß ãéá ðñáãìáôéêþ ëåéôïõñãßá, ðñýðåé íá åëýã åôáé êáé íá åßíáé âýâáéï üôé åñãüæåôáé áðñüóêïðôá êáé ðáñüãåé óùóôü áðïôåëýóìáôá. ÊÜèå ðñïãñáììáôéóôþò ïöåßëåé êáôü ôç öüóç ôçò õëïðïßçóçò, íá äïêéìüæåé ëåðôïìåñþò ôï ðñüãñáììá óå äéáöïñåôéêýò óõíèþêåò êáé ìå ðïéêéëßá äåäïìýíùí, íá äéïñèþíåé üðïéá ëüèç ðáñïõóéáóôïýí êáé íá óõãêñßíåé ôá ðáñáãüìåíá áðïôåëýóìáôá ìå ôá áíáìåíüìåíá, þóôå íá ðñïëáìâüíåé áðñüóìåíåò êáôáóôüóåéò ëüèïõò, ðñéí åìöáíéóôïýí óå ðñáãìáôéêþëåéôïõñãßá. Äéäáêôéêïß óôü ïé Óôü ïé ôïõ êåöáëáßïõ áõôïý åßíáé ïé ìáèçôýò: íá áíáãíùñßæïõí Ýíá ëüèïò. íá ïñßæïõí ôéò êáôçãïñßåò ëüèïõò. íá áíáöýñïõí åñãáëåßá åêóöáëìüôùóçò êáé ôïí ôñüðï åéñéóìïý ôïõò. íá åöáñìüæïõí ôéò ôå íéêýò åéñéóìïý ëáèþí êáôü ôï ñüíï åêôýëåóçò. ÐñïåñùôÞóåéò ðïéá åßíáé ôá ðéèáíü ëüèç ðïõ ìðïñåß íá åìöáíéóôïýí êáôü ôçí õëïðïßçóç êáé ôçí åêôýëåóç åíüò ðñïãñüììáôïò; ðïéá åßíáé ôá ðëåïíåêôþìáôá ôçò åêóöáëìüôùóçò; õðüñ ïõí åñãáëåßá ðïõ âïçèïýí ôïí ðñïãñáììáôéóôþãéá ôçí åêóöáëìüôùóç åíüò ðñïãñüììáôïò; åßíáé åöéêôü íá åéñéóôïýìå áíáðüíôå åò êáôáóôüóåéò ðïõ ðéèáíüí èá åìöáíéóôïýí êáôü ôï ñüíï åêôýëåóçò ôïõ ðñïãñüììáôïò, Ýôóé þóôå íá ìçí äéáêüðôåôáé ç ëåéôïõñãßá ôïõ; ç åñãáóßá ôçò åêóöáëìüôùóçò èåùñåßôáé üôé åßíáé áðáñáßôçôç ãéá ôçí õëïðïßçóç åíüò ðñïãñüììáôïò;

ÅêóöáëìÜôùóç ðñïãñüììáôïò 281 13.1 Êáôçãïñßåò ëáèþí íáò ðñïãñáììáôéóôþò, áíåîüñôçôá áðü ðüóï éêáíüò åßíáé, üôáí äçìéïõñãåß Ýíá ðñüãñáììá, åßíáé öõóéêü íá êüíåé êüðïéï ëüèïò. ÅéäéêÜ óå ìåãüëåò åöáñìïãýò ðïõ êáôáóêåõüæåé ðïëýðëïêåò õðïëïãéóôéêýò ñïõôßíåò Þ ñçóéìïðïéåß áñêåôýò óõóêåõýò õëéêïý, åßíáé áäýíáôï íá áðïöýãåé ôýôïéåò áíåðéèýìçôåò êáôáóôüóåéò. Óå Ýíá ðñüãñáììá åßíáé äõíáôü íá ðáñïõóéáóôïýí äéáöïñåôéêþò ìïñöþò ëüèç, ôá ïðïßá ìðïñïýí íá ùñéóôïýí óå ôñåéò âáóéêýò êáôçãïñßåò: ËÜèç êáôü ôçí õëïðïßçóç Ôá ëüèç êáôü ôï ñüíï õëïðïßçóçò, ðñïêáëïýíôáé êõñßùò áðü ëáíèáóìýíç óýíôáîç åíôïëþí ðñïãñüììáôïò. ÔÝôïéá ëüèç ìðïñåß íá åßíáé ç ëáíèáóìýíç óõããñáöþìéáò äåóìåõìýíçò ëýîçò ôçò ãëþóóáò ðñïãñáììáôéóìïý Þ ç ñþóç ìéáò äïìþò åëýã ïõ ùñßò ôçí åíôïëþ ôåñìáôéóìïý ôçò. íá ëüèïò ðïõ ðñïêáëåßôáé êáôü ôç óõããñáöþôïõ ðñïãñüììáôïò, á- íé íåýåôáé áðü ôï ìåôáãëùôôéóôþ, ï ïðïßïò åìöáíßæåé ðñïò ôï ðñïãñáììáôéóôþêüðïéï ðñïåéäïðïéçôéêü ìþíõìá. Áí ôï ðñüãñáììá ðåñéý åé Ýíá ëüèïò áõôþò ôçò ìïñöþò, äåí åðéôñýðåôáé ç åêôýëåóþ ôïõ, ìý ñé íá ôï äéïñèþóåé ï ðñïãñáììáôéóôþò. Ôá óýã ñïíá ðñïãñáììáôéóôéêü ðåñéâüëëïíôá ìáò ðñïöõëüóóïõí áõôüìáôá áðü ôá ëüèç êáôü ôçí õëïðïßçóç, áöïý ðáñý ïõí åñãáëåßá áõôüìáôïõ åëýã ïõ óýíôáîçò ôùí åíôïëþí êáé ðáñáêïëïõèïýí ôïí ðñïãñáììáôéóôþêáôü ôç óõããñáöþôïõ ðñïãñüììáôïò. Ìüëéò äéáðéóôþóïõí êüðïéï óõíôáêôéêü ëüèïò, óôáìáôïýí êáé áðáéôïýí ôç äéüñèùóþôïõ. ÓõíÞèùò áíôéëáìâüíïíôáé áêñéâþò ôï ëüèïò ðïõ äçìéïõñãþèçêå êáé ðñïôåßíïõí áíáëõôéêü ôïí ôñüðï äéüñèùóþò ôïõ, åìöáíßæïíôáò óå åíçìåñùôéêü ðëáßóéï ôçí ïñèþ óýíôáîç ôçò åíôïëþò ðïõ ðñïêëþèçêå ôï ëüèïò. ËÜèç êáôü ôçí åêôýëåóç Ôá ëüèç ðïõ ðñïêáëïýíôáé êáôü ôï ñüíï åêôýëåóçò ôïõ ðñïãñüììáôïò, åßíáé ðéï åðþäõíá ãéáôß óõíþèùò åìöáíßæïíôáé óå ðñáãìáôéêü ðåñéâüëëïí åêôýëåóçò êáé ôéò ðåñéóóüôåñåò öïñýò ðñïêáëïýí ôïí áíôéêáíïíéêü ôåñìáôéóìü ôçò åöáñìïãþò êáé ôï êñýìáóìá (crash) ôïõ óõóôþìáôïò. ¼ôáí Ýíá ëüèïò ðñïêëçèåß êáôü ôçí åêôýëåóç ôçò åöáñìïãþò, åßíáé äõíáôü íá áíôéìåôùðéóèåß ìüíï ìå ôç ñþóç åíôïëþí ðñïãñüììáôïò ðïõ ôï ðáãéäåýïõí êáé åêôåëïýí ôéò êáôüëëçëåò äéáäéêáóßåò åéñéóìïý ôïõ. Ìéá áðü ôéò ðñþôåò âëüâåò ðïõ åìöáíßóôçêáí óôïõò õ- ðïëïãéóôýò Þôáí Ýíá âñá õêýêëùìá ðïõ ïöåéëüíôáí óôïí åãêëùâéóìü åíüò åíôüìïõ (bug) óôï åóùôåñéêü åíüò õðïëïãéóôþ. Áðü ôï ãåãïíüò áõôü, åßíáé ðïëý ðéèáíü íá ðñïýñ åôáé ï üñïò bugs, ìå ôïí ïðïßï áíáöåñüìáóôå óôá ëüèç ðïõ åìöáíßæïíôáé óå Ýíá ðñüãñáììá.

282 ÁíÜðôõîç åöáñìïãþí óå ðñïãñáììáôéóôéêü ðåñéâüëëïí Ç ðñüëçøç ôýôïéùí ëáèþí åßíáé áñêåôü äýóêïëç, áöïý óõíþèùò ïöåßëïíôáé óå êáôáóôüóåéò ðïõ äåí åßíáé åýêïëï íá åëåã èïýí áðü ôïí ðñïãñáììáôéóôþ, åíþ ðïëëýò öïñýò åìöáíßæïíôáé ìåôü áðü ìåãüëï ñïíéêü äéüóôçìá. ÔÝôïéá ëüèç åßíáé äõíáôü íá ðñïêëçèïýí áðü ôçí êëþóç ìéáò äéáäéêáóßáò ìå äåäïìýíá ðïõ äåí ìðïñåß íá åéñéóôåß, üðùò ç áíáæþôçóç äéáãñáììýíùí áñ åßùí, ç ðñïóðüèåéá äéáßñåóçò åíüò áñéèìïý ìå ôï ìçäýí, ç õðåñ åßëéóç ìéáò áñéèìçôéêþò ìåôáâëçôþò Þ áðü äõóëåéôïõñãßá ôïõ õëéêïý ìýñïõò ôïõ õðïëïãéóôþ, üðùò ç êáôáóôñïöþ ôïõ óêëçñïý äßóêïõ ôïõ óõóôþìáôïò, ï ôåñìáôéóìüò ìéáò óýíäåóçò äéêôýïõ êáé ç áðïóýíäåóç ôïõ åêôõðùôþ. ËïãéêÜ ëüèç Ôá ëïãéêü ëüèç åßíáé óõíþèùò ëüèç ó åäéáóìïý êáé äåí ðñïêáëïýí ôç äéáêïðþôçò åêôýëåóçò ôïõ ðñïãñüììáôïò. Åíþ ï ìåôáãëùôôéóôþò ôçò ãëþóóáò ðñïãñáììáôéóìïý äåí áíé íåýåé êáíýíá óõíôáêôéêü ëüèïò êáé êáôü ôçí åêôýëåóç ôïõ ðñïãñüììáôïò äåí ðáñïõóéüæïíôáé áíåðéèýìçôåò êáôáóôüóåéò óöáëìüôùí, ôåëéêü äåí ðáñüãïíôáé ôá åðéèõìçôü áðïôåëýóìáôá. Ç áíß íåõóç ôýôïéùí ëáèþí äåí åßíáé äõíáôü íá ðñáãìáôïðïéçèåß áðü êüðïéï åñãáëåßï ôïõ õðïëïãéóôþêáé äéáðéóôþíïíôáé ìüíï ìå ôç äéáäéêáóßá åëýã ïõ (testing) êáé ôçí áíüëõóç ôùí áðïôåëåóìüôùí ôùí ðñïãñáììüôùí. Ôï ðéï äçìïöéëýò ëüèïò ðïõ ðáñïõóéüóôçêå óôçí éóôïñßá ôùí õðïëïãéóôþí åßíáé ôï ðñüâëçìá ôïõ Ýôïõò 2000 (millennium bug). Ôï ðñüâëçìá áõôü åßíáé éäéüìïñöï, ãéáôß ïöåßëåôáé óå óõíäõáóìýíç ðñïâëçìáôéêþëåéôïõñãßá ôïõ ëïãéóìéêïý êáé ôïõ õëéêïý ìýñïõò ôïõ õðïëïãéóôþ êáé áêüìç áðáó üëçóå ñïíéêü ôçí êïéíùíßá ìáò áñêåôü ðñéí áðü ôçí ïõóéáóôéêþåìöüíéóç ôùí óõíåðåéþí ôïõ. ëëá óçìáíôéêü ðñïâëþìáôá ðïõ ðáñïõóéüóôçêáí óôçí éóôïñßá ôùí õðïëïãéóôþí êáé áðïäüèçêáí óôç äõóëåéôïõñãßá ôïõ ëïãéóìéêïý åßíáé : Ôï 1962 ôï äéáóôçìéêü ü çìá Mariner 1 åêôïîåýôçêå áðü ôï áêñùôþñé Canaveral ôùí ÇíùìÝíùí Ðïëéôåéþí ôçò ÁìåñéêÞò ãéá ôïí ðëáíþôç Áöñïäßôç. ÌåôÜ ôçí áðïãåßùóç ï ðýñáõëïò ðïõ êáôåýèõíå ôï äéáóôçìéêü ü çìá Ý áóå ôçí êáôåýèõíóþôïõ êáé ïé ôå íéêïß ôçò äéáóôçìéêþò õðçñåóßáò ôùí Ç.Ð.Á. (NASA) áíáãêüóôçêáí íá ôïí áíáôéíüîïõí, ðñéí áõôüò êáôáóôñáöåß óå êüðïéï óçìåßï ôçò ãçò êáé êéíäõ-

ÅêóöáëìÜôùóç ðñïãñüììáôïò 283 íåýóïõí áíèñþðéíåò æùýò. Åõôõ þò ôï äéáóôçìéêü ü çìá äåí åß å áíèñþðéíï ðëþñùìá. Ç áíáöïñü ôçò NASA áðýäùóå ôï áôý çìá óôçí åóöáëìýíç áíôéêáôüóôáóç åíüò èåôéêïý ðñüóçìïõ ìå áñíçôéêü óå ìéá åíôïëþfortran ôïõ ëïãéóìéêïý ðëïþãçóçò ôïõ ðõñáýëïõ. Ôï åóöáëìýíï ðñüóçìï óôïß éóå ðåñßðïõ 80 åêáôïììýñéá äïëüñéá. Ôï 1990 Ýíá ëüèïò óå ìéá åíôïëþôïõ ëïãéóìéêïý ôùí íýùí óõóôçìüôùí äñïìïëüãçóçò ôçëåöùíéêþí êëþóåùí ôçò åôáéñåßáò ôçëåðéêïéíùíéþí AT&T, ðñïêüëåóå ôï ìðëïêüñéóìá ôïõ ìåãáëýôåñïõ ôìþìáôïò ôïõ ôçëåöùíéêïý äéêôýïõ ôùí ÇíùìÝíùí Ðïëéôåéþí ôçò ÁìåñéêÞò. Ðåñßðïõ 5 åêáôïììýñéá ôçëåöùíéêýò ãñáììýò äéáêüðçêáí ãéá åííýá þñåò. Ï åðåîåñãáóôþò Pentium ôï Ýôïò 1994 ðáñïõóßáóå äõóëåéôïõñãßá, áöïý óå óðüíéåò ðåñéðôþóåéò Ýäéíå åóöáëìýíåò áðáíôþóåéò óå ðïëýðëïêåò ìáèçìáôéêýò åîéóþóåéò. Ôï ðñüâëçìá áíáêáëýöôçêå áðü ôïí êáèçãçôþthomas Nicely óôï ÐáíåðéóôÞìéï Lynchburg óôç Virginia ôùí ÇíùìÝíùí Ðïëéôåéþí ôçò ÁìåñéêÞò. Áñ éêü ç êáôáóêåõüóôñéá åôáéñåßá áñíþèçêå ôçí ýðáñîþ ôïõ, áëëü óôç óõíý åéá õðï ñåþèçêå íá áíôéêáôáóôþóåé ôïõò ðñïâëçìáôéêïýò åðåîåñãáóôýò êáé óýìöùíá ìå åêôéìþóåéò äáðüíçóå ãé áõôü ôï óêïðü ðåñßðïõ 450 åêáôïììýñéá äïëüñéá Ôï Ýôïò 1995 åðñüêåéôï íá ãßíïõí ôá åãêáßíéá ôïõ íýïõ äéåèíïýò áåñïäñïìßïõ óôï Denver ôùí ÇíùìÝíùí Ðïëéôåéþí ôçò ÁìåñéêÞò. Ôï á- åñïäñüìéï åß å êáôáóêåõáóôåß ìå óýã ñïíç ôå íïëïãßá êáé äéýèåôå Ýíá áõôüìáôï óýóôçìá ìåôáöïñüò áðïóêåõþí. Ìå ôçí Ýíáñîç ëåéôïõñãßáò ôïõ ôï óýóôçìá ìåôáöïñüò áðïóêåõþí ðáñïõóßáóå ëåéôïõñãéêü ðñïâëþìáôá, ìå óõíýðåéá ôçí êáôáóôñïöþ áðïóêåõþí å- ðéâáôþí êáé ôïõ éäßïõ ôïõ óõóôþìáôïò. Ôï áåñïäñüìéï äéýêïøå ôç ëåéôïõñãßá ôïõ êáé åðáíáëåéôïýñãçóå äåêáýîé ìþíåò áñãüôåñá êáé ìå êëáóéêü óýóôçìá ìåôáöïñüò áðïóêåõþí, åðéâáñýíïíôáò ôïí ðñïûðïëïãéóìü êáôáóêåõþò ôïõ êáôü 3,2 åêáôïììýñéá äïëüñéá.

284 ÁíÜðôõîç åöáñìïãþí óå ðñïãñáììáôéóôéêü ðåñéâüëëïí 13.2 ÅêóöáëìÜôùóç Ç äéáäéêáóßá åëýã ïõ, åíôïðéóìïý êáé äéüñèùóçò ôùí óöáëìüôùí åíüò ðñïãñüììáôïò êáëåßôáé åêóöáëìüôùóç (debugging). Óôü ïò ôçò äéáäéêáóßáò åêóöáëìüôùóçò åßíáé ï åíôïðéóìüò ôùí óçìåßùí ôïõ ðñïãñüììáôïò ðïõ ðñïêáëïýí ðñïâëþìáôá óôç ëåéôïõñãßá ôïõ. Ç åñãáóßá ôçò åêóöáëìüôùóçò äåí åßíáé åýêïëç, áðáéôåß âáèéü ãíþóç ôçò ãëþóóáò ðñïãñáììáôéóìïý êáé öõóéêü áíôßóôïé åò éêáíüôçôåò áðü ôïí ðñïãñáììáôéóôþ. Ãéá ôïí åíôïðéóìü åíüò ëüèïõò äåí õðüñ ïõí éäéáßôåñá ìõóôéêü êáé ôñõê. Ç åêóöáëìüôùóç åßíáé Ýíá ðñüâëçìá ëïãéêþò êáé üóï ðéï êáëü áíôéëáìâüíåôáé ï ðñïãñáììáôéóôþò ôïí ôñüðï ðïõ åñãüæåôáé ôï ðñüãñáììá, ôüóï ðéï åýêïëá êáé óýíôïìá èá åíôïðßóåé ëüèç ðïõ ðñïêáëïýí äõóëåéôïõñãßåò. Ç åéóáãùãþ ãñáììþí ìå ó üëéá óå Ýíá ðñüãñáììá õðïâïçèü óçìáíôéêü ôçí åêóöáëìüôùóç. Óå Ýíá óýã ñïíï ðñïãñáììáôéóôéêü ðåñéâüëëïí äåí ñåéüæåôáé éäéáßôåñá ìíåßá ãéá ôá ëüèç ðïõ ðáñïõóéüæïíôáé êáôü ôï ñüíï ó åäéáóìïý, á- öïý áõôü, üðùò áíáöýñèçêå, åßíáé óõíôáêôéêü ëüèç êáé ôéò ðåñéóóüôåñåò öïñýò ôï ðåñéâüëëïí ðñïãñáììáôéóìïý ôá áíé íåýåé áõôüìáôá êáé ðñïôåßíåé ôç äéüñèùóþôïõò. Áêüìç êáé áí ôï ðåñéâüëëïí äåí ðñïôåßíåé ôç äéüñèùóç, ï ìåôáãëùôôéóôþò óõëëáìâüíåé êáé ðåñéãñüöåé ôï ëüèïò êáé óôç óõíý åéá ï ðñïãñáììáôéóôþò ìðïñåß ðïëý åýêïëá íá ôï äéïñèþóåé. Ôá ëüèç ðïõ êõñßùò ìáò áðáó ïëïýí óôç öüóç ôçò åêóöáëìüôùóçò åßíáé ôá ëïãéêü ëüèç êáé ôá ëüèç ðïõ ðáñïõóéüæïíôáé êáôü ôï ñüíï åêôýëåóçò ôïõ ðñïãñüììáôïò. Ç åêóöáëìüôùóç ôýôïéùí ëáèþí ìðïñåß íá ãßíåé ìýóá áðü åñãáëåßá åêóöáëìüôùóçò Þáðü åéäéêýò åíôïëýò ÞóõíáñôÞóåéò ðïõ ðñïóöýñåé ôï ðåñéâüëëïí ðñïãñáììáôéóìïý. 13.3. Åñãáëåßá åêóöáëìüôùóçò Ôá ïíüìáôá ôùí ìåôáâëçôþí ðñýðåé íá áíüãïõí óôï ðåñéå üìåíü ôïõò. ôóé äéåõêïëýíåôáé ç åêóöáëìüôùóç. ÐïëëÝò öïñýò ï åíôïðéóìüò åíüò óöüëìáôïò åßíáé éäéáßôåñá äýóêïëïò êáé ãéá íá åðéôåõ èåß ñåéüæåôáé óõóôçìáôéêþðáñáêïëïýèçóç êáé áíüëõóç ôùí äåäïìýíùí ôïõ ðñïãñüììáôïò. Ôá óýã ñïíá åñãáëåßá ðñïãñáììáôéóìïý äßíïõí ôç äõíáôüôçôá óôïí ðñïãñáììáôéóôþíá ðáñáêïëïõèåß, ôé óõìâáßíåé óôï ðáñáóêþíéï ôïõ ðñïãñüììáôïò êáôü ôï ñüíï åêôýëåóçò. Áõôü åðéôõã Üíåôáé ìå ôç ñþóç êáôüëëçëùí åñãáëåßùí, ðïõ ðáñý ïõí ðïëëýò äõíáôüôçôåò åëýã ïõ êáôü ôç äïêéìáóôéêþåêôýëåóç åíüò ðñïãñüììáôïò. Ôá ðåñéóóüôåñá åñãáëåßá ðñïãñáììáôéóìïý óõíïäåýïíôáé áðü ðñïãñüììáôá äéüñèùóçò (debuggers).

ÅêóöáëìÜôùóç ðñïãñüììáôïò 285 Ìå ôá åñãáëåßá åêóöáëìüôùóçò åßíáé äõíáôü íá åìöáíßæåôáé ç ôéìþ ìéáò ìåôáâëçôþò Þ ìéáò Ýêöñáóçò, íá ãßíåôáé äõíáìéêþ åðýìâáóç óå êüðïéï óçìåßï äßíïíôáò äéáöïñåôéêþôéìþóå ìéá ìåôáâëçôþþíá åêôåëåßôáé âþìá ðñïò âþìá ôï ðñüãñáììá ãéá ôïí åíôïðéóìü ôçò åíôïëþò ðïõ ðñïêáëåß ôï óöüëìá. Óôç óõíý åéá èá áíáöýñïõìå ôéò âáóéêýò ëåéôïõñãßåò åêóöáëìüôùóçò ðïõ ðñïóöýñïõí ôá ðåñéóóüôåñá ðñïãñáììáôéóôéêü ðåñéâüëëïíôá : ÅêöñÜóåéò åëýã ïõ Ïé åêöñüóåéò åëýã ïõ (watch expressions) åßíáé ñþóéìåò ãéá ôçí Üìåóç ðáñáôþñçóç ôéìþí ìåôáâëçôþí Þ åêöñüóåùí êáôü ôçí åêôýëåóç åíüò ðñïãñüììáôïò. Áêüìç ìå ìéá Ýêöñáóç åëýã ïõ, õðüñ åé ç äõíáôüôçôá íá äéáêïðåß ç åêôýëåóç åíüò ðñïãñüììáôïò, üôáí áëëüîåé ôï ðåñéå üìåíï ìéáò ìåôáâëçôþò Þ äå ôåß óõãêåêñéìýíç ôéìþ. Ìå ôéò åêöñüóåéò åëýã ïõ ðáñáôçñïýìå ôç óõìðåñéöïñü ìéáò ìåôáâëçôþò Þ ìéáò Ýêöñáóçò óå üëç ôç äéüñêåéá åêôýëåóçò ôïõ ðñïãñüììáôïò. Ó. 13.1. ÅìöÜíéóç åêöñüóåùí åëýã ïõ Óçìåßá äéáêïðþò íá óçìåßï äéáêïðþò (breakpoint) äéáêüðôåé ôçí åêôýëåóç åíüò ðñïãñüììáôïò áêñéâþò ðñéí áðü ìéá óõãêåêñéìýíç åíôïëþ. Ôá óçìåßá äéáêïðþò ñçóéìïðïéïýíôáé ãéá ôïí Ýëåã ï ôçò êáôüóôáóçò ôùí äåäïìýíùí óå óõãêåêñéìýíï óçìåßï ôïõ ðñïãñüììáôïò. Ïñßæïíôáé óôïí ðçãáßï êþäéêá ìå ôï ìáñêüñéóìá êüèå åíôïëþò, óôçí ïðïßá èýëïõìå íá äéáêüøïõìå ôçí åêôýëåóç ôïõ ðñïãñüììáôïò. ÂÞìá ðñïò âþìá åêôýëåóç ÌåôÜ ôç äéáêïðþåêôýëåóçò áðü Ýíá óçìåßï äéáêïðþò, ðáñý åôáé ç äõíáôüôçôá íá óõíå éóôåß âþìá ðñïò âþìá ç åêôýëåóç ôïõ ðñïãñüììáôïò. Ìå ôç ëåéôïõñãßá áõôþìðïñïýìå íá åîåôüóïõìå âçìáôéêü ôá áðïôåëýóìáôá êüèå åíôïëþò Þ ñïõôßíáò ôïõ ðñïãñüììáôïò.

286 ÁíÜðôõîç åöáñìïãþí óå ðñïãñáììáôéóôéêü ðåñéâüëëïí Ó. 13.2. Óçìåßï äéáêïðþò óôïí êþäéêá ôçò åöáñìïãþò Éóôïñéêü Ìå áõôþôç ëåéôïõñãßá êáôáêñáôåßôáé éóôïñéêü (history) ôùí ôåëåõôáßùí åíôïëþí ðïõ åêôåëýóôçêáí. ÄéáâÜæïíôáò ôï éóôïñéêü áõôü ìðïñïýìå íá å- ëýãîïõìå ôç ñïþôïõ ðñïãñüììáôïò âáäßæïíôáò ìðñïò Þðßóù ìýóá óôïí êþäéêá. É íçëüôçóç Äßíåé ôç äõíáôüôçôá áñãþò åêôýëåóçò ôïõ ðñïãñüììáôïò, åíþ ðáñüëëçëá åìöáíßæåôáé öùôéóìýíç ç åíôïëþðïõ åêôåëåßôáé êüèå öïñü. Ç é íçëüôçóç (tracing) åíüò ðñïãñüììáôïò îåêéíü áðü Ýíá óçìåßï äéáêïðþò, ðïõ Ý- åé åéóá èåß óôï ðñüãñáììá êáé ëåéôïõñãåß óå åðßðåäï åíôïëþò åêôåëþíôáò êüèå öïñü ìéá åíôïëþþóå åðßðåäï äéáäéêáóßáò åêôåëþíôáò êüèå öïñü üëç ôç äéáäéêáóßá. Ëåéôïõñãßá Üìåóçò åêôýëåóçò Ìå ôç ëåéôïõñãßá Üìåóçò åêôýëåóçò Ý ïõìå ôç äõíáôüôçôá óå êüðïéï óçìåßï äéáêïðþò íá ðëçêôñïëïãþóïõìå êáé íá åêôåëýóïõìå Üìåóá ïðïéáäþðïôå åíôïëþìå óêïðü ôç ëïãéêþáëëáãþôçò ñïþò åêôýëåóçò ôïõ ðñïãñüììáôïò. Ó. 13.3. ÅìöÜíéóç ôùí ðåñéå ïìýíùí ôùí åêöñüóåùí óå ëåéôïõñãßá Üìåóçò åêôýëåóçò

ÅêóöáëìÜôùóç ðñïãñüììáôïò 287 Ïé ëåéôïõñãßåò ôùí åñãáëåßùí åêóöáëìüôùóçò óå ãñáöéêü ðåñéâüëëïíôá ðñáãìáôïðïéïýíôáé ìýóá áðü åéäéêü ðáñüèõñá (ð.. ðáñüèõñï åëýã- ïõ, ðáñüèõñï Üìåóçò åêôýëåóçò), åíþ óôá õðüëïéðá åñãáëåßá áðü åðéëïãýò ìåíïý åðéëïãþí ðïõ ðñïóöýñåé ôï ðåñéâüëëïí áíüðôõîçò Þìå åéäéêýò åíôïëýò óôïí ðçãáßï êþäéêá. íáò ðñïãñáììáôéóôþò ðïõ äåí åßíáé åîïéêåéùìýíïò êáé äåí ãíùñßæåé ôï åéñéóìü ôùí åñãáëåßùí åêóöáëìüôùóçò Þáí åñãüæåôáé óå Ýíá ðåñéâüëëïí ðïõ äåí ôïõ ðáñý åé áíôßóôïé á åñãáëåßá, ìðïñåß íá õëïðïéþóåé áñêåôýò áðü ôéò ëåéôïõñãßåò åêóöáëìüôùóçò ðïõ áíáöýñèçêáí, ìå ôçí ðáñåìâïëþ åíôïëþí åìöüíéóçò Þåêôýðùóçò ìçíõìüôùí, ôéìþí ìåôáâëçôþí ÞåêöñÜóåùí. 13.4 åéñéóìüò ëáèþí êáôü ôï ñüíï åêôýëåóçò Ôá ëüèç ðïõ ðñïêáëïýíôáé êáôü ôçí åêôýëåóç åíüò ðñïãñüììáôïò ìðïñïýí íá ðñïêëçèïýí áðü ðüñá ðïëëýò áéôßåò. Ï ðñïãñáììáôéóôþò åßíáé õðï ñåùìýíïò ìýóá áðü ôï ðñüãñáììá ôïõ íá ðñïâëýøåé êüèå ðéèáíü ëüèïò ðïõ ìðïñåß íá óõìâåß óôï ðåñéâüëëïí åêôýëåóçò, þóôå íá ôï áíôéìåôùðßóåé êáé íá áðïöýãåé äõóüñåóôá áðïôåëýóìáôá ãéá ôï ñþóôç.

288 ÁíÜðôõîç åöáñìïãþí óå ðñïãñáììáôéóôéêü ðåñéâüëëïí ÊÜèå ëüèïò ðáñüãåé Ýíáí êùäéêü ëüèïõò. ÓõíÞèùò ï ðñïãñáììáôéóôþò äçìéïõñãåß ãåíéêýò äéáäéêáóßåò åéñéóìïý ëáèþí, ðïõ ôéò åíôüóóåé óå âéâëéïèþêåò. Ãéá ôçí áíß íåõóç êáé ôï åéñéóìü ôùí ëáèþí ðïõ åìöáíßæïíôáé êáôü ôçí åêôýëåóç å- íüò ðñïãñüììáôïò óôéò ãëþóóåò ðñïãñáììáôéóìïý Java, ADA êáé C++ ñçóéìïðïéåßôáé ï ìç áíéóìüò ôùí å- îáéñýóåùí (exceptions), åíþ óôç Visual Basic õðüñ åé åéäéêþ åíôïëþ (On Error GoTo). Ç äéáäéêáóßá åéñéóìïý ëáèþí êáôü ôï ñüíï åêôýëåóçò åßíáé áðëþ. Ç å- êôýëåóç êüèå åíôïëþò ðñïãñüììáôïò åðéóôñýöåé ìéá Ýíäåéîç ðïõ ðåñéãñüöåé, áí ïëïêëçñþèçêå åðéôõ þò ÞðáñïõóéÜóôçêå êüðïéï ëüèïò. ¼ôáí ðáñïõóéáóôåß Ýíá ëüèïò, ï ðñïãñáììáôéóôþò ðñýðåé íá åêìåôáëëåõôåß áõôþôçí Ýíäåéîç êáé ìýóá áðü åíôïëýò êþäéêá íá äþóåé äõíáôüôçôåò äéáöõãþò óôï ðñüãñáììá. Ðéï áíáëõôéêü ï åéñéóìüò åíüò ëüèïõò êáôü ôï ñüíï åêôýëåóçò ðåñéãñüöåôáé ùò åîþò: Óôçí åíüôçôá ðïõ èýëïõìå íá ðñïóèýóïõìå äõíáôüôçôåò åéñéóìïý ëáèþí, ñçóéìïðïéïýìå ôïí áíôßóôïé ï ìç áíéóìü áíß íåõóçò ëáèþí ðïõ ðñïóöýñåé ôï ðåñéâüëëïí ðñïãñáììáôéóìïý. ¼ôáí ðñïêëçèåß Ýíá ëüèïò, ï ìç áíéóìüò áíß íåõóçò ìåôáöýñåé ôç ñïþ åêôýëåóçò ôïõ ðñïãñüììáôïò óå Ýíá ôìþìá êþäéêá åéñéóìïý ëüèïõò (exception Þerror handler), óôï ïðïßï ðåñéãñüöåé ôï ëüèïò ôéò ðåñéóóüôåñåò öïñýò ìå êüðïéï áñéèìü. Ôï óõãêåêñéìýíï ôìþìá êþäéêá óõíþèùò âñßóêåôáé ìýóá óôçí ßäéá åíüôçôá ðïõ ðñïêáëåßôáé ôï ëüèïò. Ç ñïõôßíá åéñéóìïý ôïõ ëüèïõò åßíáé äéáöïñåôéêþêüèå öïñü êáé äçìéïõñãåßôáé áðü ôïí ðñïãñáììáôéóôþåéäéêü ãéá ôï åéñéóìü ôùí ëáèþí ðïõ ìðïñåß íá ðñïêýøïõí áðü ôçí åñãáóßá ðïõ åêôåëåßôáé åêåßíç ôç ñïíéêþóôéãìþ, ìå óôü ï öõóéêü ôçí áíþäõíç áðåìðëïêþôïõ ðñïãñüììáôïò áðü ôçí åíäå üìåíç ðñïâëçìáôéêþêáôüóôáóç. Óôç óõíý åéá ðåñéãñüöïõìå ïñéóìýíåò åíýñãåéåò ðïõ èá ìðïñïýóáìå íá óõìðåñéëüâïõìå óôï ôìþìá êþäéêá ðïõ èá ãßíåé ï åéñéóìüò ôïõ ëüèïõò: íá äéïñèþóïõìå ìýóá áðü åíôïëýò êþäéêá ôï ëüèïò Þíá äþóïõìå ôç äõíáôüôçôá óôï ñþóôç íá äéïñèþóåé ôçí áéôßá ðñüêëçóçò ôïõ ëüèïõò. Óôç óõíý åéá íá åðéóôñýøïõìå ôç ñïþåêôýëåóçò óôçí åíôïëþ ðïõ ðñïêüëåóå áõôþôçí êáôüóôáóç ëüèïõò. Ìéá ôýôïéá êáôüóôáóç ìðïñåß íá ðñïêëçèåß áðü ôçí ðñïóðüèåéá ôïõ ñþóôç íá åêôõðþóåé êüðïéï áñ åßï, åíþ ï åêôõðùôþò åßíáé êëåéóôüò. Ìüëéò áíé íåõôåß ôï ëüèïò, åíçìåñþíïõìå ôï ñþóôç üôé ï åêôõðùôþò åßíáé êëåéóôüò êáé á- öïý âåâáéùèïýìå üôé äéïñèþèçêå ôï ëüèïò, åðéóôñýöïõìå ôç ñïþåêôýëåóçò ôïõ ðñïãñüììáôïò óôçí åíôïëþåêôýðùóçò, ç ïðïßá ïëïêëçñþíåôáé ìå åðéôõ ßá. íá áîéïëïãþóïõìå ôçí åíôïëþ ðïõ ðñïêüëåóå ôï óöüëìá êáé áí èåùñþóïõìå üôé ç åêôýëåóþôçò äåí åßíáé êñßóéìç ãéá ôçí åöáñìïãþ, íá ìåôáöýñïõìå ôç ñïþåêôýëåóçò óôçí åðüìåíç åíôïëþ. Ç åêôýëåóç åíüò áñ- åßïõ Þ ïõ ôáõôü ñïíá ìå ôçí åêôýëåóç ìéáò åñãáóßáò (ð.. áíôéãñáöþ áñ åßùí) äåí åßíáé óçìáíôéêþ, åöüóïí ç óõãêåêñéìýíç åñãáóßá ïëïêëçñþíåôáé ìå åðéôõ ßá.

ÅêóöáëìÜôùóç ðñïãñüììáôïò 289 íá èåùñþóïõìå éäéáßôåñá êñßóéìï ôï óöüëìá êáé áöïý åíçìåñþóïõìå ôï ñþóôç, íá ôåñìáôßóïõìå ôï ðñüãñáììá. Áõôüò ï ôñüðïò öõóéêü ðñýðåé íá áðïöåýãåôáé, ãéáôß ïäçãåß ôçí åêôýëåóç ôïõ ðñïãñüììáôïò óå áðüôïìç äéáêïðþìå áðñüâëåðôåò óõíýðåéåò. ¼ëåò ïé ðáñáðüíù åñãáóßåò ðñáãìáôïðïéïýíôáé ìýóá áðü êáôüëëçëåò åíôïëýò ðïõ ðñïóöýñïõí ó åäüí üëá ôá óýã ñïíá ðåñéâüëëïíôá ðñïãñáììáôéóìïý. ÕðÜñ ïõí åíôïëýò ðïõ áíé íåýïõí Ýíá ëüèïò, äßíïõí ôçí ðåñéãñáöþôïõ (áñéèìçôéêü Þêáé ìå ìþíõìá) êáé åðéôñýðïõí ôç ìåôáâßâáóç ôçò ñïþò åêôýëåóçò ôïõ ðñïãñüììáôïò. Áíáêåöáëáßùóç Ôï æçôïýìåíï êüèå ñþóôç åßíáé Ýíá öéëéêü êáé óôáèåñü ðñüãñáììá ðïõ èá åñãüæåôáé êüôù áðü ïðïéåóäþðïôå óõíèþêåò êáé èá ðñïëáâáßíåé üëåò ôéò åóöáëìýíåò ôïõ åðéëïãýò. Ç óùóôþåêóöáëìüôùóç åíüò ðñïãñüììáôïò Ý åé ùò áðïôýëåóìá ôçí êáôáóêåõþôýôïéùí ðñïãñáììüôùí ðïõ èá ðáñïõóéüóïõí üóï ôï äõíáôü ëéãüôåñá ðñïâëþìáôá óôï ñþóôç. Ç åêóöáëìüôùóç áðïôåëåß ìéá áðü ôéò âáóéêýò åñãáóßåò ðïõ ðñýðåé íá êüíåé ï ðñïãñáììáôéóôþò ãéá ôçí ïëïêëþñùóç åíüò ðñïãñüììáôïò. ÊáôÜ ôç äéáäéêáóßá ôçò åêóöáëìüôùóçò ï ðñïãñáììáôéóôþò ðñýðåé íá åíôïðßóåé êáé íá äéïñèþóåé ôá óçìåßá ôïõ ðñïãñüììáôïò ðïõ ôõ üí ðñïêáëïýí ëüèç. Ãéá ôçí åðßôåõîç ôïõ óêïðïý áõôïý ðñýðåé íá êüíåé ôïõò êáôüëëçëïõò åëýã ïõò êáé íá áíáëýóåé ôï ðñüãñáììü ôïõ ìýóá áðü ôá åñãáëåßá åêóöáëìüôùóçò ðïõ ôïõ ðáñý åé ôï ðåñéâüëëïí ðñïãñáììáôéóìïý. ÔÝëïò ï ðñïãñáììáôéóôþò ãéá íá äçìéïõñãþóåé áóöáëþ êáé ðïéïôéêü ðñïãñüììáôá, ðñýðåé íá ðñïâëýøåé üëåò ôéò êáôáóôüóåéò ëüèïõò ðïõ ìðïñåß íá óõìâïýí óôï ðåñéâüëëïí åêôýëåóçò áðü êáêü åéñéóìü Þðñïâëçìáôéêü åîïðëéóìü êáé íá äþóåé óôï ðñüãñáììü ôïõ äõíáôüôçôåò áíôéìåôþðéóçò êáé ôñüðïõò äéáöõãþò. ËÝîåéò êëåéäéü ËÜèïò, Ýëåã ïò, åêóöáëìüôùóç, åñãáëåßá åêóöáëìüôùóçò, åéñéóìüò ëüèïõò. ÅñùôÞóåéò - ÈÝìáôá ãéá óõæþôçóç 1. Íá äïèïýí ðáñáäåßãìáôá ëáèþí ðïõ åìöáíßæïíôáé óõ íü óôï ëïãéóìéêü.

290 ÁíÜðôõîç åöáñìïãþí óå ðñïãñáììáôéóôéêü ðåñéâüëëïí 2. Íá ãßíåé óõæþôçóç ó åôéêü ìå ôéò åðéðôþóåéò ôùí ëáèþí ôïõ ëïãéóìéêïý. 3. ÐåñéãñÜøôå ôï åéñéóìü åíüò ëüèïõò ðïõ åìöáíßæåôáé êáôü ôï ñüíï åêôýëåóçò åíüò ðñïãñüììáôïò. 4. ÐåñéãñÜøôå ôç ñçóéìüôçôá ôùí åñãáëåßùí åêóöáëìüôùóçò. 5. Íá ãßíåé óõæþôçóç ãéá ôéò áéôßåò ðïõ ïäçãïýí óôçí êáôáóêåõþ ðñïâëçìáôéêïý ëïãéóìéêïý. Âéâëéïãñáößá 1. Åãêõêëïðáßäåéá ÐëçñïöïñéêÞò êáé Ôå íïëïãßáò Õðïëïãéóôþí, Åêäüóåéò ÍÝùí Ôå íïëïãéþí, Ôüìïò 2, ÁèÞíá, 1986. 2. Ðáí. Ðïëßôçò-Çë. Ãéáííüðïõëïò: Ðñïãñáììáôéóìüò ìå ôç Visual Basic 4.0, Åêäüóåéò ÍÝùí Ôå íïëïãéþí, ÁèÞíá, 1997. 3. Ivars Peterson: Fatal Defect:Chasing killer Computer Bugs, Science News, USA, 1995. Äéåõèýíóåéò Äéáäéêôýïõ http://www.alsplace.com/home/pages/famous_bugs.htm ÅíôõðùóéáêÞéóôïóåëßäá ìå óçìáíôéêü éóôïñéêü óöüëìáôá ðïõ Ý ïõí ðáñïõóéáóôåß óôï þñï ôùí õðïëïãéóôþí. http://www.bugnet.com ÐåñéÝ ïíôáé ðëçñïöïñéáêü äåëôßá ãéá ëüèç ðïõ ðáñïõóéüæïíôáé óôï þñï ôùí õðïëïãéóôþí êáé ôå íéêýò áíôéìåôþðéóþò ôïõò. http://www.guide-p.infoseek.com ÐåñéÝ åé óõíäýóåéò ìå ðåñéïäéêü ðïõ ðáñý ïõí ðëçñïöïñßåò ãéá ëüèç ðïõ åìöáíßæïíôáé óôïõò õðïëïãéóôýò. http://www.netstuff.com/computerbug Éóôïóåëßäá ìå ðñïúüíôá ó åôéêü ìå ëüèç õðïëïãéóôþí. http://www.techweb.com ÅíçìåñùìÝíç éóôïóåëßäá ìå åêôéìþóåéò, ìåëýôåò, áðïôåëýóìáôá äïêéìþí êáé åñãáëåßùí ãéá ôçí áíôéìåôþðéóç ôïõ ðñïâëþìáôïò ôïõ Ýôïõò 2000. http://www.year2000.co.nz ÐåñéÝ åé ðëçñïöïñßåò ãéá ôï ðñüâëçìá ôïõ Ýôïõò 2000.