Περιεχόµενα (3) Εισαγωγή στην Πληροφορική. Επίκουρος Καθηγητής Ε. Κοφίδης. Εισαγωγικά στοιχεία

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Περιεχόµενα (3) Εισαγωγή στην Πληροφορική. Επίκουρος Καθηγητής Ε. Κοφίδης. Εισαγωγικά στοιχεία"

Transcript

1 Περιεχόµενα (1) Εισαγωγή στην Πληροφορική Επίκουρος Καθηγητής Ε. Κοφίδης Εισαγωγικά στοιχεία Αρχιτεκτονική υπολογιστών (Η/Υ) Το δυαδικό αριθµητικό σύστηµα Επίλυση προβληµάτων µε Η/Υ: Αλγόριθµοι και αναπαράστασή τους Κύκλος ανάπτυξης προγράµµατος Γλώσσες προγραµµατισµού 2 Περιεχόµενα (2) Η γλώσσα προγραµµατισµού C Τύποι, τελεστές και παραστάσεις Εντολές ροής ελέγχου Συναρτήσεις και δοµή του προγράµµατος είκτες και πίνακες οµές Είσοδος και έξοδος Αρχεία Περιεχόµενα (3) Και φυσικά... Παραδείγµατα και ασκήσεις επίλυσης προβληµάτων µε τη βοήθεια προγραµµάτων C 3 4

2 ιδακτικά συγγράµµατα 1. Β. Σεφερίδης, C για Αρχάριους, Κλειδάριθµος, Ν. Μ. Χατζηγιαννάκης, Η ΓλώσσαC σε Βάθος, 3 η έκδοση, Κλειδάριθµος, Για περαιτέρω διάβασµα D. Hillis, Οι υπολογιστές στο παρόν και το µέλλον, Κάτοπτρο, G. Rawlins, Αλγόριθµοι: Ανάλυση και Σύγκριση, Κριτική, B. W. Kernighan και D. M. Ritchie, Η Γλώσσα Προγραµµατισµού C, 2η έκδοση, Κλειδάριθµος, P. Aitken και B. L. Jones, Εγχειρίδιο της C, 4η έκδοση, εκδ. Μ. Γκιούρδας, H. Schildt, Οδηγός της C, 3η έκδοση, εκδ. Μ. Γκιούρδας, Κ. Θραµπουλίδης, ιαδικαστικός Προγραµµατισµός-C: Από τη C στη Java, τόµος Α, 2η έκδοση, εκδ. Τζιόλα, Α. Τοµαράς, C: Θεωρία και Πράξη, Εκδόσεις Νέων Τεχνολογιών, Εργαστήριο µαθήµατος Το µάθηµα περιλαµβάνει (απαραίτητα!) πρακτική άσκηση στο εργαστήριο. Η παρουσία στο εργαστήριο θα είναι υποχρεωτική. Εξέταση και στο εργαστήριο. Βαθµολόγηση Τελικός βαθµός= max(βαθµός γραπτού, 0.3*Βαθµός εργαστηρίου +0.7*Βαθµός γραπτού) 7 8

3 Ώρες γραφείου Ας αρχίσουµε λοιπόν... Τετάρτη 12:00-14:00 Κτίριο οδού Ζέας, 5ος όροφος 9 10

4 Εισαγωγή Πληροφορική (Informatics): Η επιστήµη τωνη/υ (Computer Science) και γενικότερα (πλέον) η επιστήµη της επεξεργασίας δεδοµένων (µε τη βοήθεια υπολογιστικών µηχανών) µε σκοπότην εξαγωγή πληροφορίας Πεδία της Πληροφορικής (1) Αρχιτεκτονική Η/Υ Λειτουργικά συστήµατα Γλώσσες προγραµµατισµού Σχεδιασµός και ανάλυση αλγορίθµων Θεωρία υπολογισµού Βάσεις δεδοµένων και γνώσεων Τεχνολογία λογισµικού Πληροφοριακά συστήµατα Τεχνητή νοηµοσύνη Πεδία της Πληροφορικής (2) ίκτυα Η/Υ Ηλεκτρονικό εµπόριο Ηλεκτρονική διακυβέρνηση Τηλεπικοινωνίες Πολυµέσα Επεξεργασία σηµάτων... Κοινή βάση όλων των παραπάνω: Πρόγραµµα (Program) 13 14

5 Μερικοί (άτυποι) ορισµοί Προγραµµατισµός: Προσδιορισµός συγκεκριµένης ακολουθίας ενεργειών µε στόχο κάποιο επιθυµητό αποτέλεσµα Γλώσσα προγραµµατισµού: Κώδικας επικοινωνίας µε τονη/υ γιατη µετάδοση των επιθυµητών ενεργειών Αρχές προγραµµατισµού: Φιλοσοφία στην οποία βασίζεται η κατασκευή του κώδικα επικοινωνίας µε τονη/υ και µεθοδολογίες που ακολουθούνται στη χρήση του. Γιατίχρειάζεταιηγλώσσα προγραµµατισµού; Ο Η/Υ είναι µια «ηλίθια» µηχανή που καταλαβαίνει µόνο πολύ απλές λειτουργίες. Οπρογραµµατιστής δεν πρέπει να είναι υποχρεωµένος να γνωρίζει πολλά για τα «εσωτερικά» (αρχιτεκτονική) του Η/Υ Υπολογιστικό σύστηµα Υλικό (Hardware) / Λογισµικό (Software) ύσκολο να ειδωθούν ανεξάρτητα Χρήστες (End-users) C/C++ Games Editor Printing program Προγράµµατα εφαρµογών ευτερεύουσα Μνήµη Αρχιτεκτονική Μικροϋπολογιστή (Μοντέλο Von Neumann) Περιφερειακά Εισόδου (INPUT) Πληκτρολόγιο, CD-ROM, κ.λπ. Κεντρική Μονάδα Επεξεργασίας (CPU) Μονάδα Ελέγχου (CU) Καταχωρητές (Registers) Λειτουργικό Σύστηµα Υλικό Περιφερειακά Εξόδου (OUTPUT) Οθόνη, Εκτυπωτής, κ.λπ. Μνήµη (MU) Αριθµητική/ Λογική Μονάδα (ALU) 17 18

6 Central Processing Unit (CPU) Registers: Τοπική, γρήγορη µνήµη, για αποθήκευση δεδοµένων, αποτελεσµάτων, διευθύνσεων, εντολών. ALU: Εκτέλεση συγκρίσεων και απλών αριθµητικών και λογικών πράξεων CU: Ο «τροχονόµος» της µηχανής. Ελέγχει την επικοινωνία των µερών της CPU µεταξύ τους αλλά και της CPU µε τουπόλοιπο σύστηµα. Μνήµη (Memory) Κύρια (main ή primary) µνήµη: Read Only Memory (ROM) Random Access Memory (RAM) ευτερεύουσα (secondary) µνήµη: Σκληρός δίσκος Εύκαµπτος δίσκος (δισκέττα) Οπτικός δίσκος (CD) Ταινία Απλή Αναπαράσταση Αρχιτεκτονικής Μικροϋπολογιστή Είσοδος/Έξοδος (I/O) CPU: Κεντρική Μονάδα Επεξεργασίας ΕΣΩΤΕΡΙΚΟΣ ΙΑΥΛΟΣ Ρολόι Πληκτρολόγιο Ποντίκι ιεύθυνση εδοµένα Προς άλλες µονάδες Οθόνη Εκτυπωτής Έλεγχος Modem Ηχεία Σαρωτής INTERFACE και έλεγχος διακοπών Κεντρική Μνήµη και κυκλώµατα ελέγχου αυτής ΕΞΩΤΕΡΙΚΟΣ ΙΑΥΛΟΣ ΠΕΡΙΦΕΡΕΙΑΚΑ 22

7 Γιατί «Ψηφιακός» Η/Υ; «Καταλαβαίνει» δύο καταστάσεις: «0» και «1» Όλα, δεδοµένα, διευθύνσεις, εντολές, αποτελέσµατα, είναι κωδικοποιηµένα ως ακολουθίες δυαδικών ψηφίων (binary digits) (bits) 1 Byte=2 3 =8 bits, 1 KByte=2 10 =1024 Bytes, 1 MByte=1024 KBytes, 1 GByte=1024 MBytes, Το υαδικό Αριθµητικό Σύστηµα (1) Στο αριθµητικό σύστηµα µε βάση β: (α m α m-1 α 0.α -1 α -2 α -n ) β =α m β m +α m-1 β m α 0 β 0 + α -1 β -1 +α -2 β α -n β -n όπου τα ψηφία α i µπορεί να είναι 0, 1,..., β Το υαδικό Αριθµητικό Σύστηµα (2) Π.χ. Στο δεκαδικό σύστηµα (δηλ. β=10): 22.72=(22.72) 10 = 2* * * *10-2 και τα ψηφία του συστήµατος είναι 0, 1,..., 9=10-1. Το υαδικό Αριθµητικό Σύστηµα (3) ΟΗ/Υ χρησιµοποιεί ως κώδικα το δυαδικό (binary) αριθµητικό σύστηµα. ηλαδή β=2 και ψηφία 0, 1. Π.χ. ( ) 2 = 1*2 4 +0*2 3 +1*2 2 +1*2 1 +0* *2-1 +0*2-2 +1*2-3 +1*2-4 = =( )

