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

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

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

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

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

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

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

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

Ανάπτυξη και Σχεδίαση Λογισμικού

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

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

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

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

Πληροφορική 2. Αλγόριθμοι

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

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

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

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

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

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

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

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

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

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

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

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

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

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

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

10-δικό δικό

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

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

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

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

Υπολογισμός - Εντολές Ελέγχου

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

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

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

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

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

ΠΛΗ10 Κεφάλαιο 2. ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: : Συστήματα Αρίθμησης ΔΥΑΔΙΚΟ ΣΥΣΤΗΜΑ ΑΡΙΘΜΗΣΗΣ

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

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

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

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

Βασικές Αρχές Προγραμματισμού

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

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Μάθημα 2: Παράσταση της Πληροφορίας

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

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

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

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

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

Προγραμματισμός Ι (ΗΥ120)

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

Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 2 : Αλγόριθμοι. Δρ. Γκόγκος Χρήστος

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

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

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

Σύστημα αρίθμησης. Τρόπος αναπαράστασης αριθμών Κάθε σύστημα αρίθμησης έχει μία βάση R

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο. Επικοινωνία:

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

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

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

Οικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2

2.1. Εντολές Σχόλια Τύποι Δεδομένων

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

Υπολογισμός - Εντολές Επανάληψης

Transcript:

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

Αριθμητικά συστήματα και μετατροπές από το ένα σύστημα στο άλλο. Δυαδικό βάση = 2 =2 1 Οκταδικό βάση = 8 =2 3 Δεκαεξαδικό βάση = 16 =2 4 Δεκαδικό βάση = 10 10/10/2017 "Δομημένος Προγραμματισμός", Ν.Πετράκης, Τ.Ε.Ι. Κρήτης 2

Πίνακας αντιστοίχισης Δεκαδικό Δυαδικό Οκταδικό Δεκαεξαδικό 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 10/10/2017 "Δομημένος Προγραμματισμός", Ν.Πετράκης, Τ.Ε.Ι. Κρήτης 3

Μετατροπές ακεραίων μεταξύ συγγενικών αριθμητικών συστημάτων (1) Η μετατροπή ενός αριθμού από το δυαδικό στο οκταδικό ή το δεκαεξαδικό σύστημα αρίθμησης (και αντίστροφα) γίνεται απευθείας, χωρίς να χρειαστεί ενδιάμεσα το πέρασμα από το δεκαδικό σύστημα. Από δυαδικό σε οκταδικό ή δεκαεξαδικό Για να μετατρέψουμε έναν αριθμό από το δυαδικό σύστημα στο οκταδικό ή στο δεκαεξαδικό, ομαδοποιούμε τα ψηφία του δυαδικού αριθμού (ανά τρία ή τέσσερα αντίστοιχα) ξεκινώντας από τα δεξιά, και αντικαθιστούμε την κάθε ομάδα με το ισοδύναμο ψηφίο του οκταδικού ή δεκαεξαδικού. 10/10/2017 "Δομημένος Προγραμματισμός", Ν.Πετράκης, Τ.Ε.Ι. Κρήτης 4

Μετατροπές ακεραίων μεταξύ συγγενικών αριθμητικών συστημάτων (2) Από οκταδικό ή δεκαεξαδικό στο δυαδικό Για να μετατρέψουμε έναν αριθμό από το οκταδικό ή το δεκαεξαδικό σύστημα στο δυαδικό, αρκεί να αντικαταστήσουμε κάθε ψηφίο τού αριθμού τού πρώτου συστήματος με την ακολουθία δυαδικών ψηφίων που αντιστοιχούν στο ψηφίο αυτό. Πάντα αντικαθιστούμε ένα ψηφίο οκταδικού αριθμού με τρία δυαδικά ψηφία, ενώ ένα ψηφίο δεκαεξαδικού αριθμού με τέσσερα δυαδικά ψηφία. Παραδείγματα: 10/10/2017 "Δομημένος Προγραμματισμός", Ν.Πετράκης, Τ.Ε.Ι. Κρήτης 5

