Παράλληλη Αναζήτηση

Αναζήτηση

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

Αθλητικά :: Αθλητική είδηση

( ολοι "καθαροί" :: 13/2/2006 21:01:35) 

ΧΕΙΜΕΡΙΝΟΙ ΟΛΥΜΠΙΑΚΟΙ

7.4 Αρχές κατασκευής λογισμικού

Ολοι "καθαροί"

Ένα πρόγραμμα δεν είναι τίποτα περισσότερο από μια σειρά οδηγιών προς την ΚΜΕ του υπολογιστή, που την καθοδηγεί να κάνει συγκεκριμένες ενέργειες.

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

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

Εξάλλου, η Γερμανίδα πρωταθλήτρια του σκι αντοχής Έβι Ζαχενμπάχερ, που είχε τιμωρηθεί με πενθήμερο αποκλεισμό λόγω υψηλού αιματοκρίτη, υποβλήθηκε σε νέες εξετάσεις και θα μπορέσει να αγωνιστεί κανονικά στο ομαδικό σπριντ.

Το ίδιο άτομο μπορεί να συντηρεί και να προσαρμόζει το πρόγραμμα σε νέες ανάγκες, να παίρνει σχεδιαστικές αποφάσεις, κλπ.

ΤΑ ΑΠΟΤΕΛΕΣΜΑΤΑ στους χθεσινούς τελικούς:

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

Δίαθλο: 15.000μ. ατομικό γυναικών: Σβετλάνα Ισμουράτοβα (Ρωσία) 49:24.1, Όλγα Πίλεβα (Ρωσία) 50:09.6, Μαρίνα Γκλάγκοβ (Γερμανία) 50:34.9, Χιονοσανίδα: Χαφ πάιπ γυναικών: Χάνα Τέτερ (ΗΠΑ) 46,4β., Γκρέτσεν Μπλέιλερ (ΗΠΑ) 43,4β., Κιέρστι Μπουάας (Νορβηγία) 42,0β., Πατινάζ μικρής πίστας: 500μ. ανδρών: Τζόι Τσικ (ΗΠΑ) 69.76, Ντμίτρι Ντοροφέγεφ (Ρωσία) 70.41, Λι Κανγκ Σέοκ (Ν. Κορέα) 70.43, 1.500μ. ανδρών: Αν Χιουν Σο (Ν. Κορέα) 2:25.341, Λι Χο Σουκ (Ν. Κορέα) 2:25.600, Λι Ζιαζούν (Κίνα) 2:26.005.

Τμηματικός προγραμματισμός

ΤΟ ΣΗΜΕΡΙΝΟ ΠΡΟΓΡΑΜΜΑ περιλαμβάνει τη συμμετοχή του Σταύρου Χριστοφορίδη στα 10.000μ. του δίαθλου ανδρών (14.30), όπου ο Δραμινός πρωταθλητής θα επιδιώξει κάτι καλύτερο από ό,τι στο αντίστοιχο αγώνισμα των 20.000μ., στο οποίο κατετάγη τελευταίος.

Τι γίνεται όμως όταν το πρόγραμμα είναι μεγάλο και εμπλέκονται στην κατασκευή του δεκάδες ή και εκατοντάδες άτομα σε μία ή περισσότερες ομάδες;

Μετάλλια θα απονεμηθούν σε άλλα πέντε αγωνίσματα, στο αλπικό σκι (αλπικό σύνθετο ανδρών), το σκι αντοχής (ομαδικό σπριντ ανδρών και γυναικών), το πατινάζ ταχύτητας (500μ. γυναικών) και το λουτζ (μονοθέσιο γυναικών).

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

Υπορουτίνα Βασικό εργαλείο για την υλοποίηση αυτής της αρχής ήταν η επινόηση της υπορουτίνας (subroutine) στις αρχές της δεκαετίας του ‘50. Η υπορουτίνα είναι ένα τμήμα κώδικα στο οποίο έχουμε δώσει ένα όνομα και μπορεί να εκτελεστεί σε οποιοδήποτε σημείο του προγράμματος απλώς με αναφορά στο όνομά της. Οι υπορουτίνες δίνουν το βασικό μηχανισμό για την τμηματική ανάπτυξη του λογισμικού. Οι διάφορες υπορουτίνες γράφονται ανεξάρτητα και στη συνέχεια συντίθενται και δημιουργούν το τελικό πρόγραμμα. Παρ’ όλο που οι υπορουτίνες προσφέρουν το βασικό μηχανισμό για τμηματικό προγραμματισμό, αυτές και μόνο δεν επαρκούν για τη δημιουργία ενός σωστά δομημένου λογισμικού. Είναι απαραίτητη μεγάλη πειθαρχία στον τρόπο χρήσης τους. Χωρίς αυτή την πειθαρχία είναι πολύ εύκολο να κατασκευαστούν προγράμματα εξαιρετικά πολύπλοκα και δυσνόητα, που δύσκολα τροποποιούνται εκ των υστέρων.

Κλήση της υπορουτίνας "εμβαδό" από δύο σημεία ενός προγράμματος

Δομημένος προγραμματισμός Στα τέλη της δεκαετίας του 1960 υπήρξε μια μεγάλη προσπάθεια προς την κατεύθυνση της καθιέρωσης ενός πειθαρχημένου τρόπου γραφής προγραμμάτων. Το αποτέλεσμα ήταν η εξέλιξη του τμηματικού προγραμματισμού σε αυτό που ονομάστηκε δομημένος προγραμματισμός (structured programming). Βασική τεχνική του δομημένου προγραμματισμού είναι η διάσπαση των λειτουργιών του προγράμματος σε άλλες, απλούστερες και ανεξάρτητες κατά το δυνατό, επιμέρους λειτουργίες και στη συνέχεια η υλοποίησή τους με καθορισμένους τύπους δομών ελέγχου. Οι δομές αυτές είναι: - Η διαδοχή (ακολουθία). Οι εντολές βρίσκονται σε ακολουθία και εκτελούνται με τη σειρά που είναι γραμμένες. - Η επιλογή. Η εκτέλεση των εντολών εξαρτάται από την τιμή αλήθειας της συνθήκης. - Η επανάληψη. Οι εντολές επαναλαμβάνονται, εφόσον αληθεύει ή δεν αληθεύει η συνθήκη.

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

Ιδρυτής του δομημένου προγραμματισμού θεωρείται ο Dijkstra, ο οποίος διατύπωσε τις πρώτες υποδείξεις που αφορούσαν τον περιορισμό της εντολής GOTO.