Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό. Ενότητα: Εισαγωγικά μαθήματος και Δυαδική αναπαράσταση

Σχετικά έγγραφα
343 Ειςαγωγι ςτον Ρρογραμματιςμό

343 Ειςαγωγι ςτον Ρρογραμματιςμό

Ειςαγωγι ςτο Δομθμζνο Προγραμματιςμό. Βαγγζλθσ Οικονόμου

343 Ειςαγωγι ςτον Προγραμματιςμό

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

343 Ειςαγωγι ςτον Προγραμματιςμό

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8

Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 2

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ. Φιλιοποφλου Ειρινθ

343 Ειςαγωγι ςτον Προγραμματιςμό

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

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό

Θεςιακά ςυςτιματα αρίκμθςθσ

ΕΝΟΤΗΤΑ 2: ΕΠΙΚΟΙΝΩΝΩ ΜΕ ΤΟΝ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Αρχεία - Φάκελοι

MySchool Πρακτικζσ οδθγίεσ χριςθσ

17. Πολυδιάςτατοι πίνακεσ

Διαχείριςθ του φακζλου "public_html" ςτο ΠΣΔ

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

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό

x n D 2 ENCODER m - σε n (m 2 n ) x 1 Παραδείγματα κωδικοποιθτϊν είναι ο κωδικοποιθτισ οκταδικοφ ςε δυαδικό και ο κωδικοποιθτισ BCD ςε δυαδικό.

Ρρογραμματιςμόσ Μεκόδων Επίλυςθσ Ρροβλθμάτων. 18. Αλφαριθμητικά. Ιωάννθσ Κατάκθσ. ΕΡΛ 032: Ρρογραμματιςμόσ Μεκόδων Επίλυςθσ Ρροβλθμάτων

Πειραματικι Ψυχολογία (ΨΧ66)

Οδηγός χρήσης Blackboard Learning System για φοιτητές

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 2 ο Εργαςτιριο Διαχείριςθ Διεργαςιϊν

Ανάπτυξη Εφαρμογών Σε Προγραμματιςτικό Περιβάλλον

Η γλώςςα προγραμματιςμού C

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

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Δομζσ Δεδομζνων Πίνακεσ

ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ. Κεφάλαιο 8 Η γλϊςςα Pascal

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Εργαςτιριο 1

ΤΙΤΛΟΣ: "SWITCH-ΠΩ ΝΑ ΚΑΣΑΦΕΡΕΙ ΣΗΝ ΑΛΛΑΓΗ ΟΣΑΝ Η ΑΛΛΑΓΗ ΕΙΝΑΙ ΔΤΚΟΛΗ" Σσγγραφείς: Chip Heath & Dan Heath. Εκδόζεις: Κσριάκος Παπαδόποσλος/ΕΕΔΕ

ΕΡΓΑΣΗΡΙΑΚΗ ΑΚΗΗ 4.1

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

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 15. Πίνακεσ ΙI. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

Πληροφορική και Εκπαίδευση

Ειδικά Θζματα Βάςεων Δεδομζνων

343 Ειςαγωγι ςτον Προγραμματιςμό

ΑΝΑΠΣΤΞΘ ΕΦΑΡΜΟΓΩΝ Ε ΠΡΟΓΡΑΜΜΑΣΙΣΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 3 ο ΓΕΝΙΚΟ ΛΤΚΕΙΟ Ν. ΜΤΡΝΘ- ΕΠΙΜΕΛΕΙΑ: ΠΤΡΙΔΑΚΘ Λ.

Πωσ δθμιουργώ φακζλουσ;

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 3 ο Εργαςτιριο υγχρονιςμόσ Διεργαςιϊν

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 2: Σο Τλικό του Τπολογιςτι

Γενικά Μαθηματικά ΙΙ

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 6: Το γραφικό περιβάλλον Επικοινωνίασ (Γ.Π.Ε)

ΗΥ101: Ειςαγωγι ςτθν Πλθροφορικι

Ειςαγωγι ςτθν Επιςτιμθ Υπολογιςτϊν. Ειςαγωγι ςτθν Python

Ένα πρόβλθμα γραμμικοφ προγραμματιςμοφ βρίςκεται ςτθν κανονικι μορφι όταν:

Ηλεκτρονικι Επιχειρθςιακι Δράςθ Εργαςτιριο 1

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Ιδιότθτεσ πεδίων Γενικζσ.

Δομθμζνοσ Προγραμματιςμόσ. Βαγγζλθσ Οικονόμου Εργαςτιριο 9

TIM Εικονικό Περιβάλλον Συνεργασίας Οδθγίεσ Χριςθσ

Διαχείριςη Αριθμοδεικτών (v.1.0.7)

Σφντομεσ Οδθγίεσ Χριςθσ

Virtualization. Στο ςυγκεκριμζνο οδηγό, θα παρουςιαςτεί η ικανότητα δοκιμήσ τησ διανομήσ Ubuntu 9.04, χωρίσ την ανάγκη του format.

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

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

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Εργαςτιριο 2

Παράςταςη ςυμπλήρωμα ωσ προσ 1

Ειδικζσ Ναυπηγικζσ Καταςκευζσ και Ιςτιοφόρα κάφη (Ε)

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

ΘΥ101: Ειςαγωγι ςτθν Πλθροφορικι

Τεχνικζσ Ανάλυςησ Διοικητικών Αποφάςεων

Βάςεισ Δεδομζνων Ι. Ενότητα 4: Μετατροπή ςχήματοσ Ο/Σ ςε ςχεςιακό. Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ

ΡΟΓΑΜΜΑΤΙΣΤΙΚΟ ΡΕΙΒΑΛΛΟΝ MICRO WORLDS PRO

Εισαγωγικές έννοιες. Αντώνησ Κ Μαώργιώτησ

Οδηγίες αναβάθμισης χαρτών

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 20. Αρχεία. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

ΥΡΟΝΣΙ ΣΗΡΙΟ Μ. Ε. ΚΑΙ ΚΕΝΣΡΟ ΙΔΙΑΙΣΕΡΩΝ ΜΑΘΗΜΑΣΩΝ «ΚΤΡΙΣ Η» ΔΙΑΓΩΝΙ ΜΑ ΑΕΠΠ

