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

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

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

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

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

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

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

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

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

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

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

C Programming EPL032 Maria Stavrinou Ioannou Εισαγωγή στη Γλώσσα C

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

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

8 FORTRAN 77/90/95/2003

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

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

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

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

ΠΛΗ21 Κεφάλαιο 2. ΠΛΗ21 Ψηφιακά Συστήματα: Τόμος Α Κεφάλαιο: Παράσταση Προσημασμένων Αριθμών Συμπληρώματα

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Ένα πρώτο πρόγραμμα ΔΟΜΗ TOY ΠΡΟΓΡΑΜΜΑΤΟΣ. Τι σημαίνουν οι εντολές. Από τι αποτελείται ένα πρόγραμμα

Αριθμητικά Συστήματα

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

Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

2. ΑΡΙΘΜΗΤΙΚΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. 2.1 Αριθμητικά συστήματα

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

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

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

Συστήματα αρίθμησης. = α n-1 *b n-1 + a n-2 *b n-2 + +a 1 b 1 + a 0 όπου τα 0 a i b-1

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

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

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

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

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

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Αριθμητικά Συστήματα. Επιμέλεια Διαφανειών: Δ.

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

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

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

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 5 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

7.1 Αλφάβητο. 7.2 Τύποι δεδομένων. 7.3 Σταθερές. 7.4 Μεταβλητές. 7.5 Αριθμητικοί τελεστές. 7.6 Συναρτήσεις. 7.7 Αριθμητικές εκφράσεις. 7.

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

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

ΘΕΜΑ : ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΗΣΗΣ. ΔΙΑΡΚΕΙΑ: 1 περιόδους. 22/1/ :11 Όνομα: Λεκάκης Κωνσταντίνος καθ. Τεχνολογίας

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

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

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

Προγραμματισμός I (Θ)

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

Εισαγωγή στην επιστήμη των υπολογιστών

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

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

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

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

7 ο Γυμνάσιο Καβάλας Καλλιόπη Παρσέλια Σχολ. έτος: Το περιβάλλον προγραμματισμού MicroWorlds Pro

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

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

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος...

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

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

7. Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου

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

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

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

- program p_name(output); - uses crt;

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

Ενότητα 1 Διάλεξη 2β

ΕΙ ΑΓΩΓΉ ΣΗΝ FORTRAN

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

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

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

1. ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΩΝ. α i. (α i β i ) (1.3) όπου: η= το πλήθος ακεραίων ψηφίων του αριθμού Ν. n-1

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

Αναπαράσταση Δεδομένων. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Εργαστήριο 1. Βαθμός ΑΜ Εργ1.2 Σχόλια Εργ1.3 Σχόλια (20)

ΠΛΗΡΟΦΟΡΙΚΉ. Μάθημα 7

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

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

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

Κεφάλαιο 1. Συστήματα αρίθμησης και αναπαράστασης

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

Πληροφορική. Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

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

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

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

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

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

Συμβολικά ονόματα που δίνονται σε θέσεις μνήμης όπου αποθηκεύονται αριθμοί. ιεύθυνση

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

Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες

Εισαγωγή στην επιστήμη των υπολογιστών. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ και Μετατροπές Αριθμών

Transcript:

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

Μορφοποίηση Η μορφοποίηση χρησιμοποιείται για Την ορθή παρουσίαση των αποτελεσμάτων Σωστή θέση και στοίχιση Επιθυμητή τάξη μεγέθους Επιθυμητή ακρίβεια Στον ακριβέστερο έλεγχο της εισόδου των δεδομένων Συνοδεύει τις εντολές READ WRITE, PRINT Μορφοποιητές: http://www.fortran.com/f77_std/rjcnf0001-sh-13.html

