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



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

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

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

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

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

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

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

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

8 FORTRAN 77/90/95/2003

Προγραμματισμό για ΗΜΥ

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

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

Κεφάλαιο 8ο: Αρχεία. 8.1 Τι είναι αρχείο;

- program p_name(output); - uses crt;

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

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

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

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

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

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

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

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

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

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

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

Πως θα αποθηκεύσει τη λίστα με τα ψώνια του και θα την ανακτήσει στο Σ/Μ; και πως θα προσθέσει στη λίστα του επιπλέον προϊόντα;

Προγραμματισμός Η/Υ. Χειρισμός Αρχείων. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

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

Μορφοποίηση εξόδου. Σημειώσεις

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

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

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

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

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

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2

Τύποι Δεδομένων Είσοδος/Έξοδος

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

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

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

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

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

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

- program p_name(input) - uses crt

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

Στόχοι και αντικείμενο ενότητας. Τύπος πίνακα. Τύπος πίνακα (συν.) #6. Πίνακες και Δείκτες

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

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

S, (5, -3, 34, -23, 7) ( *, _

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

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

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

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

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

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

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

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15)

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

Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων.

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Μεθόδων Επίλυσης Προβλημάτων

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

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

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

ΕΙ ΑΓΩΓΉ ΣΗΝ FORTRAN

ΚΕΦΑΛΑΙΟ 4ο. Α. Το περιβάλλον της Microsoft Fortran Powerstation

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

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

Τυχαίοι αριθμοί struct Αρχεία Διαμορφώσεις Συναρτήσεις Χειρισμός σφαλμάτων ΠΕΜΠΤΗ ΔΙΑΛΕΞΗ

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

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

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

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

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

Συναρτήσεις πρότυπης βιβλιοθήκης 1. Μερικές συνήθεις συναρτήσεις βιβλιοθήκης int atoi(const char *p) int fclose(file *fp)

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

ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων

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

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

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

Εργαστήριο 9: Αρχεία

printf Οι κωδικοί (format codes) του printf για διάφορους τύπους δεδοµένων είναι:

Κεφάλαιο 12: Είσοδος και έξοδος δεδομένων σε αρχεία

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

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

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

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

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

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

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

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

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

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

Transcript:

Επικοινωνία Προγράμματος Περιβάλλοντος ΕΠΛ031 Εισαγωγή στον Προγραμματισμό Επικοινωνία Προγράμματος Περιβάλλοντος Λογικές Μονάδες Μεταφορά εδομένων Μορφοποίηση εδομένων Νέαρχος Πασπαλλής Επισκέπτης Ακαδημαϊκός (Λέκτορας) Χειρισμός Αρχείων nearchos@cs.ucy.ac.cy Γραφείο #B120, Τηλ. ext. 2744 9-2 Λογικές Μονάδες Προκαθορισμένες μονάδες (συσκευές) Εισόδου: Πληκτρολόγιο Εξόδου: Οθόνη Άλλες μονάδες Εκτυπωτής Αρχεία 9-3 Περιοχές μόνιμου αποθηκευτικού μέσου (π.χ. σκληρός δίσκος, δισκέτα, κτλ), με συγκεκριμένο όνομα και διεύθυνση. Κάθε αρχείο αποτελείται από πεδία. Πεδίο Μια ακολουθία τιμών (π.χ. Μια γραμμή στην οθόνη), με τελευταίο πάντα το πεδίο EOF (end of file) Αρχεία ύο ειδών ιαδοχικής πρόσβασης Η πρόσβαση στα πεδία είναι διαδοχική Πρέπει να διαβαστούν ή να γραφούν τα πρώτα x για να διαβαστεί ή να γραφεί το x+1 Άμεσης πρόσβασης Άμεση πρόσβαση σε οποιοσδήποτε πεδίο Πρέπει να γνωρίζουμε την ακριβή θέση του Ο μεταγλωττιστής της FORTRAN θεωρεί όλες τις συσκευές εισόδου/εξόδου (περιλαβ. πληκτρολόγιο, οθόνη) ως αρχεία. 9-4 Πανεπιστήμιο Κύπρου 1

