ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ: Θέμα 1ο I. Τι γνωρίζετε για την ολίσθηση; (Μονάδες 7) Σχολικό βιβλίο σελ 48 II. Να γράψετε στο τετράδιό σας τον αριθμό κάθε μιας από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη ΣΩΣΤΟ αν είναι σωστή ή τη λέξη ΛΑΘΟΣ αν είναι λανθασμένη. 1. Στο τμήμα δηλώσεων ενός προγράμματος πρώτα δηλώνονται οι μεταβλητές και μετά οι σταθερές. ΛΑΘΟΣ 2. Οι στατικές δομές καταλαμβάνουν συνεχόμενες θέσεις μνήμης. ΣΩΣΤΟ 3. Η δυναμική εκχώρηση μνήμης χρησιμοποιείται στις στατικές δομές. ΛΑΘΟΣ 4. Σε μια παράσταση, πρώτα εκτελούνται οι λογικές πράξεις και μετά οι συγκρίσεις. ΛΑΘΟΣ 5. Η προσπέλαση είναι πράξη επί των δομών δεδομένων. ΣΩΣΤΟ (Μονάδες 5) III. Να μετατραπεί ο παρακάτω κώδικας σε ισοδύναμο με χρήση της 1. Όσο... επανάλαβε 2. Αρχή_επανάληψης Για i από κ μέχρι μ με_βήμα -2 Γράψε i μ (Μονάδες 6) 1. i κ Όσο i >= μ επανάλαβε Γράψε i μ i i 2 2. i κ Αν i >=μ τότε Αρχή_επανάληψης Γράψε i μ i i 2 μέχρις_ότου i < μ
24 48 96 192 IV. Δίνεται το παρακάτω τμήμα αλγορίθμου. Αν x > κ τότε x y κ Αν y = 2 τότε x y + κ x y - κ Γράψε x Να συμπληρωθούν τα κενά ώστε το αποτέλεσμα να είναι ίδιο με του αρχικού κώδικα Αν x <=κ και y = 2 τότε x y + κ x y - κ Γράψε x (Μονάδες 6) Αν x > κ ή y <> 2 τότε ισοδύναμα ΟΧΙ(x <=κ και y = 2) x y - κ x y + κ Γράψε x (Μονάδες 6) V. Χρησιμοποιώντας τον αλγόριθμο αλά Ρώσικα, να βρείτε τα γινόμενα 1. 15 x 24 2. 28 x 19 (Μονάδες 4) 15 7 3 1 0 24 48 96 192 --------- 360 28 56 112 224 448 19 9 4 2 1 0 28 56 448 --------- 532
VI. Να ξαναγράψετε στο τετράδιό σας το παρακάτω τμήμα προγράμματος, χρησιμοποιώντας αποκλειστικά μη εμφωλευμένες απλές δομές επιλογής Αν... Τότε... Τέλος_αν. Θέμα 2ο Αν Χ<> Α_Μ(Χ) Τότε Γράψε 'Λάθος' Αλλιώς_αν Χ<=0 Τότε Γράψε 'Μη Θετικός' Αλλιώς Γράψε 'Θετικός' Τέλος_αν (Μονάδες 6) flag αληθής Αν Χ <> Α_Μ(Χ) τότε Γράψε 'Λάθος' flag ψευδής Αν Χ <= 0 και flag = αληθής τότε Γράψε 'Μη θετικός' flag ψευδής Αν flag = αληθής τότε Γράψε 'Θετικός' flag ψευδής Α) Να γραφεί τμήμα αλγορίθμου, το οποίο θα διαβάζει έναν θετικό ακέραιο αριθμό, θα υπολογίζει τον αριθμό των ψηφίων του καθώς και το άθροισμά τους. (Μονάδες 10) Διάβασε x πλ 0 αθ 0 Όσο x div 10 <>0 επανάλαβε πλ πλ + 1 αθ αθ + x mod 10 x x div 10 αθ αθ + x πλ πλ + 1
Β) Να γίνει το διάγραμμα ροής του παρακάτω τμήματος αλγορίθμου. Για i από 2 μέχρι Ν με_βήμα 2 Για j από Ν μέχρι i με_βήμα -1 Αν Α > Β τότε Α Α Β Β Β Α (Μονάδες 10)
Θέμα 3ο Μια ναυτοπλοϊκή εταιρία για τη διαδρομή Θεσσαλονίκη Πειραιάς έχει ορίσει την τιμή του εισιτηρίου ως εξής: Για τους επιβάτες από 6 μέχρι και 65 ετών στα 35 ευρώ. Για τα άτομα τρίτης ηλικίας (από 66 ετών και πάνω) καθώς και για τα παιδιά μέχρι και 5 ετών στα 18 ευρώ. Η εταιρία χρεώνει τους επιβάτες για τις αποσκευές τους κλιμακωτά, ανάλογα με το βάρος της αποσκευής ως εξής: Για τα πρώτα 20 κιλά δεν υπάρχει χρέωση. Τα επόμενα 10 κιλά χρεώνονται με 2 ευρώ το κιλό. Τα υπόλοιπα κιλά χρεώνονται με 7 ευρώ το κιλό. Να γραφεί πρόγραμμα το οποίο θα διαβάζει για κάθε επιβάτη το όνομα, την ηλικία του και τα κιλά αποσκευών που μεταφέρει. Το πρόγραμμα θα τερματίζει όταν για όνομα δοθεί η λέξη Τερματισμός και θα εμφανίζει: Πόσοι είναι οι επιβάτες, πόσοι από αυτούς είναι ενήλικες, και πόσα παιδιά (κάτω των 18). Ποιος επιβάτης μετέφερε τη μεγαλύτερη αποσκευή σε κιλά και πόσα κιλά ήταν η αποσκευή. Το συνολικό ποσό που εισέπραξε η εταιρία από το δρομολόγιο. (Θεωρήστε ότι οι ηλικίες και τα βάρη των αποσκευών είναι ακέραιες τιμές.) (Μονάδες 20) Πρόγραμμα Θέμα3 Μεταβλητές Ακέραιες: ΠΛΕΝ, ΠΛΠ, ΣΠ, max, ΗΛ, Κ, ΧΡ Χαρακτήρες: ΟΝ, Ονmax Αρχή ΠΛΕΝ 0!Πλήθος ενηλίκων ΠΛΠ 0!Πλήθος παιδιών max -1!Αρχικοποίηση μέγιστης αποσκευής ΣΠ 0!Συνολικό ποσό είσπραξης Γράψε 'Δώσε όνομα επιβάτη' Διάβασε ΟΝ Όσο ΟΝ <> 'Τερματισμός' επανάλαβε Γράψε 'Δώσε ηλικία και κιλά αποσκευών' Διάβασε ΗΛ, Κ!Μετράμε τους ενήλικες και τα παιδιά Αν ΗΛ < 18 τότε ΠΛΠ ΠΛΠ + 1 ΠΛΕΝ ΠΛΕΝ + 1
!Υπολογίζουμε τη μεγαλύτερη αποσκευή Αν K > max τότε max Κ Ονmax ΟΝ!Υπολογίζουμε κλιμακωτά τη χρέωση των αποσκευών αφού αρχικοποιήσουμε τη χρέωση κάθε επιβάτη με 0 ΧΡ 0 Αν Κ <=20 τότε ΧΡ 0 _αν Κ<=30 τότε ΧΡ 2 * (Κ 20) ΧΡ 2 * 10 + 7 * (Κ 30)!Υπολογίζουμε το κόστος για κάθε επιβάτη ανάλογα με την ηλικία του Αν ΗΛ >= 6 και ΗΛ <= 65 τότε!προσθέτουμε και το κόστος του εισιτηρίου για ενήλικες ΧΡ ΧΡ + 35!Προσθέτουμε και το κόστος του εισιτηρίου για παιδιά και άτομα 3ης ηλικίας ΧΡ ΧΡ + 18!Προσθέτουμε στο συνολικό ποσό είσπραξης τη χρέωση του επιβάτη ΣΠ ΣΠ + ΧΡ!Διαβάζουμε το όνομα του επόμενου επιβάτη Γράψε 'Δώσε όνομα επιβάτη' Διάβασε ΟΝ!Εμφανίζουμε τα αποτελέσματα Γράψε 'Σύνολο επιβατών', ΠΛΕΝ + ΠΛΠ Γράψε 'Ενήλικες', ΠΛΕΝ Γράψε 'Ανήλικοι', ΠΛΠ Γράψε 'Τη βαρύτερη αποσκευή', max,'τη μετέφερε ο', Ονmax Γράψε 'Συνολική είσπραξη εταιρίας', ΣΠ τέλος_προγράμματος
Θέμα 4ο Σε ένα βίντεο κλαμπ τα DVD έχουν κωδικό ενοικίασης 1 και χρεώνονται με 1,5, τα BLU RAY έχουν κωδικό ενοικίασης 2 και χρεώνονται με 3 και τα παιχνίδια έχουν κωδικό ενοικίασης 3 και χρεώνονται με 2. Η χρέωση γίνεται για 2 ημέρες ενοικίασης, ενώ για κάθε ημέρα καθυστέρησης πέρα των 2 ημερών επιβάλλεται πρόστιμο καθυστέρησης 0,5 /ημέρα. Να γραφεί πρόγραμμα που για κάθε ενοικίαση (DVD, BLU RAY, παιχνίδια): διαβάζει (και ελέγχει αν είναι έγκυρος) τον κωδικό ενοικίασης διαβάζει (και ελέγχει αν είναι θετικές) τις ημέρες ενοικίασης υπολογίζει και εμφανίζει το ποσό πληρωμής για το αντικείμενο που ενοικιάστηκε Το πρόγραμμα θα τερματίζει όταν για κωδικός ενοικίασης δοθεί ο αριθμός '000000' και θα εμφανίζει: Πόσα DVD, πόσα BLU RAY και πόσα παιχνίδια έχουν νοικιαστεί Τι ποσοστό από τις ενοικιάσεις έχουν καθυστερήσει Το συνολικό ποσό είσπραξης του καταστήματος Το μέσο ποσό πληρωμής κάθε ενοικίασης Τι ποσοστό από τις εισπράξεις αφορά τα παιχνίδια (Θεωρήστε ότι έχει ενοικιαστεί τουλάχιστον ένα αντικείμενο από κάθε είδος.) (Μονάδες 20) Πρόγραμμα Θέμα4 Μεταβλητές Ακέραιες: DVD, BR, ΠΑΙΧ, ΚΑΕΝ, ΗΜ Πραγματικές: ΕΙΣΠ, ΣΠ, ΧΡ Χαρακτήρες: Κ Αρχή DVD 0 BR 0 ΠΑΙΧ 0 ΚΑΕΝ 0 ΕΙΣΠ 0 ΣΠ 0!Πλήθος DVD!Πλήθος BLU RAY!Πλήθος Παιχνιδιών!Πλήθος Ενοικιάσεων που καθυστέρησαν!άθροισμα ποσού παιχνιδιών!συνολικό ποσό είσπραξης!διαβάζουμε και ελέγχουμε τον κωδικό ενοικίασης και τις ημέρες ενοικίασης Αρχή_επανάληψης Γράψε 'Δώσε κωδικό και ημέρες ενοικίασης' Διάβασε Κ, ΗΜ μέχρις_ότου (Κ='1' ή Κ='2' ή Κ='3' ή Κ='000000') και ΗΜ > 0!Μέχρι να δώσει το '000000' συνεχίζουμε Όσο Κ <> '000000' επανάλαβε!μετράμε τα DVD, BLU RAY και παιχνίδια και υπολογίζουμε τη χρέωση Αν Κ=1 τότε DVD DVD + 1
Αν ΗΜ <=2 τότε ΧΡ 1,5 ΧΡ 1,5 + 0,5*(ΗΜ-2) ΚΑΕΝ ΚΑΕΝ + 1!Καθυστερημένη ενοικίαση _αν Κ = 2 τότε BR BR + 1 Αν ΗΜ <=2 τότε ΧΡ 3 ΧΡ 3 + 0,5*(ΗΜ-2) ΚΑΕΝ ΚΑΕΝ + 1!Καθυστερημένη ενοικίαση ΠΑΙΧ ΠΑΙΧ + 1 Αν ΗΜ <=2 τότε ΧΡ 2 ΧΡ 2 + 0,5*(ΗΜ-2) ΚΑΕΝ ΚΑΕΝ + 1!Καθυστερημένη ενοικίαση ΕΙΣΠ ΕΙΣΠ + ΧΡ!Προσθέτω τη χρέωση των παιχνιδιών στο άθροισμά τους Γράψε 'Ποσό πληρωμής ενοικίασης', ΧΡ!Εμφανίζουμε τη χρέωση ΣΠ ΣΠ + ΧΡ!Προσθέτουμε στο συνολικό ποσό είσπραξης τη χρέωση!διαβάζουμε και ελέγχουμε τον κωδικό ενοικίασης και τις ημέρες ενοικίασης Αρχή_επανάληψης Γράψε 'Δώσε κωδικό και ημέρες ενοικίασης' Διάβασε Κ, ΗΜ μέχρις_ότου (Κ='1' ή Κ='2' ή Κ='3' ή Κ='000000') και ΗΜ > 0!Εμφανίζουμε τα αποτελέσματα Γράψε 'Σύνολο DVD', DVD Γράψε 'Σύνολο BLUE RAY', BR Γράψε 'Σύνολο Παιχνιδιών', ΠΑΙΧ Γράψε 'Ποσοστό ενοικιάσεων που καθυστέρησαν', (ΚΑΕΝ / (DVD + BR+ΠΑΙΧ))*100 Γράψε 'Συνολικό ποσό είσπραξης', ΣΠ Γράψε 'Μέσο ποσό πληρωμής ανά ενοικίαση', ΣΠ / (DVD + BR+ΠΑΙΧ) Γράψε 'Ποσοστό είσπραξης παιχνιδιών', (ΕΙΣΠ / ΣΠ) * 100 τέλος_προγράμματος SCIENCE PRESS