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

Σχετικά έγγραφα
Αριθμητικά Συστήματα Η ανάγκη του ανθρώπου για μετρήσεις οδήγησε αρχικά στην επινόηση των αριθμών Κατόπιν, στην επινόηση συμβόλων για τη παράσταση

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

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

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

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

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 12

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

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

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

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

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

Ψηφιακά Κυκλώματα Ι. Μάθημα 1: Δυαδικά συστήματα - Κώδικες. Λευτέρης Καπετανάκης

Περιεχόµενα. οµή Η/Υ: Αναπαράσταση εδοµένων. υαδικό σύστηµα. Συστήµατα Αρίθµησης υαδικό Οκταδικό εκαεξαδικό Παραδείγµατα

Β1.1 Αναπαράσταση Δεδομένων και Χωρητικότητα Μονάδων Αποθήκευσης

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

Κεφάλαιο 2 Η έννοια και η παράσταση της πληροφορίας στον ΗΥ. Εφ. Πληροφορικής Κεφ. 2 Καραμαούνας Πολύκαρπος 1

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

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τα επιμέρους τμήματα Η ΟΜΗ TOY ΥΠΟΛΟΓΙΣΤΗ. Αναπαράσταση μεγεθών. Αναλογική αναπαράσταση ΚΕΝΤΡΙΚΗ ΜΝΗΜΗ ΜΟΝΑ Α ΕΛΕΓΧΟΥ

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

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

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Αρχιτεκτονική-Ι. Ενότητα 1: Εισαγωγή στην Αρχιτεκτονική -Ι

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

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

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

Κεφάλαιο 2. Οργάνωση και διαχείριση της Πληροφορίας στον. Υπολογιστή

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

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

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

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

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

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

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

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

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

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

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

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

Κ15 Ψηφιακή Λογική Σχεδίαση 2: Δυαδικό Σύστημα / Αναπαραστάσεις

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

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

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

Αναπαράσταση Δεδομένων

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

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

1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα

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

Συστήματα Αρίθμησης. Συστήματα Αρίθμησης 1. PDF created with FinePrint pdffactory Pro trial version

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

Υπολογιστές και Πληροφορία 1

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Ι (HY120)

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

Αριθµητική υπολογιστών

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 3. Αριθµητική για υπολογιστές

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

Λογική Σχεδίαση Ψηφιακών Συστημάτων

Εισαγωγή στους Υπολογιστές

Κεφάλαιο 2. Συστήματα Αρίθμησης και Αναπαράσταση Πληροφορίας. Περιεχόμενα. 2.1 Αριθμητικά Συστήματα. Εισαγωγή

Εισαγωγή στους Η/Υ & Εφαρμογές

ΑΕΠΠ Ερωτήσεις θεωρίας

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

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

Αριθμητικά Συστήματα = 3 x x x x 10 0

Ελίνα Μακρή

Λύσεις Ασκήσεων ΣΕΙΡΑ 1 η. Πρόσημο και μέγεθος

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές (ΗΥ)

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

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

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

