Διδακτικά Βιβλία του Παιδαγωγικού Ινστιτούτου

Αναζήτηση

Βρες
Εμφάνιση

11.2.1. Διαδικασίες

Σε πολλά από τα σύγχρονα προγραμματιστικά περιβάλλοντα, ο τρόπος που ο προγραμματιστής καθορίζει την εκτέλεση του προγράμματος, είναι με συγγραφή των κατάλληλων εντολών κώδικα που ενεργοποιούν τα αντικείμενα της εφαρμογής και τα υποχρεώνουν να αντιδράσουν στα γεγονότα που προκαλούνται στο περιβάλλον τους. Ο κώδικας για κάθε γεγονός που πρόκειται να συμβεί, σε άλλα προγραμματιστικά περιβάλλοντα γράφεται με τη μορφή ανεξάρτητων τμημάτων κώδικα του προγράμματος, που καλούνται διαδικασίες γεγονότων (event procedures), ενώ σε κάποια άλλα προγραμματιστικά περιβάλλοντα γράφεται ενιαία.

Κάθε αντικείμενο της εφαρμογής αναγνωρίζει ένα συγκεκριμένο αριθμό γεγονότων. Κατά συνέπεια, για εκείνη την κατηγορία των προγραμματιστικών περιβαλλόντων που υποστηρίζουν διαδικασίες γεγονότων, αυτές καθορίζονται από την ενέργεια και το αντικείμενο που τις υποστηρίζει.

Η σύνταξη μιας διαδικασίας γεγονότος είναι : ΔΙΑΔΙΚΑΣΙΑ Αντικείμενο_Γεγονός … Εντολές κώδικα … ΤΕΛΟΣ ΔΙΑΔΙΚΑΣΙΑΣ

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

Η έννοια της διαδικασίας δεν απαντάται με την ίδια ονομασία σε όλα τα σύγχρονα προγραμματιστικά περιβάλλοντα. Για παράδειγμα, στη Visual C++ οι διαδικασίες ονομάζονται συναρτήσεις (functions).

Σε μια εφαρμογή οδηγούμενη από τα γεγονότα δεν συμπεριλαμβάνουμε μόνο διαδικασίες γεγονότων, αλλά έχουμε τη δυνατότητα να συμπεριλάβουμε και γενικές διαδικασίες ή συναρτήσεις που καλούνται μέσα από διαδικασίες γεγονότων. Για παράδειγμα αν θέλουμε σε πολλά σημεία ενός προγράμματος να γίνεται ο ίδιος υπολογισμός, αποφεύγουμε να χρησιμοποιούμε τις ίδιες εντολές προγράμματος σε κάθε διαδικασία γεγονότος, αλλά δημιουργούμε μια γενική διαδικασία Υπολογισμός εφαρμόζοντας τις αρχές του δομημένου προγραμματισμού :

ΔΙΑΔΙΚΑΣΙΑ Υπολογισμός … Εντολές κώδικα … ΤΕΛΟΣ ΔΙΑΔΙΚΑΣΙΑΣ

Στη συνέχεια μέσα από κάθε διαδικασία γεγονότος στο σημείο που θέλουμε να εκτελεστεί ο συγκεκριμένος υπολογισμός καλούμε τη γενική διαδικασία :

ΔΙΑΔΙΚΑΣΙΑ Αντικείμενο_Γεγονός … Κάλεσε Υπολογισμός ` Κλήση της γενικής διαδικασίας … ΤΕΛΟΣ ΔΙΑΔΙΚΑΣΙΑΣ

Παρατηρούμε λοιπόν ότι για την ανάπτυξη μιας σύγχρονης εφαρμογής πρέπει να εφαρμόσουμε και τις τρεις τεχνικές προγραμματισμού που έχουμε αναπτύξει. Σε μια σύγχρονη εφαρμογή συνδυάζουμε τον τμηματικό (modular) προγραμματισμό, αξιοποιώντας τις τεχνικές του αντικειμενοστραφούς και του οδηγούμενου από γεγονότα προγραμματισμού, αλλά εξακολουθούμε να χρησιμοποιούμε και το δομημένο (structural) προγραμματισμό, αφού τα περιεχόμενα των διαδικασιών γεγονότων είναι δομημένες εντολές κώδικα. Η εφαρμογή του δομημένου προγραμματισμού φυσικά δε διαφοροποιείται και ισχύουν όσα γνωρίζουμε για τις μεταβλητές, τις δομές ελέγχου, τους πίνακες κ.ά. Τέλος μέσα σε ένα πρόγραμμα έχουμε τη δυνατότητα χρησιμοποίησης γενικών διαδικασιών και συναρτήσεων που επίσης στηρίζονται στις αρχές του δομημένου προγραμματισμού.