Εισαγωγή στη χρήση Η/Υ. Αναγνωστοπούλου Χριστίνα Λέκτορας



Σχετικά έγγραφα
Δομή προγράμματος στη Fortran

Δομή προγράμματος στη Fortran

8 FORTRAN 77/90/95/2003

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

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

ΕΠΛ031 - Εισαγωγή στον Προγραμματισμό

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

Τα δεδομένα στη C++ χωρίζονται σε 3 κατηγορίες: τους αριθμούς (numbers), τους χαρακτήρες (characters) και τις συμβολοσειρές (strings).

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

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

Ενότητα 1 Διάλεξη 3. Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού. Σιέττος Κωνσταντίνος

Ο τελεστής ανάθεσης και οι εντολές εισόδουεξόδου

ΕΙ ΑΓΩΓΉ ΣΗΝ FORTRAN

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

Εναλλακτικές εντολές για ανάγνωση/εγγραφή

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

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

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Εισαγωγή στον Προγραμματισμό Η/Υ (Fortran 90/95/2003)

Visual Basic Βασικές Έννοιες

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

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

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

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

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

Ανάπτυξη και Σχεδίαση Λογισμικού

Μορφοποίηση της εξόδου

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

Διαδικασιακός Προγραμματισμός

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ΦΥΛΛΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ 1

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

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

επιµέλεια Θοδωρής Πιερράτος

Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές

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

Προβλήματα που αφορούν εντολές ελέγχου της ροής ενός προγράμματος.

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Ηλεκτρονικοί Υπολογιστές

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

Εισαγωγή στο προγραμματισμό Η/Υ

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος


Βασικές έννοιες προγραμματισμού

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

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

Σημαντικές δυνατότητες των σύγχρονων υπολογιστικών μηχανών: Αξιόπιστη καταγραφή πολύ μεγάλου όγκου δεδομένων

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

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL

Αρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record)

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Δομημένος Προγραμματισμός (ΤΛ1006)

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

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

Κεφάλαιο 5ο: Εντολές Επανάληψης

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

Προγραμματισμός PASCAL

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

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον

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

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

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

Είσοδος -Έξοδος. Άνοιγµα αρχείου:

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

Πράξεις με δυαδικούς αριθμούς

ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΑΘΕΡΕΣ ΜΕΤΑΒΛΗΤΕΣ

Βασικές Αρχές Προγραμματισμού

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης:

Δομημένος Προγραμματισμός (ΤΛ1006)

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Τμήμα Φυσικής Πανεπιστημίου Κύπρου Εαρινό Εξάμηνο 2015/2016. ΦΥΣ145 Υπολογιστικές Μέθοδοι στην Φυσική

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

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

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

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

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

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

Κεφάλαιο 3ο: Βασικά στοιχεία ενός προγράµµατος της γλώσσας Fortran

Εισαγωγή στο προγραμματισμό Η/Υ C++ (Orwell Dev-C++)

Μονοδιάστατοι πίνακες

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

Γ ε ν ι κ ό Λ ύ κ ε ι ο Ε λ ε υ θ ε ρ ο ύ π ο λ η ς. Α λ γ ό ρ ι θ μ ο ι

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

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

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

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

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

Εισαγωγή στον Προγραμματισμό

Πρόβλημα 29 / σελίδα 28

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β.

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΓΛΩΣΣΟΜΑΘΕΙΑ

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα

Transcript:

Αναγνωστοπούλου Χριστίνα Λέκτορας

FORmulaTRANslation

Εγκατάσταση της Fortran g95 http://www.g95.org http://ftp.g95.org/g95-mingw.exe Save file as C:\fortran-g95

Κειμενογράφοι Notepad (Windows) Programmer s Notepad http://sourceforge.net/project/showfiles.php?group_id=45545 Editplus http://www.editplus.com

Ταξινόμηση αρχείων Πρόγραμμα <όνομα>.f95 Δεδομένα <όνομα>_data.txt Αποτελέσματα <όνομα>_res.txt

Παράδειγμα Πρόγραμμα askisi1.f95 Δεδομένα askisi1_data.txt Αποτελέσματα askisi1_res.txt

ΤΟ ΑΛΦΑΒΗΤΟ ΤΗΣ FORTRAN Τα 26 γράμματα του Λατινικού αλφαβήτου (κεφαλαία ή μικρά) Τα 10 ψηφία του δεκαδικού συστήματος ΠΡΟΣΟΧΗ Τα ειδικά σύμβολα: Όχι ελληνικούς χαρακτήρες! # $ % & ( ) * + - / >. ; ; < = \ [ ] ^ { }?,`

Κανόνες γραφής προγράμματος fortran 95 Ελεύθερη γραφή Γραφή σε σταθερή μορφή

Γραφή σε σταθερή μορφή Στήλες 1-5. Γράφονται οι αριθμοί των εντολών (LABELS) που είναι ακέραιοι θετικοί ή παραμένουν κενές Στήλη 6. Εάν περιέχει οποιοδήποτε άλλο σύμβολο πλην του κενού ή του μηδενός, θεωρείται συνέχεια της προηγουμένης εντολής. Στήλες 7-72. Περιέχουν την εντολή. Στήλες 73-80. Παραμένουν κενές ή φέρουν αρίθμηση των γραμμών. Στήλη 1. Αν στην θέση αυτή υπάρχει το «!» τότε το υπόλοιπο αποτελεί σχόλιο και όχι εντολή

Δημιουργία προγράμματος Notepad.. program askisi1!=================================! file name:askisi1.f95!================================= real a, b, sum_ab!data a=12.9 b=-4.5!ypologismos sum_ab=a+b!eggrafi write(6,*) "a=",a,"b=", b write(6,*) "sum=", sum_ab!----- end program askisi1