Μετατροπή ακέραιου από/προς το δεκαδικό Για να μετατρέψουμε (υπολογίσουμε) έναν αριθμό από οποιοδήποτε αριθμητικό σύστημα στο δεκαδικό, υπολογίζουμε το άθροισμα των γινομένων της αξίας του κάθε ψηφίου του επί την αξία της θέσεως που αυτό κατέχει. Για να μετατρέψουμε έναν αριθμό από το δεκαδικό σύστημα αρίθμησης σε οποιοδήποτε άλλο αριθμητικό σύστημα, διενεργούμε διαδοχικές διαιρέσεις δια της βάσης του νέου αριθμητικού συστήματος μέχρι να λάβουμε πηλίκο μηδέν. Τα υπόλοιπα των διαιρέσεων με την αντίστροφη σειρά αποτελούν τα ζητούμενα ψηφία του αριθμού στο νέο αριθμητικό σύστημα. 10/10/2017 "Δομημένος Προγραμματισμός", Ν.Πετράκης, Τ.Ε.Ι. Κρήτης 6

Εύρεση αξίας ενός δυαδικού αριθμού Ένας δυαδικός αριθμός είναι μια ακολουθία από 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) 10/10/2017 "Δομημένος Προγραμματισμός", Ν.Πετράκης, Τ.Ε.Ι. Κρήτης 7

Μετατροπή πραγματικού αριθμού από το δεκαδικό σύστημα σε οποιοδήποτε άλλο (1) Α τρόπος: Πολλαπλασιάζουμε ολόκληρο τον αρχικό αριθμό (μαζί με το τμήμα δεξιά της υποδιαστολής) με τη βάση του δευτέρου συστήματος αρίθμησης τόσες φορές, όσα ψηφία επιθυμούμε να έχουμε μετά την υποδιαστολή. Κατόπιν, εκτελούμε τη μετατροπή κανονικά μόνο του ακέραιου τμήματος του γινομένου που βρήκαμε σαν αποτέλεσμα. Μετά την μετατροπή δεν πρέπει να ξεχάσουμε να βάλουμε την υποδιαστολή στη σωστή θέση, μετρώντας τα ψηφία ακρίβειας του τμήματος δεξιά της υποδιαστολής. 10/10/2017 "Δομημένος Προγραμματισμός", Ν.Πετράκης, Τ.Ε.Ι. Κρήτης 8

Μετατροπή πραγματικού αριθμού από το δεκαδικό σύστημα σε οποιοδήποτε άλλο (2) Β τρόπος: Μετατρέπουμε χωριστά το ακέραιο τμήμα όπως ήδη γνωρίζουμε και χωριστά το δεκαδικό τμήμα (το τμήμα δεξιά της υποδιαστολής) του αριθμού. Για τη μετατροπή του δεκαδικού τμήματος το πολλαπλασιάζομε με τη βάση του νέου συστήματος διαδοχικά, παίρνοντας κάθε φορά το ακέραιο τμήμα του κάθε γινομένου σχηματίζοντας έτσι τα ψηφία του αριθμού μετά την υποδιαστολή. Π.χ. Να μετατραπεί ο αριθμός 330,525 (10) του δεκαδικού συστήματος αρίθμησης στο δυαδικό σύστημα αρίθμησης με τρία ψηφία ακρίβεια μετά την υποδιαστολή. Κάντε αρκετά παραδείγματα, όπως αυτά που δείξαμε στον πίνακα. Ασφαλώς μπορείτε να τα συμπεριλάβετε και στο τετράδιο ασκήσεων. 10/10/2017 "Δομημένος Προγραμματισμός", Ν.Πετράκης, Τ.Ε.Ι. Κρήτης 9

Τύποι Δεδομένων Τύπος δεδομένου είναι ο συνδυασμός από: (α) ένα σύνολο τιμών που παίρνει το δεδομένο, και (β) το σύνολο των ιδιοτήτων αυτών των τιμών. Απλοί ή στοιχειώδεις τύποι δεδομένων: α) ακέραιος τύπος (integer) β) πραγματικός τύπος (real) γ) λογικός τύπος (boolean) δ) χαρακτήρες (characters) Σύνθετοι τύποι είναι αυτοί που ορίζονται από άλλους τύπους, απλούς ή σύνθετους. 10