8 Το υαδικό Αριθµητικό Σύστηµα (4) Το υαδικό Αριθµητικό Σύστηµα (5) Μετατροπή δεκαδικού σε δυαδικό: Ακέραιο µέρος: ιαιρούµε διαδοχικά µε το 2 έως ότου προκύψει µηδενικό πηλίκο και γράφουµε τα υπόλοιπα από το τελευταίο προς το πρώτο. Π.χ.: 22=2*11+0, 11=2*5+1, 5=2*2+1, 2=2*1+0, 1=2*0+1 Άρα: (22) 10 =(10110) Το υαδικό Αριθµητικό Σύστηµα (6) Μετατροπή δεκαδικού σε δυαδικό: Κλασµατικό µέρος: Πολλαπλασιάζουµε διαδοχικά µε το 2 και γράφουµε τα ακέραια µέρη των γινοµένων (µ αυτή τη σειρά) για όσα ψηφία θέλουµε. Π.χ.: 0.72*2=1.44, 0.44*2=0.88, 0.88*2=1.76, 0.76*2=1.52 Άρα: (0.72) 10 =(0.1011) 2 µε 4 ψηφία Το υαδικό Αριθµητικό Σύστηµα (7) Αρα: (22.72) 10 =( ) 2 µεακρίβεια4 ψηφίων Για µετατροπή σε σύστηµα µε βάση β ακολουθείται ανάλογη διαδικασία µε β στη θέση του 2. Άλλα συνήθη αριθµητικά συστήµατα: Οκταδικό (octal) (β=8) (ψηφία: 0,1,...,7) εκαεξαδικό (hexadecimal) (β=16) (ψηφία: 0,1,...,9,A,B,C,D,E,F) 30 31

9 Το υαδικό Αριθµητικό Σύστηµα (8) Το υαδικό Αριθµητικό Σύστηµα (9) Μετατροπή δυαδικού σε οκταδικό: Χωρίζουµε τοναριθµό σετριάδες bits (8=2 3 ) και µετατρέπουµε τηνκαθεµιά ξεχωριστά. Π.χ.: (22) 10 =(10110) 2 =(010110) 2 =(26) 8 Για µετατροπή στο δεκαεξαδικό χωρίζουµε σε τετράδες bits (16=2 4 ). Π.χ.: (22) 10 =(10110) 2 =( ) 2 =(16) 16 Οκταδικό/ εκαδικό υαδικό Το υαδικό Αριθµητικό Σύστηµα (10) Οι περισσότεροι αριθµοί που συναντούµε στους Η/Υ είναιδυνάµεις του 2: p Το υαδικό Αριθµητικό Σύστηµα (11) Για πρόσηµο: Επιπλέον bit στην αρχή του αριθµού (π.χ. 0 για συν, 1 για πλην) Αναπαράσταση κινητής υποδιαστολής (floating point): (-1) s * m * 2 d-e 2 p s m e s : sign, m : mantissa, e : exponent 34 35

10 Κώδικες Χαρακτήρων Χαρακτήρας: Οποιοδήποτε σύµβολο, ορατό ή µη (π.χ. ψηφία, γράµµατα, σηµεία στίξης, κενά, κ.λπ.) Κάθε χαρακτήρας έχει µια εσωτερική δυαδική αναπαράσταση. Κώδικες χαρακτήρων: American Standard Code for Information Interchange (ASCII): 7 bits (ASCII-8: 8 bits) Unicode: 16 bits Μοντέλο αποθηκευµένου προγράµµατος (1) Βασικές λειτουργίες κωδικοποιούνται ως δυαδικές λέξεις. Πρόγραµµα: Ακολουθία τέτοιων κωδικών (εντολών (instructions)), που, αν εκτελεστεί, οδηγεί σε κάποιο επιθυµητό αποτέλεσµα Μοντέλο αποθηκευµένου προγράµµατος (2) Αποθήκευση (φόρτωση) του προγράµµατος στη RAM Εκτέλεση της ακολουθίας των εντολών από τη CPU Ο καταχωρητής program counter (PC) δείχνει σε ποιά θέση στη µνήµη βρίσκεται η επόµενη εντολή προς εκτέλεση. 38 Λειτουργία CPU Κατάσταση Αναµονής Αν υπάρχει εντολή εκτέλεσης: Ανάκληση Εντολής από Μνήµη (Instruction Fetch) Αποκωδικοποίηση Εντολής (Decoding) Ανάκληση εδοµένων (Operand Fetch) Εκτέλεση Εντολής Αποθήκευση Αποτελέσµατος Tέλος Εκτέλεσης Εντολής Αν υπάρχει ανάγκη στο Σύστηµα ιακοπών: Μεταφορά λειτουργίας στους ιακόπτες Εκτέλεση ιακοπής Τέλος ενασχόλησης µε Σύστηµα ιακοπών Συνέχιση ιαδικασίας 39

11 Ταξινόµηση Λογισµικού Μικροϋπολογιστών Λογισµικό Μέσα σε ROM Μέσα σε RAM Βοηθητική Μνήµη Καρτών Ελέγχου Λειτουργικό Σύστηµα BIOS Λογισµικό Συστήµατος Λειτουργικό ικτύου Ευκολίες Συστήµατος Λογισµικό Εφαρµογών ίκτυο Επόπτης Εκτελεστής ιαχειριστής κ.λπ. Back-up Restore κ.λπ. MIS Αυτοµατισµός γραφείου Στατιστικά προγράµµατα CAD/ CAM Λογισµικό Εφαρµογών (Applications Software) Προγράµµατα φτιαγµένα για να κάνουν µια συγκεκριµένη δουλειά. Παραδείγµατα: Κειµενογράφοι (π.χ. Word) Υπολογιστικά φύλλα (π.χ. Excel) Συστήµατα διαχείρισης βάσεων δεδοµένων (π.χ. Access) Υπολογιστικά πακέτα (π.χ. Mathematica, SPSS) Παιχνίδια και φυσικά... όλαταπρογράµµατα που εσείς θα γράψετε Λειτουργικό Σύστηµα (Operating System) Σύνολο προγραµµάτων που αποτελούν το ενδιάµεσο µεταξύ χρήστη και CPU αλλά και µεταξύ προγραµµάτων εφαρµογών και περιφερειακών. Σκοπός: Η δηµιουργία περιβάλλοντος στο οποίο διάφορες εφαρµογές που χρησιµοποιούν τον Η/Υ µε διάφορους τρόπους να µπορούν να «τρέξουν.» Μερικά από τα καθήκοντά του: Εκκίνηση Η/Υ Έλεγχος πρόσβασης (access control) Αποθήκευση πληροφοριών και προγραµµάτων Καταχώρηση πόρων (resource allocation) ιαµοιρασµός πόρων (resource sharing) ιαχείριση περιβάλλοντος εργασίας 42

12 Επίλυση προβληµάτων µε Η/Υ 1. Ξεκάθαρη διατύπωση του προβλήµατος 2. Ανάπτυξη µαθηµατικού µοντέλου 3. Σχεδιασµός µεθόδου επίλυσης (Αλγόριθµος) 4. Έλεγχος ορθότητας του αλγορίθµου 5. Ανάλυση πολυπλοκότητας 6. Υλοποίηση (Κωδικοποίηση σε ακολουθία εντολών προς τον Η/Υ) 7. οκιµή του προγράµµατος (Testing) 8. Τεκµηρίωση (Documentation) Αλγόριθµος (1) Ακολουθία ενεργειών (βηµάτων) που πρέπει να γίνουν για την επίλυση του προβλήµατος (σύµφωνα µε κάποια µέθοδο επίλυσης.) Χαρακτηριστικά: Πεπερασµένη περιγραφή Απαιτεί πεπερασµένο χρόνο και µνήµη για να καταλήξει σε λύση, για οποιαδήποτε δεδοµένα. Καθορίζεται µε ακρίβεια. Αποτελεσµατικότητα: Κάθε βήµα να είναι το απλούστερο δυνατό και να είναι εκτελέσιµο στονη/υ. Ορθότητα Αλγόριθµος (2) Πολυπλοκότητα (complexity) αλγορίθµου: Χρόνος υπολογισµού και απαιτούµενη µνήµη ωςσυνάρτησητου µεγέθους των δεδοµένων εισόδου. Έξυπνες λύσεις για µείωση της πολυπλοκότητας Αλγόριθµος (3) Υπάρχουν προβλήµαταγιαταοποίαδεν υπάρχουν αλγόριθµοι χαµηλής πολυπλοκότητας; Ναι. Π.χ. Travelling Salesman Problem (TSP) 45 46

13 Αλγόριθµος (4) Προβλήµατα που δεν επιλύονται µε Η/Υ; Ναι! Π.χ.: Σχεδιασµός αλγορίθµου που, για οποιονδήποτε δοσµένο αλγόριθµο, να ελέγχει αν αυτός τερµατίζει σε πεπερασµένο χρόνο (halting problem). Αλγόριθµος (5) Υπάρχουν προβλήµατα για τα οποία είναι πολύ δύσκολο ή και αδύνατο να διατυπωθεί αλγόριθµος µε σαφή και πεπερασµένη περιγραφή; οκιµάστε να περιγράψετε αλγόριθµο για το δέσιµο τωνκορδονιώντων παπουτσιών!!! Τρόποι περιγραφής αλγορίθµων Φραστική: Χρήση της καθοµιλουµένης γλώσσας Ψευδοκώδικας (pseudocode): Χρησιµοποιείται µια πιο αυστηρή γλώσσα, που µοιάζει περισσότερο µε πρόγραµµα ιαγράµµατα ροής (Flow charts) οµοδιαγράµµατα... Παράδειγµα ιαίρεση δοθέντων κλασµάτων, a/b διά c/d. Μία µέθοδος επίλυσης: Εναλλάσσουµε τον αριθµητή και τον παρονοµαστή του δεύτερου κλάσµατος και πολλαπλασιάζουµε αριθµητές και παρονοµαστές