Multi Logo. Προγραμματιςμόσ Η/Υ με Multi Logo. Σχεδίαςη και ανάπτυξη εφαρμογήσ κίνηςησ αντικειμζνου

3 ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ ( while, do while )

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

Joomla! - User Guide

Οντοκεντρικόσ Προγραμματιςμόσ

Γ' ΛΥΚΕΙΟΥ Η ΤΑΞΗ ΤΗΣ ΤΕΛΙΚΗΣ ΕΠΙΛΟΓΗΣ. Στθ ΓϋΛυκείου οι Ομάδεσ Προςανατολιςμοφ είναι τρεισ:

Εργαςτιριο Πικανοτιτων Σθμειϊςεισ προγραμματιςμοφ: βαςικζσ γνϊςεισ ανάπτυξθσ εφαρμογϊν. Κϊςτασ Αρβανιτάκθσ

Ειδικά Θζματα Βάςεων Δεδομζνων

343 Ειςαγωγι ςτον Ρρογραμματιςμό

Οδηγίεσ για την Τποβολή Καταςτάςεων υμφωνητικών μζςω xml αρχείου

Ανάπτυξη Εφαρμογών με Σχεςιακέσ Βάςεισ Δεδομένων

Περιοριςμοί μιασ Β.Δ. ςτθν Access(1/3)

Διαδικαςία Προγράμματοσ Ωρομζτρθςθσ. (v.1.0.7)

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

1. Εγκατάςταςη κειμενογράφου JCE

Βάςεισ Δεδομζνων Ι. Ενότθτα 10: Συνακροιςτικζσ ςυναρτιςεισ. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικών Πλθροφορικισ ΣΕ

Τίτλος Μαθήματος: Θεωρία Γραφημάτων. Ενότητα: Εισαγωγικά μαθήματος. Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος. Τμήμα: Μαθηματικών

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο τησ Αριθμογραμμήσ

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Transcript:

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό Ενότητα: Εισαγωγικά μαθήματος και Δυαδική αναπαράσταση Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος Τμήμα: Μαθηματικών

343 Ειςαγωγι ςτον Ρρογραμματιςμό Τμιμα Μακθματικϊν Ρανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2013-2014 Χάρθσ Ραπαδόπουλοσ 207δ, B όροφοσ e-mail: charis@cs.uoi.gr Ωρεσ Γραφείου: Δευτζρα 11-13 & Ραραςκευι 11-13

Στόχοσ Μακιματοσ Ανάλυςθ και επίλυςθ προβλθμάτων με Η/Υ Γλϊςςα προγραμματιςμοφ: C/C++ Δυαδικι αναπαράςταςθ Είςοδοσ/Ζξοδοσ δεδομζνων, τφποι δεδομζνων & μεταβλθτϊν Αρικμθτικοί και λογικοί τελεςτζσ οι ελζγχου προγράμματοσ: if/else, switch, for, while, do-while Συναρτιςεισ, εμβζλεια μεταβλθτϊν και αναδρομι Ρίνακεσ (μονοδιάςτατοι και πολυδιάςτατοι) Ψευδοτυχαίοι αρικμοί και Συμβολοςειρζσ Χριςθ αρχείων Εγγραφζσ και δομζσ Εφαρμογζσ ςε ταξινομιςεισ και αναηιτθςθ ςτοιχείων Διαλζξεισ (3 ϊρεσ) και Εργαςτιρια (2 ϊρεσ) Η ςυμμετοχι ςτισ εργαςτθριακζσ αςκιςεισ είναι υποχρεωτικθ

Κάκε εβδομάδα Διδαςκαλία 3ωρθ διάλεξθ: ανάλυςθ χαρακτθριςτικϊν τθσ C/C++ 2ωρο εργαςτιριο: πρακτικι εξάςκθςθ (υλοποίθςθ προγραμμάτων) μζςα από ςυγκεκριμζνα προβλιματα Εργαςτιρια: 7 εβδομαδιαία εργαςτιρια (5+2Quiz) Σκοπόσ των εργαςτθρίων είναι θ εμπζδωςθ τθσ φλθσ, θ εξάςκθςθ και θ λφςθ αποριϊν Η παρακολοφκθςθ είναι υποχρεωτικι και είναι το διαβατθριο για να λάβετε μζροσ ςτισ τελικζσ εξετάςεισ Μπορείτε να λείψετε ςε 1 το πολφ εργαςτιριο Προςοχι: Εάν λείψετε ςε παραπάνω εργαςτιρια δεν μπορείτε να λάβετε μζροσ ςτισ εξετάςεισ!!!

Εργαςτιρια & Τεςτ Quiz Στα Εργαςτιρια κα πρζπει: Να κατανοείτε το πρόβλθμα και να προςπακείτε να ςχεδιάςετε τθν λφςθ πριν ζλκετε ςτο εργαςτιριο. Να ςυμμετζχετε ενεργά και να είςτε προετοιμαςμζνοι να απαντάτε ςε ερωτιςεισ ςχετικά με το μάκθμα Θα βακμολογθκείτε με ερωτιςεισ κουίη ςε 2 εργαςτιρια με βακμολογία 20% του τελικοφ βακμοφ. Θζματα πολλαπλϊν επιλογϊν διαλεγμζνα από κεωρία και εργαςτιρια. Ερωτιςεισ Κουίη: Αποτελοφν ενδιάμεςα τεςτ που βακμολογοφν τθν επίδοςι ςασ Ρολφ πιο δφςκολα από ό,τι φαντάηεςτε ( αν δεν μελετάτε ςυςτθματικά) Μετά από ~3 εργαςτιρια κα εφαρμόηονται ( αν απουςιάηετε, δεν βακμολογείςτε).

Ερωτιςεισ Κουιη: Τρόποσ Εξζταςθσ Quiz http://ecourse.uoi.gr Μακθματικϊν -> Ρροπτυχιακά Μακιματα Θα πρζπει να δθμιουργιςετε ΝΕΟ ΛΟΓΑΙΑΣΜΟ (εκτόσ αν ιδθ ζχετε) και κα ςασ ςταλεί μζςο email κωδικόσ για το μάκθμα (+) Ρικανόν να ςασ δοκοφν αςκιςεισ για το ςπίτι (ολοκλθρωμζνα προγράμματα) με προςκετικι βακμολογία Ραλαιότεροι φοιτθτζσ: όςοι ζχουν ιδθ παρακολουκιςει επιτυχϊσ τα εργαςτιρια μποροφν να προςζλκουν ςτισ τελικζσ εξετάςεισ

