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

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

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

Transcript

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

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

3 Ώρες γραφείου Ας αρχίσουµε λοιπόν... Πέµπτη 11:00-13:00 Κτίριο οδού Ζέας, 5ος όροφος 9 10 Εισαγωγή Πληροφορική (Informatics): Η επιστήµη των Η/Υ (Computer Science) και γενικότερα (πλέον) η επιστήµη της επεξεργασίας δεδοµένων (µε τη βοήθεια υπολογιστικών µηχανών) µε σκοπό την εξαγωγή πληροφορίας Πεδία της Πληροφορικής (1) Αρχιτεκτονική Η/Υ Λειτουργικά συστήµατα Γλώσσες προγραµµατισµού Σχεδιασµός και ανάλυση αλγορίθµων Θεωρία υπολογισµού Βάσεις δεδοµένων και γνώσεων Τεχνολογία λογισµικού Πληροφοριακά συστήµατα Τεχνητή νοηµοσύνη 11 12

4 Πεδία της Πληροφορικής (2) ίκτυα Η/Υ Ηλεκτρονικό εµπόριο Ηλεκτρονική διακυβέρνηση Τηλεπικοινωνίες Πολυµέσα Επεξεργασία σηµάτων... Κοινή βάση όλων των παραπάνω: Πρόγραµµα (Program) Μερικοί (άτυποι) ορισµοί Προγραµµατισµός: Προσδιορισµός συγκεκριµένης ακολουθίας ενεργειών µε στόχο κάποιο επιθυµητό αποτέλεσµα Γλώσσα προγραµµατισµού: Κώδικας επικοινωνίας µε τον Η/Υ για τη µετάδοση των επιθυµητών ενεργειών Αρχές προγραµµατισµού: Φιλοσοφία στην οποία βασίζεται η κατασκευή του κώδικα επικοινωνίας µε τον Η/Υ και µεθοδολογίες που ακολουθούνται στη χρήση του. Γιατί χρειάζεται η γλώσσα προγραµµατισµού; Ο Η/Υ είναι µια «ηλίθια» µηχανή που καταλαβαίνει µόνο πολύ απλές λειτουργίες. Ο προγραµµατιστής δεν πρέπει να είναι υποχρεωµένος να γνωρίζει πολλά για τα «εσωτερικά» (αρχιτεκτονική) του Η/Υ

5 Υπολογιστικό σύστηµα Υλικό (Hardware) / Λογισµικό (Software) ύσκολο να ειδωθούν ανεξάρτητα Χρήστες (End-users) C/C++ Games Editor Printing program Προγράµµατα εφαρµογών ευτερεύουσα Μνήµη Αρχιτεκτονική Μικροϋπολογιστή (Μοντέλο Von Neumann) Περιφερειακά Εισόδου (INPUT) Πληκτρολόγιο, CD-ROM, κ.λπ. Κεντρική Μονάδα Επεξεργασίας (CPU) Μονάδα Ελέγχου (CU) Καταχωρητές (Registers) Λειτουργικό Σύστηµα Υλικό Περιφερειακά Εξόδου (OUTPUT) Οθόνη, Εκτυπωτής, κ.λπ. Μνήµη (MU) Αριθµητική/ Λογική Μονάδα (ALU) Central Processing Unit (CPU) Registers: Τοπική, γρήγορη µνήµη, για αποθήκευση δεδοµένων, αποτελεσµάτων, διευθύνσεων, εντολών. ALU: Εκτέλεση συγκρίσεων και απλών αριθµητικών και λογικών πράξεων CU: Ο «τροχονόµος» της µηχανής. Ελέγχει την επικοινωνία των µερών της CPU µεταξύ τους αλλά και της CPU µε το υπόλοιπο σύστηµα. Μνήµη (Memory) Κύρια (main ή primary) µνήµη: Read Only Memory (ROM) Random Access Memory (RAM) ευτερεύουσα (secondary) µνήµη: Σκληρός δίσκος Εύκαµπτος δίσκος (δισκέττα) Οπτικός δίσκος (CD) Ταινία

