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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

10-δικό δικό

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

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

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

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

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

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

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

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

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

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

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

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

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

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Τύποι Δεδομένων Είσοδος/Έξοδος

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

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

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

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια

Transcript:

Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15

Αριθμητικά Συστήματα (συνέχεια) Δυαδικό βάση = 2 =2 1 Οκταδικό βάση = 8 =2 3 Δεκαεξαδικό βάση = 16 =2 4 Δεκαδικό βάση = 10 2

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

Δυαδικοί Αριθμοί Ένας δυαδικός αριθμός είναι μια ακολουθία από 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 ) Οπότε: 10111.101 (2) = 23.625 (10) 4

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

Μετατροπή πραγματικού αριθμού (2) Β τρόπος: Μετατρέπουμε χωριστά το ακέραιο τμήμα όπως ήδη γνωρίζουμε και χωριστά το δεκαδικό τμήμα (το τμήμα δεξιά της υποδιαστολής) του αριθμού. Για τη μετατροπή του δεκαδικού τμήματος το πολλαπλασιάζομε με τη βάση του νέου συστήματος διαδοχικά, παίρνοντας κάθε φορά το ακέραιο τμήμα του κάθε γινομένου σχηματίζοντας έτσι τα ψηφία του αριθμού μετά την υποδιαστολή. Π.χ. Να μετατραπεί ο αριθμός 330,525 (10) του δεκαδικού συστήματος αρίθμησης στο δυαδικό σύστημα αρίθμησης με τρία ψηφία ακρίβεια μετά την υποδιαστολή. 6

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

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

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

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

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

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

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

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

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

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

Η εξέλιξη των υπολογιστών (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, προσανατολισμένα στη τεχνητή νοημοσύνη και στα έμπειρα συστήματα 17

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

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

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

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

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

Τύποι δεδομένων και προσδιοριστές που υποστηρίζει η γλώσσα 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 23

Τα όρια των τιμών για τους διάφορους συνδυασμούς τύπων ακέραιων 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] 24

Αναπαράσταση των σταθερών στην 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 25

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

Αναπαράσταση των σταθερών στην 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 δεν υπάρχει περιορισμός στο μήκος των συμβολοσειρών. 27

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

Παράδειγμα με if Να γίνει πρόγραμμα το οποίο να διαβάζει ένα ακέραιο από το πληκτρολόγιο και να εμφανίζει το κατάλληλο μήνυμα ανάλογα με το αν είναι άρτιος ή περιττός. #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... 29