Προγραμματισμός FORTRAN > Μαθήματα > Διαδικασία του Προγραμματισμού | |
|
Η διαδικασία της δημιουργίας ενός προγράμματος είναι σχεδόν ίδια σε όλα τα συστήματα Η/Υ και όλες τις γλώσσες προγραμματισμού και έχει δυο στάδια: τη Σχεδίαση και την Υλοποίηση. Κατά τη Σχεδίαση θα πρέπει:
Μετά τη σχεδίαση, περνάμε στην Υλοποίηση του προγράμματος όπου:
Όλα τα βήματα της σχεδίασης καθώς και η σύνταξη (edit) του προγράμματος είναι δουλειές του προγραμματιστή. Τα βήματα της μεταγλώττισης (compile) και της εκτέλεσης (run) είναι κυρίως δουλειές της μηχανής, αλλά και ο προγραμματιστής συμμετέχει εντοπίζοντας τυχόν συντακτικά ή λογικά σφάλματα. Η παραπάνω διευκολύνεται ιδιαίτερα όταν χρησιμοποιούμε κάποιο ειδικό περιβάλλον ανάπτυξης. ΣΧΕΔΙΑΣΗ Η λύση κάθε προβλήματος μπορεί να περιγραφεί σαν μια σειρά βημάτων ή διαδοχικών ενεργειών που πρέπει να εκτελεστούν. Αυτή η σειρά των ενεργειών λέγεται αλγόριθμος. Από τα αρχαία χρόνια οι μαθηματικοί προσπαθούν να δίνουν έξυπνους και κομψούς αλγορίθμους για τη λύση πολύπλοκων προβλημάτων. Αλλά και όλα τα απλά προβλήματα λύνονται με κάποιον αλγόριθμο. Πριν λοιπόν αρχίσει η σύνταξη του κώδικα ενός προγράμματος θα πρέπει να διατυπωθεί μα σαφήνεια η λογική του αλγορίθμου και η ακολουθία των βημάτων του. Η διατύπωση του αργορίθμου γίνεται συνήθως με δύο άλλους τρόπους,
Και οι δυο τρόποι είναι ανεξάρτητοι της γλώσσας που χρησιμοποιούμε, βασίζονται, αντίστοιχα, στη φραστική ή τη συμβολική περιγραφή του αλγορίθμου, και χρησιμοποιούν ειδικές λέξεις ή σύμβολα για να παρουσιάσουν κάθε βήμα και ενέργειά του (βλ. Μάθημα: Λογικό Διάγραμμα). ΣΥΝΤΑΞΗ Αφού σκεφτούμε και σχεδιάσουμε μια εφαρμογή, ανοίγουμε έναν επεξεργαστή κειμένου (notepad, word, text editor, κλπ.) και συντάσσουμε το πρόγραμμά μας γράφοντας με τη σειρά τις εντολές που το αποτελούν. Οι εντολές που γράφουμε δεν είναι φυσικά σε γλώσσα μηχανής. Για να είναι κατανοητές από τον άνθρωπο περιέχουν, αγγλικές λέξεις, αραβικούς αριθμούς, λατινικά γράμματα και μαθηματικά σύμβολα. Όλα αυτά τα στοιχεία υπακούουν στους συντακτικούς κανόνες της κάθε γλώσσας, ώστε οι εντολές να είναι σαφείς και αποτελεσματικές. Παράδειγμα: Πρόγραμμα με εντολή ελέγχου που βρίσκει τον μέγιστο δυο αριθμών (a & b).
Το σύνολο των εντολών αποθηκεύεται σε ένα αρχείο το οποίο καλούμε πηγαίο (ή πρωτότυπο) κώδικα (source code) του προγράμματος. Το αρχείο αυτό έχει συνήθως μετά το όνομα μια επέκταση που δηλώνει ποια υψηλού επιπέδου γλώσσα χρησιμοποιήθηκε στη σύνταξή του (π.χ.: .f, .f90, .for, .bas, .c, .pas, κλπ.). Φυσικά, το αρχείο με το πηγαίο κώδικα μιας γλώσσας ανωτέρου επιπέδου δεν είναι άμεσα κατανοητό (εκτελέσιμο) από τη μηχανή. ΜΕΤΑΓΛΩΤΤΙΣΗ Για να γίνουν κατανοητές οι εντολές του προγράμματος από τον υπολογιστή, στέλνουμε το αποθηκευμένο αρχείο με το πηγαίο κώδικα στο μεταφραστικό πρόγραμμα της γλώσσας, το μεταγλωττιστή ή σύμβολο-μεταφραστή (compiler). Το αποτέλεσμα που μας δίνει ο μεταγλωττιστής είναι ένα νέο αρχείο σε γλώσσα μηχανής, κατανοητό πλέον από τον Η/Υ και συνεπώς εκτελέσιμο (executable). Το αρχείο αυτό έχει συνήθως την επέκταση .exe (ή .out) και εκτελείται όπως όλες οι άλλες εφαρμογές του Η/Υ μας. Στη πραγματικότητα η διαδικασία της μεταγλώττισης είναι συνήθως λίγο πιο σύνθετη. Καθώς τα προγράμματα γίνονται όλο και πιο μεγάλα και πολύπλοκα, διαιρούνται αναγκαστικά σε μικρότερα τμήματα πηγαίου κώδικα, τα οποία και ολοκληρώνονται χωριστά. Κάθε τμήμα που τελειώνει μεταγλωττίζεται (compile) σε γλώσσα μηχανής και ονομάζεται τελικό (object) πρόγραμμα ή ρουτίνα, αλλά δεν είναι ακόμη εκτελέσιμο. Το αρχείο αυτό έχει συνήθως την επέκταση .obj (ή .o). Αφού συγκεντρωθούν όλα τα επί μέρους τμήματα της εφαρμογής, τα συνδέουμε (link) μεταξύ τους και με ότι άλλο υλικό χρειάζεται από τις βιβλιοθήκες της γλώσσας σε ένα ανεξάρτητο και εκτελέσιμο πρόγραμμα (.exe). Η σύνθετη αυτή διαδικασία (compile + link) έχει πλέον καθιερωθεί για όλα τα προγράμματα και συχνά αναφέρεται με ένα όνομα και σαν build ή make. ΕΚΤΕΛΕΣΗ Η εκτέλεση του προγράμματος γίνεται απλά με το όνομα που προηγείται της επέκτασης .exe. Κατά την εκτέλεση διαπιστώνονται και τυχόν λάθη που δεν βρέθηκαν κατά τη μεταγλώττιση. Για να θεωρηθεί ένα πρόγραμμα αξιόπιστο πρέπει να περάσει αρκετούς ελέγχους και ο κύκλος σύνταξη - μεταγλώττιση - εκτέλεση επαναλαμβάνεται εκατοντάδες φορές μέχρι να θεωρηθεί ότι μια εφαρμογή είναι έτοιμη για χρήση. ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗΣ Για τη διευκόλυνση των προγραμματιστών, κάθε γλώσσα προγραμματισμού συνοδεύεται και από πολλά εργαλεία που απλουστεύουν τις τρεις παραπάνω διαδικασίες. Σήμερα υπάρχουν ολοκληρωμένα περιβάλλοντα ανάπτυξης εφαρμογών για κάθε γλώσσα τα οποία, εκτός από το μεταγλωττιστή (compiler & linker), διαθέτουν:
Η ύπαρξη ολοκληρωμένου παραθυρικού περιβάλλοντος ανάπτυξης δεν αποκλείει την ταυτόχρονη λειτουργία του κλασικού συστήματος στη γραμμή εντολών του UNIX ή του DOS. Αντίθετα το κλασικό σύστημα είναι απαραίτητο σε επαγγελματικό επίπεδο όπου, η δημιουργία των τελικών εκτελέσιμων προγραμμάτων αυτοματοποιείται με τη χρήση αρχείων με δέσμες εντολών (batch, make, κλπ.) και τα οποία εκτελούνται ταχύτατα και έξω από το παραθυρικό περιβάλλον των Η/Υ. |
|
©2006 Δρ. Β. Χ. Μούσας, Επικ. Καθ., e-mail | Τ.Ε.Ι. Αθήνας Τμήμα Πολιτικών Έργων Υποδομής |