Περιεχόµενα (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

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

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

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 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 Μάθημα: Θεωρία + προαιρετικό

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5 ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5 22 Σεπτεµβρίου, 2006 Γεώργιος Έλληνας Επίκουρος Καθηγητής ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΑ ΘΕΜΑΤΑ

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1 ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 1ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος Ορισμός Wikipedia.org 2 Δομημένος προγραμματισμός (structured programming) ή διαδικαστικός προγραμματισμός (procedural

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

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν

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

Εισαγωγή στην Πληροφορική ΓΕΝΙΚΟ ΤΜΗΜΑ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ TEI ΧΑΛΚΙ ΑΣ

Εισαγωγή στην Πληροφορική ΓΕΝΙΚΟ ΤΜΗΜΑ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ TEI ΧΑΛΚΙ ΑΣ Εισαγωγή στην Πληροφορική 1 Περιεχόµενα - Κωδικοποιήσεις - Αριθµητικά Συστήµατα 2 Ηλεκτρονικός Υπολογιστής Είπαµε ότι είναι, µία Ηλεκτρονική Μηχανή, που δουλεύει κάτω από τον έλεγχο εντολών αποθηκευµένων

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

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

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

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

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις Προγραµµατισµός Η/Υ Ανασκόπηση - Ορισµοί Περιεχόµενα Ο κύκλος ανάπτυξης προγράµµατος Περιγραφή προβλήµατος Ανάλυση προβλήµατος Λογικό ιάγραµµα Ψευδοκώδικας Κωδικοποίηση Συντήρηση Γλώσσες Προγραµµατισµού

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

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

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Άδειες Χρήσης Υπολογιστές Ι Εισαγωγή Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

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

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

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

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

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

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

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

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

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 9

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 9 ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 9 3 Οκτωβρίου, 2004 Ηλίας Κυριακίδης Λέκτορας ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ 2005Ηλίας Κυριακίδης,

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

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

ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 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 στην

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

Δομημένος Προγραμματισμός

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

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία Διάλεξη 9

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

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

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

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

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

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

Εισαγωγή στον προγραμματισμό Ενότητες: Εισαγωγή στον προγραμματισμό Η έννοια του προγράμματος Ιστορική αναδρομή Φυσικές και τεχνητές γλώσσες Τεχνικές σχεδίασης προγραμμάτων Ιεραρχική Σχεδίαση Τμηματικός Προγραμματισμός Δομημένος προγραμματισμός

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

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

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

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

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

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

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

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ. ΚΑΤΕΥΘΥΝΣΗ ΔΙΟΙΚΗΣΗΣ ΤΟΥΡΙΣΤΙΚΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΙ ΕΠΙΧΕΙΡΗΣΕΩΝ ΦΙΛΟΞΕΝΙΑΣ Πληροφορική I "Προγραμματισμός" B. Φερεντίνος

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

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

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

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

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

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

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 2ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΣΦΑΛΜΑΤΑ ΜΕΤΑΓΛΩΤΤΙΣΗΣ Η γλώσσα C κάνει αυστηρή διάκριση μεταξύ πεζών

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

Εισαγωγή στον Προγραμματισμό Μάθημα 4: Αλγόριθμοι και Γλώσσες Προγραμματισμού Δεκέμβριος 2015 Χ. Αλεξανδράκη

Εισαγωγή στον Προγραμματισμό Μάθημα 4: Αλγόριθμοι και Γλώσσες Προγραμματισμού Δεκέμβριος 2015 Χ. Αλεξανδράκη Εισαγωγή στον Προγραμματισμό Μάθημα 4: Αλγόριθμοι και Γλώσσες Προγραμματισμού Δεκέμβριος 2015 Χ. Αλεξανδράκη Αλγόριθμος (τι είναι) Στα μαθηματικά και την επιστήμη ΗΥ Ο αλγόριθμος είναι η λογική διαδικασία

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

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

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

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

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

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

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

ΕΠΕΞΕΡΓΑΣΙΑ ΠΛΗΡΟΦΟΡΙΕΣ ΕΞΟ ΟΣ

ΕΠΕΞΕΡΓΑΣΙΑ ΠΛΗΡΟΦΟΡΙΕΣ ΕΞΟ ΟΣ Αναπαράσταση ιδεών Ο άνθρωπος από την αρχή της εµφάνισής του στη γη αντιµετωπίζει και προσπαθεί να επιλύσει διάφορα προβλήµατα. Για το σκοπό αυτό κατασκευάζει εργαλεία, επεξεργάζεται στοιχεία και παίρνει

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

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

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

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

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Hello World /* Αρχείο hello.c * Εµφανίζει στην οθόνη το * µήνυµα hello world */ #include

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης ρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Αλγόριθµοι, στοιχεία

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

ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Τµήµα Πληροφορικής και Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C Τµήµα Πληροφορικής και Τηλεπικοινωνιών Περιεχόµενα Εισαγωγή Πρόγραµµα Φάσεις Υλοποίησης µε χρήση του εργαλείου DEV C + + οµή Προγράµµατος Η συνάρτηση main Μεταβλητές Τι είναι

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Ακαδηµαϊκό Έτος 2003-2004, Εαρινό Εξάµηνο ιδάσκων

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

Ψηφιακά Κυκλώματα Ι. Μάθημα 1: Δυαδικά συστήματα - Κώδικες. Λευτέρης Καπετανάκης

Ψηφιακά Κυκλώματα Ι. Μάθημα 1: Δυαδικά συστήματα - Κώδικες. Λευτέρης Καπετανάκης ΤΛ2002 Ψηφιακά Κυκλώματα Ι Μάθημα 1: Δυαδικά συστήματα - Κώδικες Λευτέρης Καπετανάκης ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ Άνοιξη 2011 ΤΛ-2002: L1 Slide 1 Ψηφιακά Συστήματα ΤΛ-2002:

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

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

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

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

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Τι εννοούμε με τον όρο υπολογιστικό σύστημα και τι με τον όρο μικροϋπολογιστικό σύστημα; Υπολογιστικό

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

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

Τύποι Δεδομένων Είσοδος/Έξοδος Εργαστήριο 2 ο Τύποι Δεδομένων Είσοδος/Έξοδος Εισαγωγή Σκοπός του εργαστηρίου αυτού είναι η εισαγωγή μας στους τύπους δεδομένων της C και η εξοικείωση μας με συναρτήσεις του ρεπερτορίου της ANSI C σχετικές

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

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

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

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

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

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

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό 6.1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, τρία σημαντικά στάδια: 1. Τον ακριβή προσδιορισμό του προβλήματος. 2. Την ανάπτυξη

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

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

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

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

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

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

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

Πληροφορική 2. Γλώσσες Προγραμματισμού

Πληροφορική 2. Γλώσσες Προγραμματισμού Πληροφορική 2 Γλώσσες Προγραμματισμού 1 2 Γλώσσες προγραμματσιμού Επιτρέπουν την κωδικοποίηση των αλγορίθμων Η εκτέλεση ενός προγράμματος θα πρέπει να δίνει τα ίδια αποτελέσματα με την νοητική εκτέλεση

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

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 1: Εισαγωγή Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο

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

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Προγραμματισμός Η/Υ Προτεινόμενα θέματα εξετάσεων Εργαστήριο Μέρος 1 ό ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Ιανουάριος 2011 Καλογιάννης Γρηγόριος Επιστημονικός/ Εργαστηριακός

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

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 2: Μεταβλητές και Σταθερές Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης

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

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

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

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

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

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

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

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 7ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Γενικό διάγραμμα υπολογιστικού συστήματος Γενικό διάγραμμα υπολογιστικού συστήματος - Κεντρική Μονάδα Επεξεργασίας ονομάζουμε

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

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Προγραμματισμός

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

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

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

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

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

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1 ΚΕΦΑΛΑΙΟ 7 ο ΠΡΟΓΡΑΜΜΑ : Το πρόγραμμα αποτελείται από μια σειρά οδηγιών, που ονομάζονται εντολές, για την εκτέλεση τέτοιου είδους πράξεων, καθώς επίσης και από ένα σύνολο πρόσθετων οδηγιών ελέγχου, που

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

Προγραµµατισµός Ι Εισαγωγή Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Προγραµµατισµός Ι Νικόλαος Δ. Τσελίκας

Προγραµµατισµός Ι Εισαγωγή Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Προγραµµατισµός Ι Νικόλαος Δ. Τσελίκας Εισαγωγή Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Αναδροµή Σύντοµη Αναδροµή Η γλώσσα προγραµµατισµού C είναι µία γλώσσα

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

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

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

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

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

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

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

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

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

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

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

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

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

Μαλούτα Θεανώ Σελίδα 1

Μαλούτα Θεανώ Σελίδα 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Α. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΦΥΛΛΑΔΙΟ 6 ο ( Ενότητες 2.3 ) 1.Τι είναι πρόγραμμα; 2. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου σε σχέση με τις γλώσσες

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

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

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

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1 ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 03/01/09 Χαράλαμπος Τζόκας 1 Πρόγραμμα - Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν στον Υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος της επίλυσης

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

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

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

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

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

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (Τμήματα Υπολογιστή) ΕΚΠΑΙΔΕΥΤΗΣ:ΠΟΖΟΥΚΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Κάθε ηλεκτρονικός υπολογιστής αποτελείται

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 1ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΓΙΑΤΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ; Στα μαθηματικά και στη φυσική συχνά έχουμε

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

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

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

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

Κεφάλαιο 3.1, : Συναρτήσεις I. ( ιάλεξη 11) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 3.1, : Συναρτήσεις I. ( ιάλεξη 11) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 3.1,3.3-3.4: Συναρτήσεις I ( ιάλεξη 11) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 11-1 Μη- οµηµένος Προγραµµατισµός Το πρόγραµµα στα αριστερά δεν είναι Αρθρωτό (δεν έχει σωστή δοµή). Όλη η λειτουργικότητα

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη

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

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

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

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

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) Συσκευές αποθήκευσης Ένας υπολογιστής προκειµένου να αποθηκεύσει δεδοµένα χρησιµοποιεί δύο τρόπους αποθήκευσης: Την Κύρια Μνήµη Τις συσκευές µόνιµης αποθήκευσης (δευτερεύουσα

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

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

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

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

Κεφάλαιο 1 Εισαγωγή στη C

Κεφάλαιο 1 Εισαγωγή στη C Κεφάλαιο 1 Εισαγωγή στη C 1.1 Ιστορία της C Η γλώσσα προγραμματισμού C δημιουργήθηκε στα εργαστήρια Bell στις αρχές της δεκαετίας του 70 για να μεταφερθεί το λειτουργικό σύστημα Unix από ένα σύστημα DEC

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

Σελίδα 1 από 12. Απαντήσεις στο φυλλάδιο 55. Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από:

Σελίδα 1 από 12. Απαντήσεις στο φυλλάδιο 55. Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από: Σελίδα 1 από 12 Απαντήσεις στο φυλλάδιο 55 Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από: (α) Κεντρική Μονάδα Επεξεργασίας. (β) Κύρια Μνήµη. (γ) Μονάδες εισόδου. (δ) Μονάδες εξόδου. (ε) Βοηθητική

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

ΕΡΓΑΣΤΗΡΙΟ 2 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Εργαστήριο 2. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

ΕΡΓΑΣΤΗΡΙΟ 2 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Εργαστήριο 2. Τµήµα Πληροφορικής και Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ 2 ΕΙΣΑΓΩΓΗ ΣΤΗ C Εργαστήριο 2 Τµήµα Πληροφορικής και Τηλεπικοινωνιών οµή προγράµµατος Οδηγίες προεπεξεργαστή #include... # define... τµήµα δηλώσεων ηλωσεις και ορισµοί µεταβλητών. ηλωσεις συναρτήσεων

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

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών Η επεξεργασία των δεδομένων ακολουθεί μια στερεότυπη διαδρομή: τα δεδομένα εισάγονται στο υπολογιστικό σύστημα, υφίστανται μια ορισμένη επεξεργασία και

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

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

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr Κανόνες Ομαλής Λειτουργίας Ερχόμαστε στην ώρα μας Δεν καπνίζουμε και τρώμε εντός της αίθουσας

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

ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος.

ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος. ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος 1 2 3 Εικόνα 43: Διάφορες πλακέτες υπολογιστών Μέσα σε δύο

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

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

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

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

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Επανάληψη 1 Ο νόμος του Moore λέει ότι a) Η πυκνότητα των κυκλωμάτων της Μνήμης είναι πάντα τριπλάσια αυτής των ολοκληρωμένων κυκλωμάτων. b) Κάθε 18 μήνες

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ I Ενότητα 6 ΠΛΗΡΟΦΟΡΙΚΗ I Ενότητα 6 ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ Bits & Bytes Bit: η μικρότερη μονάδα πληροφορίας μία από δύο πιθανές καταστάσεις (ναι / όχι, αληθές / ψευδές, n / ff) κωδικοποίηση σε 0 ή 1 δυαδικό σύστημα

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