Ονόματα Αρχείων Όποιο όνομα θέλουμε εκτός από CON, USER οθόνη COM1, AUX, LINE 1η σειριακή θύρα (serial port) 9-5 COM2, COM3, COM4 σειριακές θύρες LPT1, PRN 1η θύρα εκτυπωτή (printer/parallel port) LPT2, LPT3, LPT4 θύρες εκτυπωτή NUL ιαγράφει ότι σταλεί ERR δίνει τη τιμή του σφάλματος Συνηθίζεται να δίνεται η προέκταση.dat. σε αρχεία δεδομένων π.χ. input.dat, output.dat, exercise.dat Μεταφορά Δεδομένων Είσοδος READ Έξοδος PRINT (μόνο στην οθόνη) WRITE Πλήρης μορφή σύνταξης READ (λίστα ελέγχου) [λίστα δεδομένων] WRITE (λίστα ελέγχου) [λίστα δεδομένων] Απλουστευμένη μορφή σύνταξης 9-6 READ μορφή [, λίστα δεδομένων] δδ ] PRINT μορφή [, λίστα δεδομένων] Λίστα ελέγχου: έστε Πίνακα 6-2 (σελ. 169) Λίστα δεδομένων: μεταβλητές, σταθερές, εκφράσεις, κτλ Μεταφορά Δεδομένων (συνέχεια) Απαραίτητα στοιχεία πρότασης εισόδου/εξόδου Πλήρη σύνταξη: μονάδα και μορφή Απλουστευμένη σύνταξη: μορφή (μορφοποίηση) ί Αν αντί για μονάδα βάλουμε *, τότε έχουμε τη προκαθορισμένη μονάδα Αν αντί για μορφή βάλουμε *, τότε έχουμε ελεύθερη σύνταξη μορφή π.χ. READ *, A, B, C PRINT *, A, B, C READ (*,*) A, B, C WRITE (*,*) A, B, C Read Σύνταξη: READ(a,b) μτβ1, μτβ2,... Το a δηλώνει από ποια μονάδα θα διαβάσουμε τα δδ δεδομένα. Για είσοδο από το πληκτρολόγιο λό a=5 ή a=*. Αν b=* η μορφή της ανάγνωσης καθορίζεται από τον τύπο του αντίστοιχου δεδομένου. Αν το b είναι ένας φυσικός αριθμός, τότε παραπέμπει σε εντολή FORMAT που καθορίζει την ακριβή μορφή ανάγνωσης. 9-7 μονάδα μορφή 9-8 Πανεπιστήμιο Κύπρου 2