Τελικι Βακμολογία Επιτυχισ παρακολοφκθςθ των υποχρεωτικϊν εργαςτθρίων μία (1) το πολφ απουςία ςε πζντε (5) εργαςτθριακά μακιματα Δυο (2) τεςτ quiz με βάροσ 10% του ςυνολικοφ βακμοφ το κακζνα. Πςοι απουςιάςουν ςε ζνα τεςτ quiz: μθδενίηεται το 10% Ατομικι εργαςία με προςκετικι βακμολογία (+1). Σελικι βακμολογία (με επιτυχι παρακολοφκθςθ εργαςτθρίων): ΤΒ = (10% Q1) + (10% Q2) + (80% Γρ.Εξ.) + (ατομικι εργαςία)

Σελίδα Μακιματοσ: Χριςιμο Υλικό http://www.cs.uoi.gr/~charis/c343 Διαφάνειεσ Διαλζξεων Εργαςτθριακζσ Αςκιςεισ Υλοποιθμζνα προγράμματα και παραδείγματα Ανακοινϊςεισ Λογιςμικό υλοποίθςθσ προγραμμάτων : Bloodshed DevC++ : http://www.bloodshed.net/

Τμιματα Εργαςτθρίων Εργαςτιριο (μεγάλο): Εργαςτιριο Η/Υ 1 ο όροφο δίπλα από το Αναγνωςτιριο Τα εργαςτιρια κα ξεκινιςουν Δευτζρα 4 Νοεμβρίου Εργαςτιριο Δευτζρασ (15-21) Εργαςτιριο Σρίτθσ (18-21) Α1 Δευτζρα 15:00-16:30???? -???? Α2 Δευτζρα 16:30-18:00???? -???? Α3 Δευτζρα 18:00-19:30???? -???? Α4 Δευτζρα 19:30-21:00???? -???? Αλλαγζσ ΔΕΝ επιτρζπονται! Β1 Σρίτθ 18:00-19:30???? -???? Β2 Σρίτθ 19:30-21:00???? -???? -???? Θα ανακοινωκοφν ςφντομα τα τμιματα με βάςθ τον Α.Μ.

Βιβλιογραφία [1] W. Savitch, Ρλιρθσ C++, Εκδόςεισ Τηιόλα, 2011. *2+ Η. Deitel and P. Deitel, C++ Ρρογραμματιςμόσ 6θ Εκδοςθ, Εκδόςεισ Μ. Γκιοφρδασ, 2013. [3] L. Jesse, Ρλιρεσ εγχειρίδιο τθσ C++, Εκδόςεισ Α. Γκιοφρδα, 2006. [4] Ν. Χατηθγιαννάκθσ, Η γλϊςςα C++ ςε βάκοσ, Εκδόςεισ Κλειδάρικμοσ, 2008. Θα ςυμβοφλευα να ακολουκιςετε τα *1+ και *2+ (και ειδικότερα το *1+) Σε αυτά αναφζρονται αναλυτικά οι αντίςτοιχεσ ενότθτεσ που καλφπτουμε

Θ: διάλεξη (θεωρία) Ε: Εργαστήριο Ημερολόγιο Μακιματοσ Q: Τεστ quiz Εβδομάδα Θζματα Υλθ βιβλιογραφίασ *1+: 1.1, Ραράρτθμα 3 Οκτώβριος 2013 Πζ, 17 Οκτωβρίου Ειςαγωγικά μακιματοσ & Δυαδικι αναπαράςταςθ *2+: Κεφ. 1, Β, Δ Δ Τ Τ Π Π Είςοδοσ/Ζξοδοσ δεδομζνων, τφποι δεδομζνων & *1+: 1.2, 1.3, 1.4, 1.5, Ραράρτθμα 1 Πζ, 24 Οκτωβρίου 14 15 16 17 Θ 18 μεταβλθτϊν *2+: Κεφ. 2, Γ 21 22 23 24 Θ 25 Προεπεξεργαςτισ, αρικμθτικοί και λογικοί *1+: 2.1, Ραράρτθμα 2 Πζ, 31 Οκτωβρίου τελεςτζσ *2+: 4.11, 4.12, Α, ΣΤ 28 29 30 31 Θ Δε Σρ, 4-5 Νοε 1 ο Εργαςτιριο [1]: 2.2, 2.3 Νοέμβριος 2013 Πζ, 7 Νοεμβρίου Ροι ελζγχου: if/else, switch, for, while, do-while *2+: Κεφ. 4, Κεφ. 5 Δ Τ Τ Π Π Δε Σρ, 11-12 Νοε 2 ο Εργαςτιριο 4 E 5 E 6 7 Θ 8 [1]: 3.1, 3.2, 3.3, 4.1, 4.2, 13.1, 13.2 Πζ, 14 Νοεμβρίου υναρτιςεισ, εμβζλεια μεταβλθτϊν και αναδρομι *2+: Κεφ. 6 11 E 12 E 13 14 Θ 15 Δε Σρ, 18-19 Νοε 3 ο Εργαςτιριο 18 E 19 E 20 21 Θ 22 [1]: 5.1, 5.2, 5.4 Πζ, 21 Νοεμβρίου Επανάλθψθ με Παραδείγματα 25 Q 26 Q 27 28 Θ 29 *2+: Κεφ. 7 Δε Σρ, 25-26 Νοε 1 ο Quiz Δεκέμβριος 2013 [1]: 5.1, 5.2, 5.4 Πζ, 28 Νοεμβρίου Πίνακεσ (μονοδιάςτατοι και πολυδιάςτατοι) Δ Τ Τ Π Π *2+: Κεφ. 7 Δε Σρ, 2-3 Δεκ 4 ο Εργαςτιριο 2 E 3 E 4 5 Θ 6 *1+: Ραράρτθμα 4, 9.1, 9.2, 9.3 Πζ, 5 Δεκεμβρίου Ψευδοτυχαίοι αρικμοί και υμβολοςειρζσ 9 E 10 E 11 12 Θ 13 *2+: 6.7, 6.8, Κεφ. 18 16 Q 17 Q 18 19 Θ 20 Δε Σρ, 9-10 Δεκ 5 ο Εργαςτιριο [1]: 6.1, 12.1, 12.2, 12.4 Πζ, 12 Δεκεμβρίου Χριςθ αρχείων, εγγραφζσ και δομζσ [2]: Κεφ. 21, 17.1-17.10 Ιανουάριος 2014 Δε Σρ, 16-17 Δεκ 2 ο Quiz Δ Τ Τ Π Π Εφαρμογζσ ςε ταξινομιςεισ και αναηιτθςθ [1]: 5.3, 13.3 6 7 8 9 Θ 10 Πζ, 19 Δεκεμβρίου ςτοιχείων *2+: 7.7, 7.8, 8.6, Κεφ. 19 Πζ, 9 Ιανουαρίου Επανάλθψθ