6 Απλή Αναπαράσταση Αρχιτεκτονικής Μικροϋπολογιστή Είσοδος/Έξοδος (I/O) CPU: Κεντρική Μονάδα Επεξεργασίας ΕΣΩΤΕΡΙΚΟΣ ΙΑΥΛΟΣ Ρολόι Πληκτρολόγιο Ποντίκι Οθόνη Εκτυπωτής Modem Ηχεία Σαρωτής... INTERFACE και έλεγχος διακοπών ΕΞΩΤΕΡΙΚΟΣ ΙΑΥΛΟΣ ιεύθυνση εδοµένα Έλεγχος Κεντρική Μνήµη και κυκλώµατα ελέγχου αυτής ΠΕΡΙΦΕΡΕΙΑΚΑ Προς άλλες µονάδες ίκτυα Μικροϋπολογιστών: Αυξηµένη υπολογιστική ισχύς µε χαµηλό κόστος 23

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) Μετατροπή δυαδικού σε οκταδικό: Χωρίζουµε τον αριθµό σε τριάδες bits (8=2 3 ) και µετατρέπουµε την καθεµιά ξεχωριστά. Π.χ.: (22) 10 =(10110) 2 =(010110) 2 =(26) 8 Για µετατροπή στο δεκαεξαδικό χωρίζουµε σε τετράδες bits (16=2 4 ). Π.χ.: (22) 10 =(10110) 2 =( ) 2 =(16) 16 Το υαδικό Αριθµητικό Σύστηµα (9) Οκταδικό/ εκαδικό υαδικό Το υαδικό Αριθµητικό Σύστηµα (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;) Ένα ακόµη παράδειγµα Πρόβληµα: Υπολογισµός διακύµανσης δοσµένων αριθµών x 0,x 1,,x N-1 Λύση: Εφαρµόζουµε το γνωστό µας N τύπο: 1 2 ( xi µ ) 2 i= 0 σ = N N 1 xi i= 0 όπου µ ο αριθµητικός µέσος: µ = N 68 69

