Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Εθνικό Μετσόβιο Πολυτεχνείο Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού Ενότητα 1 Διάλεξη 2β Σιέττος Κωνσταντίνος
Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειτα σε άδειες χρήσης Crea%ve Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναγράφεται ρητώς.
Εισαγωγή στη γλώσσα προγραµµατισµού Fortran 77 (µέρος B) Κωνσταντίνος Σιέττος
Γράφοντας τον κώδικα σε Fortran 77 1 2 3 4 5 6 7 8 9. 70 717272 73 74 75 76 77.80 Σε κάθε γραµµή επιτρέπεται το γράψιµο στις 80 πρώτες στήλες Οι 80 στήλες κάθε γραµµής χωρίζονται σε 4 επιµέρους πεδία: Ι.. Στήλες 1-5 : χρησιµοποιούνται για τυχόν απόδοση αριθµών σε εντολές To σύµβολο * ή το σύµβολο c στην στήλη 1 παραπέµπει σε αρχή σχολίου (comment) ΙΙ.. Η στήλη 6 µε το σύµβολο $ ή * χρησιµοποιείται για την συνέχιση της προηγούµενης γραµµής ΙΙΙ.. Οι στήλες 7-7272 χρησιµοποιούνται για το γράψιµο των εντολών ΙV. Οι στήλες 73 80 αγνοούνται από τον µεταγλωτιστή FORTRAN. Εκεί µπορούµε π.χ. να γράφουµε σχόλια, να αριθµούµε τις γραµµές κ.τ.λ.
Είδη εδοµένων και Πράξεις Αριθµητικά εδοµένα Integer Real Πραγµατικοί ιπλής Ακρίβειας (Double Precision) Complex Logical (.TRUE. ή.false.) Text (Character)
Σταθερές- Constants Μια σταθερά είναι µια σταθερή (ορισµένη) τιµή ενός τύπου δεδοµένων που δεν µπορεί να αλλάξει. Integer: -15 45 1489 0 Real: 4.55-18237.4398 4.5E+02-0.5E-0606 Double Precision: 9.456D+03 Logical:.TRUE..FALSE. TEXT: This is the second class, Kalo kouragio!
Μεταβλητές- Variables Χαρακτηρίζουν δεδοµένα Integer Real Logical Character Λαµβάνoυν µια περιοχή της µνήµης του υπολογιστή Πρέπει να έχουν ένα όνοµα για αναφορά σε αυτές Η τιµή τους µπορεί να αλλάζει
Ονόµατα Μεταβλητών Η ονοµατολογία πρέπει να ακολουθεί κανόνες: Να αρχίζουν µε ένα λατινικό γράµµα ( a,b, ) Το µήκος τους δεν πρέπει να ξεπερνά τους 6 χαρακτήρες Μπορούν να περιέχουν αριθµούς (αρκεί να µην είναι ο πρώτος χαρακτήρας) εν µπορούν να περιέχουν ειδικούς χαρακτήρες (π.χ. % ή &, ). ή κενά.
ήλωση Μεταβλητών INTEGER var1, b, realn INTEGER i,j,k,l Αν η µεταβλητή αρχίζει από i, j, k, l, m, n τότε η µεταβλητή αν δεν ορισθεί διαφορετικά θεωρείται ως INTEGER Αν η µεταβλητή αρχίζει από (a-h) ή από (ο-z) τότε η µεταβλητή αν δεν ορισθεί διαφορετικά θεωρείται ως REAL
ήλωση Μεταβλητών REAL var1, b, realn REAL ireal Double precision var2 IMPLICIT ήλωση: Implict real*8 (a-h, o-z)
ήλωση Μεταβλητών Χαρακτήρες Ορίζονται µε την δήλωση CHARACTER Το µήκος τους θεωρείται ως 1 (ένας χαρακτήρας) εκτός αν δηλωθεί explicitly διαφορετικά παραδείγµατα: CHARACTER onoma*8 CHARACTER A*8, B CHARACTER*5 Z, Z1, Z2 CHARACTER*7 Z, Z1*3, Z2??? *8 η µεταβλητή onoma έχει οκτώ χαρακτήρες η Α 8 χαρακτήρες, η Β 1 χαρακτήρα Όλες έχουν 5 χαρακτήρες
Πράξεις Τέσσερις βασικές πράξεις: Πρόσθεση Αφαίρεση Πολλαπλασιασµός ιαίρεση + - * / Προτεραιότητα πράξεων 1. ( ) 2. ** 3. * / 4. + -
Πράξεις Πράξεις µεταξύ ακεραίων: Το αποτέλεσµα της πράξηςµεταξύ ακεραίων είναι ακέραιος Το αποτέλεσµα της πράξηςµεταξύ real είναι real To αποτέλεσµα της πράξης µεταξύ integer και realείναι real
Παραδείγµατα Πράξεων Με ποια σειρά θα εκτελεσθείη παρακάτω αριθµητική παραστάση; 45 +1.5 * (4 + 3** (4-2) ) (4-2) = 2 3**2 = 9 4+9 = 13 1.5*13 = 19.5 45+19.5 = 64.5
Παραδείγµατα Πράξεων Πως θα γραφούν οι παρακάτω αλγεβρικές παραστάσεις σε παραστάσεις FORTRAN χωρίς την χρήση περιττών παρενθέσεων? Α Β A*B/C/D CD χ3 3 χ2 + 10χ +1 χ**3-3*χ**2+10*χ+1. 3*χ**2+10*χ+1.
Λογικές εκφράσεις Οι Λογικές πράξεις υπολογίζουν.true. ή.false. Λογικοί τελεστές.and..or..not. Παράδειγµα:.ΝΟΤ.Α A.AND.B A.ΟR.B Η παράσταση αυτή έχει την τιµή (α).true. αν το Α έχει την τιµή.false. (β).false. αν το Α έχει την τιµή.true. H τιµή της παράστασης είναι (α).true. αν τόσο το Α όσο και το Β είναι.true. (b).false. σε κάθε άλλη περίπτωση H τιµή της παράστασης είναι (α).true. αν ή το Α ή το Β είναι.true. (b).false. σε κάθε άλλη περίπτωση
Λογικές εκφράσεις Οι πράξεις συσχέτισης (Relational Operators) υπολογίζουν.true. ή.false. Τελεστές συχέτισης Less Than.LT. Less Equal Equal.LE..EQ. Not Equal Greater than Greater Equal.NE..GT..GE. Παράδειγµα: V=< X =< 5W : V.LE..LE.X.AND.X.LE.(5*W).(5*W) x^2 + y^2 =< r^2 : (x**2+y**2).le. LE.r**2 x >= y+z ή χ<y : x.ge.(.(x+y).or.x.lt.y
Λογικές εκφράσεις Προτεραιότητα πράξεων 1. Αριθµητικές πράξεις 2. Πράξεις συσχέτισης 3. Λογικές πράξεις εδοµένου ότι η µεταβλητή X έχει την τιµή 3.0, η Y την τιµή 5.0, η Z την τιµή 10.0, και η FLAG είναι µια λογική µεταβλητή µε τιµή.false.,., ποια είναι η τιµή της παράστασης:.not.flag.and. X*Y.GT. Z.OR. X+Y.GT. Z
Γενική µορφή Εντολές Ανάθεσης (Assignment Statements) Αποδίδουν µια τιµή σε µια µεταβλητή Μεταβλητή = (αριθµητική ή λογική) παράσταση (Variable = expression) Ακέραιες τιµές µπορούν να αποδοθούν σε πραγµατικές µεταβλητές Πραγµατικές τιµές µπορούν να αποδοθούν σε ακέραιες µεταβλητές Παράδειγµα: REAL A, B Double Precision C A = 4.32 B = A + 4/3 M = B +0.6 N = B + 1.6 C=N**0.5
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικόυ έργου του διδάσκοντα Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα Ε.Μ.Π.» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικού πόρους.