Τι είναι αλγόριθμος; Αλγόριθμος είναι μια ακολουθία από αυστηρά καθορισμένα βήματα που έχει σκοπό την καθοδήγηση προκειμένου να διεκπεραιωθεί μια εργασία. Αποτελεί δηλαδή τις οδηγίες που πρέπει να εκτελεστούν και υποδεικνύει την ακριβή σειρά. Στην διατύπωση ενός αλγορίθμου θα πρέπει να ορίζεται με σαφήνεια η αρχή και το τέλος της ακολουθίας των βημάτων που αφορούν την διεκπεραίωση της συγκεκριμένης εργασίας, που η ίδια μπορεί να αποτελεί μέρος μιας ευρύτερης διαδικασίας. 11

Κανόνες στη σύνταξη αλγορίθμων Κάθε βήμα να είναι σαφώς διαχωρισμένο από τα υπόλοιπα Κάθε ένα βήμα να αποτελείται από μία ή από περισσότερες στοιχειώδεις ενέργειες, οι οποίες αναφέρονται με τη σειρά που πρόκειται να πραγματοποιηθούν Μια στοιχειώδης ενέργεια εκφράζεται με ένα ρήμα και ένα αντικείμενο Τα βήματα πρέπει να προβλέπουν κάθε ενδεχόμενο Το σύνολο των βημάτων να ολοκληρώνει την εργασία 12

Αλγοριθμικές δομές Ακολουθιακή δομή Δομή ελέγχου Δομή επανάληψης Συνήθως οι αλγόριθμοι στην πληροφορική περιγράφονται είτε με ψευδοκώδικα είτε με διαγράμματα ροής (flowcharts). 13

Ακολουθιακή δομή Απλή διαδοχή βημάτων στην οποία τα βήματα εκτελούνται με τη σειρά που περιγράφονται. Η ροή εκτέλεσης μιας ακολουθιακής δομής αποδίδεται παραστατικά με ένα διάγραμμα ροής σαν το διπλανό. Βήμα 1 Βήμα 2 Βήμα 3 14

Δομή ελέγχου ΑΝ ΤΟΤΕ όπου ελέγχεται η κατάσταση κάποιας συνθήκης (αληθής ή ψευδής) και ανάλογα εκτελείται ή όχι μια ομάδα εντολών. Βήμα 1 Έλεγχος συνθήκης Α Ψ Ομάδα 1 Βήμα 2 Βήμα 3 15

Δομή ελέγχου (2) ΑΝ ΤΟΤΕ ΔΙΑΦΟΡΕΤΙΚΑ όπου ελέγχεται η κατάσταση κάποιας συνθήκης και ανάλογα εκτελείται μια ομάδα εντολών ή μια εναλλακτική ομάδα εντολών. Βήμα 1 Α Έλεγχος συνθήκης Ψ Βήμα 2 Ομάδα 1 Ομάδα 2 Βήμα 3 16

Δομή επανάληψης Τα επαναλαμβανόμενα βήματα εκτελούνται ξανά αν η συνθήκη είναι αληθής. Προηγούμενο βήμα Ο έλεγχος της συνθήκης μιας δομής επανάληψης μπορεί να έπεται των εντολών του βρόχου ή Α Επαναλαμβανόμενα βήματα Έλεγχος συνθήκης Ψ Επόμενο βήμα 17

Δομή επανάληψης (2) Αν η συνθήκη είναι αληθής εκτελούνται ξανά τα επαναλαμβανόμενα βήματα. Προηγούμενο βήμα να προηγείται των εντολών του βρόχου. Έλεγχος συνθήκης Ψ Α Επαναλαμβανόμενα βήματα Επόμενο βήμα 18

Η εξέλιξη των υπολογιστών 1950 1960 1970 1980 1990 2000 2010 1 η γενιά 2 η γενιά 3 η γενιά 4 η γενιά 5 η γενιά 1η γενιά 1950 1959: ηλεκτρονικές λυχνίες, τεράστιος όγκος, αναξιοπιστία, μεγάλη κατανάλωση (50.000 200.000 πράξεις/s) 2 η γενιά 1959 1963: χρήση ημιαγωγών στην κατασκευή λογικών κυκλωμάτων, transistors, σιδηρομαγνητικές μνήμες, πρωτόγονα λειτουργικά συστήματα, (50.000 200.000 πράξεις/sec) 19

