Περιεχόµενα (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, Πέμπτη Έκδοση, Εκδόσεις

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο Με τι ασχολείται ο προγραμματισμός; Ο προγραμματισμός ασχολείται με την διατύπωση του αλγορίθμου σε κατανοητή μορφή από τον Η/Υ, δηλ. τη δημιουργία του προγράμματος, του συνόλου των εντολών που πρέπει

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C Ιανουάριος 2013 Τι είναι ένα πρόγραμμα; Πρόγραμμα είναι μία σειρά από οδηγίες που δίνουμε στον υπολογιστή προκειμένου αυτός να κάνει κάποια συγκεκριμένη εργασία Πώς

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

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

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

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

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++ Email: liliadis@fmenr.duth.gr 1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++ Τα προγράµµατα αποτελούνται από εντολές οι οποίες γράφονται σε έναν απλό επεξεργαστή που προσφέρει και το Περιβάλλον της Visual C++. Οι εντολές

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

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

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

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

Περί Προγραμματισμού και Γλωσσών Προγραμματισμού

Περί Προγραμματισμού και Γλωσσών Προγραμματισμού ΚΕΦΑΛΑΙΟ 1 ο Περί Προγραμματισμού και Γλωσσών Προγραμματισμού Προγράμματα και Λειτουργικά Συστήματα Οι ηλεκτρονικοί υπολογιστές είναι ηλεκτρονικές συσκευές (όπως είναι και ένα ραδιόφωνο) που επιτρέπουν

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

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος ΑΛΓΟΡΙΘΜΟΙ Στο σηµείωµα αυτό αρχικά εξηγείται η έννοια αλγόριθµος και παραθέτονται τα σπουδαιότερα κριτήρια που πρέπει να πληρεί κάθε αλγόριθµος. Στη συνέχεια, η σπουδαιότητα των αλγορίθµων συνδυάζεται

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

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης ΚΕΦΑΛΑΙΟ 1ο 3ο 1. Συμπληρώστε τα κενά με τη λέξη που λείπει. α. Ένα πρόβλημα το χωρίζουμε σε άλλα απλούστερα, όταν είναι ή όταν έχει τρόπο επίλυσης. β. Η επίλυση ενός προβλήματος προϋποθέτει την του. γ.

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

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

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα Η ΓΛΩΣΣΑ C Η C είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου η οποία αναπτύχθηκε στις αρχές της δεκαετίας του 70 από τον Dennis Ritchie στα Bell Labs. Η σημερινή μορφή της γλώσσας ακολουθεί το πρότυπο

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

Αναπαράσταση Μη Αριθμητικών Δεδομένων

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ: ΥΠΟΛΟΓΙΣΤΕΣ & ΤΕΧΝΟΛΟΓΙΕΣ ΔΙΑΔΙΚΤΥΟΥ ΠΛΗΡΟΦΟΡΙΚΗ: ΥΠΟΛΟΓΙΣΤΕΣ & ΤΕΧΝΟΛΟΓΙΕΣ ΔΙΑΔΙΚΤΥΟΥ kv@hua.gr Στόχος Μαθήματος Εισαγωγή σε Βασικούς Όρους Πληροφορικής και Τηλεματικής. Εφαρμογές Τηλεματικής. Αναφορά στις κοινωνικές επιπτώσεις των Υπολογιστών.

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

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

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

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

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

ΤΙ ΕΙΝΑΙ Ο ΥΠΟΛΟΓΙΣΤΗΣ ΤΙ ΕΙΝΑΙ Ο ΥΠΟΛΟΓΙΣΤΗΣ Ο όρος είναι συντομογραφία του όρου «Αυτόματος, Ηλεκτρονικός Ψηφιακός Υπολογιστής Γενικού Σκοπού» [1]. Αυτόματος Μετά την έναρξη της λειτουργίας του εργάζεται μόνος του εκτελώντας

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

Δυαδικό Σύστημα Αρίθμησης

Δυαδικό Σύστημα Αρίθμησης Δυαδικό Σύστημα Αρίθμησης Το δυαδικό σύστημα αρίθμησης χρησιμοποιεί δύο ψηφία. Το 0 και το 1. Τα ψηφία ενός αριθμού στο δυαδικό σύστημα αρίθμησης αντιστοιχίζονται σε δυνάμεις του 2. Μονάδες, δυάδες, τετράδες,

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

(Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να

(Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να Κεεφάάλλααι ιοο:: 3Β ο Τίττλλοοςς Κεεφααλλααί ίοουυ: : Αρχιτεκτονική Ηλ/κου Τµήµατος των Υπολ. Συστηµάτων (Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να αναφέρετε τις τιµές των

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι 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

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

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

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

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

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

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

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

εισαγωγικές έννοιες Παύλος Εφραιμίδης Δομές Δεδομένων και

εισαγωγικές έννοιες Παύλος Εφραιμίδης Δομές Δεδομένων και Παύλος Εφραιμίδης 1 περιεχόμενα ενθετική ταξινόμηση ανάλυση αλγορίθμων σχεδίαση αλγορίθμων 2 ενθετική ταξινόμηση 3 ενθετική ταξινόμηση Βασική αρχή: Επιλέγει ένα-έναταστοιχείατηςμηταξινομημένης ακολουθίας

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

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

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

Διάλεξη 20: Χαμηλού Επιπέδου Προγραμματισμός II

Διάλεξη 20: Χαμηλού Επιπέδου Προγραμματισμός II Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 20: Χαμηλού Επιπέδου Προγραμματισμός II (Κεφάλαια 25.2, KNK-2ED) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132

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

ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ: Το Υλικό των Η/Υ. ΗΜ/ΝΙΑ : 29/10/-2/11/2001 ΤΜΗΜΑ : Επιµορφούµενοι καθηγητές Πληρ/κής. Γυµνάσιο Τάξη Β :

ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ: Το Υλικό των Η/Υ. ΗΜ/ΝΙΑ : 29/10/-2/11/2001 ΤΜΗΜΑ : Επιµορφούµενοι καθηγητές Πληρ/κής. Γυµνάσιο Τάξη Β : ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ: Το Υλικό των Η/Υ ΗΜ/ΝΙΑ : 29/10/-2/11/2001 ΤΜΗΜΑ : Επιµορφούµενοι καθηγητές Πληρ/κής. Γυµνάσιο Τάξη Α : Τάξη Β : Εν. Λύκειο : 1) Το υλικό ενός υπολογιστικού συστήµατος 2) Το υπολογιστικό

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

α. 1024 Megabyte. β. 1024 Gigabyte. γ. 1048576 Gigabyte. δ. 1048576 byte.

α. 1024 Megabyte. β. 1024 Gigabyte. γ. 1048576 Gigabyte. δ. 1048576 byte. ΥΠΟΥΡΓΕΙΟ ΠΑΙ ΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙ ΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΓΙΑ ΠΛΗΡΩΣΗ ΜΙΑΣ ΚΕΝΗΣ ΘΕΣΗΣ ΛΕΙΤΟΥΡΓΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΟ ΗΜΟ ΑΓΛΑΝΤΖΙΑΣ Μάθηµα: ΕI ΙΚΟ (Η.Υ.)

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών 1 Οργάνωση υπολογιστών ΚΜΕ Κύρια Μνήμη Υποσύστημα εισόδου/εξόδου 2 Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) R1 R2 ΑΛΜ

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

Σύγχρονες Αρχιτεκτονικές Υπολογιστών

Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΑΚΑ ΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 Αρχιτεκτονική Συνόλου Εντολών (Instruction Set Architecture-ISA) 1 Ένας υπολογιστής

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

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

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

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

Περιεχόµενα. I Βασικές Γνώσεις 1

Περιεχόµενα. I Βασικές Γνώσεις 1 Περιεχόµενα I Βασικές Γνώσεις 1 1 Μοντελοποίηση Προγραµµάτων 3 1.1 Ψευδογλώσσα....................... 6 1.2 Διαγράµµατα Ροής..................... 6 1.3 Παραδείγµατα σε Ψευδογλώσσα και Διαγράµµατα Ροής.

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

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

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές 1 ο Εξάμηνο Σπουδών Χειμερινό Εξάμηνο 2012/13 Τμήμα Εφαρμοσμένων Μαθηματικών, Πανεπιστήμιο Κρήτης Διδάσκων: Χαρμανδάρης Ευάγγελος, email: vagelis@tem.uoc.gr, Ιστοσελίδα

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

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό.

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό. Ερωτήσεις θεωρίας MY Μέρος Α. Υλικό. 1. Η μνήμη ROM είναι συνδυαστικό ή ακολουθιακό κύκλωμα; 2. α) Να σχεδιαστεί μία μνήμη ROM που να δίνει στις εξόδους της το πλήθος των ημερών του μήνα, ο αριθμός του

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

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