14 Φραστική περιγραφή (1) Άλλαξε το cµετοd. Πολλαπλασίασε το a µε τονέοc και το bµετονέοd. Φραστική περιγραφή (2) ιάβασε τα a, b, c, d. Άλλαξε το cµετοd. Πολλαπλασίασε το a µε τονέοc και το bµετονέοd. Τύπωσε τα δύο γινόµενα Φραστική περιγραφή (3) Πώς θα γίνει η εναλλαγή; Μα είναι απλό (;): Θέσε στο c την τιµή τουd Θέσε στο d την τιµή τουc Ποιά τιµή είχε αρχικά το c; Χάθηκε! Φραστική περιγραφή (4) Ορθή διατύπωση: ιάβασε τα a, b, c, d. Έλεγξε αν κάποιο από τα b, c, d είναι µηδενικό. Αν ναι, µην προχωράς. Αποθήκευσε την τιµή του c στο temp Θέσε στο c την τιµή τουd Θέσε στο d την τιµή τουtemp Πολλαπλασίασε το a µε τονέοc και το bµετονέο d. Τύπωσε τα δύο γινόµενα

15 Ψευδοκώδικας Αλγόριθµος διαίρεσης δύο δοσµένων κλασµάτων, a/b και c/d. Είσοδος: a, b, c, d Έξοδος: a*d, b*c Βήµα 0 : ιάβασε τα a, b, c, d Βήµα 1: Αν b=0 ή c=0 ή d=0, πήγαινε στο Βήµα 8. Βήµα 2: temp c Βήµα 3: c d Βήµα 4: d temp Βήµα 5: num a*c Βήµα 6: den b*d Βήµα 7: Τύπωσε τα num, den. Βήµα 8: Τέλος ιαγράµµατα Ροής (Flow Charts) Αρχή/Τέλος Επεξεργασία Είσοδος/Έξοδος Απόφαση Υποπρόγραµµα Ροή Ένωση Αρχή ιάβασε a,b,c,d b ή c ή d=0? OXI temp c c d d temp num a*c den b*d Περιγραφή µε διάγραµµα ροής NAI Τύπωσε num,den Τέλος Ανάλυση Πολυπλοκότητας Πόσες πράξεις χρειάζεται ο αλγόριθµος; 2 πολλαπλασιασµούς τουλάχιστον 1 σύγκριση Χρειάζεται επίσης και πάνω από 5 καταχωρήσεις ( ) Αυτές συνεπάγονται προσπέλαση της µνήµης Μπορούν να µειωθούν; 60 61

16 Πρόγραµµα (σε γλώσσα C) #include <stdio.h> main(void) float a, b, c, d, temp, num, den; printf( ώσε τα a, b, c, d: ); scanf( %f %f %f %f,&a,&b,&c,&d); if (b==0 c==0 d==0) fprintf(stderr, ιαίρεση αδύνατη!\n ); return(1); temp=c; c=d; d=temp; num=a*c; den=b*d; printf( Αποτέλεσµα: %f/%f\n,num,den); return(0); Πρόγραµµα (σε γλώσσα C, µε τεκµηρίωση) /* * Περιεχόµενο: Πρόγραµµα για διαίρεση δύο δοσµένων * κλασµάτων * Συγγραφέας: Ε. Κοφίδης * Ηµεροµηνία: 1 Μαρτίου 2005 */ #include <stdio.h> main(void) float a, b, c, d; /* δεδοµένα εισόδου */ float temp, num, den; /* βοηθητικές µεταβλητές */ /* Είσοδος δεδοµένων */ printf( ώσε τα a, b, c, d: ); scanf( %f %f %f %f,&a,&b,&c,&d); /* Έλεγχος ορθότητας δεδοµένων */ if (b==0 c==0 d==0) fprintf(stderr, ιαίρεση αδύνατη!\n ); return(1); /* τερµατισµός προγράµµατος */ /* Εναλλαγή αριθµητή και παρονοµαστή του δεύτερου κλάσµατος */ temp=c; c=d; d=temp; /* Υπολογισµός αριθµητή και παρονοµαστή του αποτελέσµατος */ num=a*c; den=b*d; /* Έξοδος αποτελέσµατος */ printf( Αποτέλεσµα: %f/%f\n,num,den); return(0); /* τέλος */ Εναλλακτικός αλγόριθµος Αλγόριθµος διαίρεσης δύο δοσµένων κλασµάτων, a/b και c/d. Είσοδος: a, b, c, d Έξοδος: a*d, b*c Βήµα 0 : ιάβασε τα a, b, c, d Βήµα 1: Αν b=0 ή c=0 ή d=0, πήγαινε στο Βήµα 5. Βήµα 2: Υπολόγισε το a*d Βήµα 3: Υπολόγισε το b*c Βήµα 4: Τύπωσε τα αποτελέσµατα. Βήµα 5: Τέλος 64 65

17 Πρόγραµµα (σε γλώσσα C) /* * Περιεχόµενο: Πρόγραµµα για διαίρεση δύο δοσµένων * κλασµάτων * Συγγραφέας: Ε. Κοφίδης * Ηµεροµηνία: 1 Μαρτίου 2005 */ #include <stdio.h> main(void) float a, b, c, d; /* δεδοµένα εισόδου */ /* Έλεγχος ορθότητας δεδοµένων */ if (b==0 c==0 d==0) fprintf(stderr, ιαίρεση αδύνατη!\n ); return(1); /* τερµατισµός προγράµµατος */ /* Έξοδος αποτελέσµατος */ printf( Αποτέλεσµα: %f/%f\n,a*d,b*c); return(0); /* τέλος */ /* Είσοδος δεδοµένων */ printf( ώσε τα a, b, c, d: ); scanf( %f %f %f %f,&a,&b,&c,&d); Ο Αλγόριθµος δεν είναι «συνταγή»! «Συνταγή»: Η διαίρεσητωνκλασµάτων 1/b και 1/d µπορεί να γίνει διαιρώντας το dµετοb. Ένας αλγόριθµος για ένα πρόβληµα πρέπει να θεωρεί την πιο γενική του µορφή. (Σας θυµίζει κάτι αυτό από τα µαθήµατα του Excel;) 68

18 Ένα ακόµη παράδειγµα Πρόβληµα: Υπολογισµός διακύµανσης δοσµένων αριθµών x 0,x 1,,x N-1 Λύση: Εφαρµόζουµε το γνωστό µας N τύπο: 1 2 ( xi µ ) 2 i= 0 σ = N N 1 xi i= 0 όπου µ οαριθµητικός µέσος: µ = N Φραστική περιγραφή (1) 1. ιάβασε το πλήθος των αριθµών, Ν 2. ιάβασε τους Ν αριθµούς 3. Υπολόγισε τον αριθµητικό µέσο όρο τους 4. Υπολόγισε τον αριθµητικό µέσο όρο των τετραγώνων των διαφορών τους µε τοµέσο όρο τους 5. Τύπωσε το αποτέλεσµα Φραστική περιγραφή (2) 1. ιάβασε το πλήθος των αριθµών, Ν. 2. ιάβασε τους Ν αριθµούς 3. Υπολόγισε τον αριθµητικό µέσο όρο τους: a. Υπολόγισε το άθροισµά τους. b. ιαίρεσέ το µε τον. 4. Υπολόγισε τον αριθµητικό µέσο όρο των τετραγώνων των διαφορών τους µε το µέσο όρο τους: a. Υπολόγισε τα τετράγωνα των διαφορών των αριθµών και του µέσου όρου τους. b. Υπολόγισε, όπως παραπάνω, το µέσο όρο αυτών. 5. Τύπωσε το αποτέλεσµα Φραστική περιγραφή (3) 4. Υπολόγισε τον αριθµητικό µέσο όρο των τετραγώνων των διαφορών τους µε το µέσο όρο τους: a. Υπολόγισε τα τετράγωνα των διαφορών τους µε το µέσο όρο τους: i. Υπολόγισε το τετράγωνο της διαφοράς του πρώτου αριθµού και του µέσου όρου των αριθµών. ii. Κάνε το ίδιο για τον επόµενο αριθµό. iii. Επανέλαβε το ii. έως ότου έχεις φτάσει και στον τελευταίο αριθµό. b. Υπολόγισε, όπως στο 3., το µέσο όρο των τετραγώνων. 5. Τύπωσε το αποτέλεσµα 71 73

19 Ψευδοκώδικας (1) Αλγόριθµος υπολογισµού διακύµανσης δοσµένων αριθµών Είσοδος: το πλήθος, Ν, των αριθµών, και οι αριθµοί, x 0,x 1,,x N-1 Έξοδος: Η διακύµανση, sigma2, του δοσµένου δείγµατος Βήµα 1: ιάβασε το Ν. Βήµα 2: Αν N<=0 ή N πολύ µεγάλο, πήγαινε στο Βήµα 7. Βήµα 3: ιάβασε το x 0. i 1 Όσο Ν>i ιάβασε το x i. i i+1 Ψευδοκώδικας (2) Βήµα 4: mu average(x 0,x 1,,x N-1 ) mu 0 i 0 Όσο N>i mu mu+x i i i+1 mu mu/n Βήµα 5: s 0 =(x 0 -mu) 2 i 1 Όσο N>i s i (x i -mu) 2 i i Ψευδοκώδικας (3) sigma2 average(s 1,s 2,,s N ) Βήµα 6: Τύπωσε το sigma2. Βήµα 7: Τέλος. Πρόγραµµα (σε C) /* * Πρόγραµµαυπολογισµού διακύµανσης δείγµατος * Ναριθµών * Συγγραφέας: Ε. Κοφίδης * Ηµεροµηνία: 3 Μαρτίου 2005 */ #include <stdio.h> #define MAX_N 100 /* µέγιστο επιτρεπτό πλήθος */ main() /* υποπρογράµµατα */ float square(float a), average(float y[],int M); /* µεταβλητές */ int N; /* πλήθος αριθµών */ float x[max_n], /* οι αριθµοί του δείγµατος */ s[max_n]; /* τα τετράγωνα (x-µέσος όρος)^2 */ float temp; /* βοηθητική µεταβλητή */ float mu, sigma2; /* µέσος όρος και διακύµανση */ register int i; /* µετρητής */ 76 77