Αποθήκευση προγράμματος File -> Save as Save in -> fortran-g95 File name: <όνομα>.f95 Save as type: All files Encoding: ANSI

Μεταγλώττιση προγράμματος Μετάφραση Compiler : μεταγλωττιστής g95 c<όνομα>.f95 Εκτέλεση προγράμματος executable : εκτελέσιμο πρόγραμμα g95 <όνομα>.f95 a.exe g95 <όνομα>.f95 -o <όνομα>.exe

Ενεργοποίηση της g95 C:\\Command Prompt Start =>Programs=>Accessories=>Command Prompt C:\...\cd c:\fortran-g95 C:\fortran-g95> C:\fortran-g95>g95 askisi1.f95 o askisi1.exe

Κεφάλαιο 2 Αναγνωστοπούλου Χριστίνα Λέκτορας

Τα Δεδομένα στη FORTRAN Numbers-Αριθμοί Strings χαρακτήρες / συμβολοσειρές

Τα Δεδομένα στη FORTRAN ΑΡΙΘΜΟΙ (Νumbers) Ακέραιοι (Integer) Κινητής υποδιαστολής (Floating point) Απλής ακριβείας (Single precision) Διπλής ακριβείας (Double precision) Μιγαδικοί (Complex) Απλής ακριβείας (Single precision) Διπλής ακριβείας (Double precision) ΣΥΜΒΟΛΟΣΕΙΡΕΣ (Strings)

Αριθμοί στη FORTRAN Μέγεθος του αριθμού Αριθμοί Σημαντικά ψηφία

Μέγεθος Αριθμού Ακέραιοι αριθμοί (Integer): 128 έως και +127 32768 έως και +32767 μικρού μεγέθους ακέραιοι μεσαίου μεγέθους ακέραιοι 2147483648 έως και +2147483647 μεγάλου μεγέθους ακέραιοι Πραγματικοί αριθμοί (Real) Τα όρια για τους πραγματικούς αριθμούς είναι: Από -3,4028235x10 +38 έως και 1,754944x10-38 Από +1,754944x10-38 (αρνητικοί αριθμοί) έως και +3,4028235x10 +38 (θετικοί αριθμοί)

Σημαντικά ψηφία Για τους ακέραιους: Όλα τα ψηφία του αριθμού εκτός από τα τυχόν μηδενικά που υπάρχουν εμπρός από το πρώτο μη μηδενικό ψηφίο ή τα μηδενικά μετά από το τελευταίο μη μηδενικό ψηφίο μετά την υποδιαστολή. Για τους πραγματικούς: Παράδειγμα -120400 6 σημαντικά ψηφία 002240 10 σημαντικά ψηφία 7 σημαντικά ψηφία 4 σημαντικά ψηφία 0,000246083 6 σημαντικά ψηφία 04,001807600 8 σημαντικά ψηφία

Παράσταση ακεραίων αριθμών 123 +3258-659

Παράσταση αριθμών κινητής υποδιαστολής απλής ακριβείας 13.0148 +14.851-325.253 0.589.81 -.532 6.14Ε-01 = 6.14x10-1 -8.22E16 = -8.22x10 16

Παράσταση αριθμών κινητής υποδιαστολής διπλής ακριβείας 13.0148 +14.851-325.253 0.589.81 -.532 6.14D-01 = 6.14x10-1 -8.22D16 = -8.22x10 16

ΚΑΤΗΓΟΡΙΕΣ ΜΕΤΑΒΛΗΤΩΝ Τι είναι μεταβλητή; Μεταβλητή ή μεταβλητές είναι οι τιμές των συμβολικών ονομάτων που αλλάζουν ή μπορούν να αλλάξουν μέσα σε ένα πρόγραμμα Αριθμητικές μεταβλητές Απλές Με δείκτη Μεταβλητές συμβολοσειρών Απλές Με δείκτη

ΚΑΝΟΝΕΣ ΟΝΟΜΑΣΙΑΣ ΤΩΝ ΜΕΤΑΒΛΗΤΩΝ Πρέπει να αρχίζουν με γράμμα. Να μην περιέχει ειδικά σύμβολα. Εξαιρείται το σύμβολο της υπογράμμισης (π.χ ab_c). Να έχει ορισμένο πλήθος χαρακτήρων. Ένα πλήθος συνήθως 6 είναι αποδεκτό από όλους τους υπολογιστές. Να μην περιέχει γράμμα του Ελληνικού αλφαβήτου. Κενά μεταξύ των χαρακτήρων των μεταβλητών δεν επιτρέπονται.

ΔΗΛΩΤΙΚΕΣ ΕΝΤΟΛΕΣ Δηλωτικές εντολές είναι οι εντολές που καθορίζουν το είδος των μεταβλητών και τις διαστάσεις των πινάκων που χρησιμοποιούνται σε ένα πρόγραμμα

ΔΗΛΩΤΙΚΕΣ ΕΝΤΟΛΕΣ Δηλωτικές εντολές αριθμητικών μεταβλητών integer real double precision implicit Δηλωτικές εντολές μεταβλητών συνβολοσειρών CHARACTER Δηλωτικές εντολές πινάκων integer real dimension

ΔΗΛΩΤΙΚΕΣ ΕΝΤΟΛΕΣ Αριθμητικών μεταβλητών-ακέραιοι Εντολή : integer*1 integer(1) integer(kind=1) integer*2 integer(2) integer(kind=2) integer*4 integer(4) integer(kind=4) integer για μικρούς ακέραιους αριθμούς για μεσαίους ακέραιους αριθμούς για μεγάλους ακέραιους αριθμούς

