Δομημένος Προγραμματισμός (ΤΛ1006)

Σχετικά έγγραφα
Δομημένος Προγραμματισμός (ΤΛ1006)

Προγραμματισμός Η/Υ (ΤΛ2007 )

ΤΙ ΕΙΝΑΙ Ο ΥΠΟΛΟΓΙΣΤΗΣ

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

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

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ: ΥΠΟΛΟΓΙΣΤΕΣ & ΤΕΧΝΟΛΟΓΙΕΣ ΔΙΑΔΙΚΤΥΟΥ

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

Βασικές Έννοιες Πληροφορικής

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

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

Δομημένος Προγραμματισμός (ΤΛ1006)

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

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

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

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία

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

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

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

Περιεχόμενο: Δομή υπολογιστή Συστήματα αρίθμησης

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

Βασικές Έννοιες της Πληροφορικής

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

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

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

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

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

Δομημένος Προγραμματισμός (ΤΛ1006)

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

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

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

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

ΠΛΗ10 Κεφάλαιο 2. ΠΛΗ10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.1: Bασική Δομή του Υπολογιστή

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

Σύντοµη Ιστορία της Πληροφορικής

10-δικό δικό

Εισαγωγή στον Προγραμματισμό Θεωρία 1 η Διάλεξη: Βασικές Έννοιες Αρχιτεκτονικής ΗΥ

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30

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

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

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

ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ

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

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

Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

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

Μαλούτα Θεανώ Σελίδα 1

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

Ελίνα Μακρή

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη

ΠΕΡΙΕΧΟΜΕΝΑ 1 ΚΕΦΑΛΑΙΟ ΟΙ ΥΠΟΛΟΓΙΣΤΕΣ ΑΠΟ ΤΗΝ ΑΡΧΑΙΟΤΗΤΑ ΜΕΧΡΙ ΣΗΜΕΡΑ Ιστορική αναδρομή Υπολογιστικές μηχανές

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Αναπαράσταση Αριθμών

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 4 : Πράξεις με bits. Δρ. Γκόγκος Χρήστος

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

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

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

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

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο

Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου

Ψηφιακή Σχεδίαση Τ.Ε.Ι. Κρήτης Σχολή Τεχνολογικών Εφαρμογών Τμ. Μηχανικών Πληροφορικής Χειμερινό Εξάμηνο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΤΗΣ ΙΟΙΚΗΣΗΣ ΤΜΗΜΑ ΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ. Δρ. Κωνσταντίνος Κούτσικος - Δρ. Ιάσων Κουφοδόντης

Δομημένος Προγραμματισμός (ΤΛ1006)

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

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 4 ο Πράξεις με bits. Δρ.

Το υλικό του υπολογιστή

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 2

MULTIPLE CHOICE REVISION: ΜΑΘΗΜΑ 1-2

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

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

Τα µπιτ και η σηµασία τους. Σχήµα bit. ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) 1.7 Αποθήκευση κλασµάτων 1.8 Συµπίεση δεδοµένων 1.9 Σφάλµατα επικοινωνίας

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

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

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ. Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι

0 κ. Αντης Χατζηβασιλείου, Διευθυντής της Εταιρείας DATACOM παραδίδει στον κ. Σάββα Πετρίδη ένα Η.Υ. δώρο στην ΚΕΕΒ για τις μηχανογραφικές ανάγκες

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

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

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

Κεφάλαιο 2.4: Εργασία με εικονίδια

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

Ανασκόπηση στα ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας

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

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

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

ΚΕΦΑΛΑΙΟ 1 Ψηφιακός Κόσμος

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

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

Προγραμματισμός Η/Υ. 1 η ενότητα: Εισαγωγή στις γλώσσες προγραμματισμού. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων

Transcript:

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής Εφαρμογών (npet@chania.teicrete.gr) Πρώτη (1 η ) τρίωρη διάλεξη. Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/courses/el106 Εξάμηνο: Χειμερινό 2018-19

