αρ χή Εισαγωγή στην Πληροφορική Σημειώσεις Παράρτημα 1 Οδηγός μελέτης για τις εξετάσεις 12/1/2017 μπορεί να συμπληρωθεί τις επόμενες μέρες Μάριος Μάντακας Τμήμα Μηχανικών Πληροφορικής Τ.Ε. ΤΕΙ Ηπείρου
Στο τμήμα αυτό, καταγράφω βασικές έννοιες που πρέπει να είναι κατανοητές με σκοπό να καθοδηγήσω την μελέτη προετοιμασίας για τις εξετάσεις. Ανταποκρίνομαι στο σχετικό αίτημα φοιτητών που εκφράστηκε στην διάλεξη. Προγραμματισμός η/υ Δεδομένα Αριθμητικά δεδομένα - Ακέραιοι και πραγματικοί. Δώστε παραδείγματα αριθμών των 2 κατηγοριών (μην παραλείψετε το μηδέν και τους αρνητικούς αριθμούς), και τυπικά παραδείγματα της χρήσης των 2 κατηγοριών αριθμών σε καθημερινά προβλήματα. Αναφέρατε 2 τύπους δεδομένων της C/C++ για την παράσταση των 2 αυτών κατηγοριών αριθμών. Είναι σημαντικό στα προγράμματα να επιλέγετε τους κατάλληλους τύπους δεδομένων. Οι μετρητές τι τύπου είναι, βλ. έντυπες Σημειώσεις. Πρέπει να γνωρίζετε τις 2 βασικές διαδικασίες ελέγχου ροής προγράμματος: διακλάδωση και επανάληψη. Πρέπει να γνωρίζετε την εντολή if και τουλάχιστον την εντολή while για τις 2 βασικές διαδικασίες ελέγχου ροής προγράμματος. Πρέπει να γνωρίζετε την έννοια της δομής ελέγχου. Πρέπει να γνωρίζετε την σκέτη if (χωρίς else) και την if με else (στις Σημειώσεις αναφέρονται ως η πρώτη και η δεύτερη μορφή της if), και τα αντίστοιχα διαγράμματα ροής. Την διαφορά της σύνταξης της if στην C και την Pascal, βλ. Σημειώσεις. Πρέπει επίσης να γνωρίζετε τους πολλούς τρόπους επίλυσης της εύρεσης του μεγίστου δυο αριθμών, και να καταλαβαίνετε ποιοι έχουν καλό στυλ και είναι προτιμότεροι και ποιοι όχι. Επίσης, πρέπει να μπoρείτε να σχεδιάζετε τα αντίστοιχα διαγράμματα ροής. Πρέπει να ξέρετε να χρησιμοποιείτε εμφωλευμένες if όπου χρειάζεται (βλ. π.χ. Σημειώσεις, πρόβλημα κατηγοριοποίησης της ταχύτητας σε 3 κατηγορίες) και τα αντίστοιχα διαγράμματα ροής. Να γνωρίζετε τι είναι block εντολών και γιατί χρησιμοποιείται, και να μην το χρησιμοποιείτε όταν δεν χρειάζεται. Πρέπει να συνηθίσετε να δοκιμάζετε τα προγράμματα και τα διαγράμματα ροής σας με το μάτι, παίροντας ένα παράδειγμα εισόδων από κάθε δυνατή κατηγορία εισόδων. Στο παράδειμα του υπολογισμού του μέγιστου 2 αριθμών, πρέπει να πάρετε 3 ζευγάρια τιμών δοκιμής: ο πρώτος αριθμός μεγαλύτερος, ο πρώτος αριθμός μικρότερος, και οι δυο αριθμοί ίσοι. Τα σύνθετα προβλήματα μπορεί να περιέχουν επανάληψη και διακλάδωση, π.χ. ο υπολογισμός του μέγιστου πολλών αριθμών (βλ. Σημειώσεις, ιστότοπος του Μαθήματος). σελ. 2
Τα σύνθετα προβλήματα, που περιέχουν επανάληψη και διακλάδωση, έχουν σύνθετα διαγράμματα ροής. Δεν υπάρχει λόγος να προσπαθείτε να αποτυπώσετε τα πάντα σε ένα μόνο διάγραμμα. Μπορείτε να μοιράσετε τα διαγράμματα ροής σε δυο κομμάτια, όπως δείχνεται στον υπολογισμό του μέγιστου πολλών αριθμών. Ένα συχνό σφάλμα στις εξετάσεις είναι η έλλειψη χρήσης επανάληψης σε προβλήματα που απαιτούν επανάληψη. Ένα ειδικότερο σφάλμα είναι η αύξηση μετρητή χωρίς διαδικασία επανάληψης ή με εντολή διακλάδωσης (if) αντί για εντολή επανάληψης. Σε τέτοιες περιπτώσεις, ο βαθμός είναι πολύ χαμηλός ή μηδέν. Να γνωρίζετε τα 2 είδη διαδικασίας επανάληψης: με άγνωστο ή γνωστό αριθμό επαναλήψεων κατά την έναρξη της διαδικασίας επανάληψης. Η εντολή for προορίζεται αποκλειστικά για το 2ο είδος. Η σύνταξη της for είναι πολύ διαφορετική ανάμεσα στην C και την Pascal. Στην C, η for πακετάρει σε μια γραμμή τα 3 κομμάτια του μηχανισμού της while (αρχικοποίηση μετρητή, συνθήκη, αλλαγή τιμής μετρητή). Αντίθετα, στη Pascal, η for δίνει την αρική τιμή του μετρητή, την τελική τιμή, και το βήμα της αλλαγής. Στην C, το διάγραμμα ροής της for είναι το ίδιο με το διάγραμμα της αντίστοιχης while. Αυτό σας βοηθά, να καταλάβετε πως εκτελείται η for, αν γνωρίζετε πως εκτελείται το αντίστοιχο πρόγραμμα με while. Στην Pascal, η εκτέλεση της for διαφέρει από την εκτέλεση της αντίστοιχης while (βασικά υπολογίζεται εκ των προτέρων ο αριθμός των επαναλήψεων που θα γίνει, και επίσης δεν επιτρέπεται η αλλαγή τιμής του μετρητή μέσα στον βρόχο επανάληψης). Η καταμέτρηση (απαρίθμηση) είναι ένα κλασικό πρόβλημα που χρησιμοποιεί διαδικασία επανάληψης. Να γνωρίζετε να μετράτε από το 1 έως το 10, από το 1 έως το πλήθος που έχει δώσει ο χρήστης, από ένα ακέραιο a έως έναν άλλο ακέραιο b, που έχει δώσει ο χρήστης, και να μετράτε κατεβαίνοντας, π.χ. από το 10 έως το 1. Ένα συχνό σφάλμα είναι η διαδικασία επανάληψης να κάνει μια παραπάνω ή λιγότερη επανάληψη απ'όσο πρέπει. Πρέπει να δοκιμάζετε το πρόγραμμα σας. Πλήθος και άθροισμα: Αυτές οι 2 έννοιες μοιάζουν να μπερδεύουν κάποιους φοιτητές, βλ. Σημειώσεις. Αν έχουμε τους αριθμούς 5, -2.4, 7.5, το πλήθος τους είναι 3 και το άθροισμα τους είναι 5 + (-2.4) + 7.5 Στις εξετάσεις με χαρτί και μολύβι, να ξεκινάτε τις απαντήσεις των προγραμμάτων κατ'ευθείαν με main ( ), παραλείποντας τα #include κλπ. Παράσταση δεδομένων γενική θεωρία Να γνωρίζετε τις έννοιες, αλφάβητο, ταυτότητα δεδομένου, μήκος ταυτότητας, βλ. έντυπες Σημειώσεις. Το πρόβλημα των απλών συνδυασμών (πόσες διαφορετικές ταυτότητες ίδιου μήκους μ φιάχνονται με αλφάφητο κ συμβόλων. Και το αντίστροφο πρόβλημα: Ποιο είναι το ελάχιστο μήκος ταυτοτήτων ίδιου μήκους, με αλφάβητο κ συμβόλων, για την παράσταση αντικειμένων πλήθους ν. Το ορισμό του δυαδικού ψηφίου (bit). Τον λόγο για τον οποίο το bit χρησιμεύει και στην μέτρηση της ποσότητας δεδομένων. Τον λόγο χρήσης του δυαδικού αλφαβήτου και συστήματος παράστασης στους σημερινούς σελ. 3
υπολογιστές. Πως παριστάνεται ένα bit στην κύρια μνήμη, τον σκληρό δίσκο, και σε ένα CD-ROM. Γιατί στους υπολογιστές μπορούμε πρακτικά να παραστήσουμε μόνο πεπερασμένα σύνολα αντικειμένων, π.χ. ένα πεπερασμένο υποσύνολο του απειρο-συνόλου των ακέραιων αριθμών. Συστήματα αρίθμησης Την γενική μέθοδο μετατροπής από ένα σύστημα αρίθμησης σε ένα άλλο βλ. "Γενική Μέθοδος" στις τελευταίες σελίδες των έντυπων Σημειώσεων για τα συστήματα αρίθμησης. Θα πρέπει όχι μόνο να ξέρετε να εφαρμώζετε την μέθοδο αυτή, αλλά να καταλαβαίνετε και γιατί "δουλεύει" η μέθοδος αυτή. Να καταλαβαίνετε για παράδειγμα τι πετυχαίνει κανείς και γιατί με διαδοχικές διαιρέσεις του ακέραιου μέρους ενός αριθμού με την βάση ενός συστήματος αρίθμησης. Να ξέρετε και τους "μπακάλικους" τρόπους μετατροπής από ένα σύστημα στο δεκαδικό σύστημα (γράφοντας την ανάπτυξη στο δεκαδικό σύστημα και κάνοντας τις πράξεις), και από το δεκαδικό σύστημα σ'ένα άλλο (ποια είναι η μεγαλύτερη δύναμη που χωράει σε έναν αριθμό και πόσες φορές χωράει). Αυτές οι εμπειρικές μέθοδοι ενισχύουν την κατανόηση και σε απλές περιπτώσεις μετατροπής είναι χρήσιμες, αλλά δεν είναι η γενική μέθοδος. Να ξέρετε απ'έξω τις δυνάμεις με βάση το 2 έως το 2 στην δεκάτη, ας πούμε. Να ξέρετε τις βασικές ιδιότητες των δυνάμεων, βλ. Σημειώσεις. Να ξέρετε τι είναι δύναμη σε αρνητικό ακέραιο εκθέτη. Κι ότι δεν είναι αρνητικός αριθμός, είναι απλώς μικρότερος από την μονάδα, αλλά θετικός, βλ. Σημειώσεις. Να ξέρετε την έννοια κλασματικό μέρος αριθμού (μέρος που είναι μικρότερο από την μονάδα). Δεκαδικός αριθμός σημαίνει αριθμός στο δεκαδικό σύστημα. Από τις πρώτες τάξεις του δημοτικού μας έχει μείνει ένας διαφορετικός ορισμός που πρέπει να ξεχάσουμε, ότι δεκαδικός είναι ο αριθμός που έχει τμήμα μικρότερο της μονάδας αυτό τώρα το ονομάζουμε κλασματικό μέρος. Μερικά προβλήματα των Σημειώσεων ενισχύουν την κατανόηση, π.χ. το πρόβλημα ολίσθησης των ψηφίων. Να ξέρετε τι είναι το οκταδικό και δεκαεξαδικό σύστημα, αλλά να μπορείτε να σκεφτείτε άνετα και μ'οποιδήποτε άλλο σύστημα, ας πούμε επταδικό (βάση 7), έστω κι αν δεν χρησιμοποιείται στην πληροφορική. Να μπορείτε να λύσετε απλά προβλήματα, π.χ. πως παριστάνεται η μονάδα σε διάφορα συστήματα αριθμησης, ή πως παριστάνεται η βάση ενός συστήματος στο σύστημα αυτό. Ή πως παριστάνεται το τρία, το έξι, το ένα τρίτο και τα 2 τρίτα στο τριαδικό σύστημα (βάση 3) - που δεν χρησιμοποιείται όμως στην πληροφορική. Να μπορείτε να κάνετε πρόσθεση και πολλαπλασμό στο δυαδικό σύστημα αρίθμησης με χαρτί και μολύβι. Harware γενικά και ειδικά για τον προσωπικό υπολογιστή Να ξέρετε στοιχειωδώς σε τι χρησιμεύει η κύρια μνήμη και η κεντρική μονάδα σελ. 4
επεξεργασίας και πως συνεργάζονται για την εκτέλεση προγραμμάτων σε γλώσσα μηχανής, βλ. έντυπες Σημειώσεις. Τι είναι δίαυλος, βλ. έντυπες Σημειώσεις. Τι είναι σειριακή και παράλληλη μετάδοση δεδομένων (από έναν σειριακό ή παράλληλο δίαυλο αντίστοιχα), βλ. έντυπες Σημειώσεις. Τι είναι σύγχρονη και τι ασύγχρονη μετάδοση δεδομένων. Τι είναι ηλεκτονικό ρολόι και πως ένας σύγχονος δίαυλος χρονίζεται από ένα ψηφιακό ρολόι, βλ. και ψηφιακό συμπλήρωμα Σημειώσεων στην Ασύγχρονη. Να γνωρίζετε τις έννοιες και τις μονάδες μέτρησης του χρόνου, συχνότητας, ποσότητας δεδομένων (χωρητικότητας, μεγέθους αρχείου κλπ), και ρυθμού μετάδοσης δεδομένων, βλ. έντυπες Σημειώσεις. Να μπορείτε να υπολογίσετε τον χρόνο μετάδοσης δεδομένων από ένα δίαυλο, αν γνωρίζετε την ποσότητα των δεδομένων και τον ρυθμό μετάδοσης του διαύλου, βλ. και ψηφιακό συμπλήρωμα Σημειώσεων στην Ασύγχρονη. Να μπορείτε να υπολογίσετε τον ρυθμό μετάδοσης σύγχρονου παράλληλου διαύλου με βάση την συχνότητα του ρολογιού, τον αριθμό μεταδόσεων ανά περίοδο ρολογιού, και το εύρος του παράλληλου διαύλου (αριθμό παράλληλων αγωγών), βλ. και ψηφιακό συμπλήρωμα Σημειώσεων στην Ασύγχρονη. Να ξέρετε γιατί χρησιμοποιούνται πολλά είδη μνήμης στον ίδιο υπολογιστή, και να ξέρετε να συγκρίνετε ένα είδος μνήμης με ένα άλλο (π.χ. κύρια μνήμη με σκληρό δίσκο) με βάση τον χρόνο (ή "ταχύτητα") προσπέλασης των δεδομένων, το κόστος ανά χωρητικότητα, την χωρητικότητα, και την μονιμότητα των δεδομένων, βλ. έντυπες Σημειώσεις. Να καταλαβαίνετε ότι ο σκληρός δίσκος δεν είναι φτηνότερος ούτε ακριβότερος από την κύρια μνήμη δεν μπορεί να γίνει τέτοια σύγκριση παρά μόνο σε σχέση με την χωρητικότητα των μέσων, βλ. έντυπες Σημειώσεις. Να καταλαβαίνετε γιατί η χωρητικότητα της κύριας μνήμης είναι σημαντική για την απόδωση υπολογισμών ενός η/υ και να γνωρίζετε την σχετική έννοια της εικονικής μνήμης, βλ. έντυπες Σημειώσεις. Να μπορείτε να αναγνωρίσετε τα τμήματα ενός προσωπικού υπολογιστή και τις θύρες επικοινωνίας. Να γνωρίζετε την έννοια της επέκτασης / διαύλου επέκτασης, βλ. έντυπες Σημειώσεις. Να είστε ενημερωμένοι για το ποιες είναι οι τρέχουσες προδιαγραφές των προσωπικών φορητών υπολογιστών και οι αντίστοιχες τιμές βλ. και ψηφιακό συμπλήρωμα Σημειώσεων στην Ασύγχρονη. Να γνωρίζετε ποιες είναι οι τρέχουσες τεχνολογίες των υποσυστημάτων και των δικτύων ενός υπολογιστή, βλ. και ψηφιακό συμπλήρωμα Σημειώσεων στην Ασύγχρονη. Να μπορείτε να συντάξετε έναν πίνακα απαιτήσεων προσωπικού υπολογιστή με βάση ένα κόστος και χρησιμοποιώντας κι εξηγώντας κριτήρια για να τιε τεχνικές επιλογές σας. Στις Σημειώσεις, αναφέρονται κριτήρια φορητότητας (βάρος, χωρητικότητα μπαταρίας), γενικής υπολογιστικής απόδωσης (χωρητικότητα κύριας μνήμης), χρηστικότητας (μέγεθος οθόνης, φωτισμός πληκτρολογίου), δικτύωσης, βλ. και ψηφιακό συμπλήρωμα Σημειώσεων στην Ασύγχρονη. Δεν στέκει η σημείωση στο γραπτό ότι "έγραψα τις προδιαγραφές υπολογιστών των έντυπων Σημειώσεων του 2008". Είναι υποχρέωση σας να είστε ενημερωμένοι. Σας μάθαμε σελ. 5
την μέθοδο εύρεσης των προδιαγραφών αυτών. σελ. 6