Πληροφορίες. Εισαγωγή στην Πληροφορική. Κατηγορίες υλισµικού. Περίληψη µαθήµατος (συνέχεια) Επεξεργαστής Μνήµη. Χειµερινό Εξάµηνο 2006-07 Πληροφορίες Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Μόνο για την επόµενη Τετάρτη 25/10, το µάθηµα (12-13) δεν θα πραγµατοποιηθεί. Τα εργαστήρια θα ξεκινήσουν

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

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Αριθμός bit δίαυλου δεδομένων (Data Bus) Αριθμός bit δίαυλου διευθύνσεων (Address Bus) Μέγιστη συχνότητα λειτουργίας (Clock Frequency) Τύποι εντολών Αριθμητική

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

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

ΣΗΜΕΙΩΣΕΙΣ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ο ηλεκτρονικός υπολογιστής είναι μια ηλεκτρονική συσκευή που έχει την ικανότητα να επεξεργάζεται μεγάλο όγκο πληροφοριών και δεδομένων με ταχύτητα και ακρίβεια. Επίσης ένας η/υ μπορεί να αποθηκεύσει πληροφορίες,

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β.

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

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

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

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

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

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

MULTIPLE CHOICE REVISION: ΜΑΘΗΜΑ 1-2 MULTIPLE CHOICE REVISION: ΜΑΘΗΜΑ 1-2 1. Ποιος τύπος Η/Υ χρησιμοποιείται για την λειτουργία συστημάτων και βάσεων δεδομένων μεγάλων εταιρειών; a) Επιτραπέζιος Η/Υ b) Προσωπικός Ψηφιακός Βοηθός c) Μεγάλο

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