Σύνταξη Μορφοποίησης Η σύνταξη περιλαμβάνει την χρήση προκαθορισμένων μορφοποιητών Στις εντολές READ, WRITE και PRINT Σε συνδυασμό με την εντολή FORMAT ετικέτα FORMAT (λίστα μορφοποιητών) π.χ. Τα παρακάτω τμήματα κώδικα είναι ισοδύναμα, για x integer και y real: print (i3,2x,f10.2), x,y write(*, (i3,2x,f10.2) ) x,y print 100,x,y write(*,100) x,y 100 format (i3,2x,f10.2) 100 format (i3,2x,f10.2) To ίδιο και τα επόμενα τμήματα κώδικα: read (i5,e8.3), x,y read(*, (i5,e8.3) ) x,y read 200, x,y read(*,200) x,y 200 format (i5,e8.3) 200 format (i5,e8.3)

Βασικά Είδη Μορφοποιητών Iw[.m] Fw.d ακέραιοι πραγματικοί Ew.d[Ee] πραγματικοί με εκθέτη Lw A[w] λογικές τιμές αλφαριθμητικοί w: το μήκος του πεδίου σε χαρακτήρες m: ελάχιστο μήκος μη κενών θέσεων (συμπλήρωση με 0) d: αριθμός δεκαδικών ψηφίων e: αριθμός ψηφίων εκθέτη Στους μορφοποιητές Ι και F, αν w=0, τότε υπολογίζεται αυτόματα το μέγεθος του πεδίου ώστε να είναι το ελάχιστο δυνατό

Βασικά Είδη Μορφοποιητών EΝw.d[Ee] ESw.d[Ee] Gw.d[Ee] Dw.d Bw[.m] Ow[.m] Zw[.m] Πραγματικοί σε γραφή Μηχανικής Πραγματικοί σε επιστημονική γραφή Γενικός μορφοποιητής Πραγματικοί διπλής ακρίβειας Ακέραιοι σε δυαδικό, οκταδικό, δεκαεξαδικό σύστημα αρίθμησης w: το μήκος του πεδίου σε χαρακτήρες m: ελάχιστο μήκος μη κενών θέσεων (συμπλήρωση με 0) d: αριθμός δεκαδικών ψηφίων e: αριθμός ψηφίων εκθέτη

Είδη Μορφοποιητών ΝX Τc, ΤLc, ΤRc Χρήση κενοί χαρακτήρες μετατόπιση σε στήλη / αλλαγή γραμμής \, $ συνέχιση στην ίδια γραμμή : Διακοπή μορφοποίησης αν δεν υπάρχουν άλλα δεδομένα "abc " Εμφάνιση κειμένου kp κλιμάκωση κατά 10k Παρατηρήσεις: το 1 κενό το γράφουμε ως 1Χ και όχι ως Χ τo TRc έχει το ίδιο αποτέλεσμα με το cx, για κάποιο νούμερο c

Μορφοποιητής Ι - Παραδείγματα integer:: x=346 Στα επόμενα το b σημαίνει κενό (blank) print '(I5)',x!bb346 print '(I3)',x!346 print '(I2)',x!** print '(I5.2)',x!bb346 print '(I5.4)',x!b0346 print '(I0)',x!346

Μορφοποιητής F - Παραδείγματα Στα επόμενα το b σημαίνει κενό (blank) Real :: x=34.126, y=-0.0000342 print '(F6.3)',x!34.126 print '(F6.2)',x!b34.13 print '(F10.4)',x!bbb34.1260 print '(F5.2)',x!34.13 print '(F4.2)',x!**** print '(F0.2)',x!34.13 print '(F6.0)',x!bbb34. print '(F0.0)',x!** print '(F12.7)',y!bb-0.0000342 print '(F12.5)',y!bbbb-0.00003 print '(F12.4)',y!bbbbbb0.0000