µπιτ Λύση: Κάθε οµάδα των τεσσάρων µπιτ µεταφράζεται σε ένα δεκαεξαδικό ψηφίο 1100 C 1110 E Άρα το δεκαεξαδικό ισοδύναµο είναι CE2

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Λογικός Σχεδιασµός και Σχεδιασµός Η/Υ. ΗΜΥ-210: Εαρινό Εξάµηνο Σκοπός του µαθήµατος. Ψηφιακά Συστήµατα. Περίληψη. Εύρος Τάσης (Voltage(

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

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

Ψηφιακά Συστήματα. 1. Συστήματα Αριθμών

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

Ενότητα 1. Γνωρίζω τον υπολογιστή ως ενιαίο σύστημα

Ψηφιακοί Υπολογιστές

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή

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

ΗΜΜΥ 100 Εισαγωγή στην Τεχνολογία

Δυαδικό Σύστημα Αρίθμησης

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

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

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

Transcript:

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

Αριθμητικά συστήματα Υπάρχουν 10 τύποι ανθρώπων: Αυτοί που καταλαβαίνουν το δυαδικό αριθμητικό σύστημα και αυτοί που δεν το καταλαβαίνουν Τα αριθμητικά συστήματα αναπτύχθηκαν για να εξυπηρετήσουν διαφορετικές ανάγκες απεικόνισης των αριθμών Τα πιο διαδεδομένα στον προγραμματισμό Η/Υ είναι Δυαδικό π.χ. (01001011) 2 Οκταδικό π.χ. (47025) 8 Δεκαδικό π.χ. (13594) 10 Δεκαεξαδικό π.χ. (3ΑFB9) 16

Παράδειγμα Μετατροπής Μεταξύ Συστημάτων Αρίθμησης Από το δεκαδικό στο δυαδικό, δεκαεξαδικό 1) Διαιρούμε επανειλημμένα με την βάση του συστήματος που μας ενδιαφέρει (2 ή 16) 2) Σταματούμε τη διαδικασία όταν φτάσουμε σε 0 3) Καταγράφουμε τα υπόλοιπα με αντίστροφη σειρά εμφάνισης Από το δυαδικό, δεκαεξαδικό στο δεκαδικό x = x n n 1 1 0 n b + xn 1 b +... + x1b + x0b b: η βάση του συστήματος n: η θέση του ψηφίου x n : το ψηφίο στη θέση n (101101110) 2 = 1*2 8 +0*2 7 +1*2 6 +1*2 5 +0*2 4 +1*2 3 +1*2 2 +1*2 1 +0*2 0 =256+64+32+8+4+2=(366) 10 (16E) 16 = 1*16 2 +6*16 1 +14*16 0 =256+96+14=(366) 10

Μετατροπή δεκαδικών ψηφίων από και προς το δυαδικό σύστημα Από το δεκαδικό στο δυαδικό Από το δυαδικό στο δεκαδικό (0.625) 10 = (0.101) 2 Επειδή 0.625 x 2 = 1.25 0.25 x 2 = 0.5 0.5 x 2 = 1.0 (0.101) 2 =1*2-1 +0*2-2 +1*2-3 =0.5+0.125=(0.625) 10 Σταματούμε τη διαδικασία όταν φτάσουμε σε.0 Παρατήρηση: Ένας αριθμός με πεπερασμένο πλήθος δεκαδικών ψηφίων στο δεκαδικό σύστημα, μπορεί να έχει άπειρο πλήθος δεκαδικών ψηφίων στο δυαδικό σύστημα. Για παράδειγμα: (0.1) 10 = (0.000110011001100 ) 2 0.1 x 2 = 0.2 0.2 x 2 = 0.4 0.4 x 2 = 0.8 0.8 x 2 = 1.6 0.6 x 2 = 1.2 0.2 x 2 = 0.4.... http://www.mathsisfun.com/binary-decimal-hexadecimal-converter.html

Παράδειγμα: ΑΡΙΘΜΟΙ 0-47 ΒΙΝ, DEC, HEX BIN DEC HEX BIN DEC HEX BIN DEC HEX 0 0 0 10000 16 10 100000 32 20 1 1 1 10001 17 11 100001 33 21 10 2 2 10010 18 12 100010 34 22 11 3 3 10011 19 13 100011 35 23 100 4 4 10100 20 14 100100 36 24 101 5 5 10101 21 15 100101 37 25 110 6 6 10110 22 16 100110 38 26 111 7 7 10111 23 17 100111 39 27 1000 8 8 11000 24 18 101000 40 28 1001 9 9 11001 25 19 101001 41 29 1010 10 A 11010 26 1A 101010 42 2A 1011 11 B 11011 27 1B 101011 43 2B 1100 12 C 11100 28 1C 101100 44 2C 1101 13 D 11101 29 1D 101101 45 2D 1110 14 E 11110 30 1E 101110 46 2E 1111 15 F 11111 31 1F 101111 47 2F

