FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

Σχετικά έγγραφα
FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΑΞΕΙΣ. Παράδειγμα #1. Πράξεις μεταξύ ακεραίων αριθμών

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Υπολογιστές Ι. Άδειες Χρήσης. Τύποι δεδομένων. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) a= b= c= 3 read(d,e)

Άσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN:

Pascal, απλοί τύποι, τελεστές και εκφράσεις

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι χρειάζεται η εντολή DO ; ΕΠΑΝΑΛΗΨΕΙΣ ΕΝΤΟΛΗ DO. Όταν απαιτείται να εκτελεστεί πολλές φορές το ίδιο τμήμα ενός προγράμματος.

Εργαστήριο 9 Συναρτήσεις στη PASCAL. Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο. Τι θα τυπωθεί στον παρακάτω κώδικα;

ΦΥΣ 145 Υπολογιστικές Μέθοδοι στη Φυσική. Πρόοδος 26 Μαρτίου 2007 Ομάδα 1 η

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

4. Επιλογή και Επανάληψη

ΣΥΝΑΡΤΗΣΕΙΣ. Η σύνταξη μιας συνάρτησης σ ένα κελί έχει την γενική μορφή: =όνομα_συνάρτησης(όρισμα1; όρισμα2;.)

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Δρ. Ιωάννης Λυχναρόπουλος Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 2)

Συναρτήσεις στη Visual Basic 6.0

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

ΕΙΣΑΓΩΓΗ ΣΤΗΝ FORTRAN 77

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Προγραμματισμός Η/Υ (ΤΛ2007 )

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

ιαφάνειες παρουσίασης #6

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ. Δρ. Π. Νικολαΐδου

ΦΥΣ 145 Μαθηματικές Μέθοδοι στη Φυσική. Γράψτε το ονοματεπώνυμο και αριθμό ταυτότητάς σας στο πάνω μέρος της αυτής της σελίδας.

8 FORTRAN 77/90/95/2003

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Εισαγωγή στο Προγραμματισμό για Μηχανολόγους Οδηγός Προετοιμασίας για τη Τελική Εξέταση

Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α. Σπυρόπουλος Α. Μπουντουβής

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

Πίνακες. FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Υπο-προγράμματα στη Fortran

Αποτελέσματα προόδου

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

Δομημένος Προγραμματισμός

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΥ ΕΞΑΜΗΝΟ : Α. ΥΠΕΥΘΥΝΟΣ ΜΑΘΗΜΑΤΟΣ : Μάγια Σατρατζέµη

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ:

ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE

Fortran και Αντικειμενοστραφής προγραμματισμός.

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Κεφάλαιο 7: Υποπρογράμματα. Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 2013 Διάρκεια εξέτασης : 160 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών:

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL

Κεφάλαιο 7: Υπορουτίνες

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

Εισαγωγή στους Υπολογιστές

Εισαγωγή στην Αριθμητική Ανάλυση

Εισαγωγή στη γλώσσα προγραμματισμού Fortran 95

Πίνακες. (i) FORTRAN και Αντικειµενοστραφής Προγραµµατισµός

Ει αγωγή η Fortran.

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Εισαγωγή στη Fortran. Μάθημα 3 ο. Ελευθερία Λιούκα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Κεφάλαιο Πέµπτο: Η Εξάσκηση

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. Πρόοδος 20 Μαρτίου 2011 Οµάδα

Αντικείμενα 2 ου εργαστηρίου

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

8 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού: Μοντέλα Συνδυαστικών Κυκλωµάτων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

Εισαγωγή στη γλώσσα προγραμματισμού C++

Γλώσσα Προγραμματισμού C. Προγραμματισμός HY: Γλώσσα Προγραμματισμού C. Γρήγορος Πίνακας Αναφοράς Σύνταξης. Εισήγηση #4. Επαναληπτικές δομές:

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Σκοπός. Εργαστήριο 5 Εντολές Επιλογής

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. Πρόοδος 28 Μαρτίου 2009 Οµάδα 1 η

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 4

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Θέματα Προγραμματισμού Η/Υ

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 4

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