20 /* ιάβασε το N */ printf( Πόσοι είναι οι αριθµοί; ); scanf( %d,&n); /* Έλεγξε αν είναι αποδεκτό */ if (N<=0 N>MAX_N) fprintf(stderr, Μη αποδεκτός αριθµός!\n ); return(1); /* ιάβασε τους Ν αριθµούς */ printf( ώσε %d αριθµούς:,ν); scanf( %f,&temp); x[0]=temp; i=1; while (i<n) scanf( %f,&temp); x[i]=temp; i=i+1; /* Υπολόγισε το µέσο όρο τους */ mu=average(x,n); /* Υπολόγισε τα τετράγωνα των διαφορών µε τοµέσο όρο */ s[0]=square(x[0]-mu); i=1; while (i<n) s[i]=square(x[i]-mu); i=i+1; /* Υπολόγισε τη διακύµανση ως µέσο όρο των τετραγώνων των διαφορών */ sigma2=average(s,n); /* Τύπωσε αποτέλεσµα */ printf( ιακύµανση=%f\n,sigma2); return(0); /* τέλος */ 80 /* υπολογίζει το τετράγωνο ενός αριθµού */ float square(float a) return(a*a); /* υπολογίζει τον αριθµητικό µέσο των Μ αριθµών στον πίνακα y */ float average(float y[],int M) float m; register int i; m=0; i=0; while (i<m) m=m+x[i]; i=i+1; m=m/m; return(m); 81

21 Stepwise Refinement Η ανάπτυξη και περιγραφή του αλγορίθµου ακολουθεί µια ιεραρχική πορεία, από την πιο «χονδρική» προς περισσότερο λεπτοµερείς µορφές, από το πιο γενικό προς το πιο ειδικό. Πλεονεκτήµατα: Αποφυγή εµπλοκής εξ αρχής µε λεπτοµέρειες οµηµένη σκέψη οµηµένος Προγραµµατισµός (Structured Programming) (1) Ανάλυση του αλγορίθµου (προγράµµατος) σε τµήµατα (υποπρογράµµατα, modules) τα οποία συνεργάζονται για να δώσουν το τελικό αποτέλεσµα, αλλά ταυτόχρονα δηµιουργούνται (και ελέγχονται) ανεξάρτητα το ένα από το άλλο οµηµένος Προγραµµατισµός (Structured Programming) (2) Πλεονεκτήµατα: Ευκολία στην κατανόηση της λειτουργίας του προγράµµατος Ευκολία στον έλεγχο της ορθότητάς του και στην εκσφαλµάτωσή του (debugging). υνατότητα ανάπτυξης υποπρογραµµάτων ανεξάρτητα, από διαφορετικούς ανθρώπους υνατότητα επαναχρησιµοποίησης υποπρογραµµάτων (π.χ. τo average στο παραπάνω παράδειγµα) Σχεδιασµός Αλγορίθµων (Algorithm Design) Divide-and-conquer: ιαίρεση µεγάλου (και δύσκολου) προβλήµατος σε περισσότερα µικρά (και πιο εύκολα) προβλήµατα Stepwise Refinement (Top-down design) 85 86

22 Σχεδιασµός Αλγορίθµων (Algorithm Design) Bottom-up design: Ανάπτυξη των τµηµάτων του αλγορίθµου (προγράµµατος) ξεκινώντας από τα µικρότερα προς τα µεγαλύτερα (που τα περικλείουν). Συνηθίζεται περισσότερο στην κωδικοποίηση του αλγορίθµου σε πρόγραµµα. Σχεδιασµός Προγραµµάτων (Τεχνολογία Λογισµικού (Software Engineering)) Programming style Software reusability, modularity, maintainability, testability Software quality evaluation Τεκµηρίωση (Documentation) (1) Πληροφορία που: βοηθά στην κατανόηση του αλγορίθµου/προγράµµατος, πείθει για την ορθότητά του, δίνει αποτελέσµατα δοκιµής του, οδηγίες εισαγωγής δεδοµένων κι ερµηνείας αποτελεσµάτων, οδηγίες χρήσης, κ.λπ. Τεκµηρίωση (Documentation) (2) Περιλαµβάνει: Σχόλια µέσα στο πρόγραµµα Βοηθητική πληροφορία για την κατανόηση του αλγορίθµου (π.χ. ψευδοκώδικας ή διάγραµµα ροήςήκείµενο) Αποτελέσµατα από τη δοκιµή του προγράµµατος Οδηγίεςχρήσηςτου 89 90

23 Τεκµηρίωση (Documentation) (3) Χρυσός κανόνας: Να τεκµηριώνεις τα προγράµµατά σου όπως θα ήθελες οι άλλοι να τεκµηριώνουν τα προγράµµατα που εσύ διαβάζεις. 91 Γλώσσες Προγραµµατισµού Σύνολο Εντολών (Instruction Set): Βασικό, θεµελιώδες σύνολο εντολών built-in στη CPU Γλώσσα Μηχανής (Machine Language): Κώδικας αριθµοδότησης του instruction set Γλώσσα Assembly: Πιο ευανάγνωστη κωδικοποίηση εντολών (µε γράµµατα). Π.χ., ADD R2,R4 Γλώσσες υψηλού επιπέδου (High-Level Languages): Σύνθετοι κώδικες, πιο κοντά στη φυσική γλώσσα. Απαιτούν µετάφραση (µεταγλώττιση) στη γλώσσα µηχανής. 92 Γλώσσες Προγραµµατισµού Υψηλού Επιπέδου Αρχείο κώδικα γλώσσας υψηλού επιπέδου Μεταγλωττιστής (Compiler)/ ιερµηνέας (Interpreter) Assembly Συµβολοµεταφραστής (Assembler) Machine Language CPU Γλώσσες προγραµµατισµού υψηλού επιπέδου (γενικού ή/και ειδικού σκοπού) FORmula TRANslator (FORTRAN) COmmonBusinessOrientedLanguage (COBOL) Beginner sallpurposesymbolicinstructioncode (BASIC) LISt Processing language (LISP) PROgramming with LOGic (PROLOG) Pascal C/C++ Java HyperTextMarkupLanguage (HTML) 93 94

24 Λίγη ιστορία D. M. Ritchie και K. Thompson Σταθµοί (1) K. Thompson: Γλώσσα B, για ανάπτυξη του νέου UNIX στα Bell Labs D. M. Ritchie: Γλώσσα C(πρώτη µορφή) ως απόγονος, υψηλότερου επιπέδου, της B B. W. Kernighan και D. M. Ritchie, The C Programming Language, 1978 (The white book, K&R ) Σταθµοί (2) Πρότυπο ANSI (American National Standards Institute): Προτυποποίηση της γλώσσας φορητότητα, οµοιογένεια B. W. Kernighan και D. M. Ritchie, The C Programming Language, 2 nd ed., 1988 (βασική αναφορά για το πρότυπο ANSI C)

25 Το γενεαλογικό δένδρο της C Brian W. Kernighan eton.edu/~bwk/ Dennis M. Ritchie Γιατί C; Σχετικά µικρή κι εύκολη στην εκµάθηση Υψηλού αλλά ταυτόχρονα και «χαµηλού» επιπέδου (επιτρέπει άµεση πρόσβαση στους πόρους του Η/Υ) Υποστηρίζει δοµηµένο και top-down προγραµµατισµό Παράγει συµπαγή και γρήγορα προγράµµατα Είναι µεταφέρσιµη (φορητή) Αποτελεί (µαζί µε τη C++) την ευρύτερα χρησιµοποιούµενη γλώσσα ( µεγάλη ποικιλία µεταγλωττιστών και βοηθηµάτων) Προετοιµασία για τον αντικειµενοστραφή απόγονό της, τη C++ (αλλά και τη Java)