Μορφοποιητές E, D - Παραδείγματα real :: x=34.126, y=-0.0000342 print '(E12.7)',x!.3412600E+02 print '(E12.5)',x!b0.34126E+02 print '(E12.4)',x!bb0.3413E+02 print '(E6.2)',x!****** print '(E10.4)',x!0.3413E+02 print '(E10.4E1)',x!b0.3413E+2 print '(E16.4E4)',x!bbbb0.3413E+0002 print '(E5.2)',x!***** print '(E0.2)',x print '(E6.0)',x print '(E7.0)',x print '(E18.7)',y Στα επόμενα το b σημαίνει κενό (blank)!(κενή γραμμή)!0.e+02!b0.e+02!bbbb-0.3420000e-04 Για τον μορφοποιητή D απλώς αντικαθιστούμε σε όλα τα παραδείγματα το E με το D, και στην εντολή, αλλά και στα αποτελέσματα. Π.χ. To print (D12.7),x δίνει:.3412600d+02

Μορφοποιητές EN, ΕS - Παραδείγματα Στα επόμενα το b σημαίνει κενό (blank) real:: x=34.126, y=-0.0000972, z=47325.214 print '(EN16.7)',x print '(EN16.7)',y print '(EN16.5)',z print '(EN16.5E1)',z print '(ES16.7)',x print '(ES16.7)',y print '(ES14.5)',z print '(ES12.5E3)',z!bb34.1259995E+00!b-97.1999980E-06!bbbb47.32521E+03!bbbbb47.32521E+3!bbb3.4125999E+01!bb-9.7199998E-05!bbb4.73252E+04!4.73252E+004

Μορφοποιητές Α, L - Παραδείγματα character(7):: s='volos' logical :: f=.true. print '(A)',s print '(A3)',s print '(A10)',s!Volosbb!Vol print '(L1)',f!T print '(L3)',f Στα επόμενα το b σημαίνει κενό (blank)!bbbvolosbb!bbt Στη μνήμη είναι: s= Volosbb γιατί το s είναι δηλωμένο με μέγεθος 7

Μορφοποιητής G - Παραδείγματα integer:: n=126 real:: x=48.452,y=0.23,z=0.00315 character(5):: s= Volos logical :: f=.true. print '(G4.0)',n!b126 print '(G10.3)',y!b0.230bbbb print '(G9.2)',z,!b0.32E-02 print '(G3.0)',s print '(G2.0)',f Στα επόμενα το b σημαίνει κενό (blank)!vol!bt print '(G10.3)',x!bb48.5bbbb print '(G16.5)',x!bbbbbb48.452bbbb To G μπορεί να χρησιμοποιηθεί με όλους τους τύπους δεδομένων. Ειδικά για πραγματικούς το Gw.d λειτουργεί ως εξής: Αν ο αριθμός είναι <0.1 ή > 10 d τότε είναι σαν Ew.d διαφορετικά είναι σαν F(w-d).(d-k) + 4 κενά στο τέλος (k είναι ένας συντελεστής κλίμακας)

Μορφοποιητής P- Παραδείγματα Στα επόμενα το b σημαίνει κενό (blank) Μπορεί να χρησιμοποιηθεί σε συνδυασμό μόνο με τους μορφοποιητές E,G,F real:: x=0.000343, y=456.3245 print '(E10.4,2X,E10.4)',x,y!0.3430E-03bb0.4563E+03 print '(2P,E10.4,2X,E10.4)',x,y!34.300E-05bb45.632E+01 print '(2P,E10.4,2X,0P,E10.4)',x,y!34.300E-05bb0.4563E+03 print '(-2P,E10.4,2X,E10.4)',x,y!0.0034E-01bb0.0046E+05 Σε read με kp αν στα δεδομένα δεν υπάρχει δύναμη τότε αυτά διαιρούνται με 10 k read '(E8.2)',x! Data:18.63 -> Memory: 18.63 read '(3PE8.2)',x! Data:18.63 -> Memory: 0.01863 read '(3PE8.2)',x! Data:18.63E1 -> Memory: 186.3 read '(-3PE8.2)',x! Data:18.63 -> Memory: 18630.