Ενότθτα 1 ΒΑΙΚΑ ΣΟΙΧΕΙΑ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ & ΣΟ ΠΡΩΣΟ ΠΑΡΑΔΕΙΓΜΑ

Ειςαγωγι Υπολογιςτισ: ςυςκευι που μπορεί να εκτελζςει υπολογιςμοφσ και να πάρει λογικζσ αποφάςεισ, με ταχφτθτεσ διςεκατομμφρια φορζσ μεγαλφτερεσ από εκείνεσ των ανκρϊπων Αλλά για να ξζρει τι να κάνει ζνασ υπολογιςτισ, πρζπει κάποιοσ (εμείσ) να του δϊςει οδθγίεσ Στο μάκθμα αυτό κα μάκουμε να δίνουμε οδθγίεσ ςε ζναν υπολογιςτι! Στόχοσ μασ: Διαφάνεια του προγράμματοσ, χρθςιμοποιϊντασ δομθμζνο προγραμματιςμό

Ρροβλιματα Πρόβλθμα: Μία κατάςταςθ θ οποία χριηει αντιμετϊπιςθσ, απαιτεί λφςθ, θ δε λφςθ τθσ οποίασ δεν είναι γνωςτι, οφτε προφανισ

Κατθγορίεσ Ρροβλθμάτων Με βάςθ τθν δυνατότθτα επίλυςθσ: Επιλφςιμα: Η λφςθ τουσ είναι γνωςτι ι μπορεί να αποδειχκεί ότι ζχουν λφςθ Ανοικτά: Δεν υπάρχει διατυπωμζνθ λφςθ αλλά δεν ζχει αποδειχκεί ότι δεν λφνονται Άλυτα: Ζχει αποδειχκεί ότι δεν ζχουν λφςθ Με βάςθ το ηθτοφμενο: Απόφαςθσ: Το ηθτοφμενο του προβλιματοσ είναι θ λιψθ μιασ απόφαςθσ (π.χ. Αν ο αρικμόσ 11 είναι πρϊτοσ ι όχι) Τπολογιςτικά: Το ηθτοφμενο είναι το αποτζλεςμα μιασ ςειράσ υπολογιςμϊν (π.χ. Να βρεκεί θ δόςθ για πενταετζσ δάνειο 40000 με επιτόκιο 4,82%) Βελτιςτοποίθςθσ: Το ηθτοφμενο είναι θ εφρεςθ ενόσ αποτελζςματοσ που ελαχιςτοποιεί ι μεγιςτοποιεί κάποια κριτιρια (π.χ. Βρεσ το πλθςιζςτερο βενηινάδικο)

Ρροβλιματα και Η/Υ Λόγοι επίλυςθσ προβλθμάτων μζςω Η/Υ: Ταχφτθτα εκτζλεςθσ πράξεων (π.χ. Ζνασ Η/Υ με επεξεργαςτι ςτα 3 GHz μπορεί να εκτελεί 3,000,000,000 απλζσ πράξεισ ανά δευτερόλεπτο) Μεγάλο πλικοσ δεδομζνων Ρολυπλοκότθτα υπολογιςμϊν Επαναλθπτικότθτα διαδικαςιϊν Ρρωταρχικζσ λειτουργίεσ Η/Υ Ρρόςκεςθ: βαςικι αριιμητικθ πράξθ Σφγκριςθ: βαςικι λογικθ πράξθ Μεταφορά δεδομζνων

H Ανατομία ενόσ Υπολογιςτι υςκευζσ Ειςόδου: πλθκτρολόγια, ποντίκι, κ.τ.λ υςκευζσ Εξόδου: οκόνθ, εκτυπωτισ, κ.τ.λ μονάδα υπολογιςτι: κεντρικι μονάδα επεξεργαςίασ (CPU), μονάδα μνιμθσ, μονάδα δευτερεφουςασ αποκικευςθσ (π.χ ςκλθρόσ δίςκοσ), αρικμθτικι και λογικι μονάδα (ςυνικωσ μζςα ςτθ CPU), δίαυλοσ επικοινωνίασ (bus)

Λογιςμικό Ο υπολογιςτισ χρειάηεται και οδθγίεσ για το τι να κάνει. Αυτό το ρόλο παίηουν τα διάφορα προγράμματα: BIOS: πρόγραμμα που βοθκάει τον υπολογιςτι να ξεκινιςει λειτουργικό ςφςτθμα: πρόγραμμα που παίρνει τον ζλεγχο μετά τθν εκκίνθςθ και διαχειρίηεται όλουσ τουσ πόρουσ του υπολογιςτι, τισ ςυςκευζσ ειςόδου και εξόδου και γενικά φροντίηει για τθν εκτζλεςθ άλλων προγραμμάτων π.χ. Windows, Linux, SunOS, MacOSX, κ.τ.λ εφαρμογζσ γενικισ χριςθσ: προγράμματα φτιαγμζνα με ςυγκεκριμζνο ςκοπό, π.χ. αναπαραγωγι ταινιϊν, επεξεργαςία εικόνασ, κειμενογράφοι, παιχνίδια, κ.τ.λ

