Υπολογιστικές Μέθοδοι Στη Φυσική

Σχετικά έγγραφα
bits and bytes q Ο υπολογιστής χρησιμοποιεί τη κύρια μνήμη για αποθήκευση δεδομένων

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07

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

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

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

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

1. Το σύστημα κινητής υποδιαστολής 2. Αναπαράσταση πραγματικών δυαδικών αριθμών 3. Το πρότυπο 754 της ΙΕΕΕ

Πραγµατικοί αριθµοί κινητής υποδιαστολής Floating Point Numbers. Σ. Τσιτµηδέλης ΤΕΙ ΧΑΛΚΙΔΑΣ

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Νεκτάριος Κοζύρης ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ

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

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

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

Chapter 3. Αριθμητική Υπολογιστών. Όγδοη (8 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Αριθμητική Κινητής Υποδιαστολής Πρόσθεση Αριθμών Κινητής Υποδιαστολής

Σφάλματα (errors) Σε κάθε υπολογισμό μιας πραγματικής ποσότητας υπάρχει σφάλμα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

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

Οργάνωση Υπολογιστών

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

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

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

Αρχιτεκτονικές Υπολογιστών

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

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

Chapter 3. Αριθμητική Υπολογιστών. (συνέχεια)

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

ΗΥ 134. Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 1. Εισαγωγή. Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 3 : Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

Εισαγωγή στη γλώσσα προγραμματισμού C++14

Μια από τις σημαντικότερες δυσκολίες που συναντά ο φυσικός στη διάρκεια ενός πειράματος, είναι τα σφάλματα.

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

1.1. Με τι ασχολείται η Αριθμητική Ανάλυση

Εισαγωγή στην Αριθμητική Ανάλυση

ΠΛΗΡΟΦΟΡΙΚΗ I Ενότητα 6

Σύστημα Πλεονάσματος. Αναπαράσταση Πραγματικών Αριθμών. Αριθμητικές Πράξεις σε Αριθμούς Κινητής Υποδιαστολής

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

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

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

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

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

Αριθμητική Ανάλυση & Εφαρμογές

Στοιχειώδης προγραμματισμός σε C++

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

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

5 &6. Τύποι δεδομένων, τελεστές και

1.4 Αριθμητική υπολογιστών και σφάλματα

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

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

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

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

Σύστημα Πλεονάσματος και Αναπαράσταση Αριθμών Κινητής Υποδιαστολής

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

Εισαγωγή στην πληροφορική

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

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

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

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

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

Επιστημονικός Υπολογισμός (set3) Δρ. Γιώργος Τσιρογιάννης

3 ο Εργαστήριο Μεταβλητές, Τελεστές

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

ΦΥΛΛΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ 1

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

Εισαγωγή στην Πληροφορική ΓΕΝΙΚΟ ΤΜΗΜΑ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ TEI ΧΑΛΚΙ ΑΣ

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

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

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

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

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

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

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

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

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

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ

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

Μαθηματικά. Ενότητα 1: Οι Αριθμοί. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

8 FORTRAN 77/90/95/2003

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

Εισαγωγή στην επιστήµη των υπολογιστών. Πράξεις µε µπιτ

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 7 και 8: Αναπαραστάσεις. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

ΤΑ ΔΕΚΑΔΙΚΑ ΚΛΑΣΜΑΤΑ ΚΑΙ ΟΙ ΔΕΚΑΔΙΚΟΙ ΑΡΙΘΜΟΙ

Αρχιτεκτονική υπολογιστών

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

Πρόβλημα 29 / σελίδα 28

Τμήμα Τεχνολόγων Γεωπόνων - Φλώρινα

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

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

Transcript:

Υπολογιστικές Μέθοδοι Στη Φυσική ΦΥΣ 145 Άνοιξη 2013 Διδάσκων: Φώτης Πτωχός e-mail: fotis@ucy.ac.cy Τηλ: 22.89.2837 Γραφείο: B235 ΘΕΕ02

ΦΥΣ 145 - Διαλ.01 2 Γενικές Πληροφορίες Ώρες/Αίθουσα διδασκαλίας: Δευτέρα 10:30 12:00 Αίθουσα: 229 ΦΥΣΙΚΟΥ Διαλέξεις Εργαστήρια Δευτέρα 15:00 18:00 Αίθουσα: B103 ΥΠΟΧΡΕΩΤΙΚΗ ΠΑΡΑΚΟΛΟΥΘΗΣΗ Πάνω από μια απουσία στα εργαστήρια χωρίς σημαντικό λόγο ισοδυναμεί με αυτόματη αποτυχία στο μάθημα

ΦΥΣ 145 - Διαλ.01 3 Απορίες Διακόπτεται για απορίες κατά την διάρκεια των διαλέξεων. Περάστε από το γραφείο μου: Τρίτη είναι η καλύτερη μέρα αν και μπορείτε να έρθετε οποιαδήποτε ώρα... Πείτε μου αν κάτι στο μάθημα δεν δουλεύει για σας και πως μπορεί να αλλάξει Δύο μεταπτυχιακός συνάδελφοί σας θα είναι παρόντες κατά τη διάρκεια των εργαστηρίων και θα βοηθήσουν σε οποιαδήποτε προβλήματα

ΦΥΣ 145 - Διαλ.01 4 Βιβλιογραφία Δεν θα ακολουθήσω κάποιο συγκεκριμένο βιβλίο. Οι διαλέξεις/σημειώσεις θα είναι στο web. Οι ασκήσεις/οδηγίες των εργαστηρίων όπως και οι εργασίες που θα δουλεύετε σπίτι θα τις βρίσκετε επίσης στο web. (http://www2.ucy.ac.cy/~phy145/phy145.htm) Χρήσιμη βιβλιογραφία/παραδείγματα μπορούν να βρεθούν στο web. Προσπαθήστε και μόνοι σας τις πρώτες δύο βδομάδες να ασχοληθείτε και να εξοικειωθείτε με Λειτουργικό σύστημα: Linux Γλώσσα προγραμματισμού: Fortran 77/90 Λογισμικό Γραφικών αναπαραστάσεων: gnuplot Όλοι έχετε accounts στο τμήμα της Φυσικής και μπορείτε να χρησιμοποιείται τους υπολογιστές του τμήματος για πρακτική εξάσκηση πέρα από τις ώρες εργαστηρίου.

ΦΥΣ 145 - Διαλ.01 5 Βιβλιογραφία Για Fortran θα μπορούσατε να χρησιμοποιήσετε: Fortran από Σ. Περσίδη Fortran 90 explained από Μ. Metcalf Μαθήματα Fortran Για Linux θα μπορούσατε να χρησιμοποιήσετε τα ακόλουθα: Linux in a nutshell από Ellen Siever, Stephen Spainhour, Stephen Figgins and Jessica P. Hekman, ed. O'Reilly Running Linux από Matt Welsh, Matthias Kalle Dalheimer, and Lar Kaufman, ed. O'Reilly Για το λογισμικό παραστάσεων GNUPLOT: Από την επίσημη ιστοσελίδα του gnuplot Πολλά μπορούν να βρεθούν επίσης χρησιμοποιώντας την μηχανή αναζήτησης στο web google

ΦΥΣ 145 - Διαλ.01 6 Βιβλιογραφία Για το κύριο μέρος του μαθήματος: Υπολογιστική φυσική Νumerical Recipes από William H. Press, Saul A. Teukolsky, William T. Vetterling and Brian P. Flannery. Μπορείτε να το βρείτε επίσης δωρεάν με κώδικα σε Fortran77, Fortran 90 και C. Numerical Methods for Physics (2 nd edition) από Α. Garcia (εκδ. Prentice Hall) A First Course in Computational Physics από P. DeVries εκδ.wiley & Sons An Introduction to Computer Simulation Methods H. Gould and J. Tobochnik, Addison-Wesley, 2 nd edition Computational Physics, από Ν. Giordano, Prentice Hall

ΦΥΣ 145 - Διαλ.01 7 Βαθμολογία Ø Η βαθμολογία θα βασιστεί στα ακόλουθα: Ø 10% ασκήσεις εργαστηρίων Ø 10% quiz στο εργαστήριο (1 κάθε 2 βδομάδες) Ø 15% εργασίες στο σπίτι Ø 30% 1 εξέταση προόδου (Σάββατο 9 Μάρτη, 10:00-16:00) Ø 35% τελική εξέταση (Μάη) Αλλά: Αν ο βαθµός της τελικής εξέτασης είναι καλύτερος από το βαθµό της προόδου, η τελική εξέταση µετρά 65% Εργασίες στο σπίτι Εργασίες για το σπίτι θα περιέχουν 4-5 ασκήσεις Θα πρέπει να είναι... δικιές σας και όχι αντιγραφή λύσεων άλλων συναδέλφων σας. Μπορείτε να συνεργάζεστε αλλά όχι ακριβώς ίδιες

ΦΥΣ 145 - Διαλ.01 8 Περιεχόμενο του Μαθήματος Βασικές αρχές προγραμματισμού σε Fortran, βασικές εντολές λειτουργικού συστήματος, εισαγωγή και βασικές λειτουργίες του Editor/Emacs. Λογισμικό πακέτο γραφικών παραστάσεων δεδομένων. Επίλυση απλών διαφορικών εξισώσεων Ραδιενεργή διάσπαση Μονοδιάστατη και δυσδιάστατη κίνηση σωμάτων σε ομογενές βαρυτικό πεδίο. Εκκρεμές. Ηλιακό σύστημα και πλανητικές τροχιές. Νόμοι του Kepler. Mή γραμμικά συστήματα Αριθμητική ολοκλήρωση Γεννήτορες τυχαίων αριθμών Ανάλυση πειραματικών δεδομένων Ολοκλήρωση Monte Carlo και προσομοίωση

ΦΥΣ 145 - Διαλ.01 9 Βασικές εντολές FORTRAN q FORTRAN (FORmula TRANslator): Ξεκίνησε σαν γλώσσα προγραμματισμού στις αρχές της δεκαετίας του 50. Το 1966 απόκτησε την πρώτη τυπική της μορφή (Fortran IV). Αναθεωρήσεις της οδήγησαν στην Fortran 77 (πιο διαδεδομένη μορφή της). Αργότερα με την ανάπτυξη νέων γλωσσών προγραμματισμού (C, C++) η γλώσσα αναπτύχθηκε περισσότερο στην μορφή της Fortran 90 που ωστόσο δεν χρησιμοποιείται ευρέως. Η Fortran σχεδιάστηκε για επιστήμονες και μηχανικούς. Τα 30 τελευταία χρόνια χρησιμοποιήθηκε για διάφορα προγράμματα, από σχεδιασμό τμημάτων γεφυρών και αεροπλάνων, ανάλυση επιστημονικών δεδομένων, αυτοματοποίηση σε εργοστάσια κλπ Τα χρόνια της παρουσίας της διάφοροι χρήστες έγραψαν βιβλιοθήκες από χρήσιμα προγράμματα που χρησιμοποιούνται από χιλιάδες άλλους χρήστες κατά τρόπο παρόμοιο με αυτό του δανεισμού βιβλίων από βιβλιοθήκες.

Πρόγραμμα ΦΥΣ 145 - Διαλ.01 10 q Πρόγραμμα είναι μια σειρά από οδηγίες (εντολές προγράμματος) συνταγμένες με τέτοιο τρόπο ώστε να επιτρέψει έναν ηλεκτρονικό υπολογιστή να λύσει κάποιο πρόβλημα. Το πρόβλημα προς λύση είναι σπασμένο σε πολύ μικρότερα κομμάτια. Τα κομμάτια αυτά θα πρέπει να σχηματίζουν μια καλώς ορισμένη δομή, όπου το πιο περίπλοκο και μεγάλο πρόβλημα στην κορυφή και το πιό απλό και εύκολα επιλύσιμο στη βάση. Ø Από κει και ο ορισμός: top down programming: προγραμματισμός από πάνω προς τα κάτω q Για να πετύχετε τη λύση ενός προβλήματος με την χρήση μιας γλώσσας προγραμματισμού καλό είναι να ακολουθήσετε τα παρακάτω βήματα: q Εκφράστε το πρόβλημα στα Αγγλικά q Εξετάστε το πρόβλημα και σπάστε το σε μικρότερα προβλήματα q Εξετάστε τα επιμέρους τμήματα και επεξεργαστείτε τα σε μικρότερα q Σχεδιάστε γραφικά το σχέδιο δράσης q Γράψτε το κύριο πρόγραμμα με αναφορές στα υποπρογράμματα q Δοκιμάστε το πρόγραμμα

ΦΥΣ 145 - Διαλ.01 11 Σχέση γλώσσας προγραμματισμού, προγράμματος, Η/Υ Προγραμματιστής Γλώσσα Πρόγραμμα Υπολογιστής Chef Ελληνικά Κρέπες Μάγειρας, σκεύη Βeethoven Μουσική Πιάνο Σονάτα Πιανίστας, πιάνο Εσείς FORTRAN ολοκλήρωμα Ο υπολογιστής σας Δηλαδή προγραμματισμός είναι η διεργασία του γραψίματος κάποιων εντολών που μπορούν να εκτελεστούν πολλές φορές στο μέλλον Προσέξτε ότι και στα 3 παραδείγματα το πρόγραμμα είναι το μέσο για την μεταφορά εντολών ή οδηγιών μεταξύ του προγραμματιστή (αυτού που ανακαλύπτει τις οδηγίες) και του υπολογιστή (αυτού που εκτελεί τις οδηγίες) Η γλώσσα θέτει τους όρους κάτω από τους οποίους θα σχηματιστεί το πρόγραμμα. Για να γίνει κατανοητό ένα πρόγραμμα από τον υπολογιστή θα πρέπει να γραφτεί σύμφωνα με τους όρους αυτούς της γλώσσας. Το πρώτο στάδιο της διεργασίας μάθησης του προγραμματισμού είναι να μάθετε πρώτα τι μπορεί να κάνει ο υπολογιστής και πως μπορείτε να γράψετε τις οδηγίες ώστε να κάνει αυτά τα πράγματα. Το υπόλοιπο της διεργασίας είναι να μάθετε να γράφετε ωραία προγράμματα.

Σύνταξη του Προγράμματος ΦΥΣ 145 - Διαλ.01 12 1 2 3 4 5 6 7 8 9 10 20 30 40 60 70 73 80 1-5 εντολές στις στήλες 7-72 στήλες 73 αγνοούνται C ή * στη Αριθμοί 1 η στήλη εντολών δηλώνει σχόλιο χαρακτήρες διαφορετικοί από 0 ή κενό στην 6 η στήλη δηλώνουν συνέχεια της προηγούμενης σειράς Οι θέσεις σε μια γραμμή ονομάζονται στήλες και αριθμούνται 1,2,3...80. Όλες οι εντολές FORTRAN πρέπει να τοποθετούνται στις στήλες 7-72 Οτιδήποτε εμφανίζεται πέρα από τη στήλη 73 αγνοείται ή δίνει λάθος. Αν μια εντολή χρειάζεται να αποκτήσει ετικέτα για προγενέστερη ή μεταγενέστερη αναφορά η ετικέτα πρέπει να δοθεί στις στήλες 1-5 και η ετικέτα πρέπει να ναι κάποιος ακέραιος απο 1 99999 Μερικές φορές δεν μπορούμε να συμπληρώσουμε μια εντολή σε μια σειρά. Τότε για να συνεχίσουμε στην επόμενη θα πρέπει να βάλουμε ένα χαρακτήρα διαφορετικό από * ή κενό στη στήλη 6 και να συνεχίσουμε την εντολή Γραμμές που ξεκινούν με το γράμμα (C) ή (*) στην 1 η στήλη αποτελούν σχόλια και δεν εκτελούνται

ΦΥΣ 145 - Διαλ.01 13 Γενική μορφή ενός προγράμματος Fortran επικεφαλίδα Αυτή η εντολή δηλώνει την αρχή και το όνομα ενός προγράμματος εισαγωγικά σχόλια Δίνονται για να δηλώσουν το σκοπό του προγράμματος και να δώσουν πληροφορίες για εισαγωγή/εξαγωγή πληροφορίας τμήμα ορισμών τμήμα εκτέλεσης Το τμήμα αυτό χρησιμοποιείται για τον ορισμό διαφόρων μεταβλητών που χρησιμοποιούνται για την αποθήκευση σταθερών ή ενδιάμεσων αποτελεσμάτων του προγράμματος Το τμήμα αυτό περιέχει τις εντολές που εκτελούν τμήματα του αλγόριθμου του προγράμματος.

Παράδειγμα προγράμματος PROGRAM PROJEC ΦΥΣ 145 - Διαλ.01 14 Υπολογισµός ύψους και ταχύτητας ενός σώµατος που εκτελεί κατακόρυφη βολή σε µια χρονική στιγµή t: h = h 0 +! 0 t + 0.5at 2! =! 0 + at επικεφαλίδα - απαραίτητο ******************************************************** * This program calculates the velocity and height of a projectile * * given its initial height, initial velocity, and constant * * acceleration. Variables used are: * * HGHT0 : initial height * * HGHT : height at any time * * VELOC0 : initial vertical velocity * * VELOC : vertical velocity at any time * * ACCEL : vertical acceleration * * TIME : time elapsed since projectile was launched * * * * Input: none * * Output: VELOC, HGHT * ******************************************************** Σχόλια ξεκινούν με * ή C στη 1 η στήλη REAL HGHT0, HGHT, VELOC0, VELOC, ACCEL, TIME Προσοχή ότι οι εντολές ξεκινούν από τη στήλη 7 ACCEL = -9.807 HGHT0 = 100.0 VELOC0 = 90.0 TIME = 4.3 HGHT = 0.5 * ACCEL * TIME ** 2 + VELOC0 * TIME + HGHT0 VELOC = ACCEL * TIME + VELOC0 PRINT *, 'AT TIME ', TIME, ' THE VERTICAL VELOCITY IS ', VELOC PRINT *, 'AND THE HEIGHT IS ', HGHT END ορισμοί τμήμα εκτέλεσης τερματισμός - απαραίτητο

ΦΥΣ 145 - Διαλ.01 15 Κύρια συστατικά ενός προγράμματος Σταθερές Μεταβλητές Αριθμητικές πράξεις Ανάθεση τιμών - ισότητες Έλεγχος αποτελέσματος - επικοινωνία με το πρόγραμμα

Σταθερές (constants) ΦΥΣ 145 - Διαλ.01 16 q Είναι οι ποσότητες το μέγεθος των οποίων δεν αλλάζει κατά την εκτέλεση ενός προγράμματος. q Μπορεί να είναι αριθμητικές ή να περιέχουν χαρακτήρες q Οι συνηθέστερες μορφές σταθερών είναι: Ø INTEGER (ακέραια σταθερά) Ø REAL (πραγματική σταθερά) Ø DOUBLE PRECISION (σταθερά διπλής ακρίβειας) Ø CHARACTER (σταθερά χαρακτήρων) Ø LOGICAL (λογική σταθερά) (αργότερα)

Σταθερές ΦΥΣ 145 - Διαλ.01 17 q INTEGER (ακέραια σταθερά) Ø Αποτελείται από ψηφία 0 έως 9 και πιθανώς ένα + ή που δηλώνει αν ο αριθμός είναι θετικός ή αρνητικός Ø Αν ο αριθμός είναι θετικός τότε το + δεν χρειάζεται Ø Αν ο αριθμός είναι αρνητικός τότε το πρέπει υποχρεωτικά να γραφεί μπροστά από τα ψηφία Παραδείγματα ακεραίων σταθερών είναι: 3-7 1803 +68 0 1000-0 +0-999 Υπάρχουν όρια μεταξύ των οποίων πρέπει να βρίσκεται κάθε χρησιμοποιούμενος ακέραιος. Τα όρια εξαρτώνται από τον Η/Υ. Ανάλογα με τον Η/Υ, ο μεγαλύτερος ακέραιος που μπορεί να αναπαρασταθεί είναι: 2147483648 (32 bits μηχανή) Αν κάποιος ακέραιος πάρει μεγαλύτερη τιμή, τότε έχουμε υπερχείλιση (overflow) και το πρόγραμμα θα δώσει ανοησίες

ΦΥΣ 145 - Διαλ.01 18 Σταθερές q REAL (πραγματικές σταθερές) Ø Ένας πραγματικός αποτελείται από ψηφία (0 έως και 9), μια τελεία (υποχρεωτικά) και πιθανώς το πρόσημο + ή Ø Αν ο αριθμός είναι θετικός το + μπορεί να παραληφθεί Ø Αν ο αριθμός είναι αρνητικός τότε πρέπει οπωσδήποτε να γράψουμε το μπροστά από τα ψηφία του. π.χ. 2.3-5.75.302-7. 0. +23. 0.0-0.9999 v Μια σταθερά REAL γράφεται και με τη μορφή: r x E i r x 10 i π.χ. 2.3 γράφεται και σαν 2.3Ε00 ή 23.Ε-1 ή 2300.Ε-3 -.00854 γράφεται και σαν -8.54Ε-3 ή -854.Ε-5 10-12 γράφεται και σαν 1.Ε-12 ή.1ε-11 Οι πραγματικοί αριθμοί έχουν ένα συγκεκριμένο εύρος τιμών που μπορούν να πάρουν, ανάλογα με τον Η/Υ Η απόλυτη τιμή του πραγματικού δεν μπορεί να είναι μικρότερη ενός αριθμού αλλά μπορεί να είναι 0.

ΦΥΣ 145 - Διαλ.01 19 Σταθερές q DOUBLE PRECISION (σταθερά διπλής ακρίβειας) Ø Μοιάζει με μια REAL σταθερά εκτός από το γεγονός ότι γράφεται και διατηρείται στη μνήμη του Η/Υ με περισσότερα (συνήθως υπερδιπλάσια) ψηφία Ø Η γραφή της είναι ίδια με τη γραφή μιας REAL σταθεράς σε εκθετική μορφή αλλά χρησιμοποιούμε το γράμμα D αντί για Ε π.χ. 7.50D2-0.06D-70 37.342423D65 1.54D178 7.5x10 2-6x10-72 37342423x10 59 154x10 176 Ø Δηλαδή αποτελείται από ψηφία, μια υποδιαστολή, ενώ ο αριθμός που βρίσκεται στα δεξιά του D αποτελεί τον εκθέτη Ø Το εύρος τιμών μιας σταθεράς διπλής ακρίβειας εξαρτάται από τον Η/Υ Eίναι πολύ μεγαλύτερο από ότι για τις σταθερές τύπου REAL

ΦΥΣ 145 - Διαλ.01 20 Σταθερές q Character (σταθερές χαρακτήρων) Ø Οι σταθερές αυτές αποτελούνται από μια γραμματοσειρά η οποία πρέπει πάντοτε να εσωκλείεται μεταξύ αποστρόφων CYPRUS,, x*y Σωστός τρόπος γραφής CYPRUS, Λάθος τρόπος γραφής

Άνοιγμα παρένθεσης.. ΦΥΣ 145 - Διαλ.01 21

bits and bytes ΦΥΣ 145 - Διαλ.01 22 q Ο υπολογιστής χρησιμοποιεί τη κύρια μνήμη για αποθήκευση δεδομένων q Η μνήμη χωρίζεται σε words και κάθε word περιέχει τμήμα πληροφορίας q Ο αριθμός των words σε μια κεντρική μνήμη εξαρτάται από τον Η/Υ (αρκετές χιλιάδες για ένα μικρο-processor σε εκατοντάδες εκατομμύρια για μεγάλους υπολογιστές) q Κάθε word αποτελείται από μικρότερες μονάδες που ονομάζονται bits Το bit μπορεί να έχει μόνο μια από δύο τιμές: 0 ή 1 Αν το word περιέχει m bits τότε το word μπορεί να είναι σε οποιαδήποτε από 2 m διαφορετικές καταστάσεις Η πραγματική σημασία που δίνεται σε κάποιο ιδιαίτερο συνδυασμό από 0 και 1 σε ένα word εξαρτάται από το μοντέλο του υπολογιστή q Όλοι οι υπολογιστές (σχεδόν) αποθηκεύουν τους θετικούς INTEGERs με τέτοιο τρόπο ώστε κάθε bit που παίρνει τη τιμή 1 στο word αντιπροσωπεύει μια τιμή που είναι 2 (n-1) όπου n η σχετική θέση του bit στo word μετρώντας από δεξιά.

bits and bytes q Οι περισσότεροι υπολογιστές έχουν μνήμη με 32 bits/word με ενδιάμεσο διαχωρισμό του word σε 4 ομάδες από 8 συνεχή bits q Ένα τέτοιο γκρουπ αποτελούμενο από 8 bits ονομάζεται byte q Ένα byte έχει 2 8 ή 256 διαφορετικές καταστάσεις. Όλοι οι αριθμοί αντιπροσωπεύονται σε δυαδική μορφή word ΦΥΣ 145 - Διαλ.01 23 bit byte q Υπάρχει περιορισμένη ακρίβεια και επομένως προσεγγίσεις q Το μήκος του word είναι συνήθως 32 bits ή 4 bytes όπου κάθε byte αποτελείται από 8 bits Mονάδες μέτρησης για την αποθήκευση αριθμών είναι: 1 byte = 1B = 8 bits = 8b 1 kbyte = 2 10 bytes = 1024 bytes 1 Mbyte = 2 10 kbytes = 1024 1024 bytes

ΦΥΣ 145 - Διαλ.01 24 Κλείσιμο παρένθεσης..

ΦΥΣ 145 - Διαλ.01 25 Γιατί υπάρχει περιορισμός στους αριθμούς q Σχετίζεται με την αναπαράσταση αριθμών στον υπολογιστή q Τρία συστήματα αριθμών: Ø Οι αριθμοί μέτρησης 0,1,2,,32767 Συνδέεται με τον δείκτη των καταλόγων της μηχανής και άρα το εύρος των αριθμών είναι προσδιορισμένο. Ø Οι αριθμοί σταθερής υποδιαστολής Οι αριθμοί αυτοί έχουν σταθερό μήκος = μήκος του word του Η/Υ ή κάποιο πολλαπλάσιο H διαφορά μεταξύ διαδοχικών αριθμών είναι η ίδια Τέτοιοι είναι οι αριθμοί των υπολογισμών του χεριού (Όλοι οι πίνακες είναι συνήθως σταθερής υποδιαστολής) Ø Οι αριθμοί κινητής υποδιαστολής (floating point numbers) Σχετίζονται με τη λεγόμενη επιστημονική σήμανση Το σύστημα αυτό είναι σχεδιασμένο για να περιγράφει και μικρούς αλλά και μεγάλους αριθμούς

ΦΥΣ 145 - Διαλ.01 26 Αναπαράσταση αριθμών στον Η/Υ q Οι αριθμοί κινητής υποδιαστολής (floating point numbers).31415927 x 10 1.12345678 x 10-1 -.12345678 x 10 4 Mantissa: Το πρώτο τμήμα των 8 ψηφίων στους παραπάνω αριθμούς Εκθέτης: To τελευταίο ψηφίο (με εύρος τιμών [-38, +38]) Η mantissa και ο εκθέτης αποθηκεύονται στο ίδιο word της μηχανής Σαν αποτέλεσμα η mantissa ενός αριθμού κινητής υποδιαστολής είναι μικρότερου μήκους του αντίστοιχου αριθμού σταθερής υποδιαστολής

Απεικόνιση αριθμών στους υπολογιστές q Ένας ακέραιος αριθμός 2 Ν αντιπροσωπεύεται από Ν bits To 1 o bit δίνει το πρόσημο Τα υπόλοιπα Ν-1 bits χρησιμοποιούνται για τον αριθμό Άρα 32 bits INTEGERs θα πέρνουν τιμές στο διάστημα: -2147483648 < Integer 32 < 2147483648 = 2 31 Ø Η αριθμητική με Integer αριθμούς είναι ακριβής εκτός από υπερχείλιση (overflow) και υποχείλιση (underflow) q Οι αριθμοί απλής ακρίβειας (single precision ή floating - point F) χρειάζονται 4 bytes (32 bits) για την αναπαράστασή τους 23 bits για mantissa Τα οποία χρησιμοποιούνται ως εξής: Η μικρότερη mantissa είναι 2-23 ~10-7 ΦΥΣ 145 - Διαλ.01 27 8 bits για εκθέτη 1 bit για το πρόσημο Εκθέτης: 2 α - 127 όπου αε[0,255] (2 8 bits) bias

Απεικόνιση αριθμών ΦΥΣ 145 - Διαλ.01 28 q Για αριθμούς διπλής ακρίβειας χρειάζονται 8 bytes δηλαδή 64 bits και χρησιμοποιούνται ως εξής: 52 bits για την mantissa 1 bit για τo πρόσημο 11 bits για τον εκθέτη (bias=1023) Η μικρότερη mantissa είναι 2-52 ~10-16 Ο εκθέτης είναι 2 α-1023 με α ε[0,2048] (2 11 bits) Διάστημα Ακρίβεια 2.9x10-39 float 32 3.4x10 38 float 32 : 5-7 δεκαδικά ψηφία 10-322 double 64 10 308 double 64 : 16 δεκαδικά ψηφία

Αριθμοί κινητής υποδιαστολής ΦΥΣ 145 - Διαλ.01 29 q Έχουν μια σειρά από ιδιαιτερότητες: Ø Ας υποθέσουμε για απλότητα ότι έχουμε μια mantissa με 3 ψηφία και ο εκθέτης αποτελείται από 1 ψηφίο: Το μηδέν, 0=.000 x 10-9 είναι απομονωμένο από τους υπόλοιπους αριθμούς αφού οι αμέσως επόμενοι θετικοί αριθμοί είναι.100 x 10-9 και.101 x 10-9 βρίσκονται 10-12 μακριά!! Δεν υπάρχει κανένας άλλος αριθμός με mantissa να ξεκινά από 0 Ø Κάθε δεκάδα έχει ακριβώς τον ίδιο πλήθος αριθμών: συνολικά 900 πηγαίνοντας από.100 x 10 a μέχρι.999 x 10 a με a = -9,-8,,0,,8,9 0.999x10-1 0.100x10 0 0.999x10 0 0.100x10 1 0.999x10 1 0.100x10 2 1x10-4 1x10-3 1x10-2 Ø Σε κάθε δεκάδα οι 900 αριθμοί είναι χωρισμένοι σε ίσα διαστήματα αλλά η διαφορά μεταξύ 2 δεκάδων είναι άνιση Υπάρχει γεωμετρικό πήδημα

Αριθμοί κινητής υποδιαστολής ΦΥΣ 145 - Διαλ.01 30 q Ο αριθμός 0 και -0 (δηλαδή -.000 x 10-9 ) είναι λογικά ίδιοι Oι περισσότεροι υπολογιστές τους έχουν ίδιους αλλά μερικοί όχι Ø Συνήθως δεν υπάρχει άπειρο που να αντιστοιχεί στο μηδέν q Στα μαθηματικά υπάρχει ένα και μοναδικό μηδέν q Στο προγραμματισμό υπάρχουν 2 είδη: Ø Αυτό που εμφανίζεται σε εκφράσεις όπως α 0 = 0 που συμπεριφέρεται σαν κανονικό 0 Ø Αλλά και το 0 που εμφανίζεται σε σχέσεις της μορφής α-α=0 Αυτό το 0 μπορεί να προέρχεται από 1-(1-ε)(1+ε)=0 όταν το ε< ½10-3 όπου το 3 είναι ο αριθμός των δεκαδικών ψηφίων της mantissa Ø Αυτό το τελευταίο 0 εμφανίζεται κατά την αφαίρεση 2 σχεδόν ίσου μεγέθους αριθμών Ø Αποτελεί την πηγή πολλών σφαλμάτων στους υπολογισμούς με ένα ηλεκτρονικό υπολογιστή