26 Ανάπτυξη Προγράµµατος Αρχή Κύκλος Ανάπτυξης Προγράµµατος Αρχεία βιβλιοθήκης Χρήση συντάκτη (editor) Πηγαίος κώδικας (.c ή.cpp Μεταγλώττιση πηγαίου κώδικα (compile) Κώδικας αντικει- µένου (.obj) Σύνδεση αντικειµενικού αρχείου (link) Εκτελέσιµο Πρόγραµµα (.exe) ΝΑΙ Σύνταξη πηγαίου κώδικα Μεταγλώττιση πηγαίου κώδικα Υπάρχουν λάθη; ΟΧΙ Σύνδεση προγράµµατος ΝΑΙ Υπάρχουν λάθη; ΟΧΙ Εκτέλεση προγράµµατος ΝΑΙ Υπάρχουν λάθη; ΟΧΙ Τέλος Ποιόν µεταγλωττιστή θα χρησιµοποιήσουµε εµείς; Dev C++ (Free) Μερικοί free C(++) Compilers #webinstall

27 αρχή τέλος Το πρώτο µας πρόγραµµα C /* Αυτό είναι ένα σχόλιο (comment) */ #include <stdio.h> main( ) printf( Hello, world!\n ); return(0); συµπερίληψη βιβλιοθήκης I/O κύρια (main) συνάρτηση συνάρτηση εκτύπωσης στην οθόνη εντολή επιστροφής αλφαριθµητικό ή συµβολοσειρά (string) 110 Συστατικά ενός προγράµµατος C Συναρτήσεις (functions) Μεταβλητές (variables) 111 Συναρτήσεις (functions): Αυτοτελή τµήµατα κώδικα (υποπρογράµµατα), που εκτελούν συγκεκριµένες λειτουργίες και µπορούν να χρησιµοποιηθούν (κληθούν) από άλλες συναρτήσεις Το σηµείο εκκίνησης και τερµατισµού είναι η κύρια συνάρτηση (main). Κάθε πρόγραµµα C έχει οπωσδήποτε µία συνάρτηση main. Η main «καλεί» άλλες συναρτήσεις για να τη βοηθήσουν. Κλήση (call) συνάρτησης: όνοµα_συνάρτησης(λίστα παραµέτρων) π.χ. printf( Hello, world!\n ); 112 Μεταβλητές (variables): Θέσεις στη µνήµη, µε ονόµατα, για αποθήκευση δεδοµένων ή αποτελεσµάτων Παραδείγµατα: Ηδήλωσηint N; ορίζει τη µεταβλητή µε όνοµα N και τύπο int, δηλαδή θέση στη µνήµη, µε όνοµα N, η οποία πρόκειται να δεχθεί ακέραιο (integer) αριθµό. Με την float x[max_n]; ορίζεται η µεταβλητή x που αποτελεί MAX_N διαδοχικές θέσεις µνήµης που αποθηκεύουν ισάριθµο πλήθοςπραγµατικών αριθµών (floating point). 113

28 Εντολές (Statements): Το σώµα (body) µιας συνάρτησης αποτελείται από µια ακολουθία εντολών (statements) (ή προτάσεων). Παραδείγµατα: i=i+1; δηλαδή αύξησε την τιµή του i κατά 1. Ηεντολήscanf( %f,&temp); καλεί τη συνάρτηση scanf µε ορίσµατα %f και &temp, γιαναδιαβάσει από το πλήκτρολόγιο τον επόµενο πραγµατικό αριθµό (float) και να τον αποθηκεύσει στη θέση µνήµης µε όνοµα temp. Semicolon: ; ηλώνει το τέλος µιας εντολής. Παράδειγµα: printf( Hello, world!\n ); return(0); printf( Hello, world!\n ) return(0); Λάθος. Η return δεν αναγνωρίζεται ως ξεχωριστή εντολή. Χρειάζεται, αν και δεν ακολουθεί άλλη εντολή στο ίδιο µπλοκ Οδηγίες προεπεξεργαστή (1): Παραδείγµατα: #include <stdio.h> Λέει στον προεπεξεργαστή να ενσωµατώσει στο πρόγραµµα πληροφορίες για τις συναρτήσεις της πρότυπης βιβλιοθήκης εισόδου/εξόδου (I/O), µεταξύ αυτών και την printf. Οδηγίες προεπεξεργαστή (2): #define MAX_N 100 Λέει στον προεπεξεργαστή ν αντικαταστήσει κάθε εµφάνιση του string ΜΑΧ_Ν µε το100. ηλαδή, ορίζει (define) το MAX_N να σηµαίνει

29 Σχόλια (Comments): Ο,τιδήποτε βρίσκεται µεταξύ του /* και του */ είναι σχόλιο και αγνοείται από το µεταγλωττιστή. Παραδείγµατα: /* Αυτό είναι ένα σχόλιο. */ /* όπως κι αυτό, επίσης */ /* απαγορεύονται τα /* ένθετα (nested) */ σχόλια */ Ένα πιο ενδιαφέρον παράδειγµα Πρόβληµα: Μετατροπή θερµοκρασίας από την κλίµακα Φαρενάιτ σ αυτή του Κελσίου (για 0, 20, 40,..., 300 o F) o C=(5/9)*( o F 32) Αρχή fahr 0 ΟΧΙ fahr<=300? ΝΑΙ celsius (5/9)*(fahr-32) Τέλος ιάγραµµα Ροής Βρόχος (loop) #include <stdio.h> main() int fahr; float celsius; fahr = 0; next: /* επόµενη επανάληψη */ if (fahr > 300) goto end; celsius = (5.0 / 9.0) * (fahr ); printf("%3d %6.1f\n", fahr, celsius); fahr = fahr + 20; goto next; Χρήση goto: Μη- οµηµένος Προγραµµατισµός Εντολή ελέγχου if Εντολές goto Τύπωσε fahr και celsius fahr fahr+20 end: /* τέλος */ return(0);

30 Αποφύγετε τη χρήση της εντολής goto Αναχρονιστική, δεν είναι στυλ δοµηµένου προγραµµατισµού. υσχεραίνει την κατανόηση του προγράµµατος άρα και την εκσφαλµάτωση (debugging). /* Τύπωσε πίνακα θερµοκρασιών Φαρενάιτ-Κελσίου * για 0, 20, 40,..., 300 βαθµούς Φαρενάιτ */ #include <stdio.h> main() int fahr; float celsius; fahr = 0; while (fahr <= 300) celsius = (5.0 / 9.0) * (fahr ); printf("%3d %6.1f\n", fahr, celsius); fahr = fahr + 20; Μεταβλητή τύπου int Μεταβλητή τύπου float Σχόλιο Βάλε 0 στη fahr (καταχώρηση) Εντολή επανάληψης while Κι άλλες καταχωρήσεις return(0); Τέλος, επιστροφή µε 0 στο ΛΣ Χειρισµός σταθερών (1) Τι γίνεται αν θελήσουµε αργότεραν αλλάξουµε κάποιο/α απότα0, 300, 20; εν είναι βολικό, αφού είναι «θαµµένα» µέσα στον κώδικα. Λύση: Τους δίνουµε ονόµατα. #include <stdio.h> main() int fahr; float celsius; int lower, upper, step; /* νέες, βοηθητικές µεταβλητές */ lower=0; upper=300; step=20; fahr = lower; while (fahr <= upper) celsius = (5.0 / 9.0) * (fahr ); printf("%3d %6.1f\n", fahr, celsius); fahr = fahr + step; εν είναι απαραίτητο οι εντολές να είναι η µία κάτω απ την άλλη. return(0);

31 Χειρισµός σταθερών (2) Γιατί όµως να έχουµε µεταβλητές για ποσότητες που δεν αλλάζουν στη διάρκεια της εκτέλεσης; (σπατάλη µνήµης και χρόνου) Λύση: Συµβολικές σταθερές. /* Τύπωσε πίνακα θερµοκρασιών Φαρενάιτ-Κελσίου * για 0, 20, 40,..., 300 βαθµούς Φαρενάιτ */ #include <stdio.h> #define LOWER 0 /* lower temperature */ #define UPPER 300 /* upper temperature */ #define STEP 20 /* step size */ main() int fahr; Συµβολικές σταθερές Εντολή επανάληψης for («για») for (fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP) printf("%3d %6.1f\n", fahr, (5.0 / 9.0) * (fahr )); return(0); εν χρειάζεται η celsius #include <stdio.h> #define LOWER 0 /* lower temperature */ #define UPPER 300 /* upper temperature */ #define STEP 20 /* step size */ main() int fahr; fahr = LOWER; Εντολή επανάληψης do-while do printf("%3d %6.1f\n", fahr, (5.0 / 9.0) * (fahr )); fahr = fahr + STEP; while (fahr <= UPPER); return(0); Ησυνάρτησηprintf (1) Εµφανίζει στην οθόνη τα ορίσµατά της. Π.χ. printf( %3d %6.1f\n, fahr, celsius); Προσδιορισµός: Ακέραιος (d) τουλάχιστον 3 θέσεων Προσδιορισµός: Πραγµατικός (f) τουλάχιστον 6 θέσεων µε 1 δεκαδικό ψηφίο

32 Ησυνάρτησηprintf (2) Εναλλακτικά: Έξοδος του προγράµµατος: 3 θέσεις 6 θέσεις printf( %3d, fahr); printf( %6.1f\n, celsius); printf( %3d, fahr); printf( %6.1f, celsius); printf( \n ); κ.λπ Είσοδος/Έξοδος Χαρακτήρων Πρόβληµα: Αντιγραφή της εισόδου στην έξοδο Λύση: ιάβασε τον επόµενο χαρακτήρα και τύπωσέ τον έως ότου φτάσεις στο χαρακτήρα τέλους αρχείου. Ψευδοκώδικας (1) Αλγόριθµος αντιγραφής των χαρακτήρων από την είσοδο στην έξοδο Είσοδος: Χαρακτήρες από το πληκτρολόγιο Έξοδος: Οι ίδιοι χαρακτήρες στην οθόνη Βήµα 1: ιάβασε τον πρώτο χαρακτήρα. Βήµα 2: Αν είναι ο χαρακτήρας τέλους αρχείου, πήγαινε στο Βήµα 6. Βήµα 3: Τύπωσε το χαρακτήρα που µόλις διάβασες. Βήµα 4: ιάβασε τον επόµενο χαρακτήρα. Βήµα 5: Πήγαινε στο Βήµα 2. Βήµα 6: Τέλος

33 Ψευδοκώδικας (2) Αλγόριθµος αντιγραφής των χαρακτήρων από την είσοδο στην έξοδο Είσοδος: Χαρακτήρες από το πληκτρολόγιο Έξοδος: Οι ίδιοι χαρακτήρες στην οθόνη Βήµα 1: ιάβασε τον πρώτο χαρακτήρα. Βήµα 2: Όσο δεν είναι ο χαρακτήρας τέλους αρχείου, Τύπωσε το χαρακτήρα που µόλις διάβασες. ιάβασε τον επόµενο χαρακτήρα. Βήµα 3: Τέλος. Πρόγραµµα C #include <stdio.h> main() int ch; ch = getchar(); while (ch!= EOF) putchar(ch); ch = getchar(); return(0); Ακέραιος (int) για συµπερίληψη του EOF (συνήθως =-1) ιαβάζει χαρακτήρα. End Of File (Ctrl+Z) Γράφει χαρακτήρα Συναρτήσεις εν συντοµία Συνάρτηση (function): υποπρόγραµµα που χρησιµοποιείται («καλείται» (call)) από ένα άλλο για να εκτελέσει µια συγκεκριµένη λειτουργία. Π.χ.: στο παράδειγµα υπολογισµού διακύµανσης: main, average, square Κάθε πρόγραµµα έχει µια κύρια συνάρτηση, τη main. Ορισµός συνάρτησης επιστρεφόµενος_τύπος όνοµα_συνάρτησης(λίστα παραµέτρων, αν υπάρχουν) δηλώσεις Σώµα (body) της συνάρτησης εντολές Π.χ. float square(float a) return(a * a);

34 ήλωση συνάρτησης επιστρεφόµενος_τύπος όνοµα_συνάρτησης(λίστα παραµέτρων, αν υπάρχουν); Π.χ. Πρωτότυπο (prototype) float square(float a); Ένα παράδειγµα #include <stdio.h> #define MAX_N 100 /* µέγιστο επιτρεπτό πλήθος */ main() /* δήλωση υποπρογραµµάτων (συναρτήσεων) */ float square(float a), average(float y[ ],int M); /* δήλωση (και ορισµός) µεταβλητών */ int N; /* πλήθος αριθµών */ float x[max_n], /* οι αριθµοί του δείγµατος */ s[max_n]; /* τα τετράγωνα (x-µέσος όρος)^2 */ float temp; /* βοηθητική µεταβλητή */ float mu, sigma2; /* µέσος όρος και διακύµανση */ register int i; /* µετρητής */ /* ιάβασε το N */ printf( Πόσοι είναι οι αριθµοί; ); scanf( %d, &N); /* Έλεγξε αν είναι αποδεκτό */ if (N <= 0 N > MAX_N) fprintf(stderr, Μη αποδεκτός αριθµός!\n ); return(1); /* ιάβασε τους Ν αριθµούς */ printf( ώσε %d αριθµούς:, Ν); scanf( %f, &temp); x[0] = temp; i = 1; while (i < N) scanf( %f, &temp); x[i] = temp; i=i+1; /* Υπολόγισε το µέσο όρο τους */ mu = average(x, N); Κλήση της average

35 /* Υπολόγισε τα τετράγωνα των διαφορών µε τοµέσο όρο */ s[0] = square(x[0] - mu); i = 1; while (i < N) Κλήσεις της square s[i] = square(x[i] - mu); i= i + 1; /* Υπολόγισε τη διακύµανση ως µέσο όρο των τετραγώνων των διαφορών */ sigma2 = average(s, N); /* Τύπωσε αποτέλεσµα */ Κλήση της average printf( ιακύµανση=%f\n, sigma2); return(0); /* τέλος */ 145 /* Ορισµός των συναρτήσεων */ float square(float a) /* υπολογίζει το τετράγωνο ενός αριθµού */ return(a * a); float average(float y[ ], int M) /* υπολογίζει τον αριθµητικό µέσο των Μ αριθµών στον πίνακα y */ float m; register int i; m = 0; i = 0; while (i < M) m = m + y[i]; i = i + 1; m = m / M; return(m); ηλώσεις Εντολές 146

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Βιβλιογραφία "C Προγραμματισμός", Deitel & Deitel, Πέμπτη Έκδοση, Εκδόσεις

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07 Τμήμα θεωρίας: Α.Μ. 8, 9 Κάθε Πέμπτη, 11πμ-2μμ, ΑΜΦ23. Διδάσκων: Ντίνος Φερεντίνος Γραφείο 118 email: kpf3@cornell.edu Μάθημα: Θεωρία + προαιρετικό

Διαβάστε περισσότερα

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

Διαβάστε περισσότερα

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

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δρ. Κόννης Γιώργος Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής Προγραμματισμός Στόχοι 1 Να περιγράψουμε τις έννοιες του Υπολογιστικού Προβλήματος και του Προγράμματος/Αλγορίθμου

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εισαγωγή Κώστας Στεργίου Τι είναι ο Η/Υ; Ένας ηλεκτρονικός υπολογιστής (Η/Υ) είναι

Διαβάστε περισσότερα

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραµµατισµό ( ιάλεξη 2) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Περιεχόµενα Εισαγωγικές Έννοιες - Ορισµοί Ο κύκλος ανάπτυξης προγράµµατος Παραδείγµατα Πότε χρησιµοποιούµε υπολογιστή?

Διαβάστε περισσότερα

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

Διαβάστε περισσότερα

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

Διαβάστε περισσότερα

ΠαράδειγµαΠρογραµµατισµού

ΠαράδειγµαΠρογραµµατισµού Προγραµµατισµός Η/Υ Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Μεθοδολογία Προγραµµατισµού Αφαιρετικότητα Ροή Ελέγχου/ εδοµένων Βιβλίο µαθήµατος: Chapter 1,, Sec. 4-54 ΕΠΛ 131 Αρχές Προγραµµατισµού

Διαβάστε περισσότερα

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

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Κεφάλαιο 6ο Εισαγωγή στον Προγραµµατισµό Μέρος Πρώτο (6.1, 6.2 και 6.3) Α. Ερωτήσεις Σωστού Λάθους 1. Η γλώσσα µηχανής είναι µία γλώσσα υψηλού επιπέδου.

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας

Διαβάστε περισσότερα

6. Εισαγωγή στον προγραµµατισµό

6. Εισαγωγή στον προγραµµατισµό 6. Εισαγωγή στον προγραµµατισµό 6.1 Η έννοια του προγράµµατος. 6.2 Ιστορική αναδροµή. 6.2.1 Γλώσσες µηχανής. ΗΜ04-Θ1Α 1. Ένα πρόγραµµα σε γλώσσα µηχανής είναι µια ακολουθία δυαδικών ψηφίων. 5. Ένα πρόγραµµα

Διαβάστε περισσότερα

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράµµατα πρέπει να πάρουµε κάποια δεδοµένα και να δώσουµε

Διαβάστε περισσότερα

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

Διαβάστε περισσότερα

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

Διαβάστε περισσότερα

ΕΠΛ 034: Εισαγωγήστον ΠρογραµµατισµόγιαΗΜΥ

ΕΠΛ 034: Εισαγωγήστον ΠρογραµµατισµόγιαΗΜΥ ΕΠΛ 034: Εισαγωγήστον ΠρογραµµατισµόγιαΗΜΥ Αχιλλέας Αχιλλέως, Τµήµα Πληροφορικής, Πανεπιστήµιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 2 ΠρογραµµατισµόςΗ/Υ Θέµατα ιάλεξης οµή Προγράµµατος C Μεθοδολογία

Διαβάστε περισσότερα

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β Καβακλή Χειμερινό Εξάμηνο 2001 Στόχοι του Μαθήματος! Ανάπτυξη αναλυτικής

Διαβάστε περισσότερα

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

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30 ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 1.1 Τι είναι Πληροφορική;...11 1.1.1 Τι είναι η Πληροφορική;...12 1.1.2 Τι είναι ο Υπολογιστής;...14 1.1.3 Τι είναι το Υλικό και το

Διαβάστε περισσότερα

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

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07 Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή

Διαβάστε περισσότερα

Γλώσσες Προγραμματισμού Μεταγλωττιστές

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Αλγόριθμοι και Προγράμματα

Διαβάστε περισσότερα

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 7.1. Ανάπτυξη Προγράµµατος Τι είναι το Πρόγραµµα; Το Πρόγραµµα: Είναι ένα σύνολο εντολών για την εκτέλεση ορισµένων λειτουργιών από τον υπολογιστή.

Διαβάστε περισσότερα

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή Κεφάλαιο 3 Το υλικό του υπολογιστή Εισαγωγή Τµήµατα του Η/Υ καιοργάνωση Μονάδα Κεντρικής Μνήµης Κεντρική Μονάδα Επεξεργασίας (CPU) Μονάδα Εισόδου Εξόδου ίαυλοι Επικοινωνίας Εναλλακτικές αρχιτεκτονικές

Διαβάστε περισσότερα

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

Εισαγωγή στην γλώσσα προγραμματισμού C Εισαγωγή στην γλώσσα προγραμματισμού C Χαρακτηριστικά της C Ιδιαίτερα δημοφιλής Έχει χρησιμοποιηθεί για τον προγραμματισμό ευρέος φάσματος συστημάτων και εφαρμογών Γλώσσα μετρίου επιπέδου Φιλοσοφία: Ο

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ενότητα 1 - Εισαγωγή Χρήστος Γκουμόπουλος Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Στόχοι Μαθήματος H ανάπτυξη ικανοτήτων και η απόκτηση

Διαβάστε περισσότερα

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή Εισαγωγή Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ Σκοπός του εργαστηρίου είναι να γνωρίσουµε την εσωτερική δοµή και αρχιτεκτονική της κεντρικής µονάδας επεξεργασίας, να κατανοήσουµε τον τρόπο µε τον οποίο λειτουργεί

Διαβάστε περισσότερα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα 1. Ποια είναι η σχέση της έννοιας του μικροεπεξεργαστή με αυτή του μικροελεγκτή; Α. Ο μικροεπεξεργαστής εμπεριέχει τουλάχιστο έναν μικροελεγκτή. Β. Ο

Διαβάστε περισσότερα

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

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης Γλώσσες Προγραμματισμού Εργαστήριο 2ο Τύποι Δεδομένων - Είσοδος / Έξοδος Εργαστήριο 2ο Περίγραμμα Εργαστηριακής Άσκησης Εργαστήριο 2ο...1 Θεωρία εργαστηρίου...2 Τύποι δεδομένων...2 Η συνάρτηση printf()...3

Διαβάστε περισσότερα

ΕΠΛ 032 Προγραµµατισµός Μεθόδων Επίλυσης Προβληµάτων

ΕΠΛ 032 Προγραµµατισµός Μεθόδων Επίλυσης Προβληµάτων ΕΠΛ 032 Προγραµµατισµός Μεθόδων Επίλυσης Προβληµάτων Διάλεξη 1 Παύλος Αντωνίου Εισαγωγή στην Πληροφορική και Προγραµµατισµό Συµβόλαιο Μαθήµατος. Ιστορική Αναδροµή. Υλικό Υπολογιστή (Computer Hardware).

Διαβάστε περισσότερα

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

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στην Πληροφορική & τον Προγραμματισμό Ενότητα 3 η : Κωδικοποίηση & Παράσταση Δεδομένων Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα

Διαβάστε περισσότερα

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

Διαβάστε περισσότερα

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή Εισαγωγή Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ Ξεκινάµε την εργαστηριακή µελέτη της Ψηφιακής Λογικής των Η/Υ εξετάζοντας αρχικά τη µορφή των δεδοµένων που αποθηκεύουν και επεξεργάζονται οι υπολογιστές και προχωρώντας

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων 2.1 Αρχιτεκτονική Υπολογιστών 2.1 Αρχιτεκτονική Υπολογιστών 2.2 Γλώσσα Μηχανής 2.3 Εκτέλεση προγράµµατος 2.4 Αριθµητικές και λογικές εντολές 2.5 Επικοινωνία µε άλλες συσκευές

Διαβάστε περισσότερα

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 12-1 Ανασκόπηση οµής Προγράµµατος µε Συναρτήσεις #include 1 void PrintMessage (); Πρότυπο ( ήλωση) Συνάρτησης (

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

Διαβάστε περισσότερα

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος

Διαβάστε περισσότερα

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού Μάθημα 2ο Aντώνης Σπυρόπουλος v2_061015 Οροι που

Διαβάστε περισσότερα

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

Μ Ε Ρ Ο Σ Γ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Μ Ε Ρ Ο Σ Γ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Γλώσσες Προγραμματισμού 6.1.1 Γλώσσες μηχανής (1 η γενιά) Η γλώσσα στην οποία ένας ηλεκτρονικός υπολογιστής καταλαβαίνει

Διαβάστε περισσότερα

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός

Διαβάστε περισσότερα

Ψηφιακοί Υπολογιστές

Ψηφιακοί Υπολογιστές 1 η Θεµατική Ενότητα : υαδικά Συστήµατα Ψηφιακοί Υπολογιστές Παλαιότερα οι υπολογιστές χρησιµοποιούνταν για αριθµητικούς υπολογισµούς Ψηφίο (digit) Ψηφιακοί Υπολογιστές Σήµατα (signals) : διακριτά στοιχεία

Διαβάστε περισσότερα

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 2 ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 2 Ο κύκλος της πληροφορίας Η σηµασία της πληροφορίας Ο υπολογιστής (επεξεργασία-αποθήκευση) 2 Παράσταση δεδοµένων Αριθµητικά συστήµατα εκαδικό σύστηµα 3 υαδικό

Διαβάστε περισσότερα

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

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή στην Πληροφορική 1 Γενικές πληροφορίες Εισαγωγή στην Πληροφορική ιδασκαλία: Παναγιώτης Χατζηδούκας Email:

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 4: Τύποι Δεδομένων και τελεστές Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Ενδεικτική περιγραφή μαθήματος

Ενδεικτική περιγραφή μαθήματος ΜΑΘΗΜΑ: ΔΙΔΑΣΚΩΝ: ΤΜΗΜΑ: Προγραμματισμός Η/Υ Συνδουκάς Δημήτριος Διοίκησης Επιχειρήσεων (Γρεβενά) Ενδεικτική περιγραφή μαθήματος 1. Εισαγωγή: Εισαγωγή στον προγραμματισμό, γλώσσες προγραμματισμού, μεταγλωτιστές.

Διαβάστε περισσότερα

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προχωρημένα Θέματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανακατεύθυνση Εισόδου/Εξόδου Συνήθως η τυπική είσοδος ενός προγράμματος (stdin) προέρχεται

Διαβάστε περισσότερα

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

Το υλικό του υπολογιστή Το υλικό του υπολογιστή Ερωτήσεις 1. Τι αντιλαμβάνεστε με τον όρο υλικό; Το υλικό(hardware) αποτελείται από το σύνολο των ηλεκτρονικών τμημάτων που συνθέτουν το υπολογιστικό σύστημα, δηλαδή από τα ηλεκτρονικά

Διαβάστε περισσότερα

Η δήλωση πού δηµιουργεί αποθήκευση τών δεδοµένων ονοµαζεται ορισµός τής µεταβλητής.

Η δήλωση πού δηµιουργεί αποθήκευση τών δεδοµένων ονοµαζεται ορισµός τής µεταβλητής. Από το βιβλίο C: Βήµα-Πρός-Βήµα, Κεφάλαιο 3ο Συγγραφείς: Οµάδα Waite, Mitchell Waite και Stephen Prata Εκδότης: Μ. Γκιούρδας Ανατύπωση σε ηλεκτρονική µορφή: Αλέξανδρος Στεφανίδης 3.4 Τύποι εδοµένων τής

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή Στο εργαστήριο αυτό θα μάθουμε για τη χρήση συναρτήσεων με σκοπό την κατασκευή αυτόνομων τμημάτων προγραμμάτων που υλοποιούν μία συγκεκριμένη διαδικασία, τα οποία

Διαβάστε περισσότερα

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

Το «κλειστό» σύστημα. Ανοικτές επικοινωνίες... Εισαγωγή στην Τεχνολογία της Πληροφορικής. Εισαγωγή στην τεχνολογία της πληροφορικής ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Εισαγωγή στην Τεχνολογία της Πληροφορικής ΓΙΩΡΓΟΣ Ν. ΓΙΑΝΝΟΠΟΥΛΟΣ Λέκτορας στο Πανεπιστήμιο Αθηνών gyannop@law.uoa.gr Το «κλειστό» σύστημα ΕΙΣΟΔΟΣ ΕΠΕΞΕΡΓΑΣΙΑ

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα ιοικητικής Επιστήµης & Τεχνολογίας ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Κεφάλαιο 2 Αριθµητικά Συστήµατα και Αριθµητική Υπολογιστών Γιώργος Γιαγλής Περίληψη Κεφαλαίου

Διαβάστε περισσότερα

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Είσοδος/Έξοδος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Είσοδος/Έξοδος Μέχρι τώρα όποτε θέλαμε να διαβάσουμε χρησιμοποιούσαμε πάντα

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ VI. Εισαγωγή στον προγραμματισμό

ΚΕΦΑΛΑΙΟ VI. Εισαγωγή στον προγραμματισμό ΚΕΦΑΛΑΙΟ VI Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου σημαντικά στάδια. Τον ακριβή προσδιορισμό του προβλήματος. Την ανάπτυξη του αντίστοιχου αλγορίθμου.

Διαβάστε περισσότερα

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 3

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 3 Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 3 Κεφάλαιο 3 Οργάνωση και Λειτουργία Επεξεργαστών Σκοπός του κεφαλαίου αυτού είναι να περιγράψει την εσωτερική οργάνωση των υπολογιστών,

Διαβάστε περισσότερα

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

Πληροφορική. Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Πληροφορική Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής Άδειες Χρήσης

Διαβάστε περισσότερα

ΗΥ 232. Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 1. Εισαγωγή στο μάθημα. Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

ΗΥ 232. Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 1. Εισαγωγή στο μάθημα. Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων ΗΥ 232 Διάλεξη 1 Εισαγωγή στο μάθημα Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Διδάσκων: Οργανωτικά Θέματα Νίκος Μπέλλας, Κτήριο Γκλαβάνη, Γραφείο Β3.7, 2 ος όροφος Προσωπική ιστοσελίδα:

Διαβάστε περισσότερα

Συστήµατα Αριθµών, Πληροφορία, και Ψηφιακή Υπολογιστές

Συστήµατα Αριθµών, Πληροφορία, και Ψηφιακή Υπολογιστές ΚΕΦΑΛΑΙΟ 1 Συστήµατα Αριθµών, Πληροφορία, και Ψηφιακή Υπολογιστές Σελίδες 3-21, 24-26 ΚΕΦΑΛΑΙΟ 1 Περιεχόµενα 1.1 ΨΗΦΙΑΚΗ ΥΠΟΛΟΓΙΣΤΕΣ 1.2 Αναπαράσταση Αριθµών 1.3 Αριθµητικές Λειτουργίες 1.4 εκαδικοί Κώδικες

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος 2014-2015

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στην FORTRAN Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 Fortran FORmula TRANslation: (Μία από τις πρώτες γλώσσες τρίτης γενιάς) Εκδόσεις FORTRAN (1957) FORTRAN II (1958) FORTRAN III

Διαβάστε περισσότερα

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

Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων ΕΝΟΤΗΤΑ Μ1 ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Εκπαιδευτής: Γ. Π. ΠΑΤΣΗΣ, Επικ. Καθηγητής, Τμήμα Ηλεκτρονικών Μηχανικών, ΤΕΙ Αθήνας ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ 1. Ποια είναι η βάση

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κεφάλαιο 5. Στόχοι Κεφαλάιου. Η αρχιτεκτονική von Neumann. Nell Dale John Lewis. Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ/CPU)