18 Φραστική περιγραφή (1) 1. ιάβασε το πλήθος των αριθµών, Ν 2. ιάβασε τους Ν αριθµούς 3. Υπολόγισε τον αριθµητικό µέσο όρο τους 4. Υπολόγισε τον αριθµητικό µέσο όρο των τετραγώνων των διαφορών τους µε το µέσο όρο τους 5. Τύπωσε το αποτέλεσµα Φραστική περιγραφή (2) 1. ιάβασε το πλήθος των αριθµών, Ν. 2. ιάβασε τους Ν αριθµούς 3. Υπολόγισε τον αριθµητικό µέσο όρο τους: a. Υπολόγισε το άθροισµά τους. b. ιαίρεσέ το µε το Ν. 4. Υπολόγισε τον αριθµητικό µέσο όρο των τετραγώνων των διαφορών τους µε το µέσο όρο τους: a. Υπολόγισε τα τετράγωνα των διαφορών των αριθµών και του µέσου όρου τους. b. Υπολόγισε, όπως παραπάνω, το µέσο όρο αυτών. 5. Τύπωσε το αποτέλεσµα Φραστική περιγραφή (3) 1. ιάβασε το πλήθος των αριθµών, Ν. 2. ιάβασε τους Ν αριθµούς: a. ιάβασε τον πρώτο αριθµό. b. Αν υπάρχει κι άλλος αριθµός, διάβασέ τον. c. Επανέλαβε το b. έως ότου έχεις διαβάσει και τους N αριθµούς. 3. Υπολόγισε τον αριθµητικό µέσο όρο τους: a. Υπολόγισε το άθροισµά τους i. Αρχικοποίησε το άθροισµα σε µηδέν. ii. Πρόσθεσε τον επόµενο αριθµό στο άθροισµα. iii. Επανέλαβε το ii. έως ότου έχεις προσθέσει και τον τελευταίο αριθµό. b. ιαίρεσέ το µε το Ν. Φραστική περιγραφή (3) 4. Υπολόγισε τον αριθµητικό µέσο όρο των τετραγώνων των διαφορών τους µε το µέσο όρο τους: a. Υπολόγισε τα τετράγωνα των διαφορών τους µε το µέσο όρο τους: i. Υπολόγισε το τετράγωνο της διαφοράς του πρώτου αριθµού και του µέσου όρου των αριθµών. ii. Κάνε το ίδιο για τον επόµενο αριθµό. iii. Επανέλαβε το ii. έως ότου έχεις φτάσει και στον τελευταίο αριθµό. b. Υπολόγισε, όπως στο 3., το µέσο όρο των τετραγώνων. 5. Τύπωσε το αποτέλεσµα 72 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 82

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 Σχεδιασµός Προγραµµάτων (Τεχνολογία Λογισµικού (Software Engineering)) Programming style Software reusability, modularity, maintainability, testability Software quality evaluation Τεκµηρίωση (Documentation) (1) Πληροφορία που: βοηθά στην κατανόηση του αλγορίθµου/προγράµµατος, πείθει για την ορθότητά του, δίνει αποτελέσµατα δοκιµής του, οδηγίες εισαγωγής δεδοµένων κι ερµηνείας αποτελεσµάτων, οδηγίες χρήσης, κ.λπ Τεκµηρίωση (Documentation) (2) Περιλαµβάνει: Σχόλια µέσα στο πρόγραµµα Βοηθητική πληροφορία για την κατανόηση του αλγορίθµου (π.χ. ψευδοκώδικας ή διάγραµµα ροής ή κείµενο) Αποτελέσµατα από τη δοκιµή του προγράµµατος Οδηγίες χρήσης του Τεκµηρίωση (Documentation) (3) Χρυσός κανόνας: Να τεκµηριώνεις τα προγράµµατά σου όπως θα ήθελες οι άλλοι να τεκµηριώνουν τα προγράµµατα που εσύ διαβάζεις

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

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) Το γενεαλογικό δένδρο της C Πρότυπο ANSI (American National Standards Institute): Προτυποποίηση της γλώσσας φορητότητα, οµοιογένεια B. W. Kernighan και D. M. Ritchie, The C Programming Language, 2 nd ed., 1988 (βασική αναφορά για το πρότυπο ANSI C)

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