ΔΗΛΩΤΙΚΕΣ ΕΝΤΟΛΕΣ Αριθμητικών μεταβλητών-πραγματικοί Εντολή για μεταβλητές πραγματικών αριθμών: real real*4 real(4) real (kind=4) Εντολή για μεταβλητές διπλής ακρίβειας: real*8 real(8) real (kind=8) double precision

ΚΑΝΟΝΕΣ ΟΝΟΜΑΣΙΑΣ ΑΡΙΘΜΗΤΙΚΩΝ ΜΕΤΑΒΛΗΤΩΝ Ακέραιες μεταβλητές Εάν ο πρώτος χαρακτήρας είναι ένας από τους: I, J, K, L, M, N Πραγματικές μεταβλητές απλής ή διπλής ακριβείας: Εάν αρχίζουν με οποιονδήποτε άλλον χαρα-κτήρα, πλην των παραπάνω.

ΔΗΛΩΤΙΚΕΣ ΕΝΤΟΛΕΣ Αριθμητικών μεταβλητών Εντολή : IMPLICIT Παράδειγμα: IMPLICIT REAL (I-L) Ενέργεια: Θεώρησε ως πραγματικές μεταβλητές όλες όσες αρχίζουν με τα γράμματα I, J, K και L. Θέση: Στην αρχή του προγράμματος και πριν από κάθε άλλη δηλωτική εντολή.

ΔΗΛΩΤΙΚΕΣ ΕΝΤΟΛΕΣ Αριθμητικών μεταβλητών Εντολή : implicit none Ενέργεια: Ακύρωση του κανόνα «πρώτου γράμματος». Η ύπαρξη της όμως απαιτεί όλες οι μεταβλητές του προγράμματος να δηλωθούν Θέση: Στην αρχή του προγράμματος και πριν από κάθε άλλη δηλωτική εντολή.

ΔΗΛΩΤΙΚΕΣ ΕΝΤΟΛΕΣ Μεταβλητών συμβολοσειρών Εντολή : Character*n μ1, μ2,...μν Character μ1* n1, μ2* n2,...μν* nν Character (len=n):: μ1, μ2,...μν Character(n):: μ1, μ2,...μν όπου μ1, μ2,...μν = Τα ονόματα μεταβλητών n1, n2,...nν = Καθορίζουν το πλήθος των χαρακτήρων

ΔΗΛΩΤΙΚΕΣ ΕΝΤΟΛΕΣ Πινάκων Εντολή : Real A(i) Real X(i, j) Integer A(i) Integer X(i, j) Dimension A(i) Dimension X(i, j) Ενέργεια:Ορίζει ότι ο μονοδιάστατος πίνακας Α καταλαμβάνει i θέσεις και ο δισδιάστατος πίνακας Μ, ixj θέσεις Θέση: Στην αρχή του προγράμματος μετά από την εντολή IMPLICIT (άν υπάρχει)

ΔΗΛΩΤΙΚΕΣ ΕΝΤΟΛΕΣ Πινάκων Παράδειγμα real x(5) μονοδιάστατος πίνακας x, 5 θέσεων integer A(100) μονοδιάστατος πίνακας A, 100 θέσεων dimension ab(100) μονοδιάστατος πίνακας ab, 100 θέσεων. Δεν έχει δηλωθεί ο τύπος των δεδομένων real x(5,5) δισδιάστατος πίνακας x, 5x5=25 θέσεων integer A(30,40) μονοδιάστατος πίνακας A, 30x40=1200 θέσεων dimension ab(10,20) μονοδιάστατος πίνακας ab, 10x20=200 θέσεων. Δεν έχει δηλωθεί ο τύπος των δεδομένων

Αριθμητικές Πράξεις Πράξη Σύμβολο Αλγεβρική Ενέργεια Παράσταση Στο πρόγραμμα Πρόσθεση + α+β a+b Αφαίρεση - α-β a-b Πολλαπλασιασμός * αβ a*b Διαίρεση / a a/b Δύναμη ** a a**b

ΠΡΟΤΕΡΑΙΟΤΗΤΑ ΤΩΝ ΠΡΑΞΕΩΝ 1. Ύψωση σε δύναμη 2. Πολλαπλασιασμοί και διαιρέσεις 3. Προσθέσεις και αφαιρέσεις Σε πράξεις ίσης προτεραιότητας οι σειρά των πράξεων είναι από αριστερά προς τα δεξιά. Η προτεραιότητα των πράξεων αλλάζει με την χρήση παρενθέσεων. Πρώτα γίνονται οι πράξεις μέσα στις παρενθέσεις

ΠΡΟΤΕΡΑΙΟΤΗΤΑ ΤΩΝ ΠΡΑΞΕΩΝ Παρατηρήσεις Δεν μπορούμε να έχουμε δύο συνεχόμενα σύμβολα πράξεων Χρησιμοποιούμε παρενθέσεις οπουδήποτε αμφιβάλλουμε, σε ότι αφορά τη σειρά εκτέλεσης των πράξεων Η ύψωση σε δύναμη του a δεν επιτρέπεται όταν: a < 0 και η δύναμη e=πραγματικός a = 0 και η δύναμη e < 0 Δεν επιτρέπεται να διαιρέσουμε μία σταθερά ή μία μεταβλητή με το μηδέν ή με μεταβλητή της οποίας η τιμή είναι μηδέν

ΠΡΟΤΕΡΑΙΟΤΗΤΑ ΤΩΝ ΠΡΑΞΕΩΝ Παρατηρήσεις Η διαίρεση δύο ακεραίων δίνει ως αποτέλεσμα το ακέραιο μέρος της διαίρεσης, τα δεκαδικά χάνονται Παράδειγμα 3/2 δίνει 1 (όχι 1.5) 15/4 δίνει 3 (όχι 3.75) Η διαίρεση με ένα από τα δύο μέλη της να είναι πραγματικός αριθμός ή μεταβλητή δίνει ως αποτέλεσμα το και τα δεκαδικά Παράδειγμα 3.0/2 δίνει 1.5 21.5/5 δίνει 4.3