Κεφάλαιο 5. Στόχοι Κεφαλάιου. Η αρχιτεκτονική von Neumann. Nell Dale John Lewis. Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ/CPU) Στόχοι Κεφαλάιου Κεφάλαιο 5 οµή Η/Υ Nell Dale John Lewis Περιγραφή των συστατικών και της λειτουργίας τους µιας µηχανής von Neumann Περιγραφή τού κύκλου "φέρε-αποκωδικοποίησεεκτέλεσε" µιας µηχανής von

Διαβάστε περισσότερα

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου

Διαβάστε περισσότερα

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία

Διαβάστε περισσότερα

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

Εισαγωγή στην επιστήµη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών Εισαγωγή στην επιστήµη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών Εισαγωγή Θα δούµε την οργάνωση ενός υπολογιστή Στον επόµενο µάθηµα θα δούµε πως συνδέονται πολλοί Η/Υ για να σχηµατίσουν

Διαβάστε περισσότερα

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι)

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα

Διαβάστε περισσότερα

Επανάληψη για τις Τελικές εξετάσεις

Επανάληψη για τις Τελικές εξετάσεις Επανάληψη για τις Τελικές εξετάσεις ( ιάλεξη 21) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Εισαγωγή Το µάθηµα EPL032 έχει ως βασικό στόχο την επίλυση προβληµάτων πληροφορικής µε την χρήση της γλώσσας προγραµµατισµού

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών (Ι)