Αλγόρικμοι Αλγόρικμοσ: Ρεπεραςμζνθ ςειρά ενεργειϊν, αυςτθρά κακοριςμζνων και εκτελζςιμων ςε πεπεραςμζνο χρόνο, που επιλφουν ζνα πρόβλθμα Χαρακτθριςτικά Αλγορίκμων: Είςοδοσ (Input): Δεδομζνα που δίνονται ςτον αλγόρικμο Ζξοδοσ (Output): Δεδομζνα που ο αλγόρικμοσ παράγει ωσ αποτζλεςμα Κακοριςτικότθτα: Κάκε εντολι πρζπει να κακορίηεται με πλιρθ ςαφινεια Αποτελεςματικότθτα: Κάκε εντολι πρζπει να είναι απλι και να εκτελείται ςε εφλογο χρονικό διάςτθμα Περατότθτα: Ο αλγόρικμοσ πρζπει να τερματίηει μετά από πεπεραςμζνο αρικμό βθμάτων

Αναπαράςταςθ Αλγορίκμων Ζνασ αλγόρικμοσ μπορεί να αναπαραςτακεί με διάφορουσ τρόπουσ Ελεφκερο κείμενο Ανεπεξζργαςτοσ και αδόμθτοσ τρόποσ παρουςίαςθσ Δεν εξαςφαλίηει οφτε τθν κακοριςτικότθτα οφτε τθν αποτελεςματικότθτα Διαγραμματικζσ Τεχνικζσ Γραφικόσ τρόποσ παρουςίαςθσ Ο πιο ςυνθκιςμζνοσ είναι με τα διαγράμματα ροισ Φυςικι γλϊςςα κατά βιματα Ρ.χ. Ψευδοκϊδικασ Χρειάηεται προςοχι για να μθν παραβιαςτεί το κριτιριο τθσ κακοριςτικότθτασ Κωδικοποίθςθ υγγραφι του αλγορίκμου ςε μια γλώςςα προγραμματιςμού

Ρλθροφορικι Πλθροφορικι: Η επιςτιμθ που μελετά τουσ αλγορίκμουσ από τισ ακόλουκεσ ςκοπιζσ: Τλικοφ (Hardware): Η ταχφτθτα εκτζλεςθσ ενόσ αλγορίκμου επθρεάηεται από τισ διάφορεσ τεχνολογίεσ των τμθμάτων του υλικοφ Γλωςςϊν Προγραμματιςμοφ: Το είδοσ τθσ γλϊςςασ προγραμματιςμοφ που κα χρθςιμοποιθκεί επθρεάηει τθν αποδοτικότθτα του αλγορίκμου Θεωρθτικι: Ζρευνα κεωρθτικϊν κεμάτων όπωσ ι φπαρξθ ι όχι λφςθσ για ζνα πρόβλθμα Αναλυτικι: Μελζτθ του πλικουσ των υπολογιςτικϊν πόρων που απαιτοφνται από ζναν αλγόρικμο

Ρρογράμματα & Ρρογραμματιςμόσ Η/Υ Πρόγραμμα Η/Τ (Computer Program): Μια οργανωμζνθ λίςτα οδθγιϊν που όταν εκτελείται από ζναν υπολογιςτι, αυτόσ ςυμπεριφζρεται με ζναν ςυγκεκριμζνο προςχεδιαςμζνο τρόπο Προγραμματιςμόσ Η/Τ (Computer Programming): Η διαδικαςία τθσ δθμιουργίασ ενόσ προγράμματοσ που επιλφει ζνα ςυγκεκριμζνο πρόβλθμα. Ο Ρρογραμματιςμόσ περιλαμβάνει δφο βιματα: Σχεδιαςμόσ τθσ λογικισ που επιλφει το πρόβλθμα Κωδικοποίθςθσ τθσ λογικισ ςε μια γλϊςςα προγραμματιςμοφ Γλϊςςεσ Προγραμματιςμοφ (Programming Languages): Τεχνθτζσ γλϊςςεσ κωδικοποίθςθσ προγραμμάτων Η/Υ Μεγάλθ ςαφινεια και ακρίβεια Γεφυρϊνουν το χάςμα ανάμεςα ςτισ γλϊςςεσ Η/Υ και ανκρϊπων

Υλοποίθςθ Ρρογραμμάτων Βιματα υλοποίθςθσ ενόσ προγράμματοσ: Συγγραφι πθγαίου κϊδικα (source code) Δθμιουργία αρχείου κειμζνου (.cpp) που περιζχει τισ εντολζσ του προγράμματοσ Δθμιουργείται είτε ςε οποιοδιποτε κειμενογράφο (π.χ.wordpad, Textpad) ι ςτον ςυντάκτθ (editor) ολοκλθρωμζνων περιβαλλόντων ανάπτυξθσ (IDE), όπωσ είναι το DevC++ Μεταγλϊττιςθ (compilation) πθγαίου κϊδικα Διαδικαςία μετάφραςθσ του πθγαίου κϊδικα ςε κϊδικα μθχανισ Υλοποιείται από εξειδικευμζνα προγράμματα (μεταγλωττιςτζσ-compilers) Γίνεται ζλεγχοσ για ςυντακτικά και γραμματικά λάκθ ςτον πθγαίο κϊδικα Εκτζλεςθ (execution) για ζλεγχο καλισ λειτουργίασ

Τι καταλαβαίνει ζνασ υπολογιςτισ; Ζνασ υπολογιςτισ καταλαβαίνει από 0 και από 1 Αλλά ζνασ άνκρωποσ δε μπορεί εφκολα να μιλάει ςτον υπολογιςτι με 0 και 1 π.χ 000000 00001 00010 00110 00000 100000 ςε κάποια αρχιτεκτονικι λζει ςτον υπολογιςτι να προςκζςει τουσ καταχωρθτζσ 1 και 2 και να βάλει το αποτζλεςμα τον καταχωρθτι 6.

Μεταγλϊττιςθ & Εκτζλεςθ μεηάθραζη εκηέλεζη 010101 010101 010101 010101 010101 010101 010101 010101 010101 010101 010101 010101 Πηγαίος κώδικας Κώδικας μητανής σπολογιζηής