Write Σύνταξη: WRITE(a,b) εκφρ1,εκφρ2,... Το a δηλώνει σε ποια μονάδα θα εκτυπώσουμε τα δδ δεδομένα. Για έξοδο στην οθόνη a=6 6 ή a=*. * Αν b=* η μορφή της εκτύπωσης καθορίζεται από τον τύπο του αντίστοιχου δεδομένου. Αν το b είναι ένας φυσικός αριθμός, τότε παραπέμπει σε εντολή FORMAT που καθορίζει ρζ την ακριβή μορφή εκτύπωσης. Μορφοποίηση Δεδομένων Μπορούμε να καθορίζουμε τη μορφή παρουσίασης των δεδομένων Παρουσίαση αριθμών στη σωστή θέση (π.χ. χ τύπωση πινάκων ανά γραμμή) Παρουσίαση συγκεκριμένου αριθμού δεκαδικών ψηφίων (π.χ. 3.14 αντί 3.14159) Παρουσίαση επιθυμητής τάξης μεγέθους (π.χ. password αντί για την λέξη password Εντολή FORMAT ετικέτα FORMAT (λίστα μορφοποιητών) ([FMT=] (λίστα μορφοποιητών) στη λίστα ελέγχου) Λίστα μορφοποιητών: Βλέπε Πίνακες 6-3 μέχρι 6-6 (σελ. 171 175) 9-9 9-10 Κάποιοι Μορφοποιητές Μορφοποιητής Πραγματικών αριθμών F8.2 Συνολικός αριθμός ψηφίων (συμπεριλ. υποδιαστολής και πρόσημου) Μορφοποιητής Ακέραιων αριθμών Συνολικός αριθμός ακέραιων ψηφίων Ι4.22 Αριθμός κλασματικών ψηφίων Μικρότερος αριθμός ακέραιων ψηφίων format Αν θέλουμε να καθορίσουμε ακριβώς τη μορφή της εισόδου/εξόδου των δεδομένων χρησιμοποιούμε την εντολή FORMAT που συντάσσεται ως εξής: FORMAT (ακολουθία περιγραφής) Η περιγραφή των συνηθέστερων τύπων δεδομένων δίνεται στον παρακάτω πίνακα Τύπος δεδομένων Περιγραφή ργρ Ακέραιος Πραγματικός Χαρακτήρας Iw Fw.d A 9-11 9-12 Πανεπιστήμιο Κύπρου 3

format όπου w είναι το ολικό μήκος του πεδίου και d είναι το πλήθος των ψηφίων μετά την υποδιαστολή (ακρίβεια). (Πρέπει w d + 3). Επίσης με nx μετακινούμαστε n θέσεις προς τα δεξιά (αφήνοντας n κενά). Η εντολή FORMAT είναι μη εκτελέσιμη και χρησιμοποιείται σε συνδυασμό με κάποια READ ή WRITE, οπότε μπροστά από τη FORMAT (μεταξύ των στηλών 1 και 5) πρέπει να υπάρχει μία ετικέτα που να τη συνδέει με την αντίστοιχη READ ή WRITE. Κάποιοι Μορφοποιητές (συνέχεια) Μορφοποιητής Αλφαριθμητικών εδομένων Α5 Μορφοποιητής Κενής Θέσης Νx Συνολικός αριθμός χαρακτήρων N κενές θέσεις 9-13 9-14 Παραδείγματα REAL ::num=18.2345 WRITE (*, (1x, The number is, F7.2) ) num ή WRITE (*, 100) num 100 FORMAT (1x, The number is, F7.2) WRITE (*, 200) num, INT(num) 200 FORMAT (1x, To akeraio meros tou, F7.2, 2x, einai, I3) Example PI = 3.141593 WRITE(*,10) The number pi is:,pi 10 FORMAT(2X,A,F5.2) θα τυπώσουμε στην οθόνη τη γραμμή: (2 spaces) The number pi is: (space) 3.14 CHARACTER:: word*2 = Hi WRITE (*, (1x, I said, A3) ) word 9-15 9-16 Πανεπιστήμιο Κύπρου 4

Μορφοποιητές Γενικά Θα τους μελετήσετε πιο προσεκτικά στο εργαστήριο Είναι δύσκολο να γίνουν κατανοητοί χωρίς πρακτική εξάσκηση Χειρισμός Αρχείων Μπορούμε να δημιουργήσουμε τις δικές μας λογικές μονάδες (αρχεία) για να αποθηκεύσουμε και να ανακτήσουμε δεδομένα Χρησιμοποιούνται τα READ, WRITE με: OPEN: Ανοίγει το αρχείο CLOSE: Κλείνει το αρχείο ENDFILE: Σηματοδοτεί το τέλος του αρχείου (EΟF) INQUIRE: ίνει τις ιδιότητες μιας μονάδας BACKSPACE: Επιστρέφει στο προηγούμενο πεδίο REWIND: Επιστρέφει στο πρώτο πεδίο του αρχείου 9-17 9-18 Γενική σύνταξη OPEN και CLOSE OPEN( [UNIT=] αριθμός [,ACCESS=πρόσβαση] [, ACTION=ενέργεια] [, BLANK=κενά] [, DELIM=οριοθέτης] [, ERR=ετικέττα ε έ α σφάλματος] [,FILE=όνομα] [FILE όοα][ [, FORM=φόρμα] [, ΙOSTAT=κατάσταση] [, PAD=] [, POSITION=θέση] [, RECL=μήκος πεδίου] [, STATUS=κατάσταση αρχείου] ) OPEN & CLOSE OPEN (10, data.dat ) CLOSE (10) CLOSE( [UNIT=] αριθμός [, ERR=ετικέτα έ σφάλματος] ] [, IOSTAT=κατάσταση] [, STATUS=κατάσταση αρχείου] ) έστε Πίνακα 6-7 (σελ. 180) 9-19 9-20 Πανεπιστήμιο Κύπρου 5

Open-Close ΕΙΣΟ ΟΣ - ΕΞΟ ΟΣ ΑΠΟ ΑΡΧΕΙΟ Πολλές φορές ο όγκος των δεδομένων που πρέπει να διαβαστούν από ένα πρόγραμμα είναι μεγάλος, επομένως η πληκτρολόγηση τους κάθε φορά που εκτελείται το πρόγραμμα είναι κουραστική ή και πρακτικά αδύνατη, και φυσικά υπάρχει μεγάλη πιθανότητα να γίνει κάποιο λάθος. Επίσης συχνά θέλουμε να διατηρήσουμε τα αποτελέσματα ενός προγράμματος είτε για μελέτη, είτε για πιθανή χρήση τους ως δεδομένα εισόδου από κάποιο άλλο πρόγραμμα Στις περιπτώσεις αυτές χρησιμοποιούμε αρχεία για την είσοδο ή έξοδο των δεδομένων. 9-21 Open-Close Τα αρχεία εισόδου/εξόδου που θα χρησιμοποιήσουμε θα πρέπει να τα συνδέσουμε μέσα στο πρόγραμμα με κάποιαμονάδα εισόδου/εξόδου a (βλ. READ, WRITE). H σύνδεση γίνεται με χρήση της εντολής ΟΡΕΝ. Σύνταξη: OΡΕΝ(a, FILE='arxeio') Ένα αρχείο που συνδέθηκε στο πρόγραμμα με την εντολή ΟΡΕΝ θα πρέπει να αποσυνδεθεί δθίαπό την μονάδα a με την εντολή CLOSE. Σύνταξη: CLOSE(a) 9-22 Open-Close Παρατήρηση: εν μπορείτε να συνδέσετε το ίδιο αρχείο σε δύο μονάδες, αν δεν το έχετε πρώτα αποσυνδέσει με την εντολή CLOSE. Επίσης, δεν μπορείτε να συνδέσετε δύο αρχεία στην ίδια μονάδα. Παράδειγμα 1 REAL ::a = 2.0, b = 3.0, c, d OPEN (10, FILE= data.dat ) WRITE (10,*) a, b REWIND (10) READ (10,*) c, d PRINT *, c, d CLOSE(10) Τυπώνεται (στην οθόνη): 2. 000000 3.000000 9-23 9-24 Πανεπιστήμιο Κύπρου 6

Παράδειγμα 2 REAL ::A(5,5), x, y, z INTEGER ::count OPEN (20, FILE= matrix.dat ) DO count = 1, 5 A(count, :) = REAL(count) WRITE(20, *) A(count, :) END DO REWIND(20) READ(20, *) x, y READ(20, *) z Τυπώνεται (στην οθόνη): PRINT *, x, y, z 1. 000000 1.000000 2.000000 CLOSE(20) 9-25 input.dat τη διάσταση n, ένα (n n) πίνακα Α και ένα (n 1) διάνυσμα Χ, να υπολογίζει το διάνυσμα ΑΧ και να το αποθηκεύει σ ένα αρχείο με όνομα output.dat C234567 PROGRAM MATVEC REAL A(30,30), X(30), S OPEN(1,FILE= input.dat ) READ(1,*) N DO 10 I=1,N READ(1,*) (A(I,J), J=1,N) 10 CONTINUE READ(1,*) (X(I), I=1,N) CLOSE(1) OPEN(2,FILE= output.dat ) WRITE(2,*) Το διάνυσμα είναι: DO 20 I=1,N S=0.0 DO 30 J=1,N S = S + A(I,J)*X(J) 30 CONTINUE WRITE(2,*) S 20 CONTINUE STOP END 9-26 Input.dat 3 0 0 1 0 1 0 2-1 -2 1 0-0.5 0 0 1 0 0 05 0.5 0 0 N=3 N=3 9-27 9-28 Πανεπιστήμιο Κύπρου 7

9-29 9-30 Περίληψη Επικοινωνία Προγράμματος Περιβάλλοντος Λογικές μονάδες Αρχεία, πεδία Μεταφορά δεδομένων READ, PRINT, WRITE Μορφοποίηση δεδομένων FORMAT Χειρισμός αρχείων OPEN, CLOSE, REWIND 9-31 Πανεπιστήμιο Κύπρου 8