Οργάνωση Υπολογιστών (Ι) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος του συγγραφέα... 13 Πρόλογος του καθηγητή Τιμολέοντα Σελλή... 15 ΚΕΦΑΛΑΙΟ 1: Εργαλεία γλωσσών προγραμματισμού...17 1.1 Γλώσσες προγραμματισμού τρίτης γεννεάς... 18 τι είναι η γλώσσα

Διαβάστε περισσότερα

Προγραµµατισµός Η/Υ. Μέρος2

Προγραµµατισµός Η/Υ. Μέρος2 Προγραµµατισµός Η/Υ Μέρος2 Περιεχόμενα Επανάληψη Βασικών Σύμβολων Διαγραμμάτων Ροής Αλγόριθμος Ψευδοκώδικας Παραδείγματα Αλγορίθμων Γλώσσες προγραμματισμού 2 Επανάληψη Βασικών Σύμβολων Διαγραμμάτων Ροής

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 1: Εισαγωγή στη C - Αλγόριθμοι Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Περιεχόμενο: Δομή υπολογιστή Συστήματα αρίθμησης Περιεχόμενο: Δομή υπολογιστή Συστήματα αρίθμησης ΟΜΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ Ένας υπολογιστής αποτελείται από την Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ), τη µνήµη, τις µονάδες εισόδου/εξόδου και το σύστηµα διασύνδεσης

