200 likes | 303 Views
Εισαγωγή στους Η/Υ. Επικοινωνία και Μορφοποίηση. Επικοινωνία. Η επικοινωνία ενός προγράμματος με τον χρήστη γίνεται μέσω Περιφερειακών μονάδων (οθόνη, πληκτρολόγιο, εκτυπωτής) Λογικές μονάδες εισόδου-εξόδου (αρχεία ) Εντολές Read – Print Read – Write Open - Close.
E N D
Εισαγωγή στους Η/Υ Επικοινωνία και Μορφοποίηση
Επικοινωνία • Η επικοινωνία ενός προγράμματος με τον χρήστη γίνεται μέσω • Περιφερειακών μονάδων (οθόνη, πληκτρολόγιο, εκτυπωτής) • Λογικές μονάδες εισόδου-εξόδου (αρχεία) • Εντολές • Read – Print • Read – Write • Open - Close
Μια εντολή που εισάγει δεδομένα στο πρόγραμμα πρέπει να • ΔΕΧΕΤΑΙ • τα δεδομένα από μια μονάδα εισόδου (πληκτρολόγιο, αρχείο, όργανο μέτρησης) • ΑΝΑΓΝΩΡΙΖΕΙ • τα διακριτά τμήματα των δεδομένων (οριοθέτες δεδομένων * ) • ΜΕΤΑΤΡΕΠΕΙ • κάθε τμήμα από την εξωτερική του μορφή στην εσωτερική του απεικόνιση • ΚΑΤΑΧΩΡΕΙ • κάθε τμήμα δεδομένων σε κάποια μεταβλητή στη μνήμη του Η/Υ * Διαχωριστές δεδομένων: [space], [comma], [tab], [carriage return]
Μια εντολή που εξάγει δεδομένα από το πρόγραμμα πρέπει να • ΑΝΑΚΤΑ • κάθε τμήμα δεδομένων από μια μεταβλητήπου βρίσκεται καταχωρημένη στη μνήμη του Η/Υ • ΜΕΤΑΤΡΕΠΕΙ • κάθε τμήμα πληροφορίας από την εσωτερική του απεικόνιση στην εξωτερική του μορφή • ΕΞΑΣΦΑΛΙΖΕΙ • την οριοθέτηση και τη σωστή στοίχιση των δεδομένων (οριζοντίως και καθέτως) • ΣΤΕΛΝΕΙ • τις πληροφορίες στην κατάλληλη μονάδα εξόδου (οθόνη, αρχείο, όργανο καταγραφής)
Ένας πιο εύχρηστος τρόπος να εισάγουμε/εξάγουμε δεδομένα σε/από ένα πρόγραμμα είναι να γίνεται η ανάγνωσή/εγγραφή τους από/σε κάποιο(α) αρχείο(α) • Πλεονεκτήματα: • Ανεξάρτητα από την εκτέλεση του προγράμματος • Διακίνηση μεγάλων όγκων δεδομένων • Γενίκευση εκτέλεσης προγράμματος • Παραμετροποίηση εκτέλεσης προγράμματος • Συνδετικός κρίκος μεταξύ διαφόρων εφαρμογών Ανάγνωση/Εγγραφή δεδομένων από/σε αρχεία
Χρήση Αρχείων (Λογικές μονάδες εισόδου/εξόδου) • Η χρήση των λογικών μονάδων εισόδου / εξόδου περιλαμβάνει τρία στάδια • Άνοιγμα ενός αρχείου (open) • Αντιστοίχιση σε μια λογική μονάδα • Ονομασία ενός αρχείου • Ανάγνωση/Εγγραφή στη λογική μονάδα (read/write) • Συσχέτιση με μια λογική μονάδα • Λίστα μεταβλητών • Κλείσιμο λογικής μονάδας (close) • Συσχέτιση με μια λογική μονάδα
Αρχεία • Η ταυτότητα ενός αρχείου καθορίζεται από • Τη διεύθυνση του αρχείου στον σκληρό δίσκο (path) • Το όνομα του αρχείου (filename) • Τον τύπο του αρχείου (που καθορίζει και την κατάληξη του αρχείου) π.χC:\fortran\project1\results.dat • Τα αρχεία προσδιορίζονται από τον χρήστη με την πλήρη τους ταυτότητα σαν αλφαριθμητικά δεδομένα • Κάθε αρχείο αποτελείται από πεδία • Το πεδίο είναι μια ακολουθία εκτυπώσιμων και μη χαρακτήρων • Το τελευταίο πεδίο κάθε αρχείου είναι το EOF (μη εκτυπώσιμο)
Εντολή OPEN • Συνδέει ένα αρχείο σε μια λογική μονάδα ή • Δημιουργεί ένα νέο αρχείο και το συνδέει σε μια λογική μονάδα ή • Αλλάζει συγκεκριμένες ιδιότητες μιας σύνδεσης ΣΥΝΤΑΞΗ OPEN ([UNIT=]io-unit [, FILE=name] [, ERR=label] [, IOSTAT=i-var], slist) io-unit:ετικέτα λογικής μονάδας (ακέραια μεταβλητή) name:το όνομα (και η θέση) του αρχείου (τύπου character) label: προσδιορισμός ενεργειών σε περίπτωση λάθους i-var:ετικέτα προσδιορισμού λάθους κατά την εκτέλεση slist: «Ματαράς, Δ., Κουτελιέρης, Φ. , σελ. 180»
Σύνταξη της εντολής OPEN • Απλή μορφή: • Χειρισμός σε περίπτωση σφάλματος • Πλήρης μορφή: Το άνοιγμα του αρχείου (εντολή open) πρέπει να συνοδεύεται από κλείσιμό του (εντολή close) όταν δεν πρόκειται να χρησιμοποιηθεί περεταίρω
Μεταφορά δεδομένων • Η μεταφορά δεδομένων από και προς το πρόγραμμα γίνεται με τις εντολές write και read • Οι εντολές πρέπει να συνοδεύονται από • Τη λογική μονάδα εισόδου (υποχρεωτικά) • Τον τύπο της μορφοποίησης (υποχρεωτικά) • Μια λίστα ελέγχου (προαιρετικά) • Απλή μορφή: • Σύνθετη μορφή: • Έχει ειδική σύνταξη κατά περίπτωση τόσο για το read όσο και για το write • Συνοδεύεται από διαφορετική σύνταξη της εντολής open ή του πηγαίου κώδικα Λογική μονάδα Μορφοποίηση
Λογικές Μονάδες Εισόδου/Εξόδου • Οι λογικές μονάδες εισόδου/εξόδου χωρίζονται σε δυο κατηγορίες • Εσωτερικές: εικονικός χώρος που δεσμεύεται στη RAM • Εξωτερικές: οθόνη, πληκτρολόγιο, αρχεία, συσκευές
Η μορφοποίηση των δεδομένων είναι ιδιαίτερα σημαντική για την καλύτερη κατανόηση των αποτελεσμάτων • Η μορφοποίηση των δεδομένων χρησιμοποιείται για • Την ορθή παρουσίαση των αποτελεσμάτων • Σωστή θέσηκαι στοίχιση • Επιθυμητή τάξη μεγέθους • Επιθυμητή ακρίβεια • Συνοδεύει τις εντολές • READ • WRITE Μορφοποίηση δεδομένων
Η σύνταξη περιλαμβάνει την χρήση προκαθορισμένων μορφοποιητών • Στις εντολές READ και WRITE • Σε συνδυασμό με την εντολή FORMAT Σύνταξη Μορφοποίησης Δεδομένων ετικέταFORMAT(λίστα μορφοποιητών)
Εντολή NAMELIST • Ανάγνωση – Γραφή μιας ολόκληρης λίστας δεδομένων • Οι εντολές read και write ακολουθούν ειδικούς κανόνες σύνταξης • Τιμές στη λίστα μπορούν να δοθούν • Εσωτερικά (αποτελέσματα πράξεων) • Εξωτερικά (πληκτρολόγιο) • Σύνταξη για εισαγωγή στοιχείων από το πληκτρολόγιο • &όνομα • Όνομα μεταβλητής=τιμή • ... • / (ή & ή $)
Άλλες εντολές χειρισμού αρχείων • ENDFILE: • γράφει το πεδίο EOF που σηματοδοτεί το τέλος του αρχείου • BACKSPACE • Επιστρέφει στο προηγούμενο πεδίο του αρχείου • REWIND • Επιστρέφει στο πρώτο πεδίο του αρχείου • INQUIRE • Επιστρέφει ιδιότητες μιας μονάδας
Άσκηση 1 • Να διαβαστούν 25 τετραψήφιοι ακέραιοι αριθμοί από αρχείο 5 γραμμών και 5 στηλών και να τοποθετηθούν σε ένα πίνακα Χ(5,5). • Στη συνέχεια να υπολογιστεί ο πίνακας Υ(5,5) • Υ = 3Χ3 + 5Χ2 - 12Χ - 4Ι όπου Ι ο μοναδιαίος • Ο Υ να εγγραφεί σε αρχείο 6 γραμμών και 6 στηλών , όπου η πρώτη γραμμή και η πρώτη στήλη θα αναγράφουν τους αντίστοιχους Α/Α • Μετατρέψτε το πρόγραμμα ώστε να διαβάζει περισσότερα αρχεία με ίδιο όνομα και διαφορετικό Α/Α (data1.txt, data2.txt, …)