Κεφάλαιο 5.4-5.11: Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα

Κεφάλαιο 5.4-5.11: Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα Κεφάλαιο 5.4-5.11: Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) 10-1 Εντολές Επανάληψης που θα καλυφθούν σήμερα Διάλεξη 9 - Δευτέρα while() τελεστές postfix/prefix (++, --,...) και σύνθετοι τελεστές

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

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

ΕΠΛ031 - Εισαγωγή στον Προγραμματισμό Επικοινωνία Προγράμματος Περιβάλλοντος ΕΠΛ031 Εισαγωγή στον Προγραμματισμό Επικοινωνία Προγράμματος Περιβάλλοντος Λογικές Μονάδες Μεταφορά εδομένων Μορφοποίηση εδομένων Νέαρχος Πασπαλλής Επισκέπτης Ακαδημαϊκός

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΣΚΗΣΕΙΣ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΩΤΗΣΕΙΣ ΣΩΣΤΟ ΛΑΘΟΣ Σημειώστε αν είναι σωστή ή

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑΤΩΝ ΕΞΕΤΑΣΕΩΝ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεµατική Ενότητα ΠΛΗ 2: Ψηφιακά Συστήµατα Ακαδηµαϊκό Έτος 24 25 Ηµεροµηνία Εξέτασης 29.6.25 Χρόνος Εξέτασης

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

Φροντιστήρια. Σύντομη Ιστορία της C. Μια Σύγκριση των Γλωσσών Προγραμματισμού. Τα Πλεονεκτήματα της C

Φροντιστήρια. Σύντομη Ιστορία της C. Μια Σύγκριση των Γλωσσών Προγραμματισμού. Τα Πλεονεκτήματα της C Φροντιστήρια Σύντομη Ιστορία της C Η γλώσσα προγραμματισμού C δημιουργήθηκε από τον Dennis Ritchie στα Bell Labs το 1972 όταν αυτός και ο Ken Thompson ασχολούνταν με τον σχεδιασμό του λειτουργικού συστήματος

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