Transcript:

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 M10 Παραδείγματα FORTRAN Δρ. Γεώργιος Παπαλάμπρου Επικ. Καθηγητής ΕΜΠ Εργαστήριο Ναυτικής Μηχανολογίας george.papalambrou@lme.ntua.gr ΕΜΠ/ΣΝΜΜ Εργαστήριο Ναυτικής Μηχανολογίας 1

Περιεχόμενα Παραδειγμάτων 1. Εισαγωγή 2. Selective Execution (IF-THEN-ELSE and SELECT CASE) 3. Repetitive Execution (DO Loops) 4. Functions και Modules 5. Υπορουτίνες 6. Πίνακες 7. Μορφοποιημένο Input και Output Όλα τα αρχεία *.f95 υπάρχουν στην ιστοσελίδα του μαθήματος Σήμερα! Τα παραδείγματα αυτής της ενότητας έχουν ληφθεί από το: http://www.cs.mtu.edu/~shene/courses/cs201/notes/fortran.html Το περιεχόμενο της ιστοσελίδας αυτής περιέχει σύντομη παρουσίαση της βασικής γλώσσας Fortran και πολλά παραδείγματα με κώδικες (που εκτελούνται!) και συστήνεται για μελέτη. 2

DO Loops 1. Καταμέτρηση θετικών και αρνητικών Το αρχείο Counting.f95 υπάρχει στην ιστοσελίδα Το πρόβλημα Λαμβάνοντας υπόψη ένα σύνολο με ακέραιες τιμές εισόδου, γράψτε ένα πρόγραμμα για να μετρήσει τον αριθμό των θετικών και αρνητικών τιμών και να υπολογίζει τα αθροίσματά τους. Η είσοδος δεδομένων θα είναι οργανωμένη ως εξής: Η πρώτη γραμμή δίνει τον αριθμό των τιμών των δεδομένων που ακολουθούν Ξεκινώντας με τη δεύτερη γραμμή, κάθε γραμμή περιέχει μια τιμή ακεραίου Counting.f95 3

DO Loops 1. Καταμέτρηση θετικών και αρνητικών 4

DO Loops 1. Καταμέτρηση θετικών και αρνητικών Για την εκτέλεση του προγράμματος στο περιβάλλον Plato κάνουμε τα παρακάτω: Toolbar Build Compile, -> Build, -> Start Run Η έξοδος του προγράμματος δίνει τα παρακάτω αποτελέσματα 5

Functions και Modules 1. Υπολογισμός δύναμης Το αρχείο Cubes.f95 υπάρχει στην ιστοσελίδα Το πρόβλημα Γράψτε ένα πρόγραμμα για τον υπολογισμό της 3 ης δύναμης του 1, 2, 3,... 10 στις περιπτώσεις INTEGER και REAL. Απαιτείται να υπάρχει ένα function για τον υπολογισμό του κύβου του ακεραίου και ένα function για τον υπολογισμό του κύβου του πραγματικού. Cubes.f95 6

Functions και Modules 1. Υπολογισμός δύναμης 7

Functions και Modules 1. Υπολογισμός δύναμης Η έξοδος του προγράμματος δίνει τα παρακάτω αποτελέσματα 8

Functions και Modules Τα αρχεία TrigonFuncTest.f95, 2. Τριγωνομετρικές πράξεις με μοίρες MyTrigonometricFunctions.f95 υπάρχουν στην ιστοσελίδα Το πρόβλημα Οι τριγωνομετρικές συναρτήσεις sin(x) και cos(x) χρησιμοποιούν ακτίνια (rad) ως όρισμα. Χρησιμοποιώντας modules, να σχεδιάσετε τριγωνομετρικές πράξεις που χρησιμοποιούν μοίρες (deg). Γράψτε ένα module που περιέχει functions για τη μετατροπή rad σε deg και το ανάποδο και sin(x) και cos(x) με ορίσματα deg αντί rad. MyTrigonometricFunctions.f95 TrigonFuncTest.f95 9

Functions και Modules 2. Τριγωνομετρικές πράξεις με μοίρες 10