Από τισ Γλϊςςεσ Μθχανισ μζχρι ςιμερα γλϊςςα μθχανισ: 1000 10000 10001 ςυμβολομεταφραςτικζσ γλϊςςεσ (assembly language): ςυντομεφςεισ τθσ αγγλικισ γλϊςςασ, π.χ. ADD 32 6, 1, 2 Ζνα πρόγραμμα, ο assembler αναλαμβάνει να μετατρζψει τθν παραπάνω εντολι ςε γλϊςςα μθχανισ γλϊςςεσ υψθλοφ επιπζδου: οδθγίεσ που μοιάηουν ςχεδόν όπωσ τα κακομιλουμζνα αγγλικά και περιζχουν ςυνικθ μακθματικά ςφμβολα, π.χ. x6 = x1 + x2; Ζνα ακόμθ πρόγραμμα ο μεταγλωττιςτισ (compiler) αναλαμβάνει να μετατρζψει το πρόγραμμα υψθλοφ επιπζδου ςε ςυμβολομεταφραςτικι γλϊςςα.

Ρροζλευςθ τθσ C/C++ (Ιςτορικά) C++: γλϊςςα προγραμματιςμοφ C με κλάςεισ (αντικείμενα) Ιςτορικά τθσ C: 1969-1973 AT & T Bell Labs, Dennis Ritchie 1978 The C Programming Language, Kernighan & Ritchie 1989-1990 Αποδοχι ANSI/ISO Standard (ANSI C) Δθμοφιλι προγράμματα: C μαηί με το λειτουργικό ςφςτθμα UNIX Εξζλιξθ ςε C++: 1980: AT & T Bell Labs, Βjarne Stroustrup C++ : (ςχεδόν) υπερςφνολο τθσ C Αντικειμενοςτραφι γλϊςςα προγραμματιςμοφ Στο μάκθμα: κα δοφμε τθν C++ ωσ μια προχωρθμζνθ γλϊςςα προγραμματιςμοφ C αλλά χωρίσ αντικείμενα (C/C++)

Κφρια ςυςτατικά: ςυναρτιςεισ κλάςεισ (αντικείμενα) Δομθμζνθ γλϊςςα Χαρακτθριςτικά Χαμθλοφ και υψθλοφ επιπζδου προγραμματιςμόσ Ο προγραμματιςτισ ζχει πλιρθ ζλεγχο και ευκφνεται για τυχόν ςφάλματα του Στάνταρ Βιβλιοκικθ τθσ C++ (Standard Library) Εκμάκθςθ τθσ γλϊςςασ C++ (δθμιουργία νζων ςυςτατικϊν που τοποκετοφνται ςτθν βιβλιοκικθ για περαιτζρω χριςθ) Χριςθ των ιδθ υλοποιθμζνων κλάςεων και ςυναρτιςεων που υπάρχουν ςτθ βιβλιοκικθ

Δομθμζνοσ Ρρογραμματιςμόσ Οργάνωςθ του προγράμματοσ ςε μικρζσ, αυτόνομα κατανοθτζσ, οντότθτεσ Κάκε τζτοια οντότθτα ζχει ζνα ςθμείο ειςόδου και ζνα ςθμείο εξόδου Η δομι ενόσ προγράμματοσ βαςίηεται ςτισ τρεισ παρακάτω λογικζσ δομζσ: 1. ακολουκία (sequence) 2. επιλογι (condition) 3. επανάλθψθ (repetition) Με τισ παραπάνω δομζσ μπορεί να εκφραςτεί οποιοςδιποτε αλγόρικμοσ.

Το πρϊτο παράδειγμα #include <iostream> using namespace std; int main() { cout << " Hello!! \n " ; cout << " Ας μάθοσμε C και C++ \n" ; } return 0; Εκτυπϊνει ςτθν οκόνθ (τερματικό παράκυρο): Hello!! Ασ μάκουμε C και C++

Επεξιγθςθ του παραδείγματοσ #include <iostream> using namespace std; int main() { cout << " Hello!! \n " ; cout << " Ας μάθοσμε C και C++ \n" ; } return 0; Ζνα πρόγραμμα αποτελείται από τθν κφρια ςυνάρτθςθ (main) Εκτζλεςθ προγράμματοσ Εκτζλεςθ τθσ main Κυρίωσ ςϊμα (εντολζσ) τθσ main: περικλείεται από, -

Επεξιγθςθ του παραδείγματοσ #include <iostream> using namespace std; int main() { cout << " Hello!! \n " ; cout << " Ας μάθοσμε C και C++ \n" ; } return 0; Η εντολι #include ανοίγει κάποια βιβλιοκικθ ζτοιμων ςυν/ςεων Η βιβλιοκικθ iostream περιζχει ςυναρτιςεισ ειςόδου και εξόδου Θα χρειαςτοφμε τθν ςυνάρτθςθ cout

Επεξιγθςθ του παραδείγματοσ #include <iostream> using namespace std; int main() { cout << " Hello!! \n " ; cout << " Ας μάθοσμε C και C++ \n" ; } return 0; Κενζσ γραμμζσ: Δεν επθρεάηουν το πρόγραμμα (αγνοοφνται από τον μεταφραςτι) Κάνουν το πρόγραμμα πιο ε υ α ν ά γ ν ω ς τ ο!

Επεξιγθςθ του παραδείγματοσ #include <iostream> using namespace std; int main() { cout << " Hello!! \n " ; cout << " Ας μάθοσμε C και C++ \n" ; } return 0; Χϊροι ονομάτων: κάποια κομμάτια κϊδικα ανικουν ςε περιοχζσ ονομάτων (namespace) βοθκοφν ςτθν διαχείριςθ μεγάλων προγραμμάτων και βιβλιοκθκϊν ταυτόχρονα μεταβλθτζσ ι και ςυναρτιςεισ με το ίδιο όνομα αλλά ςε διαφορετικό namespace Χριςθ τθσ ςυνάρτθςθσ cout που βρίςκεται ςτο std namespace

Επεξιγθςθ του παραδείγματοσ #include <iostream> using namespace std; int main() { cout << " Hello!! \n " ; cout << " Ας μάθοσμε C και C++ \n" ; } return 0; H main είναι μια ςυνάρτθςθ χωρίσ παραμζτρουσ () επιςτρζφει μια τιμι int (ακζραια) Το κυρίωσ ςϊμα τθσ main περικλείεται από, -

Επεξιγθςθ του παραδείγματοσ #include <iostream> using namespace std; int main() { cout << " Hello!! \n " ; cout << " Ας μάθοσμε C και C++ \n" ; } return 0; Χριςθ τθσ ςυνάρτθςθσ cout για χειριςμό εξόδου: Εμφανίηει το κείμενο των ςτθν οκόνθ: Hello!! \n : δεν εκτυπϊνεται ωσ \n, είναι χαρακτιρασ αλλαγισ γραμμισ και δίνει εντολι να ξεκινιςει μια νζα γραμμι ςτθν ζξοδο