Αντικείμενο του μαθήματος Βασικές έννοιες της Πληροφορικής και δομή του Η/Υ Εισαγωγή στον Προγραμματισμό (structured programming) Η γλώσσα C Έννοιες της σχεδίασης και της ανάπτυξης λογισμικού Τι θα σας προσφέρει το μάθημα Βασικές γνώσεις Η/Υ και πληροφορικής Βασικές γνώσεις για την λειτουργία, την δομή, και την μεταγλώττιση των προγραμμάτων Την δυνατότητα να βρίσκετε την αλγοριθμική λύση ενός προβλήματος με έως μέτρια δυσκολία Την δυνατότητα να σχεδιάζετε λογισμικό και να γράφετε κώδικα σε γλώσσα C. 2

Τρόπος Εξέτασης & Βαθμολογία Ενοποίηση Θεωρίας και Εργαστηρίου (ΕΝΑΣ ΒΑΘΜΟΣ) Δίνονται γραπτές εξετάσεις προόδου στο εργαστήριο Δίνονται τελικές γραπτές εξετάσεις στην θεωρία στις οποίες πρέπει να λάβετε προβιβάσιμο βαθμό ( 5,00) Θεωρία Αν, και μόνο αν, ο τελικός βαθμός είναι προβιβάσιμος μπορεί να βελτιωθεί κατόπιν επιβράβευσης (bonus) : α) με την προσκόμιση 40 ασκήσεων από όλη την ύλη (σύμφωνα με τις οδηγίες που έχουν αναρτηθεί στο e-class) β) παρακολουθώντας την θεωρία συστηματικά. 3

Εργαστήρια Στο εργαστηριακό μέρος του μαθήματος θα γίνονται ασκήσεις άμεσα σχετιζόμενες με την θεωρία γι αυτό θα πρέπει να παρακολουθείτε και την θεωρία ανελλιπώς. Υπεύθυνοι Εργαστηρίων: Δοϊτσίδης Ελευθέριος Μαλαμάς Ηλίας Σκουνάκης Εμμανουήλ 4

Βιβλιογραφία «Η γλώσσα C σε βάθος», Νίκος Χατζηγιαννάκης, 5 η Έκδοση, Εκδόσεις Κλειδάριθμος, 2017. «C: από την θεωρία στην Εφαρμογή», Γ.Σ. Τσελίκης και Ν.Δ. Τσελίκας, 3 Έκδοση, Εκδόσεις Γ. Τσελίκης, 2016. «Μαθαίνετε εύκολα C», Δ. Καρολίδης, Εκδόσεις Άβακας, 2013. «C για Μηχανικούς», H.Tan, D Orazio, (μετάφραση Δ. Μανωλάκη, Χ. Πολάτογλου) Εκδόσεις Τζιόλα, 2000. «C για Αρχάριους», Β. Σεφερίδης, Εκδόσεις Κλειδάριθμος, 1995. «Η γλώσσα Προγραμματισμού C», B. Kernigham, D. Ritchie, μετάφραση του Θωμά Μωραΐτη, Εκδόσεις Κλειδάριθμος. 1990. Σημειώσεις Θεωρίας & Εργαστηρίου, διδάσκοντος στο e-class. «Εισαγωγή στην Πληροφορική. Προγραμματισμός με την Turbo Pascal», Χ. Τζόκας, Ν. Καρασαχινίδης,, Εκδόσεις Δίαυλος, Αθήνα 1997. (μας ενδιαφέρει μόνο το πρώτο μέρος του βιβλίου που περιλαμβάνει μια σύντομη εισαγωγή στην πληροφορική, από σελίδα 19 έως 72) 5

Μάθημα 1 0 Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Οργάνωση, δομή και λειτουργία Η/Υ. Τα προγράμματα του υπολογιστή Εισαγωγικές έννοιες για την επίλυση προβλημάτων και τον προγραμματισμό. 6

Τι είναι ο Ηλεκτρονικός Υπολογιστής (Η/Υ); Ο όρος χρησιμοποιείται ως συντόμευση για την έννοια: «Αυτόματος, Ηλεκτρονικός Ψηφιακός Υπολογιστής Γενικού Σκοπού» Ο Ηλεκτρονικός Υπολογιστής είναι μία περίπλοκη ηλεκτρονική συσκευή, που έχει τη δυνατότητα να επεξεργάζεται πολύ γρήγορα και με ακρίβεια τεράστιο όγκο πληροφοριών. Πληροφορική είναι η επιστήμη που έχει ως αντικείμενο τη συλλογή, επεξεργασία, φύλαξη και μετάδοση των πληροφοριών, με τη βοήθεια του υπολογιστή. 7

