Συνοπτική εισαγωγή στην γλώσσα FORTRAN Μάριος Βαφειάδης Αν.Καθηγητής ΑΠΘ. Θεσσαλονίκη 2004



Σχετικά έγγραφα
Επίσηµη Εφηµερίδα αριθ. C 372 της 09/12/1997 σ

Ο ΠΡΟΕΔΡΟΣ ΤΗΣ ΒΟΥΛΗΣ ΤΩΝ ΕΛΛΗΝΩΝ. Άρθρο πρώτο.

ΚΑΤΑΣΤΑΤΙΚΟ ΚΕΝΤΡΟΥ ΝΕΟΤΗΤΑΣ. ΙΔΡΥΣΗ Ιδρύεται Κέντρο Νεότητας µε την επωνυµία «Κέντρο Νεότητας... µε έδρα...

ΣΧΕΔΙΟ. ΝΟΜΟΣ. Δηµόσιες υπεραστικές οδικές µεταφορές επιβατών. Κεφ. Α - ΓΕΝΙΚΕΣ ΔΙΑΤΑΞΕΙΣ. Άρθρο 1 Σκοπός πεδίο εφαρµογής

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

ΙΕΘΝΗΣ ΣΥΜΒΑΣΗ ΕΡΓΑΣΙΑΣ 183 «για την αναθεώρηση της (αναθεωρηµένης) σύµβασης για την προστασία της µητρότητας,»

Ο ΠΡΟΕ ΡΟΣ ΤΗΣ ΕΛΛΗΝΙΚΗΣ ΗΜΟΚΡΑΤΙΑΣ Εκδίδοµε τον ακόλουθο νόµο που ψήφισε η Βουλή:

ΠΡΟΪΟΝΤΩΝ» Ποσοστό στη.. του Μέτρου. Ποσό (σε ΕΥΡΩ)

Αριθµ. Απόφασης: 147 / 2015 ΠΑΡΟΝΤΕΣ: ΑΝΑΡΤΗΤΕΑ ΣΤΟ ΙΑ ΙΚΤΥΟ ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΗΜΟΣ ΣΕΡΡΩΝ

ΕΘΝΙΚΟ ΠΛΑΙΣΙΟ ΠΕΡΙΒΑΛΛΟΝΤΙΚΩΝ ΔΡΑΣΕΩΝ

ΘΕΜΑ: «Παραθεριστικοί Οικοδοµικοί Συνεταιρισµοί. Μελέτη Περίπτωσης του «Βραχόκηπου» ήµου Γουβών Ηρακλείου Κρήτης»

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

ΔΙΑΚΗΡΥΞΗ ΔΗΜΟΠΡΑΣΙΑΣ

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

Να γράψετε στο τετράδιό σας τον αριθµό κάθε µίας από τις παρακάτω ηµιτελείς προτάσεις Α1 έως Α5 και δίπλα στο γράµµα που αντιστοιχεί ση λέξη ή στη

ΕΠΙΤΡΟΠΗ ΕΘΝΙΚΗΣ ΑΜΥΝΑΣ ΚΑΙ ΕΞΩΤΕΡΙΚΩΝ ΥΠΟΘΕΣΕΩΝ ΝΟΜΟΣΧΕ ΙΟ. «Στρατολογία των Ελλήνων» Άρθρο 1 Υπόχρεοι σε στράτευση

ΓΙΩΡΓΟΣ ΜΠΛΑΝΑΣ ΓΙΑ ΤΟΝ ΑΝΑΡΧΙΣΜΟ

ΛΥΚΕΙΟ ΑΓΙΑΣ ΦΥΛΑΞΕΩΣ ΣΧΟΛΙΚΗ ΧΡΟΝΙΑ ΛΕΜΕΣΟΣ ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ Μάθηµα : ΦΥΣΙΟΓΝΩΣΤΙΚΑ Ηµεροµηνία : 04/6/2008

ΙΙ. ΤΟ ΒΑΡΟΣ ΤΗΣ ΑΠΟΔΕΙΞΗΣ

ΕΛΤΙΟ ΤΥΠΟΥ ΕΛΛΗΝΙΚΗ ΟΙΚΟΝΟΜΙΑ ΚΑΙ ΤΟΥΡΙΣΜΟΣ ΤΕΥΧΟΣ 21 ΜΑΪΟΣ 2006 I. ΤΟΥΡΙΣΤΙΚΗ ΟΙΚΟΝΟΜΙΑ

Υποψήφιοι Σχολικοί Σύμβουλοι

ΝΟΜΟΣ ΠΟΥ ΠΡΟΒΛΕΠΕΙ ΓΙΑ ΤΗΝ ΚΡΑΤΙΚΗ ΦΟΙΤΗΤΙΚΗ ΜΕΡΙΜΝΑ ΚΑΙ ΓΙΑ ΣΥΝΑΦΗ ΘΕΜΑΤΑ. Η Βουλή των Αντιπροσώπων ψηφίζει ως ακολούθως:

Επίσηµη Εφηµερίδα της Ευρωπαϊκής Ένωσης

ΑΔΑ: Β4ΣΚΩ10-Ρ5Ε ΟΡΘΗ ΕΠΑΝΑΛΗΨΗ

Ενότητα 2. Γενικά Οργάνωση Ελέγχου (ΙΙ) Φύλλα Εργασίας Εκθέσεις Ελέγχων

ΕΚΘΕΣΗ ΓΙΑ ΤΗΝ ΠΑΡΑΝΟΜΗ ΙΑΚΙΝΗΣΗ ΑΝΘΡΩΠΩΝ

Α. ΟΡΓΑΝΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΕΦΑΡΜΟΓΗΣ

ΕΚΤΕΛΕΣΤΙΚΗ ΕΠΙΤΡΟΠΗ ΦΙΛΕΛΛΗΝΩΝ & ΨΥΛΛΑ ΑΘΗΝΑ Τηλ Fax adedy@adedy.gr, adedy1@adedy.gr

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΕΡΙΦΕΡΕΙΑ ΚΡΗΤΗΣ Λιμάνι Χερσονήσου ΝΟΜΟΣ ΗΡΑΚΛΕΙΟΥ Αριθμός πρωτ ΔΗΜΟΣ ΧΕΡΣΟΝΗΣΟΥ ΔΗΜΑΡΧΙΑΚΗ ΕΠΙΤΡΟΠΗ

ΙΑΧΕΙΡΙΣΗ ΠΡΟΣΒΑΣΕΩΝ ΓΙΑ ΤΗΝ ΠΡΟΣΤΑΣΙΑ ΤΩΝ ΝΕΩΝ Ο ΙΚΩΝ ΑΞΟΝΩΝ

α. Ιδρύεται σύλλογος µε την επωνυµία Ενιαίος Σύλλογος ιδακτικού Προσωπικού

Πρακτικό 19/2015 της συνεδρίασης της Οικονοµικής Επιτροπής του ήµου Λήµνου, της 6 ης Μαΐου 2015

Αναλυτικό Πρόγραµµα Σπουδών του Μαθήµατος. Α Τάξη 1 ου Κύκλου Τ.Ε.Ε. 2 ώρες /εβδοµάδα. Αθήνα, Απρίλιος 2001

ΟΙ ΕΜΠΕΙΡΙΕΣ ΑΠΌ ΤΗΝ ΚΑΤΑΣΚΕΥΗ ΕΡΓΩΝ ΜΕ ΣΥΝΕΡΓΑΣΙΑ Ι ΙΩΤΙΚΟΥ ΚΑΙ ΗΜΟΣΙΟΥ ΤΟΜΕΑ ΣΤΟΝ ΕΛΛΗΝΙΚΟ ΧΩΡΟ. ΠΡΟΤΑΣΕΙΣ ΓΙΑ ΤΗΝ ΕΞΕΛΙΞΗ ΚΑΙ ΒΕΛΤΙΩΣΗ ΤΟΥΣ

ΤΑ ΕΠΙΠΕΔΑ ΟΡΓΑΝΩΣΗΣ ΤΩΝ ΠΟΛΥΚΥΤΤΑΡΩΝ ΟΡΓΑΝΣΙΜΩΝ ΟΙ ΖΩΙΚΟΙ ΙΣΤΟΙ 2 ο ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ

επείγοντος για την κατανοµή των βαρών της υποδοχής και προσωρινής διαµονής των µετακινουµένων ατόµων ( 6 ). Έχοντας υπόψη:

Σχολική Εφηµερίδα ηµοτικού Σχολείου ηµητριτσίου Άνοιξη 2015

ΚΕΦΑΛΑΙΟ 7 ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΠΡΟΤΑΣΕΙΣ

Επίσηµη Εφηµερίδα της Ευρωπαϊκής Ένωσης. (Μη νομοθετικές πράξεις) ΚΑΝΟΝΙΣΜΟΙ

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

«Πολιτιστικές διαδροµές στα µεταλλευτικά τοπία της Kύθνου»

Αφήγηση. Βασικά στοιχεία αφηγηµατικού κειµένου:

Συµπεράσµατα από την ανάλυση συχνοτήτων στη Γεωµετρία Α Λυκείου. Για το 1 ο θέµα που αφορά τη θεωρία:

ΠΡΟΣ: ΚΟΙΝ: ΘΕΜΑ: Ενηµερωτικό σηµείωµα για το πρόβληµα της παράνοµης υλοτοµίας και ειδικά αυτό της καυσοξύλευσης