Μετατροπή αλγεβρικών παραστάσεων σε παραστάσεις FORTRAN Να μετατραπεί σε παράσταση FORTRAN η αλγεβρική παράσταση: x 1 z b 4z 2 3 1 Παράσταση FORTRAN: X=1.0/Z+B**2/(4*Z**3) 1 X=1.0/Z+B**2/4/Z**3-1

ΣΥΝΑΡΤΗΣΕΙΣ ΒΙΒΛΙΟΘΗΚΗΣ Μ Α Θ Η Μ Α Τ Ι Κ Η Ο Ν Ο Μ Α Σ Τ Η Τ ιμ ή Ε ισ ό δ ο υ Τ ιμ ή ε ξ ό δ ο υ Σ Υ Ν Α Ρ Τ Η Σ Η F O R T R A N Α π ό λ υ τ ο ς τ ιμ ή α ρ ιθ μ ο ύ A B S (X ) Α κ ε ρ α ία /Π ρ α γ μ α τ ικ ή Α κ ε ρ α ία /Π ρ α γ μ α τ ικ ή Τ ε τ ρ α γ ω ν ικ ή ρ ίζ α α ρ ιθ μ ο ύ S Q R T (X ) Α κ ε ρ α ία /Π ρ α γ μ α τ ικ ή Α κ ε ρ α ία /Π ρ α γ μ α τ ικ ή Φ υ σ ικ ό ς λ ο γ ά ρ ιθ μ ο ς α ρ ιθ μ ο ύ A L O G (X ) Α κ ε ρ α ία /Π ρ α γ μ α τ ικ ή Α κ ε ρ α ία /Π ρ α γ μ α τ ικ ή Δ ε κ α δ ικ ό ς λ ο γ ά ρ ιθ μ ο ς A L O G 1 0 (X ) Α κ ε ρ α ία /Π ρ α γ μ α τ ικ ή Α κ ε ρ α ία /Π ρ α γ μ α τ ικ ή α ρ ιθ μ ο ύ Ε κ θ ε τ ικ ή σ υ ν ά ρ τ η σ η E X P (X ) Α κ ε ρ α ία /Π ρ α γ μ α τ ικ ή Α κ ε ρ α ία /Π ρ α γ μ α τ ικ ή Η μ ίτ ο ν ο S IN (X ) Α κ τ ίν ια (Π ρ α γ μ α τ ικ ή ) Α κ ε ρ α ία /Π ρ α γ μ α τ ικ ή Σ υ ν η μ ίτ ο ν ο C O S (X ) Α κ τ ίν ια (Π ρ α γ μ α τ ικ ή ) Α κ ε ρ α ία /Π ρ α γ μ α τ ικ ή Ε φ α π τ ο μ έ ν η T A N ( X ) Α κ τ ίν ια (Π ρ α γ μ α τ ικ ή ) Α κ ε ρ α ία /Π ρ α γ μ α τ ικ ή Τ ό ξ ο η μ ιτ ό ν ο υ A S IN ( X ) Α κ ε ρ α ία /Π ρ α γ μ α τ ικ ή Α κ τ ίν ια ( Π ρ α γ μ α τ ικ ή ) Τ ό ξ ο σ υ ν η μ ιτ ό ν ο υ A C O S ( X ) Α κ ε ρ α ία /Π ρ α γ μ α τ ικ ή Α κ τ ίν ια ( Π ρ α γ μ α τ ικ ή ) Τ ό ξ ο ε φ α π τ ο μ έ ν η ς A T A N (X ) Α κ ε ρ α ία /Π ρ α γ μ α τ ικ ή Α κ τ ίν ια ( Π ρ α γ μ α τ ικ ή ) Σ υ ν ο λ ικ ό Μ ή κ ο ς σ υ μ β ο λ ο σ ε ιρ ά ς Π ρ α γ μ α τ ικ ό Μ ή κ ο ς σ υ μ β ο λ ο σ ε ιρ ά ς Μ ε τ α τ ρ ο π ή α ρ ιθ μ ο ύ α π ό π ρ α γ μ α τ ικ ό σ ε α κ έ ρ α ιο Μ ε τ α τ ρ ο π ή α ρ ιθ μ ο ύ α π ό α κ έ ρ α ιο σ ε π ρ α γ μ α τ ικ ό L E N (X ) Σ υ μ β ο λ ο σ ε ιρ ά Α κ ε ρ α ία L E N _ T R IM ( X ) Σ υ μ β ο λ ο σ ε ιρ ά Α κ ε ρ α ία IF IX (X ) Π ρ α γ μ α τ ικ ή Α κ ε ρ α ία F L O A T (X ) Α κ ε ρ α ία Π ρ α γ μ α τ ικ ή

Συναρτήσεις βιβλιοθήκης Εντολή: ifix Ενέργεια: Μετατροπή ενός πραγματικού αριθμού ή την τιμή μίας πραγματικής μεταβλητής σε ακέραια Παράδειγμα: a=12.42 k=ifix(-27.88) η τιμή του k θα είναι -27 m=ifix(a*2-3.5) η τιμή του m θα είναι 21

Συναρτήσεις βιβλιοθήκης Εντολή: float ή real Ενέργεια: Μετατροπή ενός ακεραίου αριθμού ή την τιμή μίας μεταβλητής σε πραγματική Παράδειγμα: k=15 m=3 a=float(k+m)+real(m)/2 η τιμή του m θα είναι 19.5

Κεφάλαιο 3 Αναγνωστοπούλου Χριστίνα Λέκτορας

