Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Λύσεις Θεμάτων Επαναληπτικών Εξετάσεων Ενιαίου Λυκείου 2010 Θέμα Α Α1. 1. Αληθής 2. Αληθής 3. Ψευδής 4. Αληθής 5. Ψευδής 6. Αληθής 7. Ψευδής Α2. Αν (grade >= 17 και grade <= 20) τότε Γράψε "Άριστα" _αν grade >= 15 τότε Γράψε "Πολύ καλά" _αν grade >= 13 τότε Γράψε "Καλά" _αν grade >= 10 τότε Γράψε "Μέτρια" Γράψε "Απορρίπτεται"
Α3. Πρόγραμμα Α3 Μεταβλητές Ακέραιες: sum_r_c[5,7], row, column Πραγματικές: halve[10], number Αρχή Για row από 1 μέχρι 5 Για column από 1 μέχρι 7 sum_r_c[row,column] row + column number 300 Για row από 1 μέχρι 10 halve[row] number number number / 2 Τέλος_προγράμματος Α4. Σελίδα 220 σχολικού βιβλίου: Ο αριθμός των πραγματικών και των τυπικών παραμέτρων πρέπει να είναι ίδιος Κάθε πραγματική παράμετρος αντιστοιχεί στην τυπική παράμετρο που βρίσκεται στην αντίστοιχη θέση. Για παράδειγμα η πρώτη της λίστας των τυπικών παραμέτρων στην πρώτη της λίστας των πραγματικών παραμέτρων κοκ Η τυπική παράμετρος και η αντίστοιχη της πραγματική πρέπει να είναι του ιδίου τύπου Α5. Σελίδα 60 σχολικού βιβλίου: Δύο είναι οι κύριες λειτουργίες σε μία στοίβα: Η ώθηση (push) στοιχείου στην κορυφή της στοίβας, και Η απώθηση (pop) στοιχείου από τη στοίβα. Η διαδικασία της ώθησης πρέπει οπωσδήποτε να ελέγχει, αν η στοίβα είναι γεμάτη, οπότε λέγεται ότι συμβαίνει υπερχείλιση (overflow) της στοίβας. Αντίστοιχα, η διαδικασία απώθησης ελέγχει, αν υπάρχει ένα τουλάχιστον στοιχείο στη στοίβα, δηλαδή ελέγχει αν γίνεται υποχείλιση (underflow) της στοίβας.
Θέμα Β Β1. Το διάγραμμα ροής είναι το ακόλουθο: Β2. Ο πίνακας τιμών φαίνεται παρακάτω: Αριθμός Γραμμής X Y Z 1 150 35 5 35 8 10 9 35 10 10 8 5 9 10 10 5 8 0 9 5 10 0 Β3. Η ισοδύναμη δομή επανάληψης είναι: Αρχή_επανάληψης z x mod y x y y z Μέχρις_ότου z = 0
Θέμα Γ Διαδικασία Έλεγχος(user_data)!------------------------------------------------------------------------Δήλωση μεταβλητών--------------------------------------------------------------------! Μεταβλητές Ακέραιες: index, position Χαρακτήρες: user_data[1000,3], username, password, new_password, confirmation Λογικές: flag!------------------------------------------------------------------------------------------------------------------------------------------------------------------------! Αρχή Αρχή_επανάληψης flag Ψευδής!Λογική μεταβλητή για την επαναληπτική διαδικασία!------------------------------------------εισαγωγή username και password από τον χρήστη-----------------------------------------------! Γράψε "Εισάγετε το όνομα χρήστη:" Διάβασε username Γράψε "Εισάγετε τον κωδικό πρόσβασης:" Διάβασε password!---------------------έλεγχος για την εύρεση των στοιχείων του χρήστη με εμφάνιση κατάλληλων μηνυμάτων------------------! index 1!Μετρητής επαναληπτικής διαδικασίας position 0!Θέση στοιχείων χρήστη Όσο (index <= 1000 και flag = Ψευδής) επανάλαβε Αν (user_data[index,1] = username και user_data[index,2] = password) τότε position index flag Αληθής index index + 1 Αν flag = Ψευδής τότε Γράψε "Λάθος όνομα πρόσβασης ή συνθηματικό" Γράψε "Καλώς ήρθατε" Μέχρις_ότου flag = Αληθής Αν user_data[position,3] = "Α" τότε!----------------------εισαγωγή, αν χρειάζεται, με επιβεβαίωση του νέου password από τον χρήστη-------------------------------! Γράψε "Το συνθηματικό σας χρειάζεται αλλαγή" Γράψε "Εισάγετε το νέο κωδικό" Διάβασε new_password Γράψε "Επιβεβαιώστε τον κωδικό πρόσβασής σας" Διάβασε confirmation
!----------------------------Έλεγχος εγκυρότητας για συμφωνία password με επιβεβαίωση password-------------------------------! Όσο new_password <> confirmation επανάλαβε Γράψε "Ο κωδικός πρόσβασης και η επιβεβαίωση δεν συμφωνούν" Γράψε "Εισάγετε το νέο κωδικό" Διάβασε new_password Γράψε "Επιβεβαιώστε τον κωδικό πρόσβασής σας" Διάβασε confirmation!------------------------------------------εισαγωγή του νέου password στα στοιχεία χρήστη-----------------------------------------------! user_data[position,2] new_password user_data[position,3] "Σ" Τέλος_διαδικασίας
Θέμα Δ Αλγόριθμος thema_4 count_infected 0!Αρχικοποίηση μετρητή πλήθους μολυσμένων ατόμων!-------------------------------εισαγωγή τιμής -1 στον πίνακα Μ σε περίπτωση μολυσμένων ατόμων---------------------------------! Για index από 1 μέχρι 5000 Αν Μ[index] = -1 τότε count_infected count_infected + 1!--------------------------Υπολογισμός πλήθους μολυσμένων ατόμων που γειτονεύει ένα υγιές άτομο-----------------------------! Για index από 1 μέχρι 5000 Αν index = 1 τότε Αν (Μ[index] = 0 και Μ[index+1] = -1) τότε Μ[index] 1 _αν index = 5000 τότε Αν (Μ[index] = 0 και Μ[index-1] = -1) τότε Μ[index] 1 Αν Μ[index] = 0 και (Μ[index+1] = -1 ή Μ[index-1] = -1) τότε Αν (Μ[index+1] = -1 και Μ[index-1] = -1) τότε Μ[index] 2 Μ[index] 1!--------------------------------------------------Υπολογισμός σημαντικής εστίας μόλυνσης--------------------------------------------------! index 1!Μετρητής επαναληπτικής διαδικασίας flag Ψευδής!Λογική μεταβλητή για την ύπαρξη ή όχι σημαντικής εστίας μόλυνσης count_source_infection 0!Μετρητής πλήθους ατόμων σημαντικής εστίας μόλυνσης start_position 0!Αρχή σημαντικής εστίας μόλυνσης end_position 0! Τέλος σημαντικής εστίας μόλυνσης Όσο (index <= 5000 και flag = Ψευδής) επανάλαβε Αν Μ[index] = -1 τότε count_source_infection count_source_infection + 1 Αν count_source_infection = 1 τότε start_position index count_source_infection 0 start_position 0
Αν count_source_infection >= 2 τότε Αν index <> 5000 τότε Αν Μ[index+1] <> -1 τότε flag Αληθής end_position index flag Αληθής end_position index index index + 1!-----------------------------------------------------------Εμφάνιση μολυσμένων ατόμων-------------------------------------------------------!!----------------αν υπάρχει, εμφάνιση σημαντικής εστίας μόλυνσης. εμφάνιση κατάλληλου μηνύματος--------------! Εμφάνισε "Το πλήθος των μολυσμένων ατόμων είναι: ", count_infected Αν flag = Αληθής τότε infected_population end_position start_position + 1 Εμφάνισε "Υπάρχει σημαντική εστία μόλυνσης που ξεκινάει από τη θέση Μ[", start_position, "]" Εμφάνισε "Τα μολυσμένα άτομα στην σημαντική εστία είναι: ", infected_population Εμφάνισε "Δεν υπάρχει σημαντική εστία μόλυνσης" Τέλος thema_4 Επιμέλεια: Δημητρόπουλος Γιώργος - Πληροφορικός