(Πράξη κατάθεσης Υπουργείου Απασχόλησης και Κοινωνικής Προστασίας:ΠΚ 69/ )

Κώδικας. ιαχείρισης του Συστήµατος. και. Συναλλαγών Ηλεκτρικής. Ενέργειας

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

ΤΟ ΣΥΝΤΑΓΜΑ ΤΟΥ Εξώφυλλο του Συντάγµατος του 1844 (Βιβλιοθήκη Βουλής των

ΤΙΤΛΟΣ I ΕΥΡΩΠΑΪΚΑ ΣΧΟΛΕΙΑ

ΧΕΙΜΕΡΙΝΟΣ ΤΟΥΡΙΣΜΟΣ ΣΤΗΝ ΕΛΛΑ Α

Η αξιολόγηση των εκπαιδευτικών το Π.Δ 152/2013, του Γιώργου Καλημερίδη

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

Ο ΗΓΟΣ ΜΑΘΗΜΑΤΩΝ ΑΚΑ ΗΜΑΪΚΟΥ ΕΤΟΥΣ

4 Περίοδοι µε 3ωρα ιαγωνίσµατα ΕΚΤΟΣ ωραρίου διδασκαλίας!!! ΠΡΟΓΡΑΜΜΑ ΙΑΓΩΝΙΣΜΩΝ

Η αστική ευθύνη των διοικούντων Α. Ε Π για φορολογικές οφειλές έναντι του ελληνικού δηµοσίου

109(Ι)/2014 ΝΟΜΟΣ ΠΟΥ ΠΡΟΝΟΕΙ ΓΙΑ ΤΟ ΕΛΑΧΙΣΤΟ ΕΓΓΥΗΜΕΝΟ ΕΙΣΟΔΗΜΑ ΚΑΙ ΓΕΝΙΚΟΤΕΡΑ ΠΕΡΙ ΚΟΙΝΩΝΙΚΩΝ ΠΑΡΟΧΩΝ ΤΟΥ 2014 ΚΑΤΑΤΑΞΗ ΑΡΘΡΩΝ

ΕΝΗΜΕΡΩΣΗ ΓΙΑ ΤΗΝ ΨΩΡΙΑΣΗ ΣΤΟΥΣ ΗΜΟΥΣ ΝΑΥΠΛΙΕΩΝ ΚΑΙ ΠΕΙΡΑΙΑ 0.2%-4.8% του γενικού πληθυσµού προσβάλλεται από τη νόσο της Ψωρίασης

Έχοντας υπόψη: τη συνθήκη για την ίδρυση της Ευρωπαϊκής Κοινότητας, και ιδίως το άρθρο 175 παράγραφος 1, την πρόταση της Επιτροπής ( 1 ),

ΕΘΝΙΚΗ ΣΧΟΛΗ ΗΜΟΣΙΑΣ ΙΟΙΚΗΣΗΣ ΜΑΘΗΜΑ: ΟΡΓΑΝΩΣΗ ΚΑΙ ΛΕΙΤΟΥΡΓΙΑ ΤΟΥ ΚΡΑΤΟΥΣ (ΣΥΝΤΑΓΜΑΤΙΚΟ ΙΚΑΙΟ)

στο σχέδιο νόµου «Διαχείριση των µη εξυπηρετούµενων δανείων, µισθολογικές ρυθµίσεις και άλλες επείγουσες στόχων και διαρθρωτικών µεταρρυθµίσεων»

Πίνακας Άρθρων του Νοµοθετήµατος : Ν 2121/1993 / Α-25 Πνευµατική ιδιοκ/σία, συγγενικά δικαιώµατα. Πολιτιστικά

Α Π Ο Σ Π Α Σ Μ Α Από το Πρακτικό της 03ης Τακτικής Συνεδρίασης του ηµοτικού Συµβουλίου Σκοπέλου

ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗ ΛΟΓΙΣΤΙΚΗ

Επίσηµη Εφηµερίδα αριθ. L335 της 19/12/2001 σ ΤΟ ΣΥΜΒΟΥΛΙΟ ΤΗΣ ΕΥΡΩΠΑΪΚΗΣ ΕΝΩΣΗΣ,

Πρόγραµµα Μεταπτυχιακών Σπουδών στη ιοίκηση Επιχειρήσεων. Μάθηµα: Λογιστική

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Πρώτες βοήθειες και αντιλήψεις του πληθυσμού στους Νομούς Χανίων, Ηρακλείου, Λασιθίου και Μεσσηνίας

Αριθµ. Απόφασης: 736 / 2014 ΠΑΡΟΝΤΕΣ: ΑΝΑΡΤΗΤΕΑ ΣΤΟ ΙΑ ΙΚΤΥΟ ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΗΜΟΣ ΣΕΡΡΩΝ

ΑΚΡΟΒΑΤΗΣ-ΧΑΪΝΗΔΕΣ Οι Χαΐνηδες Ο Δημήτρης Αποστολάκης

Αναλυτικό Πρόγραµµα Σπουδών του Μαθήµατος. Α Τάξη 1 ου Κύκλου Τ.Ε.Ε. 3 ώρες /εβδοµάδα. Αθήνα, Απρίλιος 2001

Ενώνουμε δυνάμεις. Δείγματα Γραφής. Δυναμικά μπροστά ΑΝΔΡΕΑΣ Ζ. ΚΥΠΡΙΑΝΟΥ. Βουλευτής

ΕΤΟΣ Συνεδρίαση 171/

περισσότερο από το γεγονός του ότι αυτό δεν ήταν τότε ένα ζήτηµα έγκρισης του ίδιου του κοινοβουλευτισµού αλλά κριτικής στην αστική εξουσία.

Εσωτερικοί Κανονισμοί Τοπικής Αυτοδιοίκησης

I.Επί της Αρχής του σχεδίου Νόµου: ΙΙ. Επί των άρθρων του σχεδίου Νόµου: ΕΙΣΗΓΗΤΙΚΗ ΕΚΘΕΣΗ

(ΦΕΚ Α ) Ο ΠΡΟΕΔΡΟΣ ΤΗΣ ΕΛΛΗΝΙΚΗΣ ΔΗΜΟΚΡΑΤΙΑΣ. Εκδίδομε τον ακόλουθο νόμο που ψήφισε η Βουλή: Αρθρο πρώτο

Καθορισµός και διαχείριση διδακτέας ύλης των θετικών µαθηµάτων της Α Ηµερησίου Γενικού Λυκείου για το σχολικό έτος

Έλλειψη εσωτερικής ελευθερίας

ΦΥΣΙΚΟΣ ΑΕΡΙΣΜΟΣ - ΡΟΣΙΣΜΟΣ

Θεµατικές ενότητες: παρεµβάσεις και ενδεικτικές υποθέσεις. 1. Οικονοµική πολιτική. Παρεµβάσεις οικονοµικού χαρακτήρα

Επίσηµη Εφηµερίδα της Ευρωπαϊκής Ένωσης

ΚΑΤΑΣΤΑΤΙΚΟ. Του σωµατείου µε την επωνυµία «ΚΥΝΟΦΙΛΙΚΟΣ ΟΜΙΛΟΣ. ΙΩΑΝΝΙΝΩΝ», που εδρεύει στα Ιωάννινα, νόµιµα εκπροσωπούµενο.

ΤΕΙ ΚΑΛΑΜΑΤΑΣ. ΑΡΓΥΡΗ ΔΗΜΗΤΡΑ Σχολής Διοίκησης και Οικονομίας Τμήμα Χρηματοοικονομικής και Ελεγκτικής Επιστήμης Εισηγητής :Λυγγίτσος Αλέξανδρος

Κύκλος Κοινωνικής Προστασίας ΠΟΡΙΣΜΑ

ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΑΡΧΕΣ Ι ΙΩΤΙΚΟΥ ΑΣΤΙΚΟΥ ΙΚΑΙΟΥ

KATATAΞH APΘPΩN. 6. Αρχές της προσφοράς και προμήθειας, ανθρώπινων ιστών και/ ή κυττάρων


Η υγειονοµική µέριµνα για τους πρόσφυγες

Ε.Ε. Π α ρ.ι(i), Α ρ.3646, 25/10/2002. ΤΗΣ ΕΠΙΣΗΜΗΣ ΕΦΗΜΕΡΙΔΑΣ ΤΗΣ ΔΗΜΟΚΡΑΤΙΑΣ Αρ της 25ης ΟΚΤΩΒΡΙΟΥ 2002

ΑΙΤΙΟΛΟΓΙΚΗ ΕΚΘΕΣΗ. στο σχέδιο νόµου «ιατήρηση δεδοµένων που παράγονται ή υποβάλλονται σε επεξεργασία σε συνάρτηση

Ε.Ε. Π α ρ.ι(i), Α ρ.3561, 21/12/2001

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

62 η ΣΥΝΟΔΟΣ ΠΡΥΤΑΝΕΩΝ & ΠΡΟΕΔΡΩΝ Δ.Ε. ΤΩΝ ΕΛΛΗΝΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΩΝ

Ε.Ε. Παρ. Ι(Ι), Αρ. 4374,

ΣΥΝΕΝΤΕΥΞΗ ΤΥΠΟΥ. Η ολοκληρωμένη προσέγγιση θα εφαρμοστεί με τα παρακάτω Εργαλεία

Μονταίνι οκίµια Κριτική της Ιερής Εξέτασης και των θεολογικών συζητήσεων Αγγλία Θωµάς Μουρ Το νησί Ουτοπία

ΕΦΗΜΕΡΙΣ ΤΗΣ ΚΥΒΕΡΝΗΣΕΩΣ

ΒΙΟΛΟΓΙΑ ΓΕΝΙΚΗΣ ΠΑΙ ΕΙΑΣ 2010 ΕΚΦΩΝΗΣΕΙΣ

Συλλόγου ιπλωµατούχων Νοσηλευτριών και Νοσηλευτών Χειρουργείου

ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΠΕΡΙΦΕΡΕΙΑ ΣΤΕΡΕΑΣ ΕΛΛΑ ΑΣ ΓΡΑΦΕΙΟ ΠΕΡΙΦΕΡΕΙΑΡΧΗ ΥΨΗΛΑΝΤΗ ΛΑΜΙΑ. Λαµία ΠΡΟΣ: Μ.Μ.Ε.

Η άλωση της Κωνσταντινούπολης

Transcript:

ΜΑΡΙΟΣ ΒΑΦΕΙΑ ΗΣ ΘΕΣΣΑΛΟΝΙΚΗ 2004

Συνοπτική εισαγωγή στην γλώσσα FORTRAN Μάριος Βαφειάδης Αν.Καθηγητής ΑΠΘ. Θεσσαλονίκη 2004 2

Συνοπτική εισαγωγή στην γλώσσα προγραµµατισµού FORTRAN 3 Η γλώσσα προγραµµατισµού FORTRAN είναι η παλαιότερη γλώσσα υψηλού επιπέδου για ηλεκτρονικούς υπολογιστές. Πρωτοπαρουσιάσθηκε το 1957 και από τότε έχει εξελιχθεί, τυποποιηθεί και διαδοθεί ευρύτατα για προγραµµατισµό επιστηµονικών και τεχνικών εφαρµογών, στην αρχή σε µεγάλα υπολογιστικά συστήµατα και σήµερα σε κάθε είδους ηλεκτρονικούς υπολογιστές. Με τον όρο «γλώσσα υψηλού επιπέδου» εννοούµε µια συµβολική γλώσσα προγραµµατισµού µε στοιχεία γλωσσικά και αριθµητικά συνηθισµένα σε επιστήµονες και τεχνικούς, που επιτρέπει την σύνταξη προγραµµάτων χωρίς καµία απαίτηση για γνώση της εσωτερικής δοµής και λειτουργίας του υπολογιστού. Το όνοµά της προέρχεται από το FORmula TRANslation, δηλαδή η γλώσσα που επιτρέπει την έκφραση µαθηµατικών τύπων. Επειδή η γλώσσα FORTRAN έγινε το κατ εξοχήν εργαλείο προγραµµατισµού σε πολλά πανεπιστήµια, ερευνητικά κέντρα και γραφεία µελετών, ήταν αναγκαίο να τυποποιηθεί ώστε τα προγράµµατα να είναι µεταφερτά από υπολογιστή σε υπολογιστή. Οι διαδοχικές «επίσηµες» εκδόσεις της FORTRAN είναι οι ακόλουθες: 1. ANSI X3.0-1966 FORTRAN 66 ή FORTRAN IV 2. ANSI X3.9-1978 FORTRAN 77 3. ANSI X3.198-1992 FORTRAN 90 [ISO/IEC 1539:1991] 4. ANSI X3J3/96-007 FORTRAN 95 [ISO/IEC 1539-1:1996] (ANSI είναι το Αµερικανικό πρότυπο και ISO το παγκόσµιο) Τα πλέον διαδεδοµένα πρότυπα είναι η FORTRAN IV και η FORTRAN 77. Αυτές είναι και η πλέον απλές και χαρακτηριστικές µορφές της FORTRAN που στην εξέλιξή της ενσωµάτωσε πολλά στοιχεία από άλλες γλώσσες. Όπως κάθε άλλη γλώσσα προγραµµατισµού περιλαµβάνει εντολές για την επεξεργασία δεδοµένων. Οι εντολές περιλαµβάνουν δηλώσεις και εκτελέσιµες εντολές. Οι δηλώσεις προσδιορίζουν διάφορες παραµέτρους και χαρακτηριστικά του προγράµµατος. Οι εκτελέσιµες εντολές εφαρµόζουν µαθηµατικές πράξεις στα δεδοµένα µε την βοήθεια τελεστών και ειδικών συναρτήσεων ή ρυθµίζουν την ροή του όλου προγράµµατος και την εισαγωγή δεδοµένων και εξαγωγή των αποτελεσµάτων. ΤΟ ΑΛΦΑΒΗΤΟ ΤΗΣ FORTRAN Οι µόνοι χαρακτήρες που επιτρέπεται να χρησιµοποιηθούν είναι οι ακόλουθοι: A B C D E F H I J K L M N O P Q R S T U V W X Y Z (από την FORTRAN 77 και µετά και οι πεζοί χαρακτήρες) 1 2 3 4 5 6 7 8 9 0 + - * / ( )., = $ και το κενό διάστηµα ΟΙ ΑΡΙΘΜΗΤΙΚΟΙ ΤΕΛΕΣΤΕΣ ΤΗΣ FORTRAN Σηµασία Μαθηµατικός FORTRAN Παράδειγµα συµβολισµός ΠΡΟΣΘΕΣΗ + + Α+Β ΑΦΑΙΡΕΣΗ Α-Β ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ * * Α*Β ΙΑΙΡΕΣΗ / / Α/Β ΙΣΟΝ = = Α=Β ΥΨΩΣΗ ΣΕ ΥΝΑΜΗ Α Β ** Α**Β ΟΙ ΛΟΓΙΚΟΙ ΤΕΛΕΣΤΕΣ ΤΗΣ FORTRAN Σηµασία Μαθηµατικός FORTRAN Παράδειγµα συµβολισµός ΙΣΟ =.EQ. Α.EQ.Β ΑΝΙΣΟ <>.NE. Α.NE. Β ΜEΓΑΛΥΤΕΡΟ >.GT. Α.GT. Β ΜΙΚΡΟΤΕΡΟ <.LT. Α.LT. Β ΜΕΓΑΛΥΤΕΡΟ Ή ΙΣΟ >=.GE. Α.GE. Β ΜΙΚΡΟΤΕΡΟ Ή ΙΣΟ <=.LE. Α.LE. Β ΚΑΙ &.AND. Α.AND. Β Ή.OR. Α.OR. Β ΟΧΙ!.NOT..ΝΟΤ.Α

ΤΥΠΟΙ Ε ΟΜΕΝΩΝ ΤΗΣ FORTRAN 4 Η παράσταση των τιµών δεδοµένων (αριθµών) µέσα στον υπολογιστή είναι πολύ διαφορετική από το δεκαδικό σύστηµα που χρησιµοποιούµε. Οι ηλεκτρονικοί υπολογιστές χρησιµοποιούν το δυαδικό σύστηµα µε µοναδικά ψηφία (bits) που µπορούν να έχουν τιµές µόνο 0 ή 1, οργανωµένα σε οκτάδες που ονοµάζονται στοιχειώδεις ψηφιολέξεις ή απλά ψηφιολέξεις (bytes). εν υπάρχει η δυνατότητα για µεταβολή της ακρίβειας για κάθε χωριστό αριθµό µε αυξοµείωση των ψηφίων ή ψηφιολέξεων που χρησιµοποιούνται για την παράστασή του. Υπάρχουν ορισµένοι µόνο προκαθορισµένοι τύποι δεδοµένων που µπορούν να χρησιµοποιηθούν. Η ακρίβεια του κάθε τύπου εξαρτάται από τον αριθµό των ψηφιολέξεων που χρησιµοποιούνται για την παράσταση του. Τα δεδοµένα είναι είτε µεταβλητές, είτε σταθερές. Οι σταθερές δηλώνονται απλά µε το περιεχόµενό τους, ενώ οι µεταβλητές µε το όνοµά τους. Τα ονόµατα των µεταβλητών αποτελούνται από ένα και έως και έξι γράµµατα ή συνδυασµό γραµµάτων και αριθµών υπό τους όρους οτι αρχίζουν από γράµµα και το όνοµα είναι διαφορετικό από τα ονόµατα των εντολών και βασικών συναρτήσεων της FORTRAN. Οι µεταβλητές θεωρούνται από τον υπολογιστή οτι είναι όλες πραγµατικοί αριθµοί απλής ακριβείας, εκτός εάν το όνοµά τους αρχίζει µε ένα από τα ακόλουθα έξι γράµµατα I, J, K, L, M, N, οπότε θεωρούνται ακέραιοι, ή εκτός εάν δηλωθούν διαφορετικά στην αρχή του προγράµµατος. εν πρέπει να υπάρχει κανένα κενό διάστηµα µέσα στο όνοµα µιας µεταβλητής και δεν πρέπει το όνοµα να συµπίπτει µε το όνοµα καµίας εντολής ή βασικής συναρτήσεως της FORTRAN. Οι µεταβλητές µπορούν ακόµη να είναι πίνακες (µητρώα), δηλαδή διατεταγµένες οµάδες µεταβλητών (µεταβλητές µε δείκτες). Είναι αποδεκτοί πίνακες µε 1, 2 και 3 διαστάσεις. Για παράδειγµα ένας πίνακας 2 διαστάσεων A µε στοιχεία Α(I, J) που αντιστοιχούν µε την µαθηµατική έκφραση Α και a i, j αντιστοίχως. Παραδείγµατα ορθών ονοµάτων: A, B, X,Y,Z, A1, A2, A3, TOTAL, EPS, D12346, C(I, J) Παραδείγµατα εσφαλµένων ονοµάτων: 1A VELOCITY ΣΥΝΤ T 143 Coef COEF$. DATA (δεν αρχίζει µε γράµµα) ( έχει περισσότερα από 6 γράµµατα) ( περιέχει ελληνικούς χαρακτήρες) (Περιέχει κενό διάστηµα) (Περιέχει πεζά γράµµατα) (Περιέχει χαρακτήρες που δεν είναι γράµµατα ή αριθµοί) (Έχει το ίδιο όνοµα µε εντολή της FORTRAN) K( I, J, K, L) (Έχει περισσότερες από τρεις διαστάσεις) Προσοχή κατά την γραφή του προγράµµατος να µην συγχέονται τα: Ο (όµικρον) και 0 (µηδέν), Ζ και 2, S και 5, Ι και 1, 1 και 7, l (ελ) και 1 Τύπος Αριθµός Προσδιορισµός ψηφιολέξεων σε FORMAT Παραδείγµατα INTEGER 4 I 1, 123, 56790 REAL 4 Fw.d, Ew.d 1., 123.05,.345, 42E3 DOUBLE PRECISION 8 Dw.d 423D43 COMPLEX 8 2Fw.d (100.1 10.8) LOGICAL 4 Lw.TRUE.,.FALSE. Οι ακέραιοι χρησιµοποιούνται κυρίως σαν δείκτες στους πίνακες και σαν µετρητές σε βρόχους επαναλήψεων. Οι πραγµατικοί απλής ακρίβειας σε κάθε περίπτωση υπολογισµών και οι πραγµατικοί διπλής ακρίβειας µόνον όταν απαιτείται µεγαλύτερη ακρίβεια, διότι και µνήµη πολλή καταναλώνουν και επιβαρύνουν σε ταχύτητα την εκτέλεση του προγράµµατος.

Οι βασικές (εσωτερικές) συναρτήσεις της FORTRAN 1. Τριγωνοµετρικές συναρτήσεις: 5 Συνάρτηση Τύπος (ακρίβεια) συναρτήσεως I R DP C Ηµίτονο SIN (R) DSIN (DP) CSIN (C) Συνηµίτονο COS (R) DCOS (DP) CCOS (C) Εφαπτοµένη TAN (R) DTAN (DP) CTAN (C) Συνεφαπτοµένη COTAN (R) DCTAN (DP) Τόξο Ηµιτόνου ASIN (R) DASIN (DP) Τόξο συνηµιτόνου ACOS (R) DACOS (DP) Τόξο εφαπτοµένης ATAN (R) DATAN (DP) Τόξο Εφαπτοµένης (α/β) ATAN2 (R1, R2) DATAN2 (DP1, DP2) Υπερβολικό ηµίτονο SINH (R) DSINH (DP) CSINH (C) Υπερβολικό συνηµίτονο COSH (R) DCOSH (DP) CCOSH (C) Υπερβολική εφαπτοµένη TANH (R) DTANH (DP) CTANH (C) 2. Λογαριθµικές συναρτήσεις και ρίζες: Συνάρτηση Τύπος (ακρίβεια) συναρτήσεως I R DP C Φυσικός λογάριθµος (ln) LOG (R) DLOG (DP) CLOG (C) εκαδικός λογάριθµος LOG10 (R) DLOG10 (DP) Εκθετική συνάρτηση (e X ) EXP (R) DEXP (DP) CEXP (C) Τετραγωνική ρίζα SQRT(R) DSQRT (DP) CSQRT (C) Κυβική ρίζα CBRT (R) DCBRT (DP) CCBRT (C) 3. Συναρτήσεις µετατροπής τύπου µεταβλητής: Μετατροπή από σε.. INTEGER INTEGER IFIX(R) REAL DOUBLE PRECISION COMPLEX REAL FLOAT(I) SINGL(DP) REAL(C) AIMAG(C) DOUBLE PRECISION DFLOAT(Ι) DBLE(R) COMPLEX CMPLX(R1, R2) CONJG(C) 4. Συναρτήσεις µεγαλύτερου - µικρότερου: Συνάρτηση Τύπος (ακρίβεια) συναρτήσεως I R DP C Ο µεγαλύτερος από... MAX0 (I, I,, I) AMAX0 (I,I,, I) DMAX1 (DP, DP,,DP) MAX1 (R, R,, R) AMAX1 (R, R,, R) Ο µικρότερος από... MIN0 (I,I,, I) AMIN0 (I,I,,I) DMIN1 (DP, DP,,DP) MIN1 (R, R,, R) AMIN1 (R, R,, R) Θετική διαφορά (Χ1-Χ2) IDIM (Ι1, Ι2) DIM (R1, R2) DDIM (DP1, DP2) 5. Συναρτήσεις προσήµου απόλυτης τιµής: Συνάρτηση Τύπος (ακρίβεια) συναρτήσεως I R DP C Απόλυτη τιµή IABS (Ι) ABS (R) DABS (DP) CABS (C) Ανταλλαγή προσήµου SIGN (I1, I2) SIGN (R1, R2) SIGN (DP1, DP2) 6. Συναρτήσεις αποκοπής δεκαδικών: Συνάρτηση Τύπος (ακρίβεια) συναρτήσεως I R DP C Ακέραιο µέρος αριθµού INT (R), IDINT (DP) AINT (R) DINT (DP) Ακέραιο µέρος πηλίκου MOD (I1, I2) AMOD (R1, R2) DMOD (DP1, DP2)

οµή ενός προγράµµατος FORTRAN. 6 Κάθε πρόγραµµα FORTRAN συντάσσεται µε βάση λίγους κανόνες. 1. Για την γραφή του προγράµµατος χρησιµοποιείται η διάταξη της 80-στηλης κάρτας εισαγωγής δεδοµένων (οι αριθµοί δηλώνουν τις στήλες): 1 5 6 7 72 73 80 Αριθµός εντολής Στήλη συνέχειας Εντολές Σχόλια ή αριθµηση Όταν µια εντολή δεν χωρά σε µια γραµµή, µπορεί να συνεχιστεί στην επόµενη αφού γραφεί στην στήλη 6 ένας οποιοδήποτε επιτρεπτός χαρακτήρας για να δηλωθεί η συνέχεια από την προηγούµενη σειρά. 2. Κάθε πρόγραµµα αποτελείται από το κυρίως πρόγραµµα και ενδεχοµένως ένα ή περισσότερα υποπρογράµµατα ή συναρτήσεις. εν υπάρχει ειδική εντολή για να δηλωθεί η αρχή του κυρίως προγράµµατος. Είναι καλό να τοποθετούνται επικεφαλής τους προγράµµατος σχόλια όπου να δηλώνονται τουλάχιστον το όνοµα του προγράµµατος και η ηµεροµηνία συντάξεώς του, καθώς και το όνοµα του προγραµµατιστού. Τα υποπρογράµµατα είναι αυτοτελή τµήµατα προγράµµατος που καλούνται µε τη εντολή CALL. Κατά την κλήση τους δέχονται πολλές παραµέτρους και µπορούν να επιστρέψουν επίσης πολλές τιµές στο κυρίως πρόγραµµα Τα υποπρογράµµατα δηλώνουν την αρχή τους µε την δήλωση SUBROUTINE, το όνοµα και τις παραµέτρους κλήσεώς τους. Για παράδειγµα SUBROUTINE MATINV(A, B, M). Οι συναρτήσεις (FUNCTION) µπορούν να δεχθούν πολλές παραµέτρους κατά την κλήση αλλά επιστρέφουν µόνο µία τιµή, την τιµή της συναρτήσεως, και χρησιµοποιούνται όπως και οι βασικές συναρτήσεις της FORTRAN, δηλαδή µπορούν να γραφούν κατ ευθείαν µέσα σε αριθµητικούς τύπους. Οι συναρτήσεις δηλώνουν την αρχή τους µε την δήλωση FUNCTION, το όνοµα και τις παραµέτρους κλήσεώς τους. Για παράδειγµα FUNCTION DSCHRG(V, A). Τα υποπρογράµµατα και οι συναρτήσεις γράφονται µετά από την εντολή END του κυρίως προγράµµατος, και το τέλος τους δηλώνεται (για κάθε ένα χωριστά) µε µια υποχρεωτική εντολή RETURN 3. Πρώτη εντολή ενός προγράµµατος µπορεί να είναι η εντολή η προαιρετική εντολή IMPLICIT που δηλώνει τύπους µεταβλητών και αµέσως µετά (ή πρώτη αν δεν υπάρχει εντολή IMPLICIT) η προαιρετική εντολή PARAMETER που δηλώνει παραµέτρους που µπορούν να χρησιµοποιηθούν για διαστάσεις πινάκων ή άλλες αρχικές ρυθµίσεις του προγράµµατος. 4. Ακολουθούν προαιρετικές εντολές COMMON µεταβλητών, δηλαδή κοινών µεταξύ προγραµµάτων και υποπρογραµµάτων. 5. Εντολές δηλώσεων µεταβλητών και πινάκων (DIMENSION, INTEGER, REAL, κλπ) 6. Εκτελέσιµες εντολές του προγράµµατος (Αριθµητικές και λογικές πράξεις, εντολές ελέγχου της ροής του προγράµµατος, εντολές READ ή WRITE, κλήσεις υποπρογραµµάτων. 7. Μια υποχρεωτική εντολή STOP για την παύση της εκτελέσεως του προγράµµατος. (Στα υποπρογράµµατα και τις συναρτήσεις χρησιµοποιείται η εντολή RETURN για την επιστροφή προς το σηµείο κλήσεως) 8. Μια υποχρεωτική εντολή END που δηλώνει το τέλος του προγράµµατος. 9. Σχόλια µπορούν να χρησιµοποιούνται οπουδήποτε στο πρόγραµµα σαν «άµεση» επεξήγηση και τεκµηρίωση του προγράµµατος. Μία γραµµή µε σχόλια αρχίζει µε τον χαρακτήρα C στην 1η στήλη. 10. Οι εντολές FORMAT µπορούν να γράφονται οπουδήποτε µέσα στο πρόγραµµα. Για πρακτικούς λόγους, είναι καλό να γράφονται αµέσως πριν ή µετά από τις αντίστοιχες εντολές READ και WRITE, ή συγκεντρωµένες στο τέλος του προγράµµατος αν χρησιµοποιούνται από πολλές διαφορετικές εντολές READ και WRITE.

Εντολές της FORTRAN 7 1. ηλώσεις µεταβλητών IMPLICIT τύπος µεταβλητής (γράµµατα) [,τύπος µεταβλητής (γράµµατα)]... Προαιρετική εντολή που προσδιορίζει κατηγορίες ονοµάτων µεταβλητών µε βάση το αρχικό τους γράµµα που ορίζουν συγκεκριµένο τύπο µεταβλητής, όπως ακριβώς µε τους ακεραίους (INTEGER) και τα γράµµατα I, J, K, L, M, N. πρέπει να είναι ή πρώτη εντολή του προγράµµατος αν χρησιµοποιείται. Ο τύπος µιας µεταβλητής µπορεί να είναι διαφορετικός από αυτόν που ορίζει έµµεσα µια τέτοια εντολή εάν δηλωθεί στη συνέχεια άµεσα µε κάποια από τις ειδικές εντολές τύπου. Τα γράµµατα που ορίζουν τον κάθε τύπο είναι κλεισµένα σε παρενθέσεις και χωρίζονται µε «,» ή εάν θέλουµε να ορίσουµε συνοπτικά σειρά γραµµάτων τότε γράφουµε το πρώτο και το τελευταίο χωρισµένα µε «-». Παράδειγµα: IMPLICIT REAL (R,V, X-Z), DOUBLE PRECISION (D, G), COMPLEX (C) PARAMETER όνοµα µεταβλητής=ακέραια σταθερά [,όνοµα µεταβλητής= ακέραια σταθερά]... Ορίζει µεταβλητές και τους δίνει αρχική τιµή. οι µεταβλητές που ορίζονται µε την εντολή PARAMETER µπορούν χρησιµοποιηθούν για την απόδοση διαστάσεων σε πίνακες που ορίζονται στην συνέχεια. Για τον λόγο αυτό πρέπει να είναι η πρώτη εντολή του προγράµµατος (µετά από την εντολή IMPLICIT, εάν υπάρχει). Παράδειγµα: PARAMETER I=100, J=100, K=10 DIMENSION όνοµα πίνακα (διάσταση 1 [,διάσταση 2] [,διάσταση 3] ) [,όνοµα πίνακα (διάσταση 1 [,διάσταση 2] [,διάσταση 3] ) [,... } ηλώνει πίνακες και καθορίζει τον αριθµό (1-3) των διαστάσεων και το µέγεθος της κάθε διαστάσεως µε θετικές ακέραιες σταθερές ή ακέραιες µεταβλητές του τύπου PARAMETER (που πρέπει να έχουν ορισθεί προηγουµένως). Παράδειγµα: DIMENSION A(10,10), B(20), FADE(3, 3, 3), MANY (I, M) (όπου το I και το M έχουν προηγουµένως δηλωθεί(παράδειγµα) ως: PARAMETER (I=10, Μ=3) Ο αριθµός των στοιχείων του πίνακα είναι από το 1 έως και τον αριθµό που δηλώνει το µέγεθος της διαστάσεως. Η δήλωση των απλών µεταβλητών είναι προαιρετική και απαιτείται µόνο εάν θέλουµε να προσδιορίσουµε τύπο διαφορετικό από αυτόν που δηλώνει το πρώτο γράµµα του ονόµατός των, ενώ η δήλωση των πινάκων είναι υποχρεωτική διότι πρέπει να γίνει γνωστός ο αριθµός (1-3) των διαστάσεων του και το µέγεθος των διαστάσεων. Η «άµεση» δήλωση του τύπου µεταβλητών ή πινάκων γίνεται µε τις ακόλουθες δηλώσεις στην θέση της δηλώσεως DIMENSION: INTEGER όνοµα µεταβλητής ή πίνακα (διαστάσεις)[, όνοµα µεταβλητής ή πίνακα (διαστάσεις)]... REAL όνοµα µεταβλητής ή πίνακα (διαστάσεις)[, όνοµα µεταβλητής ή πίνακα (διαστάσεις)]... DOUBLE PRECISION όνοµα µεταβλητής ή πίνακα (διαστάσεις)[, όνοµα µεταβλητής ή πίνακα (διαστάσεις)]... COMPLEX όνοµα µεταβλητής ή πίνακα (διαστάσεις)[, όνοµα µεταβλητής ή πίνακα (διαστάσεις)]... LOGICAL όνοµα µεταβλητής ή πίνακα (διαστάσεις)[, όνοµα µεταβλητής ή πίνακα (διαστάσεις)]... Οι εντολές αυτές ορίζουν τον τύπο µεταβλητών και ταυτόχρονα και τις διαστάσεις αν πρόκειται για πίνακες. Είναι προαιρετικές εντολές που χρησιµοποιούνται για µεταβλητές και πίνακες διαφορετικού τύπου από αυτόν που δηλώνει το πρώτο γράµµα του ονόµατός των. Είναι καλό να υποκαθιστούν την εντολή DIMENSION για τις δηλώσεις πινάκων διότι κάνουν πιο σαφή τον τύπο του πίνακα. Για τις αλφαριθµητικές σειρές (συµβολοσειρές) χρησιµοποιούνται απλές ακέραιες ή πραγµατικές µεταβλητές ή πίνακες όπου µπορούν να αποθηκευτούν µέχρι 4 χαρακτήρες στην κάθε µια. Η έκδοση IV/V της FORTRAN που παρουσιάζεται εδώ επιτρέπει µόνο στοιχειώδεις λειτουργίες µε αλφαριθµητικές σειρές.

DATA κατάλογος µεταβλητών /κατάλογος τιµών/ [ [,]κατάλογος µεταβλητών /κατάλογος τιµών/ ]... 8 Αποδίδει τιµές σε µεταβλητές. Παράδειγµα: DATA A, B, C/ 10.3,20,32.5/JF10/25/ (MATR(I), I=2,4)/.3,-.5,.6/ Η παραπάνω εντολή ισοδυναµεί µε τις εντολές: A=10.3 B=20 C=32.5 JF10=25 MATR(2)=.3 MATR(3)=-.5 MATR(4)=.6 COMMON [/[όνοµα οµάδας µεταβλητών] /] κατάλογος µεταβλητών οµάδας,] / [όνοµα οµάδας µεταβλητών] / κατάλογος µεταβλητών οµάδας ]... ηλώνει οµάδες µεταβλητών που χρησιµοποιούν τις ίδιες θέσεις µνήµης για την αποθήκευση των τιµών τους. Εξυπηρετεί την εξοικονόµηση χώρου στην µνήµη, αλλά και την χρήση κοινών τιµών µεταβλητών µεταξύ κυρίως προγράµµατος και υπποπρογραµµάτων, χωρίς να δηλώνονται αυτές οι µεταβλητές στις παραµέτρους κλήσεως των υποπρογραµµάτων. ηλαδή, δηλώνουµε στην πραγµατικότητα την ίδια µεταβλητή µε διαφορετικά ονόµατα. Παράδειγµα: COMMON GROUP1/AREA, SRFACE, SQMTRS/ όπου η µια µεταβλητή που δηλώνει εµβαδόν επιφάνειας µπορεί να ονοµάζεται AREA στο κυρίως πρόγραµµα, SRFACE σε ένα υποπρόγραµµα και SQMTRS σε άλλο υποπρόγραµµα. EXTERNAL όνοµα συναρτήσεως [,όνοµα συναρτήσεως ]... Χρησιµοποιείται για να δηλώσει ονόµατα συναρτήσεων που θα χρησιµοποιηθούν σαν παράµετροι σε άλλες συναρτήσεις ή υποπρογράµµατα. 2. Είσοδος δεδοµένων έξοδος αποτελεσµάτων READ (Πηγή, αριθµός εντολής FORMAT ) κατάλογος µεταβλητών ιαβάζει δεδοµένα από την Πηγή σύµφωνα µε τις οδηγίες της εντολής µε αριθµό εντολής FORMAT Σαν Πηγή γενικά ορίζεται ο αριθµός 5 που αντιστοιχούσε παλιά στον αναγνώστη δελτίων (στο MS-DOS στο πληκτρολόγιο) ή οποιοδήποτε άλλος αριθµός αντίστοιχος µε κάποιο αρχείο που είναι ήδη ανοικτό. Ο κατάλογος µεταβλητών µπορεί να περιλαµβάνει µια ή περισσότερες µεταβλητές, µεµονωµένα στοιχεία ενός µητρώου (πίνακα), ή τµήµατα ή και ολόκληρα µητρώα µε οδηγίες για την διαδοχική ανάγνωση παρόµοιες µε εντολές DO. Παράδειγµα: READ (5,1) A, B, K(1,2), ((G(I, J), I=1, N), J=1, M) WRITE (Προρισµός, αριθµός εντολής FORMAT ) κατάλογος µεταβλητών Τυπώνει δεδοµένα στον Προορισµό σύµφωνα µε τις οδηγίες της εντολής µε αριθµό εντολής FORMAT Σαν Προρισµός γενικά ορίζεται ο αριθµός 6 που αντιστοιχούσε παλιά στην εκτυπωτική (στο MS-DOS στην οθόνη). Ο κατάλογος µεταβλητών µπορεί να περιλαµβάνει µια ή περισσότερες µεταβλητές, µεµονωµένα στοιχεία ενός µητρώου (πίνακα), ή τµήµατα ή και ολόκληρα µητρώα µε οδηγίες για την διαδοχική ανάγνωση παρόµοιες µε εντολές DO. Παράδειγµα: WRITE (6,1) A, B, K(1,2), ((G(I, J), I=1, N), J=1, M)

FORMAT [κατάλογος προσδιορισµών] Η εντολή FORMAT (Μορφοποίηση) προσδιορίζει την µορφή των δεδοµένων που διαβάζονται, αποθηκεύονται ή εκτυπώνονται. Επιτρέπει να προστίθενται τίτλοι και να συνδυάζεται η εκτύπωση των αποτελεσµάτων µε επεξηγήσεις. Η ίδια εντολή FORMAT µπορεί να καλείται από πολλές εντολές READ και WRITE. Οι εντολές αυτές µπορούν να γράφονται οπουδήποτε µέσα στο πρόγραµµα. Για πρακτικούς λόγους, είναι καλό να γράφονται αµέσως πριν ή µετά από τις αντίστοιχες εντολές READ και WRITE, ή συγκεντρωµένες στο τέλος του προγράµµατος αν χρησιµοποιούνται από πολλές διαφορετικές εντολές READ και WRITE. Μια εντολή FORMAT περιλαµβάνει ειδικούς προσδιορισµούς που καθορίζουν τον τύπο και το µήκος σε χαρακτήρες για κάθε σχόλιο ή µεταβλητή που εκτυπώνεται. Οι προσδιορισµοί χωρίζονται µεταξύ τους µε «,» και είναι δυνατή η δήλωση της επαναλήψεως του ίδιου προσδιορισµού µε αριθµό ακριβώς πριν από τον προσδιορισµό. Μπορούν οµοίως να καθορισθούν οµάδες προσδιορισµών που περικλείονται από παρενθέσεις και επαναλαµβάνονται. Προσδιορισµοί που µπορούν να συµπεριληφθούν σε µια εντολή FORMAT: 9 Προσδιορισµός Επεξήγηση/χρήση Παράδειγµα Χ ένα κενό διάστηµα X, 2X, 10X Nh αλφαριθµητική σειρά n χαρακτήρων 5ΗSTART, 6HRAIN= / αλλαγή σειράς Iw Ακέραιος (INTEGER) µε αριθµό χαρακτήρων w I3, I5, 5I4 Fw.d Εw.d Dw.d Πραγµατικός (REAL) µε συνολικό αριθµό χαρακτήρων w, από τους οποίους d δεκαδικά. Πραγµατικός (REAL) µε συνολικό αριθµό χαρακτήρων w, από τους οποίους d δεκαδικά και εκθέτη ΕsXXX ιπλής ακρίβειας (DOUBLE PRECISION) µε συνολικό αριθµό χαρακτήρων w, από τους οποίους d δεκαδικά και εκθέτη DsXXX F5.2, F10.4, 5F4.1 Ε6.0, Ε8.3, 10E10.2 D9.0, D12.3, 10D12.2 Aw Συµβολοσειρά µε συνολικό αριθµό χαρακτήρων w Α4, Α20, 20A10 3. Έλεγχος πορείας και εκτελέσεως του προγράµµατος CONTINUE STOP END Χρησιµοποιείται για την εισαγωγή αριθµηµένων σηµείων αναφοράς στο πρόγραµµα. εν εκτελεί καµία λειτουργία. Σταµατάει την εκτέλεση του προγράµµατος. ηλώνει το τέλος του προγράµµατος. DO αριθµός εντολής τέλους µεταβλητή ελέγχου = αρχική τιµή, τελική τιµή [, βήµα αυξήσεως] Παράδειγµα: Η µεταβλητή ελέγχου παίρνει την αρχική τιµή και εκτελούνται όλες οι εντολές που ακολουθούν έως την εντολή µε αριθµός εντολής τέλους οπότε η µεταβλητή ελέγχου αυξάνει κατά το βήµα αυξήσεως (αν δίνεται) ή κατά µια µονάδα. Η µεταβλητή ελέγχου συγκρίνεται µε την τελική τιµή και αν είναι µικρότερη επαναλαµβάνεται η διαδικασία από την πρώτη εντολή µετα την εντολή DO.

Εντολή Πραγµατική εκτέλεση Εξέλιξη των τιµών των µεταβλητών 10 DO 10 I=1,3 A=(A+B)*2 10 CONTINUE I=1 A=(A+B)*2 I=I+1 A=(A+B)*2 I=I+1 A=(A+B)*2 I=I+1 I=1 A=(A+B)*2 I=2 A=((A+B)*2+B)*2 I=3 A=((((A+B)*2+B)*2)+B)*2 I=4 GO TO αριθµός εντολής Μεταφέρει την συνέχεια του προγράµµατος στην εντολή µε αριθµό εντολής Παράδειγµα: GO TO 100 GO TO (αριθµός εντολής 1, αριθµός εντολής 2, αριθµός εντολής 3, ), ακέραια µεταβλητή ελέγχου Η µεταβλητή ελέγχου µπορεί να πάρει τιµές 1,2,..,n όπου n είναι το πλήθος των αριθµών εντολής που περιλαµβάνονται µέσα στις παρενθέσεις. Η συνέχεια του προγράµµατος µεταφέρεται στην εντολή που η σειρά της ορίζεται από την µεταβλητή ελέγχου. Αν η µεταβλητή ελέγχου έχει τιµή αρνητική ή µεγαλύτερη από n,τότε ή εντολή αγνοείται. Η εντολή αυτή ονοµάζεται computed GO TO Παράδειγµα: GO TO (100,200,300,400)Ν (Εάν Ν=2 τότε αυτή η εντολή ισοδυναµεί µε GO TO 200) IF (αριθµητική έκφραση) αριθµός εντολής 1, αριθµός εντολής 2, αριθµός εντολής 3 Η αριθµητική έκφραση συγκρίνεται µε το 0 και η συνέχεια του προγράµµατος µεταφέρεται : στην εντολή µε αριθµό εντολής 1 εάν είναι <0 στην εντολή µε αριθµό εντολής 2 εάν είναι =0 στην εντολή µε αριθµό εντολής 3 εάν είναι >0 Παράδειγµα: IF (A-B) 10, 20, 30 IF (λογική έκφραση) εντολή Εάν η λογική έκφραση είναι αληθής (.TRUE.) εκτελείται η εντολή Παράδειγµα: IF (A.GT.B) B=A IF ((A.GT.C).AND.(B.LE.0)) GOTO 300

5. Συναρτήσεις υποπρογράµµατα 11 [τύπος] FUNCTION όνοµα συναρτήσεως [([παράµετρος 1] [,παράµετρος 2 ]...)] Είναι η πρώτη εντολή (δήλωση) µιας συναρτήσεως, δηλαδή ενός τµήµατος προγράµµατος µε διακριτικό όνοµα που εκτελεί πράξεις στις παραµέτρους που ορίζονται κατά την κλήση και επιστρέφει µια και µοναδική τιµή, αυτή της συναρτήσεως. Για τον λόγο αυτό θα πρέπει να υπάρχει ανάµεσα στις εντολές της συναρτήσεως, τουλάχιστον µια εντολή αντικαταστάσεως του τύπου: όνοµα συναρτήσεως=... Παράδειγµα: REAL FUNCTION ABC(A, B, C) ABC=(A*B)**C RETURN END SUBROUTINE όνοµα υποπρογράµµατος [([παράµετρος 1] [,παράµετρος 2 ]...)] Είναι η πρώτη εντολή (δήλωση) ενός υποπρογράµµατος, δηλαδή ενός τµήµατος προγράµµατος µε διακριτικό όνοµα που εκτελεί πράξεις µε κάποιες από τις παραµέτρους που ορίζονται κατά την κλήση και επιστρέφει µέσω πάλι κάποιων παραµέτρων τιµές στο κυρίως πρόγραµµα ή άλλα υποπρογράµµατα. Η κλήση ενός υποπρογράµµατος γίνεται µε την εντολή: CALL όνοµα υποπρογράµµατος [([παράµετρος 1] [,παράµετρος 2 ]...)] RETURN ηλώνει το σηµείο επιστροφής στο σηµείο από το οποίο κλήθηκε η συνάρτηση ή το υποπρόγραµµα Είναι υποχρεωτική η ύπαρξη µιας τουλάχιστον εντολής RETURN σε κάθε υποπρόγραµµα ή συνάρτηση Τα υποπρογράµµατα και οι συναρτήσεις: 1. Έχουν σαν τελευταία εντολή την εντολή END 2. Μπορούν να έχουν διαφορετικά ονόµατα παραµέτρων από αυτά που χρησιµοποιούνται για να κληθούν. ηλαδή χρησιµοποιούν «τοπικές» µεταβλητές και µπορούν να λειτουργήσουν για οποιαδήποτε αντίστοιχη µεταβλητή έχει ανάγκη το κυρίως πρόγραµµα που τα καλεί. 3. Ο λόγος ύπαρξης τους είναι να απλοποιούν και να συντοµεύουν τον κώδικα του προγράµµατος, αποφεύγοντας επαναλήψεις παροµοίων τµηµάτων κώδικα. Μπορεί να ξαναγραφεί ένα πρόγραµµα που περιέχει υποπρογράµµατα ή συναρτήσεις χωρίς κανένα από αυτά και να είναι τελείως ορθό. 4. Εάν στις παραµέτρους κλήσεως υπάρχουν πίνακες, τότε είναι υποχρεωτικό να δηλωθούν µε µια εντολή DIMENSION που όµως µπορεί να έχει εικονικές τιµές στις διαστάσεις (πχ. 1) διότι στην περίπτωση αυτή οι πραγµατικές διαστάσεις του πίνακα έχουν δηλωθεί στο κυρίως πρόγραµµα ή το υποπρόγραµµα από το οποίο γίνεται η κλήση. 5. Ένα υποπρόγραµµα ή µια συνάρτηση µπορούν να καλούν άλλα υποπρογράµµατα ή συναρτήσεις, αλλά όχι και το εαυτό τους.

6. Εντολές που χρησιµοποιούνται σε ειδικές περιπτώσεις 12 Υπάρχουν µερικές ακόµη εντολές που χρησιµοποιούνται σε ειδικές περιπτώσεις χειρισµού µεταβλητών και αρχείων. Γενικά δεν είναι απαραίτητες και για τον λόγο αυτό απλά αναφέρονται: BLOCK DATA ENTRY EQUIVALENCE NAMELIST PAUSE PUNCH BACKSPACE REWIND assigned GO TO READ (Πηγή, αριθµός εντολής FORMAT [, ERR=αριθµός1][, END=αριθµός2] ) κατάλογος µεταβλητών WRITE (Προορισµός, αριθµός εντολής FORMAT[, ERR=αριθµός1][, END=αριθµός2] ) κατάλογος µεταβλητών PRINT αριθµός εντολής FORMAT, κατάλογος µεταβλητών ASSIGN ετικέτα TO µεταβλητή

FORTRAN 77 Η FORTRAN 77 περιλαµβάνει µερικές επιπλέον χρήσιµες δηλώσεις και εντολές από αυτές της FORTRAN IV, µεταξύ των οποίων αυτές που επεκτείνουν την εισαγωγή και εξαγωγή δεδοµένων και τον χειρισµό αρχείων: 1) PROGRAM program-name. Είναι η εντολή που ορίζει την αρχή και το όνοµα του προγράµµατος. 2) WRITE ([UNIT=]προορισµός[, [ FMT=] αριθ.εντολής FORMAT] [, ERR=αριθ.εντολής εάν λάθος] [, IOSTAT=κατάσταση αρχείου] [, REC= πεδίο] ) κατάλογος µεταβλητών Χρησιµοποιείται για εγγραφή σε αρχεία. 3) READ { αριθ.εντολής FORMAT, ([UNIT=] πηγή [, [FMT=] αριθ.εντολής FORMAT] [, END= αριθ.εντολής εάν τέλος ] [, ERR= αριθ.εντολής εάν λάθος ] [, IOSTAT= κατάσταση αρχείου] [, REC=πεδίο] )} κατάλογος µεταβλητών Χρησιµοποιείται για ανάγνωση από αρχεία. 4) INQUIRE ({[UNIT=]πηγή FILE=αρχείο}[, ACCESS=πρόσβαση] [, BLANK=κενό] [, DIRECT=απ ευθείας] [, ERR= αριθ.εντολής εάν λάθος] [, EXIST=υπάρχει] [, FORM=µορφή] [, FORMATTED=µορφοποίηση] [, IOSTAT=κατάσταση εισόδου/εξόδου] [, NAME=όνοµα] [, NAMED=όνοµα] [, NEXTREC=επόµενο πεδίο] [, NUMBER=αριθµός] [, OPENED=ήδη ανοικτό] [, RECL=µήκος πεδίου] [, SEQUENTIAL=διαδοχικά] [, UNFORMATTED=χωρίς µορφοποίηση] ) Χρησιµοποιείται για αναζήτηση στοιχείων σε αρχεία. 5) OPEN ([UNIT=]πηγή ή προορισµός [, ACCESS= πρόσβαση] [, BLANK=κενό] [, ERR= αριθ.εντολής εάν λάθος] [, FILE=όνοµα αρχείου] [, FORM=µορφή] [, IOSTAT= κατάσταση εισόδου/εξόδου] [, RECL=µήκος πεδίου] [, STATUS=κατάσταση] ) Χρησιµοποιείται για το άνοιγµα ή την δηµιουργία συγκεκριµένου αρχείου. 6) CLOSE ([UNIT=]προορισµός ή πηγή [, ERR= αριθ.εντολής εάν λάθος] [, IOSTAT= κατάσταση εισόδου/εξόδου] [, STATUS=κατάσταση] ) Χρησιµοποιείται για το κλείσιµο συγκεκριµένου αρχείου. 7) ENDFILE {πηγήc ([UNIT=] πηγή [, ERR= αριθ.εντολής εάν λάθος] [, IOSTAT= κατάσταση εισόδου/εξόδου] )} Βοηθά κατά την ανάγνωση δεδοµένων από αρχείο να µην ξεπεραστεί το τέλος του αρχείου. 8) CHARACTER [*αριθµός χαρακτήρων] όνοµα µεταβλητής [*αριθµός χαρακτήρων] [(διαστάσεις)] [,όνοµα µεταβλητής [*αριθµός χαρακτήρων] [(διαστάσεις)] Νέος τύπος µεταβλητής που εξυπηρετεί καλύτερα το χειρισµό συµβολοσειρών. Παρaδείγµατα: CHARACTER*5 ASDFI, WATER CHARACTER A, F, G 13 9) IF (λογική έκφραση) THEN οµάδα εντολών 1 [ELSE IF (λογική έκφραση) THEN οµάδα εντολών 2]... [ELSE οµάδα εντολών 3] END IF Εξελιγµένος τύπος ελέγχου και αποφάσεως για την αλλαγή ροής ή την εκτέλεση οµάδων εντολών, όπως στις άλλες γλώσσες, πχ. την BASIC και την C.