Είσοδος - Έξοδος Δεδομένων Είσοδος δεδομένων Με την ενσωμάτωση τους στο πρόγραμμα όταν το γράφουμε Με την είσοδο τους εκτός προγράμματος (από το πληκτρολόγιο ή άλλη πηγή) κατά τη διάρκεια της εκτέλεσης του

Ενσωμάτωση μέσα στο πρόγραμμα program askisi2!========================== =======! file name:askisi2.f95!========================== ======= implicit none real xa2 character ch1*6!data xa2=2.45 ch1= δεδομένα!ypologismos!eggrafi!----- end program askisi2 program askisi2!=================================! file name:askisi2.f95!================================= implicit none integer(2), parameter:: a1=12, a2=120 real(4), parameter :: r1=-24.22 real(8), parameter :: dpr=4567.876e-8 character(10) :: ch1= δεδομένα!data!ypologismos!eggrafi!----- end program askisi2

Εισαγωγή δεδομένων στο πρόγραμμα την ώρα που εκτελείται Μονάδες εισόδου -Πληκτρολόγιο -Οθόνη -Μαγνητικές Δισκέτες -CD (συμπαγείς μαγνητικοί δίσκοι) -Flash (Μνήμη)

Έξοδος Αποτελεσμάτων ή και Δεδομένων

Κανόνας ορισμού των περιφερειακών μονάδων μέσα στο πρόγραμμα Πληκτρολόγιο Τους αριθμούς 0 ή το 5 ή το * Οθόνη Τους αριθμούς 0 ή το 6 ή το * Εκτύπωση Έναν ακέραιο και θετικό αριθμό εκτός των 0, 5, 6

ΕΝΤΟΛΕΣ ΕΙΣΟΔΟΥ-ΕΞΟΔΟΥ ΧΩΡΙΣ FORMAT ΕΝΤΟΛΕΣ ΕΙΣΟΔΟΥ (Πληκτρολόγιο) ΕΝΤΟΛΕΣ ΕΞΟΔΟΥ (Οθόνη) READ *, a, b READ (*,*) a, b READ (0,*) a, b READ (5,*) a, b PRINT *, a, b WRITE (*,*) a, b WRITE (0,*) a, b WRITE (6,*) a, b

Παράδειγμα program askisi_embadon!=================================! file name:askisi_em.f95!================================= implicit none integer a real b, basi, ypsos, em character*10 c1!data a=125 b=200.0 c1="αξία" basi=20 ypsos=15!ypologismos em=(basi*ypsos)/2.0!eggrafi write(6,*) "παλιά τιμή=",a,"νέα τιμή=", b write(6,*) "Βάση=", basi write(6,*) "ύψος=", ypsos write(6,*) "εμβαδόν=", em write(6,*) c1, em*b!----- end program askisi_embadon

Πρόγραμμα 3.1 Να υπολογιστεί η τετραγωνική ρίζα και ο δεκαδικός λογάριθμος των αριθμών 100 και 200. Τα δεδομένα να δίνονται από το πληκτρολόγιο και τα αποτελέσματα να εμφανίζονται στην οθόνη

Πρόγραμμα program askisi_sqrt!=================================! file name:askisi_sqrt.f95!================================= implicit none real a1, a2, sq1, sq2, lg1, lg2 character*10 sq, lg!data read(5,*) a1, a2!ypologismos sq1=sqrt(a1) sq2=sqrt(a2) lg1=alog10(a1) lg2=alog10(a2)!eggrafi write(6,*) "a1=", a1, "tetragoniki riza=",sq1,"logarithos=", lg1 write(6,*) "a2=", a2, "tetragoniki riza=",sq2,"logarithos=", lg2!----- end program askisi_sqrt

Πρόγραμμα program askisi_sqrt!=================================! file name:askisi_sqrt2.f95!================================= implicit none real a1, a2, sq1, sq2, lg1, lg2 character*10 sq, lg!data write(6,*) "Dwse tous 2 arithous" read(5,*) a1, a2!ypologismos sq1=sqrt(a1) sq2=sqrt(a2) lg1=alog10(a1) lg2=alog10(a2)!eggrafi write(6,*) "a1=", a1, "tetragoniki riza=",sq1,"logarithos=", lg1 write(6,*) "a2=", a2, "tetragoniki riza=",sq2,"logarithos=", lg2!----- Χ. end Αναγνωστοπούλου program askisi_sqrt

Πρόγραμμα 3.2 Να γίνει ένα πρόγραμμα όπου να δίνεται το όνομα, το επίθετο το όνομα πατρός και τον αριθμό ειδικού μητρώου σας. Τα δεδομένα να δίνονται από το πληκτρολόγιο και τα αποτελέσματα να εμφανίζονται στην οθόνη

program askisi_onoma!=================================! file name:askisi_onoma.f95!================================= implicit none integer aem character*10 name1, name2, name3!data write(6,*) "Dwse to onoma sou" read(5,*) name1 write(6,*) "Dwse to epitheto sou" read(5,*) name2 write(6,*) "Dwse to onoma patros" read(5,*) name3 write(6,*) "Dwse to aem sou" read(5,*) aem!ypologismos!eggrafi write(6,*) "ONOMA=", name1, name2, "tou ", name3 write(6,*) "AEM=", aem!----- end program askisi_onoma

ΕΝΤΟΛΕΣ ΕΙΣΟΔΟΥ-ΕΞΟΔΟΥ ΜΕ FORMAT ΕΝΤΟΛΕΣ ΕΙΣΟΔΟΥ (Πληκτρολόγιο) ΕΝΤΟΛΕΣ ΕΞΟΔΟΥ (Οθόνη) READ f, a, b READ (*,f) a, b READ (0,f) a, b READ (5,f) a, b PRINT f, a, b WRITE (*,f) a, b WRITE (0,f) a, b WRITE (6,f) a, b