Βit - Byte Αναφερόμενοι στην ψηφιακή τεχνολογία ορίζουμε bit ή b (binary digit) - ένα δυαδικό ψηφίο (δηλ. 0 ή 1) - απεικόνιση της κατάστασης του ηλ. σήματος Byte ή Β (Βinary term) - είναι μια συνεχής ακολουθία από bits - έχει καθορισμένο μήκος (8 bits στα PC) - μονάδα μέτρησης όγκου δεδομένων Λέξεις (Words) - είναι μια ακολουθία από bytes την οποία ο επεξεργαστής μπορεί να χειριστεί σαν μονάδα - προκαθορισμένο μήκος κατά περίπτωση (4,8 Bytes)

Βασικά πολλαπλάσια του Byte KB (Kilobyte) = 2 10 Bytes = 1024 Bytes MB (Megabyte) = 2 20 Bytes = 1,048,576 Bytes GB (Gigabyte) = 2 30 Bytes = 1,073,741,824 Bytes TB (Terabyte) = 2 40 Bytes = 1,099,511,627,776 Bytes

Αναπαράσταση Μνήμης RAM Για 32bit σύστημα Διεύθυνση Δεδομένα 00000000 Β3 00000001 FA 00000002 46 00000003 3B 00000004 00 00000005 F4 00000006 FF FFFFFFFF D8 Κάθε διεύθυνση μνήμης αντιστοιχεί σε 1 Byte δεδομένων (Τα νούμερα εμφανίζονται στο δεκαεξαδικό σύστημα)

Βασικές Μαθηματικές Απεικονίσεις Αριθμών Έστω ο αριθμός 57600000 Εκθετική ή Επιστημονική 5760 x 10 4 a x 10 b Κανονικοποιημένη Επιστημονική 5.760 x 10 7 a x 10 b με 1<= a < 10 Μηχανικής 57.60 x 10 6 a x 10 b με 1<= a < 1000 και το b να διαιρείται με το 3

Εσωτερική αναπαράσταση Αριθμών Η αποθήκευση γίνεται στο δυαδικό σύστημα Ακέραιοι (1,2,4,8 bytes) Θετικοί π.χ. (38) 10 =(100110) 2 0 0 1 0 0 1 1 0 Αρνητικοί (Συμπλήρωμα ως προς 2) π.χ. (-38) 10 =(11011010) 2 1 1 0 1 1 0 1 0 (1 Byte) (1 Byte) Κινητής υποδιαστολής (4,8,10 bytes) (IEEE 754 Standard) π.χ. (12.375) 10 = (-1) 0 2 3 (1.100011) 2 (4 Bytes) 0 10000010 10001100000000000000000 1 Bit 8 Bits 23 Bits Πρόσημο (1=αρνητικό) Εκθέτης +127 (exponent) Δεκαδικό μέρος (mantissa)

Ειδικές Αριθμητικές Τιμές Inf (Άπειρο) π.χ. 4/0 0 11111111 00000000000000000000000 1 Bit 8 Bits 23 Bits NaN (Not a Number Απροσδιόριστος αριθμός) π.χ. 0/0 0 11111111 10000000000000000000000 1 Bit 8 Bits 23 Bits Παρατήρηση: Στο σύστημα ΙΕΕΕ 574 υπάρχουν δύο μηδέν (το +0 και το -0) Website: http://www.h-schmidt.net/floatconverter/ieee754.html

Εσωτερική αναπαράσταση Χαρακτήρων Κάθε χαρακτήρας μετατρέπεται σε ακέραιο μη προσημασμένο αριθμό χρησιμοποιώντας κάποιο στάνταρντ κωδικοποίησης, όπως για παράδειγμα ASCII, Unicode, κτλ, και στη συνέχεια αυτός ο αριθμός αποθηκεύεται στην μνήμη (στο δυαδικό σύστημα) Πίνακας ASCII Στην κωδικοποίηση ASCII (American Standard Code for Information Interchange) κάθε χαρακτήρας αντιστοιχεί σε ένα Byte δεδομένων.