Γραφή µαθηµατικών εκφράσεων (τύπων) στην FORTRAN 14 Ο σκοπός της δηµιουργίας της FORTRAN και το βασικό της πλεονέκτηµα, είναι ο απλός τρόπος µε τον οποίο επιτρέπει την γραφή σύνθετων µαθηµατικών τύπων. Κάθε µαθηµατικός τύπος της FORTRAN περιλαµβάνει µια µεταβλητή αριστερά, το σύµβολο «=» και µια σταθερά ή µεταβλητή ή συνάρτηση ή συνδυασµό των προηγουµένων δεξιά: Μεταβλητή = [µαθηµατική παράσταση] Η έννοια κάθε τέτοιου τύπου είναι: «Υπολόγισε την µαθηµατική παράσταση στα δεξιά του «=» και δώσε την τιµή του αποτελέσµατος στην µεταβλητή στα αριστερά του «=»». Πρόκειται δηλαδή για ένα υπολογισµό και µια αντικατάσταση τιµής και για τον λόγο αυτό είναι απόλυτα ορθές (και συνηθισµένες) εκφράσεις όπως η ακόλουθη: Α=Α+Β Η παραπάνω παράσταση δεν σηµαίνει οτι το Α είναι ίσο µε το Α+Β, κάτι που δεν έχει νόηµα, εκτός και αν το Β=0. Αντίθετα σηµαίνει: «Πάρε την τιµή της Α, πρόσθεσε σ αυτήν την τιµή της Β και το αποτέλεσµα όρισέ το σαν νέα τιµή της Α» Είναι απαραίτητο σε κάθε µαθηµατική παράσταση να σηµειώνονται όλα τα σύµβολα και ιδίως αυτά του πολλαπλασιασµού που πολλές φορές παραλείπονται σαν αυτονόητα κατά την συνήθη γραφή αλγεβρικών εκφράσεων. Η σειρά µε την οποία εκτελούνται οι πράξεις σε µια µαθηµατική παράσταση είναι: 1. Υπολογισµός (κλήση) συναρτήσεων 2. Ύψωση σε δύναµη 3. Πολλαπλασιασµός και διαίρεση 4. Πρόσθεση και αφαίρεση Στην περίπτωση που η παράσταση περιέχει πολλές πράξεις του ίδιου επιπέδου, αυτές εκτελούνται από αριστερά προς τα δεξιά. Σε κάθε περίπτωση η χρήση παρενθέσεων εξασφαλίζει την ορθή εκτέλεση των πράξεων, διότι πρώτα εκτελούνται οι πράξεις µέσα στις παρενθέσεις, αλλά επίσης βελτιώνει και την αναγνωσιµότητα του προγράµµατος. Για παράδειγµα: 2 sin(.5) ( a+ 2) Η αλγεβρική παράσταση: a + 2y 1 3cos(.2) θα γραφεί στην FORTRAN ως: A+ 2.*SIN(.5)/(3.*COS(.2))-2.*Y**(A+2.)-1. και καλύτερα ακόµη ως: Α+1.5*( SIN(.5)/(COS(.2)))- 2.*Y**(A+2.)-1. Στις µαθηµατικές εκφράσεις πρέπει να αποφεύγεται η ανάµειξη µεταβλητών, σταθερών και συναρτήσεων διαφορετικής ακρίβειας (τύπου) διότι ακόµη και εάν δεν δώσει ένδειξη σφάλµατος ο υπολογιστής, υπάρχει µεγάλη πιθανότητα να προκύψουν αριθµητικά σφάλµατα και ανεξήγητα αποτελέσµατα. Προκειµένου να είναι δυνατή η ανάµειξη µεταβλητών και συναρτήσεων διαφόρων τύπων η FORTRAN παρέχει µια σειρά από συναρτήσεις αλλαγής τύπου όπως οι FLOAT(I) και IFIX(R) που πρέπει να χρησιµοποιούνται συστηµατικά όταν παρουσιάζονται τέτοιες περιπτώσεις. Σχετικά µε τα άλλα µαθηµατικά σύµβολα τα αθροίσµατα και τα γινόµενα αποδίδονται µε επαναληπτικές διαδικασίες (DO), ενώ τα ολοκληρώµατα, τα διαφορικά, οι παράγωγοι και λοιπά αναλύονται σε συναρτήσεις και υποπρογράµµατα µε την βοήθεια µεθόδων τη αριθµητικής αναλύσεως. Οι τριγωνοµετρικές συναρτήσεις, οι συναρτήσεις κατανοµών και άλλες ειδικές συναρτήσεις υπολογίζονται πάντα (ακόµη και αυτές που παρέχονται σαν βασικές συναρτήσεις της FORTRAN) µε προσεγγιστικά αναπτύγµατα σε σειρές. Υπό αυτήν την έννοια προγραµµατιστικά η ύψωση σε ακέραια δύναµη είναι περισσότερο αποδοτική (σε ταχύτητα και ενδεχοµένως σε ακρίβεια) αν δοθεί σαν γινόµενο της µεταβλητής επί τον εαυτό της παρά σαν ύψωση σε δύναµη. Για παράδειγµα η έκφραση (Α*Α*Α*Α) είναι προτιµότερη από την (Α**4).