Εισαγωγή στο προγραμματισμό Η/Υ

Εισαγωγή στο προγραμματισμό Η/Υ Εισαγωγή στο προγραμματισμό Η/Υ Fortran 90/95/2003 Silverfrost FTN95: Fortran for Windows http://www.silverfrost.com/default.aspx http://users.auth.gr/~ppi/fortran/ Ηλεκτρονικός Υπολογιστής Hardware Software

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ) 2007 ΕΚΦΩΝΗΣΕΙΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ) 2007 ΕΚΦΩΝΗΣΕΙΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ) 2007 ΘΕΜΑ 1ο ΕΚΦΩΝΗΣΕΙΣ Α. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No 05 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

Λίγα λόγια από το συγγραφέα... 7. 91 Εισαγωγή στους υπολογιστές... 9. 92 Μονάδες µέτρησης χωρητικότητας... 31. 94 Συσκευές εισόδου...

Λίγα λόγια από το συγγραφέα... 7. 91 Εισαγωγή στους υπολογιστές... 9. 92 Μονάδες µέτρησης χωρητικότητας... 31. 94 Συσκευές εισόδου... Περιεχόµενα Λίγα λόγια από το συγγραφέα... 7 91 Εισαγωγή στους υπολογιστές... 9 92 Μονάδες µέτρησης χωρητικότητας... 31 93 Οι βασικές λειτουργίες ενός ηλεκτρονικού υπολογιστή... 37 94 Συσκευές εισόδου...

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

Δρ. Παναγιώτης Μ. Παπάζογλου Επίκουρος Καθηγητής ΤΕΙ Λαμίας. Διδακτικό βοήθημα γρήγορης μελέτης για τον προγραμματισμό του μικροεπεξεργαστή MIPS 32bit

Δρ. Παναγιώτης Μ. Παπάζογλου Επίκουρος Καθηγητής ΤΕΙ Λαμίας. Διδακτικό βοήθημα γρήγορης μελέτης για τον προγραμματισμό του μικροεπεξεργαστή MIPS 32bit Δρ. Παναγιώτης Μ. Παπάζογλου Επίκουρος Καθηγητής ΤΕΙ Λαμίας Διδακτικό βοήθημα γρήγορης μελέτης για τον προγραμματισμό του μικροεπεξεργαστή MIPS 32bit Το υλικό του οδηγού έχει αντικατασταθεί από το βιβλίο

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

Οργάνωση Η/Υ. Ο Επεξεργαστής TRN. Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου

Οργάνωση Η/Υ. Ο Επεξεργαστής TRN. Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου Οργάνωση Η/Υ Ο Επεξεργαστής TRN Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου ΚMΕ Κυριότεροι Καταχωρητές της ΚΜΕ του υπολογιστή TRN IR (20 bits) X (20 bits) I

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

Εισαγωγή στις Συναρτήσεις

Εισαγωγή στις Συναρτήσεις Εισαγωγή στις Συναρτήσεις Η φιλοσοφία σχεδίασης της C βασίζεται στη χρήση των συναρτήσεων. Έχουμε ήδη δει και χρησιμοποιήσει πολλές συναρτήσεις που έχει το σύστημα, όπως είναι οι printf(), scanf(),αλλά

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

Ηλεκτρονικοί Υπολογιστές και Επεξεργασία Πληροφοριών

Ηλεκτρονικοί Υπολογιστές και Επεξεργασία Πληροφοριών Ενότητα 6 Ηλεκτρονικοί Υπολογιστές και Επεξεργασία Πληροφοριών Πληροφοριακά Συστήματα Διοίκησης Ι Διδάσκων: Νίκος Καρακαπιλίδης 6-1 Στόχοι και αντικείμενο ενότητας Βασικές λειτουργίες ενός υπολογιστικού

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

ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α.

ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α. ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α. 1. Αν το Α έχει την τιµή 10 και το Β την τιµή 20 τότε η έκφραση (Α > 8 ΚΑΙ Β < 20) Ή (Α > 10 Ή Β = 10) είναι αληθής 2. Σε περίπτωση εµφωλευµένων βρόχων, ο εσωτερικός

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