Επεξιγθςθ του παραδείγματοσ #include <iostream> using namespace std; int main() { cout << " Hello!! \n " ; cout << " Ας μάθοσμε C και C++ \n" ; } return 0; Χριςθ τθσ ςυνάρτθςθσ cout για χειριςμό εξόδου: Εμφανίηει το κείμενο των ςτθν οκόνθ: Ας μάθοσμε C και C++ \n : δεν εκτυπϊνεται ωσ \n, είναι χαρακτιρασ αλλαγισ γραμμισ και δίνει εντολι να ξεκινιςει μια νζα γραμμι ςτθν ζξοδο

Επεξιγθςθ του παραδείγματοσ #include <iostream> using namespace std; int main() { cout << " Hello!! \n " ; cout << " Ας μάθοσμε C και C++ \n" ; } return 0; Το πρόγραμμα ςταματάει τθν εκτζλεςθ. Τερματίηει τθν ςυνάρτθςθ main και ωσ τιμι τθσ ςυνάρτθςθσ main επιςτρζφει τον ακζραιο αρικμό 0

#include <iostream> using namespace std; int main() { Στθν πράξθ; cout << " Hello!! \n " ; cout << " Ας μάθοσμε C και C++ \n" ; } return 0; Ασ δοφμε πϊσ υλοποιοφμε το άνω πρόγραμμα ςτθν πράξθ Θα χρειαςτείτε τθν διαδικαςία αυτι πολλζσ φορζσ ςτο εργαςτιριο Δεν είναι τόςο απλά

Στθν πράξθ; Ανοίγουμε το devc++

Στθν πράξθ; Δθμιουργοφμε ζνα νζο αρχείο (source file)

Στθν πράξθ; Γράφουμε τον κϊδικα

Στθν πράξθ; Αποκθκεφουμε το αρχείο (με κατάλθξθ.cpp)

Στθν πράξθ; Μετάφραςθ (compile) Ρροςοχι ςτα ςυντακτικά λάκθ

Στθν πράξθ; Μετάφραςθ (compile) Ρροςοχι ςτα ςυντακτικά λάκθ

Στθν πράξθ; Τρζξιμο

Στθν πράξθ; Τρζξιμο Αποτζλεςμα δεν βλζπουμε!! Γιατί;

Στθν πράξθ; Τρζξιμο Αποτζλεςμα δεν βλζπουμε!! Γιατί; Εκτυπϊνει ςε ζνα τερματικό παράκυρο (νζο παράκυρο) τα κείμενα και ςτο τζλοσ το παράκυρο κλείνει μόνο του

Στθν πράξθ; Τρζξιμο Ρροςκζτουμε τθν εντολι: system("pause"); ακριβϊσ πριν το τζλοσ Θα αναγκάςει το τερματικό παράκυρο να μείνει ανοικτό μζχρι να πατιςουμε κάποιο πλικτρο

Στθν πράξθ; ΣΗΜΑΝΤΙΚΟ!! Για να τρζξουμε πάλι το πρόγραμμα πρζπει να δθμιουργιςου με νζο εκτελζςιμο. Ρρζπει πάλι να το μεταφράςουμε

Στθν πράξθ; Τρζξιμο (Run) Ρατϊντασ οποιοδιποτε πλικτρο κλείνει το παράκυρο

Στθν πράξθ; Αν βγαίνουν κινζηικα τα ελλθνικά τότε πρζπει να προςκζςουμε τθν εντολι system("chcp 1253"); που βρίςκει τθν ελλθνικι κωδικοποίθςθ Σε οριςμζνα ςυςτιματα μπορεί να βγαίνει ςωςτά

Στθν πράξθ; Αν βγαίνουν κινζηικα τα ελλθνικά τότε πρζπει να προςκζςουμε τθν εντολι system("chcp 1253"); που βρίςκει τθν ελλθνικι κωδικοποίθςθ Σε οριςμζνα ςυςτιματα μπορεί να βγαίνει ςωςτά

Στθν πράξθ; Ξανά: 1. compile 2. run

Στθν πράξθ; Ξανά: 1. compile 2. run Αλλάηουμε τθν γραμματοςειρά του τερματικοφ: Κλικ ςτο εικονίδιο του παρακφρου πάνω αριςτερά Ιδιότθτεσ Γραμματοςειρά Lucida

Στθν πράξθ; Ξανά: 1. compile 2. run Αλλάηουμε τθν γραμματοςειρά του τερματικοφ: Κλικ ςτο εικονίδιο του παρακφρου πάνω αριςτερά Ιδιότθτεσ Γραμματοςειρά Lucida

Σφνοψθ του παραδείγματοσ #include <iostream> using namespace std; int main() { cout << " Hello!! \n " ; cout << " Ας μάθοσμε C και C++ \n" ; } return 0; Ζνα πρόγραμμα αποτελείται από τθν κφρια ςυνάρτθςθ (main) Εκτζλεςθ προγράμματοσ Εκτζλεςθ τθσ main Κυρίωσ ςϊμα (εντολζσ) τθσ main: περικλείεται από, - τθ κεωρία δεν κα αςχολθκοφμε με τισ πολφ ςθμαντικζσ λεπτομζρειεσ για το τρζξιμο (εργαςτιρια)

Ενότθτα 2 ΔΤΑΔΙΚΗ ΑΝΑΠΑΡΑΣΑΗ

Συςτιματα Αρίκμθςθσ Ζνασ δεκαδικόσ αρικμόσ αποτελείται από μία ακολουκία δεκαδικϊν ψθφίων και ίςωσ από μία υποδιαςτολι. Οποιοςδιποτε αρικμόσ εκφράηεται : n d i i k Number 10 i Ρ.χ. 3347.4 = 3x10 3 + 3x10 2 + 4x10 1 + 7x10 0 + 4x10-1 Το ςφςτθμα αυτό ονομάηεται δεκαδικό, λόγω του ότι ωσ εκκετικι βάςθ ζχει επιλεγεί το 10