ΠΑΡΑΡΤΗΜΑ Α. ΑΣΚΗΣΕΙΣ 15 1. Ποια από τα παρακάτω ονόµατα µεταβλητών είναι ορθά στην FORTRAN: Μεταβλητή Σωστό Λάθος Εξαρτάται DATA1 CONSTANT CORREL D546.2 I1111 LAST FIRST DONTBOTHER DOIT ICAS(J, K) NCASES(E,G) VPOS(0) 113ΠΜ 113TM MYTHOS Paramythi TEMP(I,J,K,L) COOL1 PUT 1 2. Γράψτε σε γλώσσα FORTRAN τις παρακάτω µαθηµατικές εκφράσεις: 3ax + b 4sin( θ ) y = 2( bx + a) x f = e e f = ln( a + bx) 2k 2 ax + bx + cx z = 1+ y + ( y 2) 3 1.5 3. Ταξινοµήστε τις παρακάτω εντολές της γλώσσας FORTRAN Εντολή ήλωση Εκτελέσιµη Υποχρεωτική Λάθος DO 20 I=1,20 INTEGER A END PROGRAM 10 FORMAT (1H1, 2X, 3F6.3) PARAMETER I=1.5, J=32 STRASS=STR+ASS GO TO TERMIN IF (Α=Β) 10,20,30 IF (A.EQ.B) GO TO 20 END X=3.*TAN(THETA) GO TO 20