Γλώσσες Προγραμματισμού μέσο επικοινωνίας μεταξύ ανθρώπου και υπολογιστή Έχουν αυστηρούς κανόνες Λεξιλόγιο (εντολές, τύπους,...) Σύνταξη Δομή Για την εκμάθησή τους και την υλοποίηση εφαρμογών είναι απαραίτητα Η Εξάσκηση Η Προσαρμογή του τρόπου σκέψης Η Φαντασία

Γενιές Γλωσσών Προγραμματισμού 1η Γενιά Γλώσσα Μηχανής 2η Γενιά Συμβολικές γλώσσες (Assembly) 3η Γενιά Γλώσσες υψηλού επιπέδου (C, Fortran, Pascal, Basic) 4η Γενιά Επικοινωνία με βάσεις δεδομένων, εξειδικευμένες γλώσσες (SQL, SPSS, Mathematica. Matlab) 5η Γενιά Γλώσσες Τεχνητής Νοημοσύνης (Prolog)

Παράδειγμα Γλώσσα Μηχανής - Αssembly H αριθμητική πράξη 2+3 σε Γλώσσα Μηχανής (για 32bit PC): 10111000 00000010 00000000 00000000 00000000 10111011 00000011 00000000 00000000 00000000 11110000 11000000 Τα νούμερα συνήθως τα γράφουμε στο δεκαεξαδικό σύστημα για ευκολία στον χειρισμό τους: B8 02 00 00 00 BB 03 00 00 00 03 C3 Το ίδιο πρόγραμμα σε Assembly MOV EAX,2 MOV EBX,3 ADD EAX,EBX

Τύποι Δεδομένων Βασικοί τύποι Παράγωγοι τύποι Αριθμητικοί Μη αριθμητικοί ακέραιοι μιγαδικοί λογικοί χαρακτήρες Ή αλφαριθμητικοί πραγματικοί

Μεταβλητές - Σταθερές Μεταβλητές Σταθερές Όνομα Τύπος Τιμή Ρητές Τύπος Τιμή Επώνυμες Όνομα Τύπος Τιμή

Τελεστές Τελεστές Αριθμητικοί Λογικοί Σχεσιακοί Αλφαριθμητικοί +, -, *, /, **.OR.,.AND., <, >, ==, // Οι τελεστές εκτελούνται με συγκεκριμένη σειρά προτεραιότητας

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

Έλεγχος ροής Έλεγχος ροής Εκτέλεση υπό συνθήκη Εκτέλεση κατ επανάληψη

Δομημένος Προγραμματισμός Είναι μία μεθοδολογία προγραμματισμού με στόχο την ευκολία στη συγγραφή του κώδικα την αποσφαλμάτωση του τη συντήρηση του προγράμματος Αποφεύγει την εντολή GOTO (κώδικας spaghetti) Κάνει εκτεταμένη χρήση υποπρογραμμάτων Στηρίζεται στο Θεώρημα του Δομημένου Προγράμματος (ή Θεώρημα Βöhm - Jacopini) (1966), κατά το οποίο κάθε αλγόριθμος μπορεί να διατυπωθεί χρησιμοποιώντας μόνον τρεις βασικές δομές ελέγχου Δομή ακολουθίας Δομή επιλογής Δομή επανάληψης

Ακρίβεια Ευστοχία πειραματικών μετρήσεων Ακρίβεια (precision ): πόσο κοντά είναι οι μετρήσεις μεταξύ τους (διασπορά). Ευστοχία (accuracy ): πόσο κοντά είναι οι μετρήσεις (ο μέσος όρους τους) στην πραγματική τιμή π.χ. Μεγάλη ευστοχία, μικρή ακρίβεια Μεγάλη ακρίβεια, μικρή ευστοχία

