Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς
Κεφάλαιο 2 Η δομή της ακολουθίας Ασκήσεις 1. Τι θα εμφανίσουν τα ακόλουθα προγράμματα Pascal; Α Β program askisi; program askisi; var var a:integer; a:char; begin begin a:=3; a:='3'; writeln(a,a); a:=a+a; writeln(a); end. end. 2. Τι θα εμφανίσει το παρακάτω τμήμα προγράμματος Pascal, αν x=1, a=8, b=4; readln(x); writeln(x+2); readln(a,b); writeln(a+b); writeln(a/b:3:2); writeln(a*b); 3. Τι θα εμφανίσει το παρακάτω πρόγραμμα Pascal; program askisi; var x,y:integer; a:boolean; begin x:=5; x:=x+2; writeln(x); y:=x-3; writeln(y); writeln(3*x+2*y); a:=y+3=x; writeln(a); end.
H δομή της ακολουθίας
1
Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 4. Τι θα εμφανίσει το παρακάτω πρόγραμμα Pascal; program askisi; var b,c:integer; a,d,e:boolean; begin b:=-2; c:=7 mod 2; d:=c<>1; e:=b<c; a:=d or e; writeln(a); end. 5. Τι θα εμφανίσει το παρακάτω πρόγραμμα Pascal; program askisi; var y,z:integer; x:real; begin z:=3; y:=z+1; x:=z*3-y; writeln(x:3:2); end. 6. Να δημιουργήσετε έναν πίνακα τιμών για την παρακολούθηση όλων των μεταβλητών του παρακάτω προγράμματος Pascal. Ως είσοδο δίνουμε τις τιμές 4, 7.5. program askisi; var a,b,c,d,e:real; begin readln(a,c); d:=38/a; c:=d-5; b:=d*2+6; e:=c; e:=e*2; a:=3/(b-22)-1; b:=a+b+e; writeln(b:3:2); end.
H δομή της ακολουθίας
2
Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 7. Να δημιουργήσετε έναν πίνακα τιμών για την παρακολούθηση όλων των μεταβλητών του παρακάτω προγράμματος Pascal. Ως είσοδο δίνουμε την τιμή 2. program askisi; var a:integer; b,c:real; begin readln(a); c:=a/4; b:=c*c-1; writeln(b:3:2); end. 8. Για το παρακάτω πρόγραμμα Pascal να εξετάσετε αν υπάρχουν λάθη και αν ναι, να τα διορθώσετε. (Το πρόγραμμα έπρεπε να εμφανίσει το άθροισμα δυο ακεραίων). program askisi; var b,sum:integer; begin readln(a,b); sum:=a*b; writeln(sum); end. 9. Για το παρακάτω πρόγραμμα Pascal να εξετάσετε αν υπάρχουν λάθη και αν ναι, να τα διορθώσετε. (Το πρόγραμμα έπρεπε να εμφανίσει το πηλίκο δυο ακεραίων). Υποθέστε ότι ισχύει: Β<>0. program askisi; var a,b,c:integer; begin readln(a,b); c:=a/b; writeln(c); end.
10. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει δυο αριθμούς και θα υπολογίσει και εμφανίσει το άθροισμα τους και η διαφορά τους. 11. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει τέσσερις αριθμούς και θα υπολογίσει και εμφανίσει τον μέσο όρο τους. 12. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει τις ώρες εργασίας ενός εργάτη και το ωρομίσθιο του. Στην συνέχεια να υπολογίσει και εμφανίσει τις μικτές αποδοχές του (πρόκειται για το γινόμενο ωρών επί ωρομισθίου), τις κρατήσεις του (πρόκειται για το 20% των μικτών αποδοχών του) και τις καθαρές αποδοχές του (πρόκειται για την διαφορά μικτών αποδοχών και κρατήσεων).
H δομή της ακολουθίας
3
Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 13. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει τους βαθμούς Φαρενάιτ (F) μιας περιοχής και στην συνέχεια θα υπολογίσει και εμφανίσει τους αντίστοιχους βαθμούς Κελσίου (C). Ο τύπος μετατροπής είναι:
C
5 ( F 32) 9
14. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο θα διαβάσει πόσες ώρες, λεπτά και δευτερόλεπτα έχει κάνει ένας αθλητής στον Μαραθώνιο της Αθήνας και θα εμφανίσει τον χρόνο του σε δευτερόλεπτα. Για παράδειγμα, αν ο αθλητής έκανε 2 ώρες, 32 λεπτά και 22 δευτερόλεπτα, ο συνολικός του χρόνος σε δευτερόλεπτα είναι 9142. 15. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει το κόστος ενός είδους, το ποσό που έδωσε ο πελάτης και θα εμφανίσει τα ρέστα με την εξής μορφή: Ρέστα …. € Παράδειγμα Αν το κόστος ήταν 7 €, το ποσό που έδωσε ο πελάτης ήταν 10 €, θα εμφανίσει: Ρέστα 3 € Υποθέστε ότι ο πελάτης δίνει μεγαλύτερο ποσό από το κόστος του προϊόντος. 16. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει την μεγάλη, την μικρή βάση και το ύψος ενός τραπεζίου και θα εμφανίσει το εμβαδόν του. Υπενθυμίζεται ο τύπος του εμβαδού:
Embado
basimegali basimikri * ipsos 2
17. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει την ακτίνα (R) της βάσης ενός κυλίνδρου και το ύψος (Y) του και θα υπολογίσει και εμφανίσει τον όγκο (Ogo) και την επιφάνεια (Embado) του με βάση τους τύπους:
go R 2 * Y Embado 2 * R 2 2 R Y όπου π=3.14 Σε περίπτωση που το πρόγραμμα γραφεί στην Pascal, η δύναμη υπολογίζεται με γινόμενα (R*R) ενώ στην Γλωσσομάθεια υπάρχει και ο ειδικός τελεστής ^ (R^2). 18. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει τις πλευρές a, b, c ενός τριγώνου και θα υπολογίσει και εμφανίσει το εμβαδόν του. Το εμβαδόν δίνεται από τον τύπο:
Embado s * (s a) * (s b) * (s c)
όπου s =(a + b + c)/2
Σε περίπτωση που το πρόγραμμα γραφεί στην Pascal, η τετραγωνική ρίζα συμβολίζεται με sqrt( ) ενώ στην Γλωσσομάθεια είναι Τ_Ρ( ).
H δομή της ακολουθίας
4
Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 19. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει το μήκος L ενός εκκρεμούς και την επιτάχυνση της βαρύτητας g και θα υπολογίσει και εμφανίσει την περίοδο του Τ. Η περίοδος υπολογίζεται από τον τύπο:
T 2 * * L / g όπου π=3.14 Σε περίπτωση που το πρόγραμμα γραφεί στην Pascal, η τετραγωνική ρίζα συμβολίζεται με sqrt( ) ενώ στην Γλωσσομάθεια είναι Τ_Ρ( ). 20. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει τις μάζες m1 και m2 δύο σωμάτων και την μεταξύ τους απόσταση r και θα υπολογίσει και εμφανίσει την δύναμη έλξης F. Η δύναμη έλξης υπολογίζεται από τον τύπο:
F
G.m1.m2 r2
G = 6,67
Σε περίπτωση που το πρόγραμμα γραφεί στην Pascal, η δύναμη υπολογίζεται με γινόμενα (r*r) ενώ στην Γλωσσομάθεια υπάρχει και ο ειδικός τελεστής ^ (r^2). 21. Η ολική αντίσταση R δύο αντιστάσεων R1και R2 συνδεμένων σε σειρά είναι Rseir=R1+R2 ενώ σε παραλληλία είναι
Rpar
R1 R 2 R1 R 2
Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει τις δύο αντιστάσεις R1 και R2 και θα υπολογίζει και εμφανίσει την συνολική αντίσταση σε σειρά και σε παραλληλία. 22. Μια εταιρεία φορολογείται στο τέλος της χρονιάς με συντελεστή 30% επί του τζίρου. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal (και ισοδύναμος αλγόριθμος με λογικό διάγραμμα) που θα διαβάσει τον τζίρο της εταιρείας και θα υπολογίσει και εμφανίσει τον φόρο και το καθαρό ποσό που θα μείνει στην εταιρεία (αυτό δηλαδή που θα προκύψει μετά από την αφαίρεση του φόρου). Σημείωση Τζίρος Το σύνολο των ακαθάριστων εσόδων που έχει η εταιρεία Φόρος Το μέρος των χρημάτων που θα αποδώσει η εταιρεία στην εφορία Καθαρό ποσό Το ποσό που απομένει τελικά στην εταιρεία μετά την αφαίρεση του φόρου 23. Ένα φορτηγό μπορεί να μεταφέρει 1132 κιλά αμμοχάλικο σε ένα δρομολόγιο. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει τον αριθμό δρομολογίων που έχει κάνει ένα φορτηγό και θα υπολογίσει και εμφανίσει σε τόνους το συνολικό φορτίο που μεταφέρθηκε. 24. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει το κεφάλαιο (τα χρήματα) που καταθέτει κάποιος πολίτης σε μία τράπεζα και το επιτόκιο που η τράπεζα του δίνει. Στην συνέχεια θα υπολογίσει και εμφανίσει τον τόκο στο τέλος του
H δομή της ακολουθίας
5
Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς πρώτου χρόνου, τον τόκο στο τέλος του δεύτερου χρόνου, τον συνολικό τόκο και το συνολικό κεφάλαιο μετά τις δύο ανατοκίσεις. Υπενθύμιση: 1. Ο τόκος προκύπτει από το γινόμενο του κεφαλαίου που έχουμε κάθε φορά και του επιτοκίου 2. Ο τόκος προστίθεται στο κεφάλαιο. Παράδειγμα Ποσό=500 € Επιτόκιο=10% Τόκος πρώτου χρόνου=500*10%=50 € Τόκος δεύτερου χρόνου=(500+50)*10%=55 € Συνολικό τόκος=50+55=105 € Συνολικό κεφάλαιο=500+105=605 € 25. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο να διαβάσει τον αριθμό σελίδων ενός βιβλίου, το πάχος σε cm κάθε σελίδας και να υπολογίσει και εμφανίσει το συνολικό πάχος του βιβλίου σε cm , δεδομένου ότι το πάχος κάθε εξωφύλλου είναι το πενταπλάσιο του πάχους της σελίδας. 26. Να γράψετε πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο θα διαβάσει ένα ακέραιο θετικό ποσό σε (€) και θα εμφανίσει από πόσα χαρτονομίσματα των 500, 200, 100, 50, 20 10, 5 € αποτελείται. Για παράδειγμα, τα 1234 € αποτελούνται από 2 x 500 €, 1 x 200 €, 0 x 100 €, 0 x 50 €, 1 x 20 € και 1 x 10 €, 0 x 5 €. Παράδειγμα - Υπόδειξη Χαρτονομίσματα 500 € : 1234 div 500=2 Απομένων ποσό : 1234 mod 500=234 € Χαρτονομίσματα 200 € : 234 div 200=1 κοκ. 27. Ρομπότ με σταθερό μήκος βήματος καταφθάνει στον πλανήτη Άρη, για να περισυλλέξει πετρώματα. Κάθε 1 βήμα του είναι 80 cm. Το Ρομπότ διαθέτει μετρητή βημάτων. Διένυσε στον Άρη μία ευθεία από σημείο Α σε σημείο Β και ο μετρητής βημάτων καταμέτρησε Ν βήματα. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που: A. Να διαβάσει τον αριθμό Ν των βημάτων του Ρομπότ. B. Να υπολογίσει και εμφανίσει την απόσταση ΑΒ που διανύθηκε σε cm. C. Να μετατρέψει και να εμφανίσει αυτήν την απόσταση σε km, m, και cm. Π.χ. αν η απόσταση σε cm είναι 202360 cm τότε να τυπώνει: 2 km, 23 m, 60 cm Υπόδειξη 1km ισοδυναμεί με 100.000 cm. Συνεπώς για να βρούμε πόσα km έχει αυτή η απόσταση (που είναι σε cm) πρέπει να δούμε πόσες φορές ακριβώς χωράει σε αυτήν το 100.000, δηλαδή να βρούμε το ακέραιο πηλίκο (div). Στα cm που θα περισσέψουν από την παραπάνω διαίρεση (δηλαδή το ακέραιο υπόλοιπο - mod) πρέπει να βρούμε πόσες φορές χωρά ακριβώς το 100 (δηλαδή το ακέραιο πηλίκο - div) αφού 1m ισοδυναμεί με 100 cm. Το ακέραιο υπόλοιπο (mod) της παραπάνω διαίρεσης είναι τα cm που απομένουν.
H δομή της ακολουθίας
6
ΚΕΡΟΣ Α. ΙΩΑΝΝΗΣ | ΠΤΥΧΙΟΥΧΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α.Π.Θ 28. Να γραφεί πρόγραμμα Pascal που θα διαβάσει έναν διψήφιο ακέραιο θετικό αριθμό. Το πρόγραμμα να υπολογίσει και εμφανίσει τον ακέραιο που προκύπτει από την αντιστροφή των ψηφίων του. Για παράδειγμα αν δοθεί ως είσοδος το 54 να εμφανίσει το 45. Για την δική σας διευκόλυνση συμβουλευτείτε το παρακάτω σχήμα.
div10
5
4*10+5
54
4
mod10
29. Να επεκταθεί το πρόγραμμα της προηγούμενης άσκησης και για την περίπτωση τριψήφιου ακέραιου. Για παράδειγμα αν δοθεί ως είσοδος το 547 να εμφανίσει το 745. Για την δική σας διευκόλυνση συμβουλευτείτε το παρακάτω σχήμα. div100
5
547
mod100
div10
4
mod10
7
7*100+4*10+5
47
30. Να γραφεί πρόγραμμα Pascal που θα διαβάσει δυο αριθμούς που θα αποθηκευτούν στις μεταβλητές Α και Β. Το πρόγραμμα θα αλλάξει μεταξύ τους τις τιμές των δύο μεταβλητών, δηλαδή η τιμή της Α να γίνει τιμή της Β και η τιμή της Β να γίνει τιμή της Α και θα εμφανίσει τις μεταβλητές Α και Β. Υπόδειξη Πως θα εργαζόσασταν για να μεταφέρετε την cola στο ποτήρι της πορτοκαλάδας και την πορτοκαλάδα στο ποτήρι της cola;
H δομή της ακολουθίας – Ασκήσεις
7