Χωρική Βάση δεδοµένων Autocad

Χωρική Βάση δεδοµένων Autocad Χωρική Βάση δεδοµένων Autocad Όλοι η πληροφορία σας βρίσκεται σε ένα αρχείο µε κατάληξη.dwg το οποίο αντιπροσωπεύει τη βάση δεδοµένων σας. Αυτό το αρχείο µπορούµε να το επεξεργαστούµε µε διάφορους τρόπους

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

Περιεχόµενα. οµή Η/Υ: Αναπαράσταση εδοµένων. υαδικό σύστηµα. Συστήµατα Αρίθµησης υαδικό Οκταδικό εκαεξαδικό Παραδείγµατα

Περιεχόµενα. οµή Η/Υ: Αναπαράσταση εδοµένων. υαδικό σύστηµα. Συστήµατα Αρίθµησης υαδικό Οκταδικό εκαεξαδικό Παραδείγµατα οµή Η/Υ: Αναπαράσταση εδοµένων Συστήµατα Αρίθµησης υαδικό Οκταδικό εκαεξαδικό Παραδείγµατα Περιεχόµενα Κωδικοποίηση δεδοµένων Κώδικας ASCII Άλλοι κώδικες Παραδείγµατα Συστήµατα Αρίθµησης Τα συνηθέστερα

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

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

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

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

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

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

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

Σ ή. : υαδικά. Ε ό. ή Ενότητα

Σ ή. : υαδικά. Ε ό. ή Ενότητα 1η Θεµατική Θ ή Ενότητα Ε ό : υαδικά δ ά Συστήµατα Σ ή Μονάδα Ελέγχου Ψηφιακοί Υπολογιστές Αριθµητική Μονάδα Κρυφή Μνήµη Μονάδα Μνήµης ιαχείριση Μονάδων Ι/Ο ίσκοι Οθόνες ικτυακές Μονάδες Πληκτρολόγιο,

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

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

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

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

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Προγραμματισμός

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

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

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

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

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