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

Σχετικά έγγραφα
Προγραμματισμός Η/Υ (ΤΛ2007 )

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Υπολογιστών

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

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

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

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

Σημειώσεις : Χρήστος Μουρατίδης. Κάντε κλικ για έναρξη

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

Πληροφορίες. Εισαγωγή στην Πληροφορική. Κατηγορίες υλισµικού. Περίληψη µαθήµατος (συνέχεια) Επεξεργαστής Μνήµη. Χειµερινό Εξάµηνο

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

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

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Δρ.

Ηλεκτρονικοί Υπολογιστές Δ Εξάμηνο

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

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

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

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

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

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

"My Binary Logic" Ένας προσομοιωτής λογικών πυλών στο Scratch

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

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

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών

Το «κλειστό» σύστημα. Ανοικτές επικοινωνίες... Εισαγωγή στην Τεχνολογία της Πληροφορικής. Εισαγωγή στην τεχνολογία της πληροφορικής

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

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

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

ΠΛΗ10 Κεφάλαιο 2. ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: : Αριθμητική περιοχή της ALU 2.5: Κυκλώματα Υπολογιστών

ΜΑΘΗΜΑ 1- MULTIPLE CHOICE

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

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

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

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

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

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

Εισαγωγή στην επιστήµη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών

ΕΠΕΞΕΡΓΑΣΙΑ ΠΛΗΡΟΦΟΡΙΕΣ ΕΞΟ ΟΣ

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

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

ΦΥΛΛΟ ΠΛΗΡΟΦΟΡΙΩΝ. Μονάδες μέτρησης χωρητικότητας μνήμης - Η περιφερειακή μνήμη

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

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

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

Πληροφορική I. "Εισαγωγικές έννοιες" B. Φερεντίνος

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

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

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

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

ΚΕΦΑΛΑΙΟ 1 ΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝ

Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή

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

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

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

Transcript:

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

Αντικείμενο του μαθήματος Βασικές έννοιες της Πληροφορικής και δομή του Η/Υ Εισαγωγή στον Προγραμματισμό (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

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

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

Ιστορική αναδρομή Μηχανισμός Αντικυθήρων, 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 και μετά. 11

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

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

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

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

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

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

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

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

Λογικές Πράξεις Δίτιμη Άλγεβρα 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 20

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

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

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

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

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

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

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