FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 M5 Ασκήσεις Γεώργιος Παπαλάμπρου Επικ. Καθηγητής ΕΜΠ Εργαστήριο Ναυτικής Μηχανολογίας george.papalambrou@lme.ntua.gr ΕΜΠ/ΣΝΜΜ Εργαστήριο Ναυτικής Μηχανολογίας 1
Ενότητες Μαθήματος 1. Εισαγωγή στην γλώσσα προγραμματισμού FORTRAN. 2. Απλοί τύποι δεδομένων, σταθερές και μεταβλητές, εκφράσεις, απλές εντολές. 3. Δομές ελέγχου. 4. Διαδικασίες {=Συναρτήσεις (functions), υπορουτίνες (subroutines)}, Ενότητες/Mονάδες (modules). 5. Μεταφορά δεδομένων, είσοδος-έξοδος, εξωτερικά αρχεία δεδομένων 6. Φάσεις ανάπτυξης λογισμικού: προδιαγραφές, σχεδίαση, υλοποίηση, επαλήθευση, τεκμηρίωση, συντήρηση προγραμμάτων. 7. Σύνθετες δομές δεδομένων: πίνακες, εγγραφές, συνδεδεμένες λίστες. Δυναμική παραχώρηση μνήμης. 8. Βασικές έννοιες αντικειμενοστραφούς προγραμματισμού: αφηρημένοι τύποι δεδομένων, κλάσεις, αντικείμενα, μεταβλητές, μέθοδοι, ενθυλάκωση, κληρονομικότητα, πολυμορφισμός. 9. Διασύνδεση της FORTRAN με άλλες γλώσσες προγραμματισμού. 10. Υλοποίηση παραδειγμάτων και επίλυση προβλημάτων με τη γλώσσα προγραμματισμού FORTRAN.
Περιεχόμενα Ασκήσεων M3 M4 M7 M5 Selective Execution (IF-THEN-ELSE and SELECT CASE) Repetitive Execution (DO Loops) Functions and Modules Subroutines One-Dimensional Arrays Multi-Dimensional Arrays Formatted Input and Output M5 Εξωτερικά αρχεία Σήμερα: 4 προγράμματα ασκήσεων M5 (και στην ιστοσελίδα μαθήματος: Dropbox/m5_codes/)
Υλικό Ασκήσεων Κατεβάστε από την ιστοσελίδα μαθήματος τα προγράμματα ασκήσεων και τρέξτε τα. slides παραδείγματα ασκήσεις Κώδικες f95 ασκήσεις
Mορφοποίηση εισόδου/εξόδου - Formatted I/O Ο παρακάτω πίνακας περιγράφει τις δυνατότητες μορφοποίησης εισόδου/εξόδου δεδομένων προγράμματος. Παραδείγματα CHARACTER(LEN=30) :: Format Format = "(5X, I5.2, F10.3, A, ES14.7)" READ(*,Format)... variables... WRITE(*,Format)... variables and expressions... 5
I/O 1/4 Εξοδος ακεραίου - INTEGER Output: The I Descriptor Παράδειγμα 6
I/O 2/4 Εξοδος πραγματικού - REAL Output: The F Descriptor Παράδειγμα 7
I/O 3/4 Εξοδος πραγματικού - REAL Output: The E Descriptor Παράδειγμα 8
I/O 4/4 Εξοδος χαρακτήρα - CHARACTER Output: The A Descriptor 9
I/O Εξοδος χαρακτήρα - CHARACTER Output: The A Descriptor Παράδειγμα 10
Ι/Ο Άσκηση 1. Εκτύπωση ακεραίων και πραγματικών Το πρόβλημα Γράψτε ένα πρόγραμμα που για κάθε ακέραιο στην περιοχή από 1 έως 10, εκτυπώνει την τιμή του, το τετράγωνο, τον κύβο, την τετραγωνική ρίζα και την τέταρτη ρίζα. Θα πρέπει να δημιουργήσετε την έξοδο όπως φαίνεται παρακάτω. 1 1 1 1.0000000 1.0000000 2 4 8 1.4142135 1.1892071 3 9 27 1.7320508 1.3160740 : : 10 100 1000 3.1622777 1.7782794 Format.f95 11
Ι/Ο 1. Εκτύπωση ακεραίων και πραγματικών Κάθε ένας από τους 3 πρώτους ακέραιους εκτυπώνεται χρησιμοποιώντας 6 θέσεις, και κάθε μία από τις ρίζες εκτυπώνεται χρησιμοποιώντας 12 θέσεις με 7 ψηφία για το κλασματικό μέρος. 12
Ι/Ο Άσκσηση 2. Εκτύπωση πραγματικών Το πρόβλημα Γράψτε ένα πρόγραμμα που για x = 2.0, 1.8, 1.6, 1.4,..., 0.8, 0.6, 0.4 και 0.2, εκτυπώνει τον αύξοντα αριθμό της τιμής ( δηλαδή, 1, 2, 3, κλπ), την ίδια την τιμή και LOG του (x) τέσσερις φορές χρησιμοποιώντας Ε, Ε με τρία ψηφία για τον εκθέτη, ES και EN περιγραφείς. Θα πρέπει να δημιουργήσετε την έξοδο όπως φαίνεται παρακάτω. 1 2.00000 0.69315E+00 0.69315E+000 6.93147E-01 693.14718E-03 2 1.80000 0.58779E+00 0.58779E+000 5.87787E-01 587.78661E-03 3 1.60000 0.47000E+00 0.47000E+000 4.70004E-01 470.00358E-03 : 10 0.20000-0.16094E+01-0.16094E+001-1.60944E+00-1.60944E+00 FormatLog.f95 13
Ι/Ο 2. Εκτύπωση πραγματικών 14
Ι/Ο Άσκηση 3. Εξωτερικό αρχείο για εγγραφή Το πρόβλημα Εγγραφή σε εξωτερικό αρχείο: Δημιουργία, άνοιγμα ενός νέου αρχείου για την εγγραφή ορισμένων αριθμητικών δεδομένων στο αρχείο Fileoutput.f95 Data1.dat 15
Ι/Ο Άσκηση 3. Εξωτερικό αρχείο Fileoutput.f95 Μεταβλητές τύπου πίνακα (array) Υπολογισμός αποτελεσμάτων Για το εξωτερικό αρχείο εντολές open, close 16
Ι/Ο Άσκηση 3. Εξωτερικό αρχείο Το αρχείο data1.dat με τα αποτελέσματα Μπορείτε να δείτε ή να αλλάξετε το περιεχόμενο με το Notepad ή αλλον editor Data1.dat 17
Ι/Ο Άσκηση 4. Εξωτερικό αρχείο για ανάγνωση Το πρόβλημα Ανάγνωση από εξωτερικό αρχείο: Άνοιγμα ενός υπάρχοντος αρχείου για την ανάγνωση αριθμητικών δεδομένων και απεικόνησή τους στην οθόνη Fileoutputinput.f95 Data2.dat 18
Ι/Ο Άσκηση 4. Εξωτερικό αρχείο για ανάγνωση Fileoutputinput.f95 Δεν χρησιμοποιείται Για το εξωτερικό αρχείο εντολές open, close Προς οθόνη 19
Ι/Ο Άσκηση 4. Εξωτερικό αρχείο για ανάγνωση Έξοδος δεδομένων αρχείου προς οθόνη 20