Μονάδες μέτρησης πληροφορίας Η ελάχιστη ποσότητα πληροφορίας στους ηλεκτρονικούς υπολογιστές είναι το ένα δυαδικό ψηφίο (bit = binary digit) που μπορεί να λάβει τιμή 0 ή 1. Μια οκτάδα τέτοιων ψηφίων αποτελούν μία ψηφιολέξη (byte) που είναι η μονάδα μέτρησης της χωρητικότητας των διαφόρων τμημάτων του Η/Υ. Στη πράξη χρησιμοποιούμε πολλαπλάσια αυτής: KiloByte 1KB = 2 10 Bytes = 1024 Bytes, MegaByte 1MB = 2 20 Bytes = 2 10 KB = 1.048.576 Bytes, GigaByte 1GB = 2 30 Bytes = 2 10 MB = 1024 MB, TeraByte 1TB = 2 40 Bytes = 2 10 GB. PetaByte 1PB = 2 50 Bytes και έπεται συνέχεια όπως: ExaByte, ZettaByte, YottaByte. 8

Ένα κιμπιμπάιτ (μια σύμπτυξη της ονοματικής φράσης kilo binary byte) είναι μονάδα πληροφορίας ή μνήμης υπολογιστή, συντομευμένα KiB (ποτέ "kib"). {Από την wikipedia} 9

Τι ΔΕΝ είναι ο Ηλεκτρονικός Υπολογιστής Δεν είναι Ηλεκτρονικός Εγκέφαλος. Δεν είναι απλή αριθμομηχανή. Δεν είναι αυτόνομη λογικά σκεπτόμενη μονάδα. Δεν έχει ανεξάρτητη λειτουργία πέρα από το πρόγραμμα πού του έχει ορισθεί να εκτελέσει πιστά. Δεν είναι σε θέση να εκτελέσει λειτουργίες οι οποίες δεν έχουν ορισθεί και μοντελοποιηθεί με ακρίβεια. 10

Ανακεφαλαιώνοντας οι Η/Υ μπορούν να: επεξεργασθούν τεράστιους όγκους μοντελοποιημένων δεδομένων (data modelling and data representation). εκτελέσουν πιστά επαναληπτικές, πολύπλοκες, και μακρές διαδικασίες (algorithms and processes). επιλύσουν παραμετρικά, μοντελοποιημένα προβλήματα με υψηλή απόδοση, και αξιοπιστία (performance time/space, reliability/robustness). 11