Μορφοποιητές B, O, Z - Παραδείγματα integer:: n=46 Στα επόμενα το b σημαίνει κενό (blank) print '(B10)',n!bbbb101110 print '(B4)',n!**** print '(O4)',n!bb56 print '(Z3)',n!b2E read '(B8)',n!Διαβάζει ένα δυαδικό αριθμό ενός Byte read '(O8)',n!Διαβάζει έναν οκταδικό αριθμό read '(Ζ8)',n!Διαβάζει έναν δεκαεξαδικό αριθμό

Μορφοποιητές Τc,TLc,TRc - Παραδείγματα Στα επόμενα το b σημαίνει κενό (blank) integer:: i=4,j=3,k=5,l=23 print '(T4,i2)',l print '(TR4,i2)',l print '(T4,i1,T2,i2)',i,j print '(T4,i1,Tr2,i1)',i,j!bbb23!bbbb23!bb34!bbb4bb3 print '(T4,i1,Tr2,i1,Tl1,i1)',i,j,k print '(T4,i1,Tr3,i1,Tl2,i1)',i,j,k!bbb4bb5!bbb4bb53

Συνδυασμοί και επανάληψη μορφοποιητών Μπορούμε να συνδυάσουμε πολλούς μορφοποιητές χωρίζοντας τους με κόμμα (οι μορφοποιητές \,$,/,:,P δεν απαιτούν διαχωρισμό με κόμμα, αλλά καλό είναι να το χρησιμοποιούμε για αποφυγή παρερμηνειών) π.χ integer::x=5 real::y=534.2,z=451.542 print '(T10,I3,2x,f6.2,/,e10.3e1)', x,y,z To αποτέλεσμα φαίνεται στη συνέχεια: bbbbbbbbbbb5bb534.20 bb0.452e+3 Μπορούμε να επαναλαμβάνουμε όλους τους μορφοποιητές που έχουμε παρουσιάσει εκτός από τους Τ, ΤL, ΤR, P, \, $, : O τρόπος είναι να προσθέσουμε ένα νούμερο αριστερά από τον μορφοποιητή. π.χ. το (Ι4,Ι4,I4,F15.2,E8.3,E8.3) μπορεί να γραφεί ως (3I4,F15.2,2E8.3) Επίσης μπορούμε να επαναλάβουμε ολόκληρα τμήματα μορφοποιητών βάζοντας τα μέσα σε παρενθέσεις και τοποθετώντας ένα νούμερο μπροστά από τις παρενθέσεις π.χ. το (Ι3,3X,ΕΝ7.2,Ι3,3X,ΕΝ7.2,3Χ,Ι5) μπορεί να γραφεί ως (2(Ι3,3X,ΕΝ7.2),3Χ,Ι5)

Ειδικές Περιπτώσεις Όταν έχουμε περισσότερους μορφοποιητές δεδομένων από τα ίδια τα δεδομένα, τότε οι επιπλέον μορφοποιητές αγνοούνται. π.χ. integer::a=2,b=4,c=6 print '(5i2)', a,b,c print '(5(i2,","))', a,b,c!b2b4b6!b2,b4,b6, Όταν έχουμε λιγότερους μορφοποιητές δεδομένων από τα ίδια τα δεδομένα, τότε μόλις αυτοί εξαντληθούν, αλλάζει γραμμή και συνεχίζει η εμφάνιση των επιπλέων δεδομένων χρησιμοποιώντας τους ίδιους μορφοποιητές ξανά από την αρχή (αρκεί ο τύπος των δεδομένων να ταιριάζει) π.χ. integer::a=2,b=4,c=6,d=8 character(5):: e='aaaaa print '(2(i3))', a,b,c!bb2bb4!bb6 print '(3(i2,","))', a,b,c,d!b2,b4,b6,!b8, print '(2(i3)) ', a,b,e!σφάλμα: Δεν ταιριάζουν οι τύποι