Η ΕΝΤΟΛΗ FORMAT Label FORMAT (περιγραφή μεταβλητών) Label: Ο αριθμός εντολής, στις θέσεις 1-5 FORMAT: Η εντολή Περιγραφή: Ο τρόπος εισαγωγής ή εξαγωγής των δεδομένων. ΕΝΑΛΛΑΚΤΙΚΗ ΜΟΡΦΗ (περιγραφή μεταβλητών)

ΕΙΣΑΓΩΓΗ-ΕΞΑΓΩΓΗ ΑΚΕΡΑΙΩΝ ΑΡΙΘΜΩΝ ΓΕΝΙΚΗ ΜΟΡΦΗ: Iw I: ΑΚΕΡΑΙΟΣ ΑΡΙΘΜΟΣ (Integer) w: Το πλήθος των ψηφίων του αριθμού. Στο πλήθος των ψηφίων υπολογίζεται και το πρόσημο. Στην περίπτωση θετικού αριθμού παραλείπεται. Παράδειγμα: Με Ι3 μπορούν να παρασταθούν αριθμοί από 99 έως 999

ΕΙΣΑΓΩΓΗ-ΕΞΑΓΩΓΗ ΑΡΙΘΜΩΝ ΑΠΛΗΣ ΑΚΡΙΒΕΙΑΣ (δεκαδική μορφή) ΓΕΝΙΚΗ ΜΟΡΦΗ: Fw.d F: ΑΡΙΘΜΟΣ ΑΠΛΗΣ ΑΚΡΙΒΕΙΑΣ (Floating) w: Το συνολικό πλήθος των ψηφίων του αριθμού. Στο πλήθος των ψηφίων υπολογίζεται η υποδιαστολή και το πρόσημο, που στην περίπτωση θετικού αριθμού παραλείπεται. d: Το πλήθος των δεκαδικών ψηφίων Παράδειγμα: Με F4.1 μπορούν να παρασταθούν αριθμοί από 9.9 έως 99.9

Παράδειγμα a = -128.344 b=127.85 c=12.306 d= -25.4 e = 57.34 f = 127.85 write (6, 4) a, b, c, d, e, f 4 format(f9.2, f7.1, f8.2, f8.3, f4.0, f10.5) -128.34 127.9 12.31-25.400 57. 127.85000

ΕΙΣΑΓΩΓΗ-ΕΞΑΓΩΓΗ ΑΡΙΘΜΩΝ ΑΠΛΗΣ ΑΚΡΙΒΕΙΑΣ (εκθετική μορφή) ΓΕΝΙΚΗ ΜΟΡΦΗ: Εw.d Ε: ΑΡΙΘΜΟΣ ΑΠΛΗΣ ΑΚΡΙΒΕΙΑΣ (Expotential) w: Το συνολικό πλήθος των ψηφίων του αριθμού. Στο πλήθος των ψηφίων υπολογίζεται η υποδιαστολή και το πρόσημο, που στην περίπτωση θετικού αριθμού παραλείπεται. d: Το πλήθος των δεκαδικών ψηφίων

Ew.d w=αριθμός θέσεων στην εκτύπωση d= πλήθος των δεκαδικών w ----------------- ±0.xxxxxx+ee --------- d Περιορισμός: w d + 6

npew.d w=αριθμός θέσεων στην εκτύπωση d= πλήθος των δεκαδικών N= πλήθος των ακεραίων ψηφίων w ----------------- ±xxx.xxxxxx+ee ---- --------- n d

παράδειγμα 0.00245 2PE10.1 24.5E-04

ΕΙΣΑΓΩΓΗ-ΕΞΑΓΩΓΗ ΑΡΙΘΜΩΝ ΔΙΠΛΗΣ ΑΚΡΙΒΕΙΑΣ (εκθετική μορφή) ΓΕΝΙΚΗ ΜΟΡΦΗ: Dw.d D: ΑΡΙΘΜΟΣ ΔΙΠΛΗΣ ΑΚΡΙΒΕΙΑΣ (Double precision) w: Το συνολικό πλήθος των ψηφίων του αριθμού. Στο πλήθος των ψηφίων υπολογίζεται η υποδιαστολή και το πρόσημο, που στην περίπτωση θετικού αριθμού παραλείπεται. d: Το πλήθος των δεκαδικών ψηφίων Περιορισμός: w d + 6

ΕΙΣΑΓΩΓΗ-ΕΞΑΓΩΓΗ ΣΥΜΒΟΛΟΣΕΙΡΩΝ ΓΕΝΙΚΗ ΜΟΡΦΗ: Αw Α: ΣΥΜΒΟΛΟΣΕΙΡΑ (Alphanumeric) w: Το συνολικό πλήθος των ψηφίων του αριθμού.

ΕΙΣΑΓΩΓΗ-ΕΞΑΓΩΓΗ ΚΕΝΩΝ ΘΕΣΕΩΝ ΣΕ ΜΙΑ ΓΡΑΜΜΗ ΓΕΝΙΚΗ ΜΟΡΦΗ: nx X: ΣΥΜΒΟΛΙΖΕΙ ΤΟ ΚΕΝΟ n: Το πλήθος των κενών

Παράδειγμα read(*, 9) a1, a2, k 9 format(f7.2,f8.1, 4x, i5) write (6, 5) a1, a2 5 format(f7.2,4x, i3)

ΕΙΣΑΓΩΓΗ-ΕΞΑΓΩΓΗ ΑΛΛΑΓΗ ΓΡΑΜΜΩΝ ΓΕΝΙΚΗ ΜΟΡΦΗ: / /: ΣΥΜΒΟΛΙΖΕΙ ΤΗΝ ΑΛΛΑΓΗ ΤΗΣ ΓΡΑΜ- ΜΗΣ