26 Ανάπτυξη Προγράµµατος Αρχή Κύκλος Ανάπτυξης Προγράµµατος Αρχεία βιβλιοθήκης Χρήση συντάκτη (editor) Πηγαίος κώδικας (.c ή.cpp Μεταγλώττιση πηγαίου κώδικα (compile) Κώδικας αντικει- µένου (.obj) Σύνδεση αντικειµενικού αρχείου (link) Εκτελέσιµο Πρόγραµµα (.exe) ΝΑΙ Σύνταξη πηγαίου κώδικα Μεταγλώττιση πηγαίου κώδικα Υπάρχουν λάθη; ΟΧΙ Σύνδεση προγράµµατος ΝΑΙ Υπάρχουν λάθη; ΟΧΙ Εκτέλεση προγράµµατος ΝΑΙ Υπάρχουν λάθη; ΟΧΙ Τέλος Ποιόν µεταγλωττιστή θα χρησιµοποιήσουµε εµείς; Borland C++ for Windows (BCW), Version 3.1 (1992) Μερικοί free C(++) Compilers onal/index.html

27 αρχή τέλος Το πρώτο µας πρόγραµµα C /* Αυτό είναι ένα σχόλιο (comment) */ #include <stdio.h> main( ) printf( Hello, world!\n ); return(0); συµπερίληψη βιβλιοθήκης I/O κύρια (main) συνάρτηση συνάρτηση εκτύπωσης στην οθόνη εντολή επιστροφής αλφαριθµητικό ή συµβολοσειρά (string) 110 Συστατικά ενός προγράµµατος C Συναρτήσεις (functions) Μεταβλητές (variables) 111 οµή Προγράµµατος C Συναρτήσεις (functions): Λειτουργικό σύστηµα Πρόγραµµα C Συνάρτηση main Συνάρτηση A Συνάρτηση B Συνάρτηση C Συνάρτηση D Συνάρτηση E Συνάρτηση F Κλήση (call) Επιστροφή (return) 112 Αυτοτελή τµήµατα κώδικα (υποπρογράµµατα), που εκτελούν συγκεκριµένες λειτουργίες και µπορούν να χρησιµοποιηθούν (κληθούν) από άλλες συναρτήσεις Το σηµείο εκκίνησης και τερµατισµού είναι η κύρια συνάρτηση (main). Κάθε πρόγραµµα C έχει οπωσδήποτε µία συνάρτηση main. Η main «καλεί» άλλες συναρτήσεις για να τη βοηθήσουν. Κλήση (call) συνάρτησης: όνοµα_συνάρτησης(λίστα παραµέτρων) π.χ. printf( Hello, world!\n ); 113

28 Συναρτήσεις (functions): Αυτοτελή τµήµατα κώδικα (υποπρογράµµατα), που εκτελούν συγκεκριµένες λειτουργίες και µπορούν να χρησιµοποιηθούν (κληθούν) από άλλες συναρτήσεις Το σηµείο εκκίνησης και τερµατισµού είναι η κύρια συνάρτηση (main). Κάθε πρόγραµµα C έχει οπωσδήποτε µία συνάρτηση main. Η main «καλεί» άλλες συναρτήσεις για να τη βοηθήσουν. Κλήση (call) συνάρτησης: όνοµα_συνάρτησης(λίστα παραµέτρων) π.χ. printf( Hello, world!\n ); 113 Μεταβλητές (variables): Θέσεις στη µνήµη, µε ονόµατα, για αποθήκευση δεδοµένων ή αποτελεσµάτων Παραδείγµατα: Η δήλωση int N; ορίζει τη µεταβλητή µε όνοµα N και τύπο int, δηλαδή θέση στη µνήµη, µε όνοµα N, η οποία πρόκειται να δεχθεί ακέραιο (integer) αριθµό. Με την float x[max_n]; ορίζεται η µεταβλητή x που αποτελεί MAX_N διαδοχικές θέσεις µνήµης που αποθηκεύουν ισάριθµο πλήθος πραγµατικών αριθµών (floating point). 114 Εντολές (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 δεν αναγνωρίζεται ως ξεχωριστή εντολή. Χρειάζεται, αν και δεν ακολουθεί άλλη εντολή στο ίδιο µπλοκ

29 Οδηγίες προεπεξεργαστή (1): Παραδείγµατα: #include <stdio.h> Λέει στον προεπεξεργαστή να ενσωµατώσει στο πρόγραµµα πληροφορίες για τις συναρτήσεις της πρότυπης βιβλιοθήκης εισόδου/εξόδου (I/O), µεταξύ αυτών και την printf. Οδηγίες προεπεξεργαστή (2): #define MAX_N 100 Λέει στον προεπεξεργαστή ν αντικαταστήσει κάθε εµφάνιση του string ΜΑΧ_Ν µε το 100. ηλαδή, ορίζει (define) το MAX_N να σηµαίνει Σχόλια (Comments): Ο,τιδήποτε βρίσκεται µεταξύ του /* και του */ είναι σχόλιο και αγνοείται από το µεταγλωττιστή. Παραδείγµατα: /* Αυτό είναι ένα σχόλιο. */ /* όπως κι αυτό, επίσης */ /* απαγορεύονται τα /* ένθετα (nested) */ σχόλια */ 119

30 Ένα πιο ενδιαφέρον παράδειγµα Αρχή fahr 0 ιάγραµµα Ροής Πρόβληµα: Μετατροπή θερµοκρασίας από την κλίµακα Φαρενάιτ σ αυτή του Κελσίου (για 0, 20, 30,..., 300 o F) fahr<=300? ΟΧΙ Τέλος Βρόχος (loop) ΝΑΙ o C=(5/9)*( o F 32) celsius (5/9)*(fahr-32) Τύπωσε fahr και celsius fahr fahr #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; end: /* τέλος */ return(0); Χρήση goto: Μη- οµηµένος Προγραµµατισµός Εντολή ελέγχου if Εντολές goto Αποφύγετε τη χρήση της εντολής goto Αναχρονιστική, δεν είναι στυλ δοµηµένου προγραµµατισµού. υσχεραίνει την κατανόηση του προγράµµατος άρα και την εκσφαλµάτωση (debugging)

31 /* Τύπωσε πίνακα θερµοκρασιών Φαρενάιτ-Κελσίου * για 0, 20, 30,..., 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 Κι άλλες καταχωρήσεις Χειρισµός σταθερών (1) Τι γίνεται αν θελήσουµε αργότερα ν αλλάξουµε κάποιο/α από τα 0, 300, 20; εν είναι βολικό, αφού είναι «θαµµένα» µέσα στον κώδικα. Λύση: Τους δίνουµε ονόµατα. return(0); Τέλος, επιστροφή µε 0 στο ΛΣ #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; εν είναι απαραίτητο οι εντολές να είναι η µία κάτω απ την άλλη. Χειρισµός σταθερών (2) Γιατί όµως να έχουµε µεταβλητές για ποσότητες που δεν αλλάζουν στη διάρκεια της εκτέλεσης; (σπατάλη µνήµης και χρόνου) Λύση: Συµβολικές σταθερές. return(0);

32 /* Τύπωσε πίνακα θερµοκρασιών Φαρενάιτ-Κελσίου * για 0, 20, 30,..., 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 )); #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); εν χρειάζεται η celsius return(0); Η συνάρτηση printf (1) Η συνάρτηση printf (2) Εµφανίζει στην οθόνη τα ορίσµατά της. Π.χ. printf( %3d %6.1f\n, fahr, celsius); Προσδιορισµός: Ακέραιος (d) τουλάχιστον 3 θέσεων Προσδιορισµός: Πραγµατικός (f) τουλάχιστον 6 θέσεων µε 1 δεκαδικό ψηφίο Έξοδος του προγράµµατος: 3 θέσεις 6 θέσεις

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

34 Πρόγραµµα 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); Π.χ. float square(float a) return(a * a); Πρωτότυπο (prototype)

35 Ένα παράδειγµα #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 /* Υπολόγισε τα τετράγωνα των διαφορών µε το µέσο όρο */ 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); /* τέλος */

36 /* Ορισµός των συναρτήσεων */ 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); Εντολές 147

