Φρ. Κουτελιέρης Επίκουρος Καθηγητής Παν/µίου Ιωαννίνων Τηλ. 2641074196 4196 E-mail fkoutel@cc.uoi.gr ΠΛΗΡΟΦΟΡΙΚΗ Ι ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ & ΓΛΩΣΣΑ FORTRAN Πληροφορική Ι Ακαδ. Έτος 2008-9 1/24
Περιεχόµενα του µαθήµατος 1. στον προγραµµατισµό 2. Λογικά διαγράµµατα 3. Τα βασικά της FORTRAN 4. Μεταβλητές & παράµετροι 5. οµές επανάληψης 6. οµές ελέγχου ροής 7. Είσοδος/Έξοδος 8. Πίνακες 9. ιαδικασίες SUBROUTINE & FUNCTION Πληροφορική Ι Ακαδ. Έτος 2008-9 2/24
ΚΕΦΑΛΑΙΟ 1 στον προγραµµατισµό Πληροφορική Ι Ακαδ. Έτος 2008-9 3/24
στον προγραµµατισµό 1. Πριν το πρόγραµµα 2. Περί FORTRAN 3. Γράφοντας το πρόγραµµα 4. Μεταγλωττίζοντας το πρόγραµµα 5. Έλεγχος σφαλµάτων Πληροφορική Ι Ακαδ. Έτος 2008-9 4/24
1. Πριν το πρόγραµµα Καλή κατανόηση του προβλήµατος Τι ξέρουµε? Τι ζητάµε? εδοµένα εισόδου εδοµένα εδοµένα εξόδου Πληροφορική Ι Ακαδ. Έτος 2008-9 5/24
1. Πριν το πρόγραµµα εδοµένα Τι είδους είναι? Η τιµή τους είναι σταθερή ή αλλάζει? Τι µονάδες έχουν? Ποια είναι η ακρίβεια? Ποιο είναι το πεδίο τιµών του καθενός? Ποια είναι η φυσική έννοια του καθενός? Ποιες είναι οι σχέσεις αλληλεξάρτησης τους? κλπ Πληροφορική Ι Ακαδ. Έτος 2008-9 6/24
1. Πριν το πρόγραµµα Καθορισµός µεθόδων & σχεδιασµός επίλυσης ηµιουργία ή επιλογή αλγορίθµου Πληροφορική Ι Ακαδ. Έτος 2008-9 7/24
1. Πριν το πρόγραµµα Αλγόριθµος είναι µια καλά καθορισµένηδιαδικασία υπολογισµού που ορίζει ακριβώς το περιεχόµενο και τη σειρά διαδοχής των στοιχειωδών πράξεων που πρέπει να εκτελεστούν για να επιτευχθεί η επίλυση του προβλήµατος. Πληροφορική Ι Ακαδ. Έτος 2008-9 8/24
1. Πριν το πρόγραµµα Ο αλγόριθµος για κάθε πρόβληµα δεν είναι µοναδικός. Ποιοςείναιοσωστόςαλγόριθµος? Πληροφορική Ι Ακαδ. Έτος 2008-9 9/24
1. Πριν το πρόγραµµα Σωστός αλγόριθµος είναι αυτός που οδηγεί σε σωστά αποτελέσµατα για κάθε σύνολο δεδοµένων εισόδου. Για κάθε πρόβληµα πάλι δεν είναι µοναδικός. Πωςθαεπιλέξουµεαλγόριθµο? Πληροφορική Ι Ακαδ. Έτος 2008-9 10/24
1. Πριν το πρόγραµµα Ηεπιλογή αλγορίθµου γίνεται µε βάση τον χρόνο εκτέλεσης. Ελάχιστος αριθµός στοιχειωδών βηµάτων (πράξεων) Χρόνος εκτέλεσης του κάθε βήµατος Πληροφορική Ι Ακαδ. Έτος 2008-9 11/24
1. Πριν το πρόγραµµα Παράδειγµα: Μέγιστος Κοινός ιαιρέτης Αλγόριθµος 1 ίνονταιοιακέραιοιακαιβ Συγκρίνονται οι Α και Β (Α>Β, Α=Β, Α<Β) Αν Α=Β τότε ΜΚ =Α=Β ΑνΑ<ΒτότεδίνουµετηντιµήτουΒστοΑκαιτου ΑστοΒ ΑνΑ>ΒτότεΑ=Α-Β Επαναλαµβάνουµε τα βήµατα 2-5 µέχρι να επαληθευτεί το βήµα 3 Πληροφορική Ι Ακαδ. Έτος 2008-9 12/24
1. Πριν το πρόγραµµα Παράδειγµα: Μέγιστος Κοινός ιαιρέτης Αλγόριθµος 2 1. ίνονταιοιακέραιοιακαιβ 2. Θέτουµε Α=ABS(A) και Β =ABS(Β) 3. Αν Β=0 τότε ΜΚ =Α 4. Αν B 0 τότε Α=Β και Β=mod(Α/Β) 5. Επαναλαµβάνουµε τα βήµατα 3 & 4 µέχρι να επαληθευτεί το βήµα 3 Πληροφορική Ι Ακαδ. Έτος 2008-9 13/24
1. Πριν το πρόγραµµα Παράδειγµα: Μέγιστος Κοινός ιαιρέτης ΑΠΟΤΕΛΕΣΜΑΤΑ Α 35 Β 21 ΜΚ (αλγόριθµος 1) 3 ΜΚ (αλγόριθµος 2) 3 35-21??? 3 Πληροφορική Ι Ακαδ. Έτος 2008-9 14/24
2. Περί FORTRAN ΓΕΝΙΚΑ Μεταγλωττιζόµενη γλώσσα Ισχύς και ευελιξία Λίγες δεσµευµένες λέξεις Εκτεταµένες βιβλιοθήκες Μεταφέρσιµη, χάρη στα πρότυπα Αρθρωτή ανάπτυξη Πληροφορική Ι Ακαδ. Έτος 2008-9 15/24
2. Περί FORTRAN ΕΚΠΑΙ ΕΥΤΙΚΑ Ευκολότερη στην εκµάθηση Ευρεία χρήση σε επιστηµονικά προβλήµατα ( υψηλή δηµοτικότητα στην Ακαδηµαϊκή κοινότητα) Πληροφορική Ι Ακαδ. Έτος 2008-9 16/24
3. Γράφοντας το πρόγραµµα Πρόγραµµα: ένα σύνολο από δηλώσεις (προτάσεις) καιεντολές Για τη συγγραφή του χρησιµοποιούµε έναν κειµενογράφο Πληροφορική Ι Ακαδ. Έτος 2008-9 17/24
3. Γράφοντας το πρόγραµµα ΠΑΡΑ ΕΙΓΜΑ PROGRAM FIRST! To prwto mou programma PRINT*, HELLO END Πληροφορική Ι Ακαδ. Έτος 2008-9 18/24
4. Μεταγλωττίζοντας το πρόγραµµα Πρόγραµµα FORTRAN Compiler Linker Εφαρµογή Χρήστης Η/Υ Αρχεία ενσωµάτωσης Βιβλιοθήκες Πληροφορική Ι Ακαδ. Έτος 2008-9 19/24
4. Μεταγλωττίζοντας το πρόγραµµα Πληροφορική Ι Ακαδ. Έτος 2008-9 20/24
5. Έλεγχος σφαλµάτων υο κατηγορίεςσφαλµάτων Συντακτικά Λογικά Errors Warnings Τίποτα! Πληροφορική Ι Ακαδ. Έτος 2008-9 21/24
5. Έλεγχος σφαλµάτων Συντακτικά σφάλµατα (Errors) Παραβίαση συντακτικών κανόνων της γλώσσας Μη επιτρεπτή χρήση δεσµευµένων λέξεων Χρήση µεταβλητών που δεν έχουν ορισθεί Σφάλµατα τύπων δεδοµένων Κλήση ανύπαρκτων συναρτήσεων Πληροφορική Ι Ακαδ. Έτος 2008-9 22/24
5. Έλεγχος σφαλµάτων Συντακτικά σφάλµατα (Warnings) Απώλεια ακρίβειας σε υπολογισµό Χρήση συνάρτησης χωρίς περιγραφή Χρήση µεταβλητής χωρίς αρχική τιµή Ασάφεια στην προτεραιότητα τελεστών Χρήση ανάθεσης τιµής αντί ελέγχου ισότητας Πληροφορική Ι Ακαδ. Έτος 2008-9 23/24
5. Έλεγχος σφαλµάτων Λογικά σφάλµατα Το πρόγραµµα µεταγλωττίζεται επιτυχώς, αλλά δεν κάνει αυτό που θέλουµε Εξετάζουµε κυρίως σηµεία ελέγχου και απόφασης στο πρόγραµµα και τις τιµές των µεταβλητών Χρήση ειδικών προγραµµάτων (debuggers) Σηµείαδιακοπής (break points),παρακολούθηση µεταβλητών (watches) Πληροφορική Ι Ακαδ. Έτος 2008-9 24/24