ΕΛΕΓΧΟΣ ΕΚΤYΠΩΣΗΣ Χαρακτήρας Το κενό Συμβολισμός στη fortran 1Η, ή ή 1x Ενέργειες Αλλάζει γραμμή και μετά τυπώνει Το μηδέν Το ένα Το συν 1H0 ή 0 1H1 ή 1 1H+ ή + Αφήνει μία κενή γραμμή και μετά τυπώνει Αλλάζει σελίδα και η εκτύπωση αρχίζει από την αρχή της νέας σελίδας Σημαίνει ότι δεν γίνεται αλλαγή γραμμής (Τυπώνει στην ίδια γραμμή)

Παράδειγμα write (*, 2) a, b 2 format(1h0, i10, 3x, f7.1)

Αρχεία - Φάκελοι Αρχείο δεδομένων Αρχείο αποτελεσμάτων

ΕΝΕΡΓΟΠΟΙΗΣΗ ΣΕΙΡΙΑΚΟΥ ΑΡΧΕΙΟΥ Εντολή: OPEN Γενική μορφή: OPEN(unit=n, file= fn, form= f, access= a ) όπου: n : Ο αριθμός του αρχείου fn : Το όνομα του αρχείου f : formatted ή unformatted a : sequential ή append

Πρόγραμμα program askisi_embadon!=================================! file name:askisi_em_arxeio.f95!================================= implicit none integer a real b, basi, ypsos, em character*10 c1 open(8, file='askisi_em_data.txt') open(9, file='askisi_em_res.txt')

Πρόγραμμα!data a=125 b=200.0 c1="αξία" read(8,*)basi, ypsos!ypologismos em=(basi*ypsos)/2.0!eggrafi write(9,*) "Αποτελέσματα προγράμματος" write(9,*) "--------------------------" write(9,*) "παλιά τιμή=",a,"νέα τιμή=", b write(9,*) "Βάση=", basi write(9,*) "ύψος=", ypsos write(9,*) "εμβαδόν=", em write(9,*) c1, em*b!----- end program askisi_embadon

Πρόγραμμα 3.3 Να υπολογιστεί η τιμή του z αν α=2.0 και b=3.0 Α) τα a, b δίνονται από αρχείο και τα αποτελέσματα να γραφούν σε αρχείο B) Το αποτέλεσμα να τυπωθεί από τη δεύτερη γραμμή να έχει τέσσερα δεκαδικά ψηφία και να ακολουθεί την φράση η τιμή του z είναι μετά από 3 κενά. z 5 6 3 a b a 1 2 3a 6 a b 1 1 2a a 1 3 b a 3

Κεφάλαιο 4 Αναγνωστοπούλου Χριστίνα Λέκτορας

Εντολές Ροής - Λογικές Πράξεις

ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ ΟΙ ΕΝΤΟΛΕΣ CALL CONTINUE DO DO WHILE ELSE ELSE IF END END IF END DO GO TO IF PAUSE RETURN STOP

Εντολή Ροής Η εντολή GO TO GO TO n Όπου n = Αριθμός εντολής

Πρόγραμμα program goto!=========================! file name:goto.f95!========================= implicit none integer n real b, a, x, r, z xa, yy! data read (5, *) a, b!=======================! Ypologismoi x=a+b go to 5 4 z=a/b r=z-a/(n-1) Δεν εκτελείται yy=(n+1)/(a+1) 5 xa=8.2-x!==============================! Egraffi write (6, *) a, b, xa End program goto

Εντολή Ροής Η εντολή GO TO με όρους GO TO (n 1, n 2, n k ), m Όπου n1, n2, nk = αριθμοί εντολών στο πρόγραμμα m = ακέραια μεταβλητή με θετική τιμή που καθορίζει σε ποια ετικέτα (n1, n2, nk) θα πάει ο υπολογιστής

Πρόγραμμα 4.1 program goto!=========================! file name:goto.f95!========================= implicit none integer n real b, a, x, r, z xa, yy! data read (5, *) a, b!=======================! Ypologismoi x=a+b go to (4, 5, 6), 3 4 z=a/b r=z-a/(n-1) yy=(n+1)/(a+1) 5 xa=8.2-x!==============================! Egraffi write (6, *) a, b, xa 6 write (6, *) a, b, x End program goto

Πρόγραμμα 4.2 program goto!=========================! file name:goto.f95!========================= implicit none integer n, ik real b, a, x, r, z xa, yy, k! data read (5, *) a, b, n write (6, *) give the label read (5, *) ik go to (50, 100, 150, 200), ik!=======================! Ypologismoi 50 x=a+b k=x go to 10 100 z=a/b r=z-a/(n-1) k=r go to 10 150 yy=(n+1)/(a+1) k=yy go to 10 200 xa=8.2-(a+b) k=xa go to 10!==============================! Egraffi 10 write (6, *) a, b, k End program goto

Εντολές Σύγκρισης Αριθμητική IF Λογική IF Δομημένη IF

Εντολή Σύγκρισης Η αριθμητική εντολή if if (a) n1, n2, n 3 Όπου a = Μια μεταβλητή ή μια παράσταση FORTRAN Αν α < 0 πηγαίνει στην εντολή n1 Αν α = 0 πηγαίνει στην εντολή n2 Αν α > 0 πηγαίνει στην εντολή n3 n1, n2, n3 = αριθμοί εντολών στο πρόγραμμα

Πρόγραμμα 4.3 program if!=========================! file name:if.f95!========================= implicit none real a,b! data read (5, *) a!=======================! Ypologismoi if (a-1.0) 10, 20, 30 10 b= -1.0 go to 5 20 b= 0 go to 5 10 b= 1.0 go to 5! Egraffi 5 write (6, *) a, b, xa End program if