Δυναμική δημιουργία format Αν οι μορφοποιητές χρειάζεται να τροποποιούνται δυναμικά κατά τη διάρκεια εκτέλεσης του προγράμματος, μπορούμε στη θέση του * να θέσουμε μία μεταβλητή χαρακτήρων, η οποία θα περιέχει το επιθυμητό format π.χ. integer::x=4,y=5,n=2 character(70)::s s='(a,'//achar(iachar('0')+n)//'i3)'! '(A,2i3)' print s,'result=',x,y

Μερικές χρήσιμες εφαρμογές I Αποφυγή περιττών στοιχείων κατά την επανάληψη τμημάτων μορφοποίησης π.χ. integer:: x=5,y=17,a=2,b=34 print '(4(I3,","))', x,y,a,b!bb4,b17,bb2,b34, Παρατηρούμε ότι εμφανίζεται ένα επιπλέον κόμμα στο τέλος. Για να το αποφύγουμε αυτό, πρέπει να προσθέσουμε τον μορφοποιητή : χρησιμοποιώντας το ακόλουθο format print '(4(I3,:,","))', x,y,a,b!bb4,b17,bb2,b34 Κατά την είσοδο των δεδομένων από το πληκτρολόγιο για την εμφάνιση του επεξηγηματικού μηνύματος μπορούμε να χρησιμοποιήσουμε το ακόλουθο format print '(Α,\)', 'Dwste thn aktina tou kyklou: ' read*,r Αυτό έχει σαν συνέπεια μετά την εκτύπωση του μηνύματος στην οθόνη, να μην γίνει μετακίνηση του δρομέα (cursor) στην επόμενη γραμμή για το read που ακολουθεί, με αποτέλεσμα μια πιο όμορφη εμφάνιση (στις περισσότερες περιπτώσεις) Παρατήρηση: Το ίδιο format γράφεται και ως '(A,$)' ή '(A\)' ή '(A$)'

Μερικές χρήσιμες εφαρμογές II Εμφάνιση αποτελεσμάτων μαζί με επεξηγηματικό μήνυμα Υπάρχουν 2 τρόποι για να εμφανίσουμε π.χ. το μήνυμα: To embado tou trigwnou einai XXX.XX t.m. Έστω ότι το εμβαδό βρίσκεται στην μεταβλητή Ζ. 1 ος τρόπος Το μήνυμα γράφεται ως σταθερά κειμένου μέσα στο Print print '(A,F6.2,A)','To embado tou trigwnou einai ',Z,' t.m.' 2oς τρόπος To μήνυμα είναι τμήμα του Format print '("To embado tou trigwnou einai ",F6.2," t.m.")', Z

Read με Μορφοποιητές Οι μορφοποιητές που χρησιμοποιούμε με το READ είναι συνήθως οι εξής: Για ακέραιους ο Ι Για πραγματικούς ο Ε (συμπεριλαμβάνει και την λειτουργικότητα του F) Για κείμενο ο A Επίσης χρησιμοποιούμε τον nx ή τον Τc για να μετακινηθούμε στη σωστή στήλη. Παραδείγματα χρήσης του Ε για ανάγνωση πραγματικών αριθμών Έστω η εντολή read(*, (E10.3) ) x και ότι επιθυμούμε να διαβάσουμε τον πραγματικό αριθμό -8.56. Τότε αυτόν μπορούμε π.χ. να τον δώσουμε με τους ακόλουθους τρόπους: -8.56e+00! Όταν υπάρχει υποδιαστολή στα δεδομένα, τότε αγνοείται το.3-0.856e+01-8.56e+0-8.56! Εδώ το Ε λειτουργεί σαν F -8560! Όταν δεν υπάρχει υποδιαστολή στα δεδομένα τότε εφαρμόζεται το.3 -.856+1! Το Ε μπορεί να παραληφθεί από τον εκθέτη. Αρκεί το πρόσημο. -8.56+0-85.6e-1-856.e-02-856.0e-02 Όλοι οι παραπάνω τρόποι εισόδου του -8.56 είναι ισοδύναμοι