ΛΥΣΕΙΣ ΤΩΝ ΑΣΚΗΣΕΩΝ 16 1. Ποια από τα παρακάτω ονόµατα µεταβλητών είναι ορθά στην FORTRAN: Μεταβλητή Σωστό Λάθος Εξαρτάται DATA1 CONSTANT CORREL D546.2 I1111 LAST FIRST DONTBOTHER DOIT ICAS(J, K) NCASES(E,G) VPOS(0) 113ΠΜ 113TM MYTHOS Paramythi TEMP(I,J,K,L) COOL1 PUT 1 2. Γράψτε σε γλώσσα FORTRAN τις παρακάτω µαθηµατικές εκφράσεις: y = 3ax + b 4sin( θ ) 2( bx + a) Y=(SQRT(3.*A*X +B)-4*SIN(THETA))/(2.*(B*X+A)) x f = e e F=EXP(-EXP(-X)) f = ln( a + bx) 2k F=LOG(A+B*X)-2.*K 2 3 ax + bx + cx z = 1.5 1+ y + ( y 2) Z=(A*X+B*X*X+C*X*X*X)/(1.+Y+(Y-2.)**1.5) 3. Ταξινοµήστε τις παρακάτω εντολές της γλώσσας FORTRAN Εντολή ήλωση Εκτελέσιµη Υποχρεωτική Λάθος DO 20 I=1,20 X INTEGER A X END PROGRAM X 10 FORMAT (1H1, 2X, 3F6.3) X PARAMETER I=1.5, J=32 X STRASS=STR+ASS X GO TO TERMIN X IF (Α=Β) 10,20,30 X IF (A.EQ.B) GO TO 20 X END X X X=3.*TAN(THETA) X GO TO 20 X