Εντολή Σύγκρισης Η λογική εντολή if Σχέση Περιγραφή Τελεστές σύγκρισης Υλοποίηση στις IF a=b Ίσον.EQ. if(a.eq.b) If(a==b) a<b Μικρότερο.LT. if(a.lt.b) If(a<b) a>b Μεγαλύτερο.GT. if(a.gt.b) If(a>b) a b Μεγαλύτερο ή ίσον.ge. if(a.ge.b) If(a>=b) a b Μικρότερο ή ίσον.le. if(a.le.b) If(a<=b) a b Διάφορο (όχι ίσον).ne. if(a.ne.b) If(a/=b)

Παράδειγμα if(x < 1.0) y=-1.0 if(x == 1.0) y=0.0 if(x > 1.0) y=1.0 if(x.lt.1.0) y=-1.0 if(x.eq.1.0) y=0.0 if(x.gt.1.0) y=1.0 if (k+z <= 0.0) y=r+10.0 if (k+z > 0.0) y=r-10.0

Λογικό KAI (.AND.) if (x >2.0.AND. x < 5.0) y=100.0 Λογικό ή (.OR.) if (A.LT.Y.OR. B+C/(D-A).GT.0.0) go to 120 Λογικό OXI (.NOT.) if (.NOT. (x < 5.0)) y=100.0

BLOCK IF ΕΝΤΟΛΗ: IF (συνθήκη) THEN ENDIF Όπου Α, B: Μεταβλητή, απλή ή με δείκτη ή μια παράσταση FORTRAN

BLOCK IF ΕΝΤΟΛΗ: IF ( συνθήκη) THEN ELSE END IF Όπου Α, B: Μεταβλητή, απλή ή με δείκτη ή μια παράσταση FORTRAN

ΣΥΝΘΕΤΗ BLOCK IF IF (συνθήκη) THEN ELSE IF (συνθήκη) THEN ELSE IF (συνθήκη) THEN. ELSE ENDIF

Πρόγραμμα 4.4 Να υπολογιστεί ο αριθμός z αν z x x 2 2 1 2b 1 2 b 0 x x b b Α) Να δίνονται από το πληκτρολόγιο οι μεταβλητές x και b, αν το x έχει τιμή μικρότερη από μηδέν τότε το πρόγραμμα να σταματά και να εμφανίζεται η ένδειξη «το x είναι μικρότερο από το 0» Β) τα αποτελέσματα να εμφανίζονται στην οθόνη με τις κατάλληλες ενδείξεις

Πρόγραμμα 4.5 Να γραφεί ένα πρόγραμμα που να εντοπίζεται η μεγαλύτερη και η μικρότερη τιμή των Ν σε πλήθος αριθμών. Τα δεδομένα να δίνονται από αρχείο και τα αποτελέσματα να γραφούν στην οθόνη με τις σχετικές ενδείξεις

ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ Εντολή Do do i=m1, m2,m3.... (ομάδα εντολών).. end do do n i=m1, m2,m3.... (ομάδα εντολών).. n.. Όπου m1= η αρχική τιμή initial value m2= η τελική τιμή last value m3= το βήμα (θετικό ή αρνητικό) step

Παράδειγμα do i=1, 100 read (5,*) a x=a**2 write(6,*) a, x end do do i=1, 100, 10 read (5,*) a x=a**2 write(6,*) a, x end do

ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ Άδηλη Do write (6,*) (pin(i), i=1,20) Εντολή Do do n i=m1, m2,m3.... (ομάδα εντολών).. n continue

CONTINUE Η εντολή αυτή δεν κάνει τίποτα. Απλώς δίδει εντολή να συνεχισθεί η εκτέλεση του προγράμματος. Συνήθως είναι το κάτω όριο μιάς εντολής ανακυκλώσεως DO

Πολλαπλή Do Όταν έχουμε πολλαπλές Do, τότε θα πρέπει οι εσωτερικές Do να βρίσκονται ολόκληρες μέσα στις εξωτερικές. Η τελευταία εντολή μιας Do μπορεί να είναι μία οποιαδήποτε εκτελέσιμη εντολή Μπορούμε να χρησιμοποιήσουμε το δείκτη της Do, καθώς και τα m1, m2, m3 μέσα στη περιοχή της. Δεν επιτρέπεται η αλλαγή των τιμών τους.

Πολλαπλή Do Σωστό Σωστό Λάθος

Πολλαπλή Do Δεν επιτρέπεται να αρχίσουμε την εκτέλεση μίας Do από οπουδήποτε αλλού εκτός από την αρχή της. Είναι προτιμότερο κάθε εντολή Do να κλείνει με δικό της τέλος και όχι κοινό τέλος.

Εντολή Do while do while (συνθήκη).... (ομάδα εντολών).. end do

Παράδειγμα do while(a>=50.0) read (5,*) a x=a**2 write(6,*) a, x end do

Πρόγραμμα 4.6 Να υπολογιστεί η τιμή του α από τον τύπο α=α+0.1. Να γίνουν 10000 επαναλήψεις. Να συγκριθεί το α με το 1000.0 και να τυπωθεί η τιμή του α με τις ανάλογες ενδείξεις.

Πρόγραμμα 4.7 Να υπολογιστούν οι τιμές της συνάρτησης y e x2 Για x=1 μέχρι x=10 και βήμα 0.2. Να τυπωθούν οι τιμές του x και y σε δύο κατακόρυφες στήλες (σε αρχείο) και κάθε στήλη να έχει την κατάλληλη επικεφαλίδα

Πρόγραμμα 4.8 Από τα δεδομένα του αρχείου program4_8_data.txt, vα υπολογιστούν Η μέγιστη τιμή Η ελάχιστη τιμή Το πλήθος των τιμών Η μέση τιμή