Σημαντικά Ψηφία Παρέχουν ένα μέτρο της ακρίβειας των πειραματικών μετρήσεων. Το πλήθος τους ισούται με όλα τα ακριβή ψηφία μιας μέτρησης συν ένα προσεγγιστικό ψηφίο. Όλα τα μη μηδενικά ψηφία είναι σημαντικά Μηδενικά ανάμεσα σε σημαντικά ψηφία είναι σημαντικά Όλα τα μηδενικά αριστερά από το πρώτο μη μηδενικό ψηφίο δεν είναι σημαντικά Όλα τα μηδενικά δεξιά από το τελευταίο σημαντικό ψηφίο είναι σημαντικά αν υπάρχει υποδιαστολή Στην επιστημονική απεικόνιση, οι δυνάμεις του 10 δεν είναι σημαντικές π.χ. Αριθμός Σημαντικά Ψηφία 0.040600 5 1500? Τουλάχιστον 2 1500 3 150 x 10 1 3 1500. 4

Σημαντικά Ψηφία (συνέχεια) Στον πολλαπλασιασμό και τη διαίρεση το αποτέλεσμα περιλαμβάνει τόσα σημαντικά ψηφία όσα ο παράγοντας με την μικρότερη ακρίβεια π.χ. 154.5 x 0.43 = 66.435 => 66 Στην πρόσθεση και την αφαίρεση το αποτέλεσμα γράφεται μέχρι τη δεκαδική θέση που δίνεται από τον αριθμό με την μικρότερη ακρίβεια π.χ. 642.62+15 = 657.62 => 658 435.5 432.3 = 3.2

Αριθμητικά Σφάλματα Σφάλματα Μοντελοποίησης Σφάλματα Μεθοδολογίας Σφάλματα Αποκοπής Σφάλματα Διακριτοποίησης Σφάλματα Δεδομένων Εισόδου (Μετρήσεων) Σφάλματα Στρογγυλοποίησης (Ακρίβειας) Machine Epsilon: O μικρότερος πραγματικός αριθμός ε για τον οποίο ισχύει 1+ε > 1. Χαρακτηρίζει την ακρίβεια ενός Η/Υ. Σε αριθμούς απλής ακρίβειας ε = 2-23 = 1.19209x10-7 Ενέργειες που αυξάνουν τα σφάλματα στρογγυλοποίησης Πρόσθεση ή αφαίρεση δύο αριθμών που διαφέρουν πολύ σε μέγεθος Αφαίρεση δύο σχεδόν ίσων αριθμών Μεγάλος αριθμός πράξεων

Τρόποι Μέτρησης Αριθμητικών Σφαλμάτων Έστω x η πραγματική τιμή και x' η αριθμητική τιμή μιας ποσότητας, τότε ορίζουμε: Απόλυτο σφάλμα (Απόλυτο) Σχετικό σφάλμα Ποσοστιαίο σφάλμα ε = x x' α ε σ x x' x' = = 1 x x x ' ε π = 1 100% x Συνθήκη για να είναι ένα αποτέλεσμα σωστό σε τουλάχιστον n σημαντικά ψηφία ε π π.χ. για n=3 πρέπει ε π < 0.05% < 2 (0.5 10 n )%

Προγραμματιστικά Λάθη Συντακτικά Λάθη Δεν επιτρέπουν την εκτέλεση του προγράμματος Λάθη Χρόνου Εκτέλεσης Διακόπτουν μη ομαλά τη λειτουργία του προγράμματος Λογικά Λάθη Δίνουν λανθασμένα αποτελέσματα

Αποσφαλμάτωση (Debugging) Εύρεση και επιδιόρθωση λαθών σε ένα πρόγραμμα. Ο όρος debugging, κατά μία ερμηνεία, αποδίδεται στην αφαίρεση ενός σκόρου (bug=έντομο) από τα ηλεκτρονικά κυκλώματα του υπολογιστή Mark II το 1940. Ο σκόρος εμπόδιζε τη σωστή λειτουργία του υπολογιστή. Για την αποσφαλμάτωση σύνθετων προγραμμάτων, χρησιμοποιούνται ειδικά προγράμματα που καλούνται debuggers και παρέχουν τη δυνατότητα εκτέλεσης του προγράμματος εντολή προς εντολή με ταυτόχρονη παρουσίαση των αλλαγών στη μνήμη RAM του υπολογιστή.