Διαβάστε περισσότερα

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Δημιουργία Νέου αρχείου Από το μενού προγραμμάτων ανοίγετε το DEV C++ Επιλέγετε File-> New-> Source File (συντόμευση πληκτρολογίου Ctrl+N)

Διαβάστε περισσότερα

Π ρ ο γ ρ α μ μ α τ ι σ μ ό ς Β α σ ι κ έ ς έ ν ν ο ι ε ς Ι σ τ ο ρ ι κ ή α ν α δ ρ ο μ ή Η έννοια του προγράμματος Ιστορική αναδρομή

Π ρ ο γ ρ α μ μ α τ ι σ μ ό ς Β α σ ι κ έ ς έ ν ν ο ι ε ς Ι σ τ ο ρ ι κ ή α ν α δ ρ ο μ ή Η έννοια του προγράμματος Ιστορική αναδρομή Προγραμματισμός Βασικές έννοιες Ιστορική αναδρομή Η έννοια του προγράμματος Η περιγραφή της λύσης ενός προβλήματος, ως γνωστόν, γίνεται με τη βοήθεια ενός αλγορίθμου. Έτσι οι εντολές ενός προγράμματος

Διαβάστε περισσότερα

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 2 Επιμέλεια: Βασίλης Παλιουράς, Αναπληρωτής Καθηγητής Ευάγγελος Δερματάς, Αναπληρωτής Καθηγητής Σταύρος Νούσιας, Βοηθός Ερευνητή Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #1

ιαφάνειες παρουσίασης #1 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

Διαβάστε περισσότερα

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους; Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Δομή Εντολών και Παραδείγματα) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική

Διαβάστε περισσότερα

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ Βιβλιογραφία Ενότητας Kehtarnavaz [2005]: Chapter 3 Kuo [2005]: Chapters 1 & 4-5 Lapsley [2002]: Chapter 4 Hayes [2000]: Κεφάλαιo 8

Διαβάστε περισσότερα

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Μάθημα 8 Κεντρική Μονάδα Επεξεργασίας και Μνήμη 1 Αρχιτεκτονική του Ηλεκτρονικού Υπολογιστή Μονάδες Εισόδου Κεντρική

Διαβάστε περισσότερα

Μέρος Α. Λογισµικό & Προγράµµατα συστήµατος και εφαρµογών ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ. Το σηµερινό µάθηµα. Λογισµικό συστηµάτων & εφαρµογών

Μέρος Α. Λογισµικό & Προγράµµατα συστήµατος και εφαρµογών ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ. Το σηµερινό µάθηµα. Λογισµικό συστηµάτων & εφαρµογών ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΙΟΙΚΗΣΗΣ Το σηµερινό µάθηµα ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ιδάσκων: Πέτρος Βασιλικός Λογισµικό Υπολογιστικών Συστηµάτων Λογισµικό & Προγράµµατα συστηµάτων

Διαβάστε περισσότερα

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 3 Κεντρική Μονάδα Επεξεργασίας Κεντρική Μονάδα Επεξεργασίας Μονάδα επεξεργασίας δεδομένων Μονάδα ελέγχου Μονάδα επεξεργασίας δεδομένων Δομή Αριθμητικής Λογικής Μονάδας

Διαβάστε περισσότερα

a = 10; a = k; int a,b,c; a = b = c = 10;

a = 10; a = k; int a,b,c; a = b = c = 10; C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 4 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

Διαβάστε περισσότερα

Πρόλογος. if (παράσταση) εντολή1 else εντολή2. Από εδώ και πέρα θα αναφέρεται ως K&R.

Πρόλογος. if (παράσταση) εντολή1 else εντολή2. Από εδώ και πέρα θα αναφέρεται ως K&R. Περιεχόμενα Πρόλογος v ΚΕΦΑΛΑΙΟ 1 Προπαρασκευαστική εισαγωγή 1 ΚΕΦΑΛΑΙΟ 2 Τύποι, τελεστές, και παραστάσεις 43 ΚΕΦΑΛΑΙΟ 3 Η ροή του ελέγχου 59 ΚΕΦΑΛΑΙΟ 4 Συναρτήσεις και δομή του προγράμματος 69 ΚΕΦΑΛΑΙΟ

Διαβάστε περισσότερα

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

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία Το 1944 με την κατασκευή του υπολογιστή Mark I από τον Howard Aiken και την εταιρεία κατασκευής ηλεκτρονικών υπολογιστών IBM και από το 1950 μπήκανε

Διαβάστε περισσότερα

Είναι πολύ πιθανό να παραξενευτείτε βλέποντας σύµβολα όπως { και *ptr++.

Είναι πολύ πιθανό να παραξενευτείτε βλέποντας σύµβολα όπως { και *ptr++. 2 Εισαγωγή στη C Από το βιβλίο C: Βήµα-Πρός-Βήµα, Κεφάλαιο 2 ο Συγγραφείς: Οµάδα Waite, Mitchell Waite και Stephen Prata Εκδότης: Μ. Γκιούρδας Ανατύπωση σε ηλεκτρονική µορφή: Αλέξανδρος Στεφανίδης Είναι

Διαβάστε περισσότερα

Κεφάλαιο 2.1-2.4: Εισαγωγή στην C. ( ιαλέξεις 3-4) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 2.1-2.4: Εισαγωγή στην C. ( ιαλέξεις 3-4) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 2.1-2.4: Εισαγωγή στην C ( ιαλέξεις 3-4) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Περιεχόµενα Εισαγωγή στην C: Σύνταξη και Σηµασιολογία σχόλια µεταβλητές και σταθερές τύποι δεδοµένων Μετά αυτές τις δυο διαλέξεις

Διαβάστε περισσότερα

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ι Γ. Τσιατούχας 2 ο Κεφάλαιο ιάρθρωση 1. Οργάνωση της 2. εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2

Διαβάστε περισσότερα

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Συναρτήσεις εισόδου/εξόδου, τελεστές Η συνάρτηση scanf() είσοδος δεδομένων Διαβάζει από το πληκτρολόγιο (stdin) μορφοποιημένες τιμές μεταβλητών. scanf (ΣΕΙΡΑ_ΕΛΕΓΧΟΥ, δείκτης_μεταβλητής-1,

Διαβάστε περισσότερα

Κεφάλαιο 1: Εισαγωγή. Αρχές Γλωσσών και Προγραμματισμού και Μεταφραστών. Γιάννης Γαροφαλάκης ΤΜΗΥΠ - Πανεπιστήμιο Πατρών

Κεφάλαιο 1: Εισαγωγή. Αρχές Γλωσσών και Προγραμματισμού και Μεταφραστών. Γιάννης Γαροφαλάκης ΤΜΗΥΠ - Πανεπιστήμιο Πατρών Κεφάλαιο 1: Εισαγωγή Αρχές Γλωσσών και Προγραμματισμού και Μεταφραστών Εισαγωγή (1) Γιατί υπάρχουν τόσες πολλές Γλώσσες Προγραμματισμού (ΓΠ); o Εξέλιξη έχουμε μάθει καλύτερους τρόπους να κάνουμε πράγματα

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β. Καβακλή. Χειμερινό Εξάμηνο 2001

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β. Καβακλή. Χειμερινό Εξάμηνο 2001 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β. Καβακλή Χειμερινό Εξάμηνο 2001 1 Ανάλυση προβλήματος Η σωστή αντιμετώπιση

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public

Διαβάστε περισσότερα