Ιστορική αναδρομή Μηχανισμός Αντικυθήρων, 87 πχ Ράβδοι του Napier (Λογαριθμικός Κανόνας) 1600 Αριθμητική Μηχανή του Pascal 1642 Μηχανοποίηση του Πολ/σμού Leibnitz 1694 Υφαντουργική Μηχανή με κάρτες Jacquard - 1745 Διαφορική Μηχανή Babbage 1822 Αναλυτική Μηχανή (Μνήμη, έλεγχος ροής, αριθμητική υπολογιστική μονάδα, μονάδες εισόδου/εξόδου Parmalee, Webb, Babbage 1868 Ηλεκτρομηχανική μηχανή με διάτρητα δελτία Hollerith 1891 Πρώτη αυτόματη υπολογιστική μηχανή ΙΒΜ 1929 Υπολογιστής με Ηλεκτρονόμους από την Bell Telephone Labs - 1938 Ψηφιακός Η/Υ ENIAC 1946 UNIVAC 1951 Υπολογιστές με Μαγνητικό Τύμπανο 1953 Υπολογιστές με δίσκους 1970 s micro computers Personal Computers 80 s Super Computers 80 s 90 s Ubiquitous Computing and Devices (Πανταχού παρών υπολογισμός) από το 1990 και μετά. 12

Ιστορική αναδρομή Διαφορική Μηχανή Babbage 1822, London Science Museum (Copy) 13

Ιστορική αναδρομή Ψηφιακός Η/Υ ENIAC 1946 14

Οργάνωση και δομή του Η/Υ Ένας τυπικός Η/Υ, που όπως είδαμε νωρίτερα είναι μια επανα-προγραμματιζόμενη συσκευή επεξεργασίας πληροφοριών, αποτελείται από τα εξής μέρη: Μονάδα Εισόδου (Input Unit) Κεντρική Μνήμη (Memory Unit) Αριθμητική/Λογική Μονάδα (Arithmetic and Logical Unit) Μονάδα Ελέγχου (Control Unit) Μονάδα Εξόδου (Output Unit) 15

Τα υποσυστήματα ενός Ηλεκτρονικού Υπολογιστή 16

Μονάδα Εισόδου Το υποσύστημα το οποίο κωδικοποιεί τις πληροφορίες που προέρχονται από το εξωτερικό περιβάλλον. Πληκτρολόγιο (keyboard) Ποντίκι (mouse) Ευαίσθητες επιφάνειες (smart panels) Συσκευές ανάγνωσης μαγνητικών καρτών (magnetic card readers) Συσκευές ανάγνωσης ήχου και εικόνας (sound and image acquisition) Συσκευές μετρήσεων (sensors) κ.λ.π. 17

Μονάδα Εξόδου Το υποσύστημα το οποίο απο-κωδικοποιεί τις πληροφορίες που προέρχονται από τον Η/Υ και τις διανέμει προς το εξωτερικό περιβάλλον. Οθόνη (display) Εκτυπωτής (printer) Σχεδιογράφος (plotter) Συσκευές ήχου (audio) Ηλεκτρομηχανικές συσκευές (actuators) κ.λ.π. 18

Κεντρική Μνήμη Το υποσύστημα το οποίο είναι υπεύθυνο για την προσωρινή αποθήκευση όλων των πληροφοριών (εντολές και δεδομένα) που είναι απαραίτητες για την λειτουργία του Η/Υ και την εκτέλεση ενός προγράμματος. Η Κεντρική Μνήμη επικοινωνεί με τις Μονάδες Εισόδου/Εξόδου, την Αριθμητική & Λογική Μονάδα, και την Μονάδα Ελέγχου. Τα βασικά τεχνικά χαρακτηριστικά της Κεντρικής Μνήμης είναι: Χωρητικότητα Ταχύτητα Η μνήμη μπορεί να θεωρηθεί σαν ένα σύνολο από θήκες. Κάθε θήκη έχει μία αριθμητική διεύθυνση και μπορεί να αποθηκεύσει μία μικρή και συγκεκριμένη πληροφορία. Αυτή η πληροφορία μπορεί να είναι είτε μία εντολή, η οποία υπαγορεύει στον Η/Υ τι να κάνει, είτε δεδομένα τα οποία χρειάζεται ο υπολογιστής για να εκτελέσει τις εντολές που ήδη υπάρχουν στη μνήμη του. 19

Αριθμητική και λογική μονάδα Η «καρδιά» του υπολογιστή. Το υποσύστημα το οποίο είναι υπεύθυνο για τον μετασχηματισμό των κωδικοποιημένων ψηφιακών πληροφοριών. Οι μετασχηματισμοί είναι: Αριθμητικές πράξεις (Πρόσθεση, Αφαίρεση, Πολλαπλασιασμός, Διαίρεση, κλπ), Λογικές πράξεις (AND, OR, NOT, XOR) Πράξεις συγκρίσεων (Ισότητα, διαφορά, μεγαλύτερο, κλπ) 20

Λογικές Πράξεις Δίτιμη Άλγεβρα Boole Λογικές πράξεις μεταξύ δυαδικών ψηφίων {0, 1} Παραδείγματα: AND, OR, XOR Πίνακες αλήθειας {0 = Ψευδές (False), 1 = Αληθές (True)} Είσοδοι Σύζευξη Διάζευξη Αποκλειστική Διάζευξη A B A AND B A OR B A XOR B 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 1 1 1 1 0 21

Μονάδα Ελέγχου Το υποσύστημα το οποίο είναι υπεύθυνο για τον συντονισμό της διαδοχής των πράξεων στην Αριθμητική & Λογική Μονάδα, και των υπολοίπων μονάδων του Η/Υ. Κατά τη διάρκεια εκτέλεσης ενός προγράμματος, η Μονάδα Ελέγχου λαμβάνει/διαβάζει εντολές (ηλεκτρικά σήματα - instructions) και στοιχεία (data) από τη μνήμη και σε καθορισμένες χρονικές στιγμές (περιοδικά) στέλνει σήματα ελέγχου/οδηγιών προς την Αριθμητική & Λογική Μονάδα, κατόπιν στέλνει τα αποτελέσματα πίσω στη μνήμη ή τις Μονάδες Εισόδου/Εξόδου. 22

Κεντρική μονάδα επεξεργασίας (CPU) Η Μονάδα Ελέγχου μαζί με την Αριθμητική & Λογική Μονάδα αναφέρονται ως CPU (Central Processing Unit). Από τις αρχές της δεκαετίας του 1970, η CPU βρίσκεται σε ένα ολοκληρωμένο κύκλωμα το οποίο ονομάζεται μικροεπεξεργαστής (microprocessor). 23

Τα προγράμματα του Η/Υ Υπάρχουν δύο βασικές κατηγορίες προγραμμάτων: Λογισμικό του συστήματος (System Software) Λειτουργικό Σύστημα (Operating System) Μεταγλωττιστικά προγράμματα (Compilers) Βοηθητικά προγράμματα (Utilities) Λογισμικό των εφαρμογών (Application Software). 24

Γενικά Περί Γλωσσών Προγραμματισμού Συντακτικό και Ερμηνεία Το συντακτικό ορίζει τους γραμματικούς κανόνες για μία σωστά δομημένη πρόταση, ενώ η ερμηνεία ορίζει την σημασία της πρότασης Γλώσσα Μηχανής ή Κώδικας Μηχανής (Machine Code) Είναι σε δυαδική μορφή, άμεσα κατανοητή από το υλικό Συμβολική Γλώσσα Είναι σε συμβολική μορφή και κάθε εντολή αντιστοιχεί με μια εντολή κώδικα μηχανής πιο βολική για τον άνθρωπο Γλώσσες Υψηλού Επιπέδου Προγραμματισμού (Source Code) Είναι σε συμβολική μορφή και κάθε εντολή μοιάζει με Αγγλικά (στις περισσότερες γλώσσες προγραμματισμού) Σε κάθε περίπτωση χρειαζόμαστε κάποιους μεταφραστές από τη μία μορφή (γλώσσα) στην άλλη: - Συμβολομεταφραστές (assemblers) και - Μεταγλωττιστές (compilers) 25

Μεταγλώττιση στην πράξη Ο μεταγλωττιστής παίρνει το αρχείο του πηγαίου κώδικα ως είσοδο και δημιουργεί ένα αρχείο δίσκου το οποίο περιέχει τις οδηγίες γλώσσας μηχανής οι οποίες αντιστοιχούν στις προτάσεις του πηγαίου κώδικα. 1. Μετάφραση και Συμβολομετάφραση: Tα βήματα αυτά παράγουν αντικείμενο κώδικα object code (σχεδόν γλώσσα μηχανής). 2. Ενοποίηση (linking): Το βήμα αυτό ενοποιεί αντικείμενο κώδικα (πιθανόν από διαφορετικά αρχεία πηγαίου κώδικα) σε ένα εκτελέσιμο αρχείο (π.χ..exe) σε καθαρή γλώσσα μηχανής. 26

Εκτέλεση Προγράμματος Μόλις το πρόγραμμα μεταγλωττιστεί και δημιουργηθεί το εκτελέσιμο αρχείο μπορούμε να το εκτελέσουμε εισάγοντας το όνομά του. 1. Εάν εκτελείτε το πρόγραμμα και λαμβάνετε αποτελέσματα διαφορετικά από τα αναμενόμενα, πρέπει να προσδιορίσετε τι προκάλεσε το πρόβλημα και να διορθώσετε τον πηγαίο κώδικα. 2. Αν κάνετε μία οποιαδήποτε αλλαγή στον πηγαίο κώδικα, χρειάζεται να τον μεταγλωττίσετε (compile) εκ νέου, για να δημιουργήσετε την διορθωμένη έκδοση του εκτελέσιμου αρχείου. 3. Επαναλάβετε τα παραπάνω βήματα μέχρι την επίτευξη του επιθυμητού αποτελέσματος. 27

Ανασκόπηση μαθήματος Γενικά ιστορικά στοιχεία περί της εξέλιξης των Η/Υ. Οργάνωση δομή και λειτουργία των Η/Υ. Γενικές αρχές για τις Γλώσσες Προγραμματισμού. Εισαγωγικές έννοιες για τη μετάφραση και τη συμβολομετάφραση των προγραμμάτων. 28

Αριθμητικά συστήματα και μετατροπές από το ένα σύστημα στο άλλο. Δυαδικό βάση = 2 =2 1 Οκταδικό βάση = 8 =2 3 Δεκαεξαδικό βάση = 16 =2 4 Δεκαδικό βάση = 10 29

Πίνακας αντιστοίχισης Δεκαδικό Δυαδικό Οκταδικό Δεκαεξαδικό 0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 Α 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 16 10000 20 10 17 10001 21 11 30

Μετατροπές ακεραίων μεταξύ συγγενικών αριθμητικών συστημάτων (1) Η μετατροπή ενός αριθμού από το δυαδικό στο οκταδικό ή το δεκαεξαδικό σύστημα αρίθμησης (και αντίστροφα) γίνεται απευθείας, χωρίς να χρειαστεί ενδιάμεσα το πέρασμα από το δεκαδικό σύστημα. Από δυαδικό σε οκταδικό ή δεκαεξαδικό Για να μετατρέψουμε έναν αριθμό από το δυαδικό σύστημα στο οκταδικό ή στο δεκαεξαδικό, ομαδοποιούμε τα ψηφία του δυαδικού αριθμού (ανά τρία ή τέσσερα αντίστοιχα) ξεκινώντας από τα δεξιά, και αντικαθιστούμε την κάθε ομάδα με το ισοδύναμο ψηφίο του οκταδικού ή δεκαεξαδικού. 31

Μετατροπές ακεραίων μεταξύ συγγενικών αριθμητικών συστημάτων (2) Από οκταδικό ή δεκαεξαδικό στο δυαδικό Για να μετατρέψουμε έναν αριθμό από το οκταδικό ή το δεκαεξαδικό σύστημα στο δυαδικό, αρκεί να αντικαταστήσουμε κάθε ψηφίο τού αριθμού τού πρώτου συστήματος με την ακολουθία δυαδικών ψηφίων που αντιστοιχούν στο ψηφίο αυτό. Πάντα αντικαθιστούμε ένα ψηφίο οκταδικού αριθμού με τρία δυαδικά ψηφία, ενώ ένα ψηφίο δεκαεξαδικού αριθμού με τέσσερα δυαδικά ψηφία. Παραδείγματα: 32

Μετατροπή ακέραιου από/προς το δεκαδικό Για να μετατρέψουμε (υπολογίσουμε) έναν αριθμό από οποιοδήποτε αριθμητικό σύστημα στο δεκαδικό, υπολογίζουμε το άθροισμα των γινομένων της αξίας του κάθε ψηφίου του επί την αξία της θέσεως που αυτό κατέχει. Για να μετατρέψουμε έναν αριθμό από το δεκαδικό σύστημα αρίθμησης σε οποιοδήποτε άλλο αριθμητικό σύστημα, διενεργούμε διαδοχικές διαιρέσεις δια της βάσης του νέου αριθμητικού συστήματος μέχρι να λάβουμε πηλίκο μηδέν. Τα υπόλοιπα των διαιρέσεων με την αντίστροφη σειρά αποτελούν τα ζητούμενα ψηφία του αριθμού στο νέο αριθμητικό σύστημα. 33

Εύρεση αξίας ενός δυαδικού αριθμού Ένας δυαδικός αριθμός είναι μια ακολουθία από 0 και 1. Η μετατροπή ενός δυαδικού αριθμού με υποδιαστολή, όπως π.χ. b 4 b 3 b 2 b 1 b 0. b -1 b -2 b -3 (2) βάση συστήματος (δυαδικό) υποδιαστολή στο δεκαδικό προκύπτει από το άθροισμα γινομένων, της αξίας τού κάθε ψηφίου επί την αξία της θέσεως που ευρίσκεται: = (b 4 x 2 4 ) + (b 3 x 2 3 ) + (b 2 x 2 2 ) + (b 1 x 2 1 ) + (b 0 x 2 0 ) + + (b -1 x 2-1 ) + (b -2 x 2-2 ) + (b -3 x 2-3 ) (10) βάση συστήματος (δεκαδικό) Οπότε: 10111.101 (2) = 23.625 (10) 34