Functions και Modules 2. Τριγωνομετρικές πράξεις με μοίρες 11

Functions και Modules 2. Τριγωνομετρικές πράξεις με μοίρες Σε περίπτωση ύπαρξης ενός module, πρώτα γίνεται Toolbar Build Compile, -> Build το αρχείο του module και κατόπιν κατά τα γνωστά συνεχίζουμε με το κυρίως πρόγραμμα. Η έξοδος του προγράμματος δίνει τα παρακάτω αποτελέσματα 12

Υπορουτίνες 1. Μετατροπή ημερομηνίας Το αρχείο YYYYMMDD.f95 υπάρχει στην ιστοσελίδα Το πρόβλημα Στην επεξεργασία δεδομένων, το έτος, ο μήνας και η ημέρα συνήθως γράφονται ως YYYYMMDD, όπου τα πρώτα τέσσερα ψηφία είναι έτος, τo πέμπτο και έκτο ψηφίο είναι μήνας και τα δύο τελευταία ψηφία είναι ημέρα. Για παράδειγμα το 19710428 υποννοεί 28 Απριλίου 1971. Γράψτε ένα πρόγραμμα που διαβάζει έναν ακέραιο με τη μορφή YYYYMMDD και εξάγει τις τιμές του έτους, μήνα και ημέρας, με χρήση υπορουτίνας. YYYYMMDD.f95 13

Υπορουτίνες 1. Μετατροπή ημερομηνίας 14

Υπορουτίνες 1. Μετατροπή ημερομηνίας Η έξοδος του προγράμματος δίνει τα παρακάτω αποτελέσματα 15

Πίνακες 1. Αναζήτηση στοιχείων πίνακα Τo αρχείo TableLookUp.f95 υπάρχει στην ιστοσελίδα Το πρόβλημα Δίνεται πίνακας και ένας αυθαίρετος αριθμός και ζητείται να γράψετε ένα πρόγραμμα για να καθορίσει εάν ο αριθμός αυτός είναι μέρος του πίνακα. Το πρόγραμμα θα πρέπει να διαβάζει τον πίνακα, να ρωτάει για έναν αριθμό, να κάνει την αναζήτηση και να εμφανίζει τη θέση στον πίνακα όπου βρίσκεται ο αριθμός (αν υπάρχει). TableLookUp.f95 16

Πίνακες 1. Αναζήτηση στοιχείων πίνακα 17

Πίνακες 1. Αναζήτηση στοιχείων πίνακα Η έξοδος του προγράμματος δίνει τα παρακάτω αποτελέσματα Δόθηκε CTRL C για τερματισμό 18

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... 19

I/O Εξοδος ακεραίου - INTEGER Output: The I Descriptor Παράδειγμα 20

I/O Εξοδος πραγματικού - REAL Output: The F Descriptor Παράδειγμα 21

I/O Εξοδος πραγματικού - REAL Output: The E Descriptor Παράδειγμα 22

I/O Εξοδος χαρακτήρα - CHARACTER Output: The A Descriptor 23

I/O Εξοδος χαρακτήρα - CHARACTER Output: The A Descriptor Παράδειγμα 24

Ι/Ο 1. Εκτύπωση ακεραίων και πραγματικών Τo αρχείo Format.f95 υπάρχει στην ιστοσελίδα Το πρόβλημα Γράψτε ένα πρόγραμμα που για κάθε ακέραιο στην περιοχή από 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 25

Ι/Ο 1. Εκτύπωση ακεραίων και πραγματικών Κάθε ένας από τους 3 πρώτους ακέραιους εκτυπώνεται χρησιμοποιώντας 6 θέσεις, και κάθε μία από τις ρίζες εκτυπώνεται χρησιμοποιώντας 12 θέσεις με 7 ψηφία για το κλασματικό μέρος. 26

Ι/Ο 2. Εκτύπωση πραγματικών Τo αρχείo FormatLog.f95 υπάρχει στην ιστοσελίδα Το πρόβλημα Γράψτε ένα πρόγραμμα που για 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 27

Ι/Ο 2. Εκτύπωση πραγματικών 28