Περιεχόµενα (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 Γεώργιος Έλληνας Επίκουρος Καθηγητής ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΑ ΘΕΜΑΤΑ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Μάριος Αραποστάθης Καθηγητής πληροφορικής Βαρβάκειου Λύκειου http://users.sch.gr/mariosarapostathis 6.1 Η έννοια του

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

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

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

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

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

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟ ΟΣ: ΣΕΠΤΕΜΒΡΙΟΥ 6 Ι ΑΣΚΩΝ: Ε. ΚΟΦΙ ΗΣ Όλα τα ερωτήµατα είναι ισοδύναµα. Καλή επιτυχία! ΘΕΜΑ ο a) Βρείτε την αναπαράσταση

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

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

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

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

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

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

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

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

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

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

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

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

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 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 στην

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

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Εισαγωγικά

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ΠΕΡΙΕΧΟΜΕΝΟ ΤΟΥ ΜΑΘΗΜΑΤΟΣ Αρχές

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

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

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

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

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

Προγραμματισμός Ι (HY120)

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY20) # μνήμη & μεταβλητές πρόγραμμα & εκτέλεση Ψηφιακά δεδομένα, μνήμη, μεταβλητές 2 Δυαδικός κόσμος Οι υπολογιστές είναι δυαδικές μηχανές Όλη η πληροφορία (δεδομένα και κώδικας) κωδικοποιείται

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Κ. Δεμέστιχας Εργαστήριο Πληροφορικής Γεωπονικό Πανεπιστήμιο Αθηνών Επικοινωνία μέσω e-mail: cdemest@aua.gr, cdemest@cn.ntua.gr 1 2. ΑΡΙΘΜΗΤΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΜΕΡΟΣ Α 2 Τεχνολογία

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Λογικός Σχεδιασµός και Σχεδιασµός Η/Υ. ΗΜΥ-210: Εαρινό Εξάµηνο Σκοπός του µαθήµατος. Ψηφιακά Συστήµατα. Περίληψη. Εύρος Τάσης (Voltage(

Λογικός Σχεδιασµός και Σχεδιασµός Η/Υ. ΗΜΥ-210: Εαρινό Εξάµηνο Σκοπός του µαθήµατος. Ψηφιακά Συστήµατα. Περίληψη. Εύρος Τάσης (Voltage( ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 2005 Σκοπός του µαθήµατος Λογικός Σχεδιασµός και Σχεδιασµός Η/Υ Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.1-1.2) Βασικές έννοιες & εργαλεία που χρησιµοποιούνται

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

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

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

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

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

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

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

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

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

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

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

ΕΠΛ 131 ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ι ΕΠΛ 131 ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ι Βασικοί Στόχοι Απόκτηση Επιδεξιότητας στην Επίλυση Προβληµάτων Θεµελίωση της Αλγοριθµικής Σκέψης Βιβλία J.R. Hanly και E.B. Koffman, Problem Solving & Program Design in

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 8 Σημειώσεις βασισμένες στο βιβλίο Το MATLAB στην Υπολογιστική

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

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

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

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

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών Κεφ. 2 Θεωρητική Επιστήμη Υπολογιστών 2.3.1.1 Έννοια προγράμματος Τι είναι πρόγραμμα και τι προγραμματισμός; Πρόγραμμα είναι το σύνολο εντολών που χρειάζεται

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

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

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

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

C Programming EPL032 Maria Stavrinou Ioannou Εισαγωγή στη Γλώσσα C

C Programming EPL032 Maria Stavrinou Ioannou Εισαγωγή στη Γλώσσα C Εισαγωγή στη Γλώσσα C Η C είναι µια δοµηµένη (structured ) γλώσσα ηλαδή ένα C πρόγραµµα αποτελείται από υποπρογράµµατα τα οποία ονοµάζονται συναρτήσεις ( functions ), όπου η κάθε συνάρτηση εκτελεί µια

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βασικές Έννοιες της Πληροφορικής

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

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

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

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

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

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

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

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

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων. Α Γενικού Λυκείου Κεφάλαιο 1 1.1 Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων. Ιδιαίτερη θέση έχουν οι Υπολογιστικές συσκευές. Μηχανισμός

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

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

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

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

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

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

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

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

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Δεδομένα & Αναπαράσταση Πληροφορίας

Δεδομένα & Αναπαράσταση Πληροφορίας Προγραμματισμός Η/Υ Ι Δεδομένα & Αναπαράσταση Πληροφορίας ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα μιλήσουμε για δεδομένα, ψηφιακά δεδομένα και

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

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

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

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

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

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

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

Μεθόδων Επίλυσης Προβλημάτων

Μεθόδων Επίλυσης Προβλημάτων ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 9 Συναρτήσεις Μέρος I Θέματα ιάλεξης Μη- ομημένος

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 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. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

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

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

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

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