ΠΑΡΑΡΤΗΜΑ Β: ΒΑΣΙΚΑ ΣΥΜΒΟΛΑ ΓΙΑ ΤΗΝ ΣΥΝΤΑΞΗ ΙΑΓΡΑΜΜΑΤΩΝ ΡΟΗΣ 17 Αρχή ή τέλος του προγράµµατος Μια ή περισσότερες δηλώσεις ή υπολογισµοί Βρόχος επαναλήψεων Εισαγωγή δεδοµένων (παλαιότερα µε κάρτες) Εισαγωγή ή εξαγωγή δεδοµένων Απόφαση µετά από σύγκριση Εκτύπωση Σύνδεση στην ίδια σελίδα, σύνδεση σε διαφορετικές σελίδες Τα διάφορα σύµβολα του διαγράµµατος συνδέονται µεταξύ τους µε βέλη που δείχνουν την «ροή» του προγράµµατος

18 Πρόγραµµα για τον υπολογισµό της µέσης τιµής οµάδων δεδοµένων και την επιλογή της πρώτης, κατά σειρά, οµάδας µε µέση τιµή > 100 ΑΡΧΗ IG=0 1 ΑΡΧΗ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ( ΗΛΩΣΗ ΤΩΝ ΜΕΤΑΒΛΗΤΩΝ) ΜΗ ΕΝΙΣΜΟΣ ΤΟΥ ΑΡΙΘΜΟΥ ΟΜΑ ΑΣ IG ΣΧ=0 IG=IG+1 ΜΗ ΕΝΙΣΜΟΣ ΤΟΥ ΑΘΡΟΙΣΜΑΤΟΣ ΤΩΝ ΑΡΙΘΜΩΝ ΤΗΣ ΟΜΑ ΑΣ Ν, Χ(Ν) ΑΝΑΓΝΩΣΗ ΤΟΥ ΠΛΗΘΟΥΣ Ν ΤΩΝ ΑΡΙΘΜΩΝ ΤΗΣ ΟΜΑ ΑΣ ΠΟΥ ΕΧΕΙ ΣΕΙΡΑ ΝΑ ΑΝΑΓΝΩΣΘΕΙ ΚΑΙ ΑΝΑΓΝΩΣΗ ΤΩΝ Ν ΑΡΙΘΜΩΝ Χ(Ν) I=1,N ΣΧ=ΣΧ+Χ(Ι) ΥΠΟΛΟΓΙΣΜΟΣ ΤΟΥ ΑΘΡΟΙΣΜΑΤΟΣ ΣΧ ΤΩΝ Ν ΑΡΙΘΜΩΝ RM=ΣΧ/N ΥΠΟΛΟΓΙΣΜΟΣ ΤΗΣ ΜΕΣΗΣ ΤΙΜΗΣ RM ΤΗΣ ΟΜΑ ΑΣ Ν Χ ΣΧ RΜ ΑΠΟΘΗΚΕΥΣΗ ΤΩΝ ΣΤΟΙΧΕΙΩΝ ΤΗΣ ΟΜΑ ΑΣ: ΠΛΗΘΟΣ ΣΡΙΘΜΩΝ Ν, ΑΡΙΘΜΟΙ Χ, ΑΘΡΟΙΣΜΑ ΣΧ ΚΑΙ ΜΕΣΗ ΤΙΜΗ RM 1 <0 RM-100 =0 >0 ΕΑΝ RM>100, TOTE ΤΥΠΩΣΕ ΤΟΝ ΑΡΙΘΜΟ ΟΜΑ ΑΣ IG ΚΑΙ ΤΗΝ ΜΕΣΗ ΤΙΜΗ ΤΗΣ RM ΚΑΙ ΣΤΑΜΑΤΗΣΕ ΤΟ ΠΡΟΓΡΑΜΜΑ ΕΑΝ RM<=0, ΤΟΤΕ ΠΗΓΑΙΝΕ ΣΤΗΝ ΑΡΧΗ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΚΑΙ ΕΠΑΝΑΛΑΒΕ ΤΗΝ ΙΑ ΙΚΑΣΙΑ ΓΙΑ ΜΙΑ ΑΚΟΜΗ ΟΜΑ Α ΑΡΙΘΜΩΝ IG, RM ΤΕΛΟΣ ΤΕΛΟΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