Μονάδες 12 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Μονάδες 12 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑΔΑ A ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑΔΑ Β ) ΠΑΡΑΣΚΕΥΗ 5 ΙΟΥΝΙΟΥ 2015 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ:

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 07 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

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

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

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

Κεφάλαιο. Εισαγωγή. Ενδεικτικές. σελίδες

Κεφάλαιο. Εισαγωγή. Ενδεικτικές. σελίδες Κεφάλαιο Εισαγωγή Η γλώσσα C σε βάθος Εισαγωγή Οκτώβριος του 1983. Ως µεταπτυχιακός φοιτητής, γνώρισα µια δεκαοχτάχρονη αµερικανιδούλα που την έλεγαν BCPL. H σχέση µας κράτησε ένα χρόνο περίπου. Ευέλικτη

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

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

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεµατική Ενότητα ΠΛΗ 21: Ψηφιακά Συστήµατα Ακαδηµαϊκό Έτος 2009 2010 Γραπτή Εργασία #3 Παράδοση: 28 Μαρτίου 2010 Άσκηση 1 (15 µονάδες) Ένας επεξεργαστής υποστηρίζει τόσο

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

1ο. Η αριθµητική του υπολογιστή

1ο. Η αριθµητική του υπολογιστή 1ο. Η αριθµητική του υπολογιστή 1.1 Τί είναι Αριθµητική Ανάλυση Υπάρχουν πολλά προβλήµατα στη µαθηµατική επιστήµη για τα οποία δεν υπάρχουν αναλυτικές εκφράσεις λύσεων. Στις περιπτώσεις αυτές έχουν αναπτυχθεί

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

Κεφάλαιο 2: Μεταφραστές

Κεφάλαιο 2: Μεταφραστές Κεφάλαιο 2: Μεταφραστές Αρχές Γλωσσών και Προγραμματισμού Λειτουργία Μετάφρασης ΑΡΧΙΚΗ ΓΛΩΣΣΑ (Source) L A ΓΛΩΣΣΑ ΥΛΟΠΟΙΗΣΗΣ ΜΕΤΑΦΡΑΣΤΗ (Implementation) L Y ΤΕΛΙΚΗ ΓΛΩΣΣΑ (Target) L T Αρχικό Πρόγραμμα

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΩΤΗΣΕΙΣ 1. Τι καλείται ψευδοκώδικας; 2. Τι καλείται λογικό διάγραμμα; 3. Για ποιο λόγο είναι απαραίτητη η τυποποίηση του αλγόριθμου; 4. Ποιες είναι οι βασικές αλγοριθμικές δομές; 5. Να περιγράψετε τις

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας δίπλα στο γράμμα που αντιστοιχεί σε κάθε πρόταση τη

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΙΑΓΩΝΙΣΜΑ ΘΕΜΑ 1 Ο Α. Να χαρακτηρίσετε µε σωστό ή λάθος τις παρακάτω προτάσεις: 1. Ανοικτά είναι τα προβλήµατα που δεν

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 201 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

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

Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa. Πληροφορική 1 Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa.gr/~organosi/ 2 Η δομή του μαθήματος Εισαγωγή στην

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

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

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 (Α) Σημειώστε δίπλα σε κάθε πρόταση «Σ» ή «Λ» εφόσον είναι σωστή ή λανθασμένη αντίστοιχα. 1. Τα συντακτικά λάθη ενός προγράμματος

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

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Σκοπός του μαθήματος Σκοπός του παρόντος μαθήματος είναι να μάθετε να κάνετε εισαγωγή δεδομένων σε πίνακες και περαιτέρω επεξεργασία

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

Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων

Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Αρχιτεκτονική Υπολογιστών II 6 --0 Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Θέμα. Τι γνωρίζετε για την τοπικότητα των αναφορών και ποιών μονάδων του υπολογιστή ή τεχνικών η απόδοση εξαρτάται από

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