Συςτιματα Αρίκμθςθσ Ρ.χ. 3347.4 = 3x10 3 + 3x10 2 + 4x10 1 + 7x10 0 + 4x10-1 n d i i k Number 10 i Τι εκθπάζοςν ηα n και k ζηο πάνω παπάδειγμα; Αντίςτοιχα αρικμθτικά ςυςτιματα με βάςθ το 2, 8 και 16 είναι το δυαδικό, οκταδικό, δεκαεξαδικό Ζνα αρικμθτικό ςφςτθμα με βάςθ το k απαιτεί k διαφορετικά ςφμβολα για τθν αναπαράςταςθ των ψθφίων

Θεςιακά Συςτιματα Ρ.χ. 3347.4 = 3x10 3 + 3x10 2 + 4x10 1 + 7x10 0 + 4x10-1 Ωσ βάςη ι ρίζα ενόσ κεςιακοφ ςυςτιματοσ ορίηεται το πλικοσ των διαφορετικϊν ψθφίων: Δεκαδικό: 0 1 2 3 4 5 6 7 8 9 Δυαδικό: 0 1 Οκταδικό : 0 1 2 3 4 5 6 7 Δεκαεξαδικό : 0 1 2 3 4 5 6 7 8 9 Α Β C D E F

Ραραδείγματα (1673.42) 10 = 1x10 3 + 6x10 2 + 7x10 1 + 3x10 0 + 4x10-1 + 2x10-2 (100110) 2 = 1x2 5 + 0x2 4 + 0x2 3 + 1x2 2 + 1x2 1 + 0x2 0 = (38) 10 (372) 8 = 3x8 2 + 7x8 1 + 2x8 0 = (250) 10 (Α34F) 16 = Ax16 3 + 3x16 2 + 4x16 1 + Fx16 0 = (41807) 10

Μετατροπι από το δυαδικό ςτο δεκαδικό ςφςτθμα 128 64 32 16 8 4 2 1 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 Το περιςςότερο ςθμαντικό bit Το λιγότερο ςθμαντικό bit 1 1 1 1 0 0 1 1 1x128 1x64 1x32 1x16 0x8 0x4 1x2 1x1 128 + 64 + 32 + 16 + 0 + 0 + 2 + 1 = = 243 (δεκαδικό)

Μετατροπι δεκαδικοφ ςε δυαδικό Από δεκαδικό ςε δυαδικό (Διαδοχικζσ διαιρζςεισ με το 2) : 2 4 3 1 1 2 1 1 6 0 0 3 0 0 1 5 1 7 1 3 1 1 1 0 0 Εξεηάζονηαρ ηο ςπόλοιπο ηηρ διαίπεζηρ 0 1 1 1 1 0 0 1 1 = (243) 10

Μετατροπι δεκαδικοφ ςε οκταδικό Από δεκαδικό ςε oκταδικό (Διαδοχικζσ διαιρζςεισ με το 8) : 7 6 5 3 5 9 5 6 4 1 1 9 7 1 4 6 1 1 ( 1 6 7 4 5 ) 8

Μετατροπι δεκαδικοφ ςε οκταδικό Ευκολότερα με πίνακεσ μετατροπισ από δυαδικό ςε οκταδικό Γυαδικό Οκταδικό 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 4 1 0 1 5 1 1 0 6 1 1 1 7 (411) 10 = (1 1 0 0 1 1 0 1 1) 2 6 3 3 (411) 10 = (633) 8

Συντομογραφίεσ δυαδικϊν αρικμϊν Δεκαεξαδικό ςφςτθμα Ομαδοποίθςθ ανά 4 bits 0000 0 1000 8 0001 1 1001 9 0010 2 1010 Α 0011 3 1011 Β 0100 4 1100 C 0101 5 1101 D 0110 6 1110 E 0111 7 1111 F

Ραράδειγμα ςτο δεκαεξαδικό ςφςτθμα Ραράδειγμα: 1100100110010100 1100 1001 1001 0100 C 9 9 4 = ( C994 ) 16 Ραράδειγμα: 10000101011110 0010 0001 0101 1110 2 1 5 E = ( 215E ) 16 Συμπλιρωςθ με 0 ςτα αριςτερά Δεν αλλάηει τον αρικμό, όπωσ ακριβϊσ και ςτο δεκαδικό ςφςτθμα

Ραράδειγμα ςτο δεκαεξαδικό ςφςτθμα Από δεκαδικό ςε δεκαεξαδικό : 0000 0 1000 8 0001 1 1001 9 (431) 10 = (1 1 0 1 0 1 1 1 1) 2 1 A F 0010 2 1010 Α 0011 3 1011 Β 0100 4 1100 C 0101 5 1101 D 0110 6 1110 E 0111 7 1111 F

Αρικμοί ςε διάφορεσ βάςεισ

Φυςικοί αρικμοί (χωρίσ πρόςθμο) Άμεςθ αντιςτοιχία 0000 0 0001 1 Με n bits περιγράφονται: Οι φυςικοί αρικμοί από 0 ζωσ και 2 n -1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9

Βιβλιογραφία Καλι Μελζτθ [1] W. Savitch, Ρλιρθσ C++, Εκδόςεισ Τηιόλα, 2011 [2+ Η. Deitel and P. Deitel, C++ Ρρογραμματιςμόσ 6θ Εκδοςθ, Εκδόςεισ Μ. Γκιοφρδασ, 2013 Υλθ βιβλιογραφίασ [1]: 1.1, Ραράρτθμα 3 [2]: Κεφ. 1, Ραραρτιματα Β, Δ

Ανοικτά Ακαδημαϊκά Μαθήματα Πανεπιστήμιο Ιωαννίνων Τέλος Ενότητας

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Ιωαννίνων» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. Σημειώματα Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Ιωαννίνων, Διδάσκων: Λέκτορας Χάρης Παπαδόπουλος «Εισαγωγή στον Προγραμματισμό». Έκδοση: 1.0. Ιωάννινα 2014. Διαθέσιμο από τη δικτυακή διεύθυνση: http://ecourse.uoi.gr/course/view.php?id=1105. Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά Δημιουργού - Παρόμοια Διανομή, Διεθνής Έκδοση 4.0 [1] ή μεταγενέστερη. [1] https://creativecommons.org/licenses/by-sa/4.0/.