Κεφ 2. Βασικές Έννοιες Αλγορίθμων 2.7 Τι είναι οι μεταβλητές και τι οι σταθερές; ΑΠΑΝΤΗΣΗ Μεταβλητές: Μια μεταβλητή είναι μια θέση μνήμης του υπολογιστή με συγκεκριμένο όνομα, που χρησιμοποιείται για να παραστήσει ένα στοιχείο δεδομένου. Στη μεταβλητή εκχωρείται μια τιμή, η οποία μπορεί να αλλάζει κατά τη διάρκεια εκτέλεσης του αλγορίθμου. π.χ. Ε=α*β Σταθερές: Οι σταθερές είναι προκαθορισμένες τιμές στη μνήμη ενός υπολογιστή που παραμένουν αμετάβλητες σε όλη τη διάρκεια της εκτέλεσης ενός αλγορίθμου. π.χ. π=3.14 2.9 Σε ποιες κατηγορίες διακρίνονται οι μεταβλητές και οι σταθερές; ΑΠΑΝΤΗΣΗ Ανάλογα με το είδος της τιμής που λαμβάνουν, οι μεταβλητές και οι σταθερές διακρίνονται σε: 1. Αριθμητικές, οι οποίες χωρίζονται σε: Ακέραιες, οι οποίες έχουν σαν τιμές ακεραίους αριθμούς, Π.χ. 10, -20, 0, 1234. Πραγματικές, οι οποίες παίρνουν τιμές πραγματικούς αριθμούς, Π.χ. 10.7, 20.2, - 2.5,0, 0.8. 2. Αλφαριθμητικές ή Χαρακτήρες: Οι μεταβλητές αυτού του τύπου δέχονται σαν τιμές έναν ή περισσότερους χαρακτήρες και οι τιμές τους περικλείονται σε διπλά εισαγωγικά, Π.χ. "Ανάπτυξη", "Παράδειγμα", "πι", "Τι ημερομηνία έχουμε;". 3. Λογικές, οι οποίες παίρνουν μόνο δυο διαφορετικές τιμές, ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ και σημαίνουν αντίστοιχα ότι κάτι ισχύει ή όχι. 1
2.10 Σε τι τύπο μεταβλητής αντιστοιχούν οι ακόλουθες τιμές; 1)-34 2) "Μεταβλητή" 3) Ψευδής 4) -35.7 5) "345" 6) "Αληθής" 7) 5,10 2.11 Ποιοι είναι οι κανόνες ονοματολογίας μεταβλητών, σταθερών και αλγορίθμων; ΑΠΑΝΤΗΣΗ Οι κανόνες που ακολουθούμε για να ονομάζουμε σωστά τις μεταβλητές, τις σταθερές και τους αλγορίθμους είναι οι ακόλουθοι: 1. Τα ονόματα μπορούν να περιέχουν μόνο, συνδυασμούς από γράμματα (πεζά ή κεφαλαία, Ελληνικά Α-Ω ή Λατινικά Α-Ζ), αριθμούς (0-9) και την κάτω παύλα ( _ ). 2. Ένα όνομα πρέπει να αρχίζει από γράμμα. 3. Δεν μπορούν να χρησιμοποιηθούν ως ονόματα οι δεσμευμένες λέξεις, δηλ. λέξεις όπως το Διάβασε, Εμφάνισε, κ.α. οι οποίες έχουν συγκεκριμένη λειτουργία στον αλγόριθμο. Παραδείγματα αποδεκτών ονομάτων: Α, Α100, Α_Β, Ράνια, Τιμή1, Λύκειο Παραδείγματα μη αποδεκτών ονομάτων: Α!, 100, Α+Β, Φώτης$, 1Τιμή, Τ.Ε.Ε., @, 5. 2.12 Ποια από τα παρακάτω ονόματα μεταβλητών είναι αποδεκτό.; 1) Α1 2) Α 3) 1ΑΒ 4) Όνoμα_Μεταβλητής 5) 234 6)Α Γ 7) Α!2 8) Α*Β 9) Δεν_είμαι_μεταβλητή 2
2.13 Τι είναι οι τελεστές; Σε ποιες κατηγορίες διακρίνονται; ΑΠΑΝΤΗΣΗ Οι τελεστές είναι τα σύμβολα που χρησιμοποιούνται στις διάφορες πράξεις. Διακρίνονται στις εξής κατηγορίες: 1. Αριθμητικοί τελεστές. +, -, *, / 2. Τελεστές σύγκρισης. >, <, >=, <=, <> 3. Λογικοί τελεστές. ΟΧΙ, ΚΑΙ, Η. 2.14 Ποιοι είναι οι αριθμητικοί τελεστές; ΑΠΑΝΤΗΣΗ Οι αριθμητικοί τελεστές είναι: πρόσθεση, αφαίρεση, πoλ/μός, διαίρεση +, -, *, / ύψωση σε δύναμη πηλίκο ακέραιης διαίρεσης δυο ακέραιων αριθμών υπόλοιπο ακέραιης διαίρεσης δυο ακέραιων αριθμών ^ div mod 2.15 Να εξηγηθεί ο τρόπος υπολογισμού του div και του mod και να υπολογιστούν τα ακόλουθα: 1) 5 div 2 2) 95 div 30 3) 40 div 43 4) 5 mod 2 5) 40 mod 45 6) 90 mod 45 3
Υπολογισμός: DIV - MOD Για τον υπολογισμό του div, πρέπει να διαιρέσουμε τον πρώτο αριθμό με τον δεύτερο και από το αποτέλεσμα να κρατήσουμε το ακέραιο μέρος του. Δηλαδή αν το αποτέλεσμα της διαίρεσης δυο αριθμών είναι 4.7, το div των δυο αριθμών είναι 4. Το mod δυο ακέραιων αριθμών είναι το υπόλοιπο της ακέραιης διαίρεσης των δυο αριθμών. Για παράδειγμα, 9 mod 4 = 1. Για να υπολογίζουμε πάντα σωστά το mod, πρέπει να βρίσκουμε το div και στη συνέχεια να πολλαπλασιάζουμε το αποτέλεσμα αυτό με το διαιρέτη και το αποτέλεσμα να το αφαιρούμε από τον διαιρετέο. Το αποτέλεσμα είναι το mod. Δηλ., αν θέλουμε να υπολογίσουμε το α mod β, τότε υπολογίζουμε αρχικά το α div β. Έστω ότι ισούται με π. Το mod υπολογίζεται ως εξής: α β * π 4
5
6
7
2.27 Αν στα ακόλουθα τμήματα αλγορίθμου δοθούν σαν είσοδος οι αριθμοί 5,2 και 8, ποια θα είναι η τιμή των μεταβλητών Α1 και Α2. 1) Διάβασε Α1, Α2, Α1 2) Διάβασε Α2, Α1, Α1 3) Διάβασε Α1, Α2, Α2 2.28 Να εξηγηθεί η εντολή Εκχώρησης. ΑΠΑΝΤΗΣΗ Η εντολή εκχώρησης ή εντολή υπολογισμού έχει την εξής μορφή: Μεταβλητή Έκφραση Αρχικά γίνεται υπολογισμός της έκφρασης που υπάρχει και το αποτέλεσμα εκχωρείται (αποδίδεται) στη μεταβλητή που βρίσκεται αριστερά. Αριστερά της εντολής εκχώρησης επιτρέπεται να υπάρχει μόνο ένα όνομα μεταβλητής, ενώ δεξιά μπορεί να υπάρχουν σύνθετες εκφράσεις. Παρατήρηση: Αν σε μια μεταβλητή αποδοθεί τιμή που αντιστοιχεί σε μια κατηγορία μεταβλητής, δεν μπορεί πιο κάτω στον αλγόριθμο να της αποδοθεί τιμή κάποιας άλλης κατηγορίας. Για παράδειγμα, αν εκχωρήσουμε μια ακέραια τιμή σε μια μεταβλητή δεν μπορούμε να της εκχωρήσουμε σε μια μετέπειτα εντολή μια αλφαριθμητική τιμή. 2.29 Να εξηγηθούν οι ακόλουθες εντολές εκχώρησης: 1) α 5 2) β -34.5 3) α "Κατηγορία 1" 4) δ Αληθής 5) δ α+β-γ 6) β γ^2 2.30 Στις ακόλουθες εντολές εκχώρησης να αναφερθεί ο τύπος των μεταβλητών. 1) α 15 2) β -42.4 3) γ "Καλημέρα" 4) δ Αληθής 5) ε "-34.5" 6) ζ "Ψευδής" 2.31 Να χαρακτηρισθεί καθεμία από τις ακόλουθες εντολές εκχώρησης ως σωστή ή λάθος; 1) α 0 2) γ α 3) α := 10 4) α_1 10 5) α 5 2 6) μεταβλητή1 μεταβλητή2 8
7) α "Καλημέρα" 8) δ 20^2 9) α -α 2.32 Ποιες από τις ακόλουθες εντολές εκχώρησης είναι σωστές; 1) Ενιαίο ΤΕΕ 2) Ενιαίο "ΤΕΕ" 3) "ΤΕΕ" Ενιαίο 4) κ διάβασε 5)α 2*α 6) α + β 10 7) 3α -10 8)αλγόριθμος 10 9) α -α 10) κ "διάβασε" 2.33 Να εξηγηθεί η εντολή Εμφάνισε. ΑΠΑΝΤΗΣΗ Η εντολή εξόδου Εμφάνισε ή Γράψε εμφανίζει τις πληροφορίες που παράγει ένας αλγόριθμος στην οθόνη του υπολογιστή, ενώ η εντολή Εκτύπωσε εκτυπώνει τις πληροφορίες στον εκτυπωτή. Οι πληροφορίες μπορεί να είναι μηνύματα (ακολουθίες χαρακτήρων), τιμές μεταβλητών, ακόμη και ολοκληρωμένες εκφράσεις όπου γίνεται υπολογισμός τους και κατόπιν εμφανίζεται η τιμή τους. Η σύνταξη της εντολής είναι: Εμφάνισε ή Γράψε ή Εκτύπωσε Πληροφορίαl, Πληροφορία2,..., ΠληροφορίαΝ Δηλ. την εντολή Εμφάνισε (και τα συνώνυμά της) την χρησιμοποιούμε όταν θέλουμε να εμφανίσουμε κάποιες πληροφορίες στον χρήστη. Όταν οι πληροφορίες είναι σε διπλά εισαγωγικά, τότε εμφανίζεται στον χρήστη το περιεχόμενο που βρίσκεται μέσα στα διπλά εισαγωγικά, ως έχει. Αν οι πληροφορίες είναι εκτός των εισαγωγικών, θεωρούνται μεταβλητές ή εκφράσεις και εμφανίζεται η τιμή τους. Παρατήρηση: Για να εμφανιστεί η τιμή μιας μεταβλητής θα πρέπει προηγουμένως να της έχει αποδοθεί κάποια τιμή, είτε με την εντολή Διάβασε είτε με την εντολή εκχώρησης. Διαφορετικά, η εκτέλεση του αλγορίθμου δεν θα είναι δυνατή και θα οδηγηθούμε σε λάθος. 2.34 Αν α και β μεταβλητές με τιμές 5 και 3 αντίστοιχα, να εξηγηθούν οι ακόλουθες εντολές εξόδου. 1) Εμφάνισε "Τιμές α, β" 2) Εμφάνισε α 3) Εμφάνισε α+β 4) Εμφάνισε α, β 9
10
11
12
13
14
15
2.63 β. Να αναπτυχθεί αλγόριθμος που θα διαβάζει έναν τριψήφιο αριθμό και θα επιστρέφει το άθροισμα των ψηφίων του (για παράδειγμα για τον αριθμό 523 θα ισχύει 5 + 2 + 3 = 10) 16
2.67β Την 7 η Ιουνίου 2010 (αρχική ημερομηνία) αποφασίστηκε σαν ημέρα έναρξης των Ολυμπιακών αγώνων του Λονδίνου η 27 η Ιουλίου 2012. Μέχρι την ημέρα έναρξης των αγώνων μεσολαβούν Ν ημέρες. Θεωρήστε ότι κάθε μήνας έχει 30 ημέρες και ότι δεν μεσολαβούν δίσεκτα έτη (άρα το έτος έχει 12Χ30 = 360 ημέρες). Να κατασκευαστεί αλγόριθμος που να διαβάζει δύο ημερομηνίες με τη μορφή ΗΗ ΜΜ ΕΕΕΕ. Θα μετατρέπει τις ημερομηνίες σε ημέρες και μ' αυτό τον τρόπο θα βρίσκει τις ημέρες Ν που μεσολαβούν μέχρι την έναρξη των Ολυμπιακών αγώνων. 2.67γ Δυο παντρεμένοι αξιωματικοί του στρατού προσπαθούσαν να συγκρίνουν τις αποδοχές που έχει έκαστος από το στρατό. Εκτός από τον μηνιαίο βασικό μισθό έχουν και τα εξής επιδόματα: 20 για κάθε παιδί, 35 επίδομα συζύγου. Οι κρατήσεις (φορολογία) στις οποίες υπόκεινται ο μηνιαίος μισθός είναι 20%, ενώ για ασφάλιση υπάρχει κράτηση 11%. Να αναπτύξετε αλγόριθμο που θα διαβάζει τον βασικό μηνιαίο μισθό τον αριθμό των παιδιών κάθε αξιωματικού και θα υπολογίζει και θα εμφανίζει για τον συγκεκριμένο μήνα το μεικτό εισόδημα του κάθε αξιωματικού. 17
18
19
20