Η εξέλιξη των υπολογιστών (2) 3 η γενιά 1963 1970: λειτουργικά συστήματα, αύξηση υπολογιστικής ισχύος, ολοκληρωμένα κυκλώματα (SSI, MSI, LSI), μείωση όγκου, μείωση κόστους 4 η γενιά 1971 1985: εμφάνιση Basic, Pascal, πολλοί επεξεργαστές (multiprocessor), IC 200.000 transistors σε 10 mm 2 5 η γενιά μετά το 1985: ολοκληρωμένα κυκλώματα (VLSI, WSI), ταχύτητα μεγαλύτερη 10 20 εκατομμύρια εντολές / sec, προσανατολισμένα στη τεχνητή νοημοσύνη και στα έμπειρα συστήματα 20

Στάδια δημιουργίας προγράμματος Ο προγραμματισμός είναι μια συστηματική δραστηριότητα, η οποία είναι οργανωμένη συνήθως στα εξής βήματα: Ανάλυση του προβλήματος καθορισμός του αλγόριθμου επίλυσης Σχεδίαση του προγράμματος καθορισμός της δομής του προγράμματος και των δεσμών μεταξύ των συστατικών τμημάτων του στο λογικό επίπεδο Κωδικοποίηση του προγράμματος μεταφορά (διασκευή) του λογικού σχεδίου σε μια γλώσσα προγραμματισμού Ολοκλήρωση και έλεγχος του προγράμματος Χρήση και συντήρηση του προγράμματος (νέες βελτιωμένες εκδόσεις) 21

Η γλώσσα προγραμματισμού C Η C είναι μια γλώσσα προγραμματισμού γενικής χρήσης που χαρακτηρίζεται από οικονομία στην έκφραση, σύγχρονη ροή ελέγχου και δομές δεδομένων, καθώς και από ένα πλούσιο σύνολο τελεστών. Δημιουργήθηκε από τον Dennis Ritchie στα Bell Labs USA to 1972. Δημιουργήθηκε για τη σχεδίαση του λειτουργικού συστήματος UNIX και εφαρμόστηκε σ ένα PDP-11. Έτυχε καλής αποδοχής και είχε γρήγορη εξάπλωση. Το Αμερικανικό Εθνικό Ινστιτούτο Προτύπων (American National Standards Institute - ANSI) δημιούργησε ένα πρότυπο της C γνωστό ως ANSI - C το 1988. 22

Η γλώσσα προγραμματισμού C (2) Κάθε σύγχρονος μεταγλωττιστής της C (με ελάχιστες εξαιρέσεις) είναι συμβατός με αυτό το πρότυπο. H C είναι ισχυρή και ευέλικτη για πολλές εφαρμογές. Είναι δημοφιλής, άρα υπάρχουν ποικιλία μεταγλωττιστών και χρήσιμων βοηθημάτων. Προγράμματα της C μπορούν να εκτελεστούν σε διαφορετικά συστήματα υπολογιστών. Η C είναι μία γλώσσα λίγων λέξεων. Μία γλώσσα με περισσότερες λέξεις κλειδιά ΔΕΝ είναι πιο ισχυρή. 23

Η γλώσσα προγραμματισμού C (3) Ο κώδικας της C μπορεί (και πρέπει) να γραφεί σε ρουτίνες που λέγονται συναρτήσεις. Η C++ (αντικειμενοστρεφής ή object oriented) είναι υπερσύνολο της C. Όσα ισχύουν στη C, ισχύουν και στη C++. Συναρτήσεις σε C μπορούν να χρησιμοποιηθούν ξανά σε άλλες εφαρμογές. Με εφόδιο τη C αποκτάτε ισχυρά θεμέλια για εκμάθηση άλλων γλωσσών προγραμματισμού όπως Java, C#, C++, κτλ. 24

Ένα πρόγραμμα της C αποτελείται από: -Συναρτήσεις (functions) - main() και άλλες -Μεταβλητές (variables) - ή/και σταθερές (constants) -Εντολές (instructions) - ή/και κλήσεις συναρτήσεων -Οδηγίες (directives) - όπως π.χ.: #include <stdio.h> 25

Τύποι δεδομένων και προσδιοριστές που υποστηρίζει η γλώσσα C Ακέραιοι short int ή short μικρός ακέραιος 16 bits int μεσαίος ακέραιος 16 ή 32 long int ή long μεγάλος ακέραιος 32 bits Πραγματικοί (Κινητής Υποδιαστολής) float Κ.Υ. απλής ακρίβειας 32 bits double Κ.Υ. διπλής ακρίβειας 64 bits long double Κ.Υ. εκτεταμένης ακρίβειας 80 bits Χαρακτήρες (characters) unsigned char ή char 8 bits signed char 8 bits 26

Τα όρια των τιμών για τους διάφορους συνδυασμούς τύπων ακέραιων unsigned char ή σκέτο char με τιμές στο διάστημα [0, 255] signed char - >> - [-128, +127] signed short int ή signed short ή short [-32.768, +32.767] unsigned short int ή unsigned short [0, 65.535] signed long int ή long ή int [ 2.147.483.648, +2.147.483.647] unsigned long int ή unsigned long ή unsigned int [0, 4.294.967.295] 27

Αναπαράσταση των σταθερών στην C Ακέραια σταθερά 1234 ή 1234l ή 1234L long (int) (δεκαδικό) 1234u ή 1234U unsigned (απρόσημη) 1234ul ή 1234UL unsigned long σταθερά 01234 οκταδικό (αν αρχίζει με μηδέν 0 ) 0x1234 ή 0Χ1234 δεκαεξαδικό 0b01101 ή 0B01101 δυαδικό Π.χ. 31 = 037 = 0x1f ή 0X1F = 0b11111 ή 0B11111 28

Αναπαράσταση των σταθερών στην C Πραγματική σταθερά 123.45 ή 12345e-2 σταθερά κινητής υποδιαστολής μεσαίου μεγέθους (double) εκτός αν ακολουθείται από f ή F, οπότε θα είναι float, ή l ή L οπότε long double Σταθερά χαρακτήρα Α b x ισούται με την τιμή ASCII, δηλ. A 65, b 98, 0 48, 2 50 κλπ \οοo οκταδικά ψηφία που καθορίζουν διάταξη bit μεγέθους ενός byte ή \xhh για δεκαεξαδικά 29

Αναπαράσταση των σταθερών στην C Αλφαριθμητική σταθερά ή συμβολοσειρά (string) Οριοθετούνται από τους διπλούς αποστρόφους π.χ. Computer C o m p u t e r \0 0 1 2 3 4 5 6 7 8 Υλοποιούνται με πίνακες χαρακτήρων, όπου μετά τον τελευταίο χαρακτήρα πρέπει να υπάρχει ο μηδενικός χαρακτήρας `\0`. Μήκος μιας αλφαριθμητικής ακολουθίας λέγεται το πλήθος των χαρακτήρων που την αποτελούν, χωρίς τον μηδενικό χαρακτήρα. Πχ. το μήκος του Computer ισούται με 8, ενώ το μήκος του ισούται με 0 (empty string). Στην C δεν υπάρχει περιορισμός στο μήκος των συμβολοσειρών. 30

Εντολή ελέγχου if Συντάσσεται ως εξής: if (παράσταση ή συνθήκη) εντολή1; else εντολή2; 31

Παράδειγμα με if else Να γίνει πρόγραμμα το οποίο να διαβάζει ένα ακέραιο από το πληκτρολόγιο και να εμφανίζει το κατάλληλο μήνυμα ανάλογα με το αν είναι άρτιος ή περιττός. #include <stdio.h> #include <stdlib.h> main() { int a; printf ("Give an integer : "); scanf ("%d", &a); if (a%2==0) printf("the integer %d is even.\n", a); else printf("the integer %d is odd.\n", a); system("pause"); return 0; } Give an integer : 25 The integer 25 is odd. Press any key to continue... Give an integer : 36 The integer 36 is even. Press any key to continue... 32

Όταν αποκτήσετε άνεση θα μπορείτε να χρησιμοποιείτε και ελληνικούς χαρακτήρες στα μηνύματά σας, και στα σχόλια, όπως π.χ.: /* Πρόγραμμα που εμφανίζει αν ο ακέραιος που δόθηκε είναι άρτιος ή περιττός */ main() { int ak; printf("δώστε ακέραιο : "); scanf ("%d", &ak); if (ak%2==0) printf("δόθηκε ο άρτιος %d\n", ak); else printf("δόθηκε ο περιττός %d\n", ak); } Μην ξεχνάτε να στοιχίζετε σωστά τον κώδικά σας 33