Εισαγωγή στον Προγραμματισμό Η/Υ (Fortran 90/95/2003)
Καραμπετάκης Νικόλαος
Εισαγωγή στους Η/Υ και τις γλώσσες προγραμματισμού. Επίλυση ενός προβλήματος από τον Η/Υ (η έννοια του αλγορίθμου). Βασικά στοιχεία ενός προγράμματος Η/Υ στη Fortran 90/95/2003. Δομή της Fortran 90/95/2003 (τελεστές, εντολές συνθήκης και διακλάδωσης, δημιουργία βρόγχων, πίνακες, συναρτήσεις κλπ.). Αρχεία. Προχωρημένες δομές (ουρές, στοίβες).
Λιγότερα
Εισαγωγή στους Η/Υ και τις γλώσσες προγραμματισμού. Επίλυση ενός προβλήματος από τον Η/Υ (η έννοια του αλγορίθμου). Βασικά στοιχεία ενός προγράμματος Η/Υ στη Fortran 90/95/2003. Δομή της Fortran 90/95/2003 (τελεστές, εντολές συνθήκης και διακλάδωσης, δημιουργία βρόγχων, πίνακες, συναρτήσεις κλπ.). Αρχεία. Προχωρημένες δομές (ουρές, στοίβες).
Εισαγωγή στους Η/Υ και τις γλώσσες προγραμματισμού. Επίλυση ενός προβλήματος από τον Η/Υ (η έννοια του αλγορίθμου). Βασικά στοιχεία ενός προγράμματος Η/Υ στη Fortran 90/95/2003. Δομή της Fortran 90/95/2003 (τελεστές, εντολές συνθήκης και διακλάδωσης, δημιουργία βρόγχων, πίνακες, συναρτήσεις κλπ.). Αρχεία. Προχωρημένες δομές (ουρές, στοίβες).
Περίγραμμα
Περιεχόμενο μαθήματος
- Εισαγωγή στους Η/Υ και στο περιβάλλον της Compaq Visual Fortran
- Βασικά στοιχεία ενός προγράμματος στην Fortran 90
- Δομή ενός προγράμματος στην Fortran 90
- Ο τελεστής ανάθεσης και οι εντολές εισόδου-εξόδου
- Εντολές συνθήκης και διακλάδωσης
- Εντολές επανάληψης
- Πίνακες
- Συναρτήσεις
- Διαδικασίες
Διδάσκοντες
Διδάσκων: Νικόλαος Καραμπετάκης, Αναπληρωτής Καθηγητής
Συνεργάτης Ανάπτυξης Περιεχομένου: Αναστασία Γρηγοριάδου
Μαθησιακοί στόχοι
- Εκμάθηση των βασικών δομών στον προγραμματισμό Η/Υ.
- Υλοποίηση των δομών προγραμματισμού στην γλώσσα προγραμματισμού υψηλού επιπέδου Fortran 90/95/2003.
- Επίλυση μαθηματικών προβλημάτων με την βοήθεια μιας γλώσσας προγραμματισμού υψηλού επιπέδου. Έμφαση δίνεται στον αλγόριθμο επίλυσης.
Βιβλιογραφία
- Εισαγωγή στην Fortran 90/95/2003 του Ν. Καραμπετάκη, Εκδόσεις Ζήτη.
- Fortran 77/90/95 & Fortran 2003, 2η Έκδοση του Α. Καράκου, Εκδόσεις Κλειδάριθμος.
- Προγραμματίζοντας με Fortran 90 της Θ. Γράψα, Εκδόσεις Γκιούρδας.
- Σύγχρονη Fortran 95/2003 του Κ. Λάζου, Εκδόσεις Τζιόλα.
Ξενόγλωσση βιβλιογραφία
- The Fortran 2003 Handbook, The complete Syntax, Features and Procedures, Jeanne C. Adams, Walter S. Brainerd, Richard A. Hendrickson, Jeanne T. Martin, Brian T. Smith, 2009, Springer.
- Fortran 95/2003 For Scientists and Engineers, S.J. Chapman, 2008, 3rd Edition, McGraw-Hill International Edition.
- Object Oriented Programming via Fortran 90/95, Ed Akin, 2003, Cambridge University Press
Επιπλέον συνιστώμενη βιβλιογραφία
- Βιβλία- κείμενα
- T. H. Cormen, C.E. Leiserson, R.L. Rivest, and C. Stein, Introduction to Algorithm, MIT Press (2nd edition) 2001.
- David Harel, Yishai Feldman, Algorithmics, The Spirit of Computing, Addison-Wesley (3rd edition) 2004.
- Online readings
- http://www.fortran.com/F/ -Welcome to the F Programming Language Homepage
- http://www.fortran.com/ -The Fortran Company
- http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows-Intel® Visual Fortran Compiler for Windows
- http://people.ds.cam.ac.uk/nmm1/Fortran/index.html -Introduction to Modern Fortran
- http://csna.math.auth.gr/csna/programs/Introduction%20to%20Programming%20with%20Fortran.pdf -Introduction to Programming with Fortran
- http://users.teiath.gr/vmouss/ebooks/fortran/mathimata.htm -ΒΑΣΙΚΑ ΜΑΘΗΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
- Εισαγωγή στους Η/Υ και στο περιβάλλον της Compaq Visual Fortran
- Βασικά στοιχεία ενός προγράμματος στην Fortran 90
- Δομή ενός προγράμματος στην Fortran 90
- Ο τελεστής ανάθεσης και οι εντολές εισόδου-εξόδου
- Εντολές συνθήκης και διακλάδωσης
- Εντολές επανάληψης
- Πίνακες
- Συναρτήσεις
- Διαδικασίες
Διδάσκων: Νικόλαος Καραμπετάκης, Αναπληρωτής Καθηγητής
Συνεργάτης Ανάπτυξης Περιεχομένου: Αναστασία Γρηγοριάδου
- Εκμάθηση των βασικών δομών στον προγραμματισμό Η/Υ.
- Υλοποίηση των δομών προγραμματισμού στην γλώσσα προγραμματισμού υψηλού επιπέδου Fortran 90/95/2003.
- Επίλυση μαθηματικών προβλημάτων με την βοήθεια μιας γλώσσας προγραμματισμού υψηλού επιπέδου. Έμφαση δίνεται στον αλγόριθμο επίλυσης.
- Εισαγωγή στην Fortran 90/95/2003 του Ν. Καραμπετάκη, Εκδόσεις Ζήτη.
- Fortran 77/90/95 & Fortran 2003, 2η Έκδοση του Α. Καράκου, Εκδόσεις Κλειδάριθμος.
- Προγραμματίζοντας με Fortran 90 της Θ. Γράψα, Εκδόσεις Γκιούρδας.
- Σύγχρονη Fortran 95/2003 του Κ. Λάζου, Εκδόσεις Τζιόλα.
Ξενόγλωσση βιβλιογραφία
- The Fortran 2003 Handbook, The complete Syntax, Features and Procedures, Jeanne C. Adams, Walter S. Brainerd, Richard A. Hendrickson, Jeanne T. Martin, Brian T. Smith, 2009, Springer.
- Fortran 95/2003 For Scientists and Engineers, S.J. Chapman, 2008, 3rd Edition, McGraw-Hill International Edition.
- Object Oriented Programming via Fortran 90/95, Ed Akin, 2003, Cambridge University Press
Επιπλέον συνιστώμενη βιβλιογραφία
- Βιβλία- κείμενα
- T. H. Cormen, C.E. Leiserson, R.L. Rivest, and C. Stein, Introduction to Algorithm, MIT Press (2nd edition) 2001.
- David Harel, Yishai Feldman, Algorithmics, The Spirit of Computing, Addison-Wesley (3rd edition) 2004.
- Online readings
- http://www.fortran.com/F/ -Welcome to the F Programming Language Homepage
- http://www.fortran.com/ -The Fortran Company
- http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows-Intel® Visual Fortran Compiler for Windows
- http://people.ds.cam.ac.uk/nmm1/Fortran/index.html -Introduction to Modern Fortran
- http://csna.math.auth.gr/csna/programs/Introduction%20to%20Programming%20with%20Fortran.pdf -Introduction to Programming with Fortran
- http://users.teiath.gr/vmouss/ebooks/fortran/mathimata.htm -ΒΑΣΙΚΑ ΜΑΘΗΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
Στην πρώτη ενότητα εισάγονται βασικές έννοιες που αφορούν τη δομή ενός ηλεκτρονικού υπολογιστή και των δύο βασικών μερών από τα οποία αποτελείται ο Η/Υ. Συγκεκριμένα αναφέρονται ο βασικός ορισμός του υλικού (hardware) ενός Η/Υ, η βασική δομή του και μια σύντομη περιγραφή των τμημάτων που το απαρτίζουν καθώς και ο ορισμός του λογισμικού και οι δύο βασικές κατηγορίες λογισμικού. Στην συνέχεια δίνονται οι ορισμοί του αλγόριθμου και της γλώσσας προγραμματισμού και περιγράφονται οι δύο μεγάλες κατηγορίες στις οποίες χωρίζονται οι γλώσσες προγραμματισμού. Γίνεται αναφορά στο διαχωρισμό της λειτουργίας του διερμηνέα από αυτή του μεταφραστή και περιγράφεται η διαδικασία εκτέλεσης και μετάφρασης ενός προγράμματος. Αναλύονται τα στάδια του προγραμματισμού και δύο τρόποι με τους οποίους μετρούμε την απόδοση ενός αλγορίθμου. Τέλος αναφέρεται η διαδικασία εισαγωγής ενός προγράμματος γραμμένο σε FORTRAN 90/95/2003 στο περιβάλλον της Intel Visual Fortran και εκτέλεσής του.
Λέξεις Κλειδιά: Υλικό (hardware), Λογισμικό (software), Λειτουργικό σύστημα, Κύρια Μνήμη (RAM), Κεντρική μονάδα επεξεργασίας (CPU), Λογισμικό συστήματος, Λογισμικό εφαρμογών, Πηγαίος Κώδικας, Αντικείμενο Πρόγραμμα, Ασυμπτωτική πολυπλοκότητα
Η δεύτερη ενότητα αποτελείται από δύο μέρη. Στο πρώτο μέρος παρουσιάζονταιτο αλφάβητο της Fortran, οι 9 κατηγορίες που απαρτίζουν το λεξιλόγιο της Fortran (ονόματα, αριθμοί, χαρακτήρες, αλυσίδες χαρακτήρων, λογικοί χαρακτήρες, τελεστές, διαχωριστές, λέξεις κλειδιά, σχόλια) καθώς και ο τρόπος με τον οποίο αποθηκεύονται ακέραιοι, πραγματικοί και μιγαδικοί αριθμοί στη μνήμη του Η/Υ. Περιγράφονται οι τύποι δεδομένων που υποστηρίζει η Fortran και που χειρίζεται ένα πρόγραμμα καθώς και οι κατηγορίες στις οποίες χωρίζονται τα δεδομένα. Αναφέρεται η σειρά προτεραιότητας πράξεων καθώς και ο τρόπος υπολογισμού του αποτελέσματος μιας έκφρασης, χρησιμοποιώντας σωστά την προτεραιότητα των πράξεων. Στην συνέχεια γίνεται αναφορά σε στοιχειώδεις αριθμητικές και αλφαριθμητικές συναρτήσεις της Fortran. Στο δεύτερο μέρος της ενότητας παρουσιάζονται η δομή και τα τμήματα από τα οποία αποτελείται ένα πρόγραμμα στη Fortran. Αναλυτικότερα περιγράφονται ο τρόπος με τον οποίο δηλώνονται η αρχή και το τέλος ενός προγράμματος, ο τρόπος με τον οποίο δηλώνονται οι σταθερές και οι μεταβλητές που θα χρησιμοποιηθούν στο πρόγραμμα καθώς και το μέρος στο οποίο τοποθετούνται οι εκτελέσιμες προτάσεις του προγράμματος, οι διαδικασίες και οι συναρτήσεις οι οποίες είναι ενσωματωμένες στο πρόγραμμά μας.
Λέξεις Κλειδιά: Πραγματικοί αριθμοί σταθερής (κινητής) υποδιαστολής, Σταθερές (constants), Μεταβλητές (variables), Τύποι δεδομένων
Στην τρίτη ενότητααρχικά παρουσιάζεται ο τελεστής ανάθεσης(=) και αναλύεται η βασική διαφορά του τελεστή ανάθεσης (=) με τον τελεστή ισότητας (=) που χρησιμοποιούμε στα Μαθηματικά. Στην συνέχεια αναφέρονται οι τρόποι σύνταξης της εντολής READ με σκοπό την εισαγωγή τιμών σε μεταβλητές κατά τη διάρκεια εκτέλεσης του προγράμματος, καθώς και οι τρόποι σύνταξης της εντολής WRITE με σκοπό την εκτύπωση του περιεχόμενου των μεταβλητών με καθορισμένο τρόπο. Παράλληλα αναλύονται ο τρόπος επίλυσης απλών, ως προς την δομή, προβλημάτων εισόδου-εξόδου και τα αποτελέσματα της βήμα προς βήμα εκτέλεσης ενός προγράμματος.
Λέξεις Κλειδιά: READ, WRITE, PARAMETER
Στην τέταρτη ενότητααναφέρονται οι τρόποι σύνταξης της εντολής GOTO χωρίς συνθήκη, της εντολής GOTO με συνθήκη, των τριών μορφών της εντολής IF (αριθμητική, λογική, block if) και της εντολής SELECT-CASE. Μέσω παραδειγμάτων παρουσιάζεται η διαφορά των εντολών GOTO, IF-THEN-ELSE και SELECT-CASE και ο τρόπος μετατροπής του κώδικα ενός προγράμματος που έχει γραφεί με την εντολή SELECT-CASE σε κώδικα με την εντολή IF-THEN-ELSE και το αντίστροφο, όπου αυτό είναι δυνατό. Παράλληλα αναλύονται η διαδικασία επίλυσης ενός απλού ως προς τη δομή προβλήματος με μια από τις παραπάνω εντολές συνθήκης και τα αποτελέσματα της βήμα προς βήμα εκτέλεσης ενός προγράμματος που περιέχει εντολές συνθήκης.
Λέξεις Κλειδιά: GOTO, IF-THEN-ELSE, SELECT-CASE
Στην πέμπτη ενότητα παρουσιάζεται η έννοια του μετρητή και οι μορφές της εντολής επανάληψης DO-END DO που χρησιμοποιείται για την επανάληψη ενός συνόλου εντολών. Μέσω παραδειγμάτων παρουσιάζεται η εφαρμογή των τριών μορφών της εντολής επανάληψης DO-END DO σε προβλήματα στα οποία είναι επιθυμητή η επανάληψη ενός τμήματος του προγράμματος α) άπειρες φορές, β) έως ότου κάποια συνθήκη ικανοποιηθεί γ) έναν συγκεκριμένο αριθμό φορών. Παράλληλα μελετάται ο τρόπος ελέγχου των αποτελεσμάτων της βήμα προς βήμα εκτέλεσης ενός προγράμματος που περιέχει την εντολή DO-END DO και ο τρόπος εντοπισμού των λαθών που μπορεί να προκύψουν από την εσφαλμένη χρήση της. Τέλος αναφέρεται ο τρόπος συνδυασμού δύο ή περισσοτέρων DO-END DO (φωλιασμένες εντολές επανάληψης).
Λέξεις Κλειδιά: DO, END DO
Στην έκτη ενότητα παρουσιάζονται οι σύνθετες μεταβλητές ή πίνακες, οι οποίες σε αντίθεση με τις απλές μεταβλητές, έχουν την δυνατότητα να αποθηκεύουν παραπάνω από μία τιμές στην μνήμη του Η/Υ και είναι πολύ χρήσιμες στην επεξεργασία μεγάλου πλήθους δεδομένων. Αρχικά αναφέρεται η συνήθης διαδικασία επίλυσης προβλημάτων που περιλαμβάνουν πίνακες και στην συνέχεια παρουσιάζονται οι κατηγορίες πινάκων στη Fortran. Δίνονται ο ορισμός ενός μονοδιάστατου πίνακα, οι τρόποι εισαγωγής τιμών σε αυτόν είτε μέσα από το πρόγραμμα είτε εκτός προγράμματος και οι τρόποι εμφάνισης των στοιχείων του πίνακα. Μέσω παραδειγμάτων παρουσιάζονται διάφοροι τρόποι επεξεργασίας των στοιχείων του πίνακα όπως α) εμφάνιση των στοιχείων του πίνακα που έχουν μία συγκεκριμένη ιδιότητα (ή όχι), β) υπολογισμός του αθροίσματος, πλήθους, γινομένου, μέσου όρου στοιχείων που ικανοποιούν κάποια ιδιότητα, γ) υπολογισμός του ελάχιστου και μέγιστου στοιχείου του πίνακα, δ) ταξινόμηση των στοιχείων ενός πίνακα σε αύξουσα ή φθίνουσα σειρά, ε) αναζήτηση στοιχείων σε έναν ταξινομημένο πίνακα, στ) συνένωση δύο ταξινομημένων πινάκων, ζ) εκτέλεση όλων των προηγούμενων επεξεργασιών σε δύο ή περισσότερους πίνακες ταυτόχρονα. Παράλληλα αναφέρονται χρήσιμες συναρτήσεις στην επεξεργασία πινάκων.
Λέξεις Κλειδιά: Πίνακας, Ορισμός μονοδιάστατου πίνακα, Δείκτης, Άθροισμα, πλήθος, γινόμενο, μέσος όρος, Ελάχιστο-μέγιστο, Αύξουσα-φθίνουσα σειρά, Ταξινόμηση φυσαλίδας, implied do, στατικός πίνακας, δυναμικός πίνακας, ALLOCATE, DEALLOCATE, ALLOCATABLE
Στην έβδομη ενότητα δίνονται τα χαρακτηριστικά στοιχεία ενός πολυδιάστατου πίνακα, οι τρόποι δήλωσης ενός πολυδιάστατου πίνακα, οι τρόποι ορισμού υποπινάκων, οι τρόποι τοποθέτησης τιμών σε αυτόν είτε μέσα από το πρόγραμμα είτε εκτός προγράμματος και οι τρόποι εμφάνισης των στοιχείων του πίνακα. Στην συνέχεια αναφέρονται οι πράξεις πινάκων και χρήσιμες συναρτήσεις πινάκων.
Λέξεις Κλειδιά: Ορισμός πολυδιάστατου πίνακα, Πράξεις πινάκων, Συναρτήσεις πινάκων, WHERE, FORALL
Στην όγδοη ενότητα περιγράφεται η τεχνική του τμηματικού προγραμματισμού και δίνονται ο ορισμός και οι κατηγορίες των υποπρογραμμάτων στη Fortran. Αρχικά αναφέρονται οι διάφορες κατηγορίες συναρτήσεων (βιβλιοθήκης, εντολής, υποπρογράμματος), οι τρόποι δήλωσης και σύνταξης των συναρτήσεων-αναδρομικών συναρτήσεων και οι τρόποι εισαγωγής δεδομένων σε μία συνάρτηση και επιστροφής των τιμών της συνάρτησης. Επίσης δίνεται ιδιαίτερη έμφαση στον διαχωρισμό μεταξύ των καθολικών και τοπικών μεταβλητών. Τέλος παρουσιάζονται οι συναρτήσεις – διαδικασίες της αριθμητικής IMSL βιβλιοθήκης της Compaq Visual Fortran (MATH/LIBRARY, STAT/LIBRARY).
Λέξεις Κλειδιά: Υποπρόγραμμα (Subprogram), Συναρτήσεις Βιβλιοθήκης(function), Συναρτήσεις Εντολής, Συναρτήσεις Υποπρογράμματος, Αναδρομικές Συναρτήσεις
Στην ένατη ενότητα αρχικά αναφέρονται οι διάφορες κατηγορίες διαδικασιών (βιβλιοθήκης, εσωτερικές, εξωτερικές), οι τρόποι δήλωσης και σύνταξης των διαδικασιών-αναδρομικών διαδικασιών και οι τρόποι εισαγωγής δεδομένων σε μία διαδικασία και επιστροφής αποτελεσμάτων μέσω της διαδικασίας. Στην συνέχεια δίνονται ο ορισμός και ο τρόπος σύνταξης των modules. Τέλος παρουσιάζεται ο τρόπος δημιουργίας στατικής βιβλιοθήκης στη Compaq Visual Fortran, συναρτήσεις – διαδικασίες της αριθμητικής IMSL βιβλιοθήκης της Compaq Visual Fortran και η διαδικασία μετάφρασης/εκτέλεσης προγραμμάτων με συναρτήσεις από την IMSL βιβλιοθήκη.
Λέξεις Κλειδιά: Διαδικασία (subroutine), Διαδικασίες Βιβλιοθήκης, Εσωτερικές/Εξωτερικές Διαδικασίες, module, interface, τυπικές, πραγματικές παράμετροι, Συναρτήσεις – Διαδικασίες της αριθμητικής IMSL βιβλιοθήκης της Compaq Visual Fortran
Ανοικτό Ακαδ. Μάθημα
Αρ. Επισκέψεων : 9080
Αρ. Προβολών : 40698