ΘΕΜΑ Α Α1. 1. Σ 2. Σ 3. Σ 4. Λ 5. Σ Α2. α. < β. Ή γ. ΨΕΥΔΗΣ δ. Χ = 5 ε. (Χ > 5) ΚΑΙ (Υ < 3) Α3. α. (ΟΧΙ (9 mod 5 = 20-4 * 2 ^ 2)) H (8 > 4 ΚΑΙ Χ > Ψ ) β. (ΟΧΙ (4 = 4)) Ή (8 > 4 ΚΑΙ Χ > Ψ ) γ. (ΟΧΙ (ΑΛΗΘΗΣ)) Ή (ΑΛΗΘΗΣ ΚΑΙ ΨΕΥΔΗΣ) δ. ΨΕΥΔΗΣ Ή ΨΕΥΔΗΣ = ΨΕΥΔΗΣ Α4. α. Η απάντηση βρίσκεται στη σελίδα 180 του σχολικού βιβλίου. β. Η απάντηση βρίσκεται στη σελίδα 140 του σχολικού βιβλίου. γ. Η απάντηση βρίσκεται στη σελίδα 138 του σχολικού βιβλίου. δ. Η απάντηση βρίσκεται στις σελίδες 137 και 138 του σχολικού βιβλίου. Α5. Α < 101 Β < 0 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ Β < Β + Α Α < Α + 2 ΜΕΧΡΙΣ_ΟΤΟΥ Α > 200 ΕΜΦΑΝΙΣΕ Β
ΘΕΜΑ Β Β1. Για k από 1 µέχρι 29 θ < k Για i από k µέχρι 30 Αν Π[i] > Π[θ] τότε θ < i B2. αντιµετάθεσε Π[θ], Π[k] Αλγόριθµος ΘΕΜΑ_Β2 i < 1 S < 0 Όσο ΟΧΙ(i > 200) επανάλαβε Διάβασε m Αν (m > 10) τότε s < m + s i < i + 1 Εκτύπωσε s Τέλος ΘΕΜΑ_Β2
ΘΕΜΑ Γ Αλγόριθµος ΘΕΜΑ_Γ Ο συνολικός αριθµός των τεµαχίων µε τιµή τεµαχίου µεγαλύτερη των 10 ευρώ. totalproductcount < 0 Το συνολικό κόστος όλων των τεµαχίων που αγόρασε ο πελάτης (λογαριασµός). Μέχρι τώρα ο πελάτης δεν έχει αγοράσει τίποτα. totalprice < 0 Η µέγιστη τιµή τεµαχίου που έχει κληθεί να πληρώσει ο πελάτης έως τώρα. maxprice < 0 Ο συνολικός αριθµός των τεµαχίων που αγόρασε ο πελάτης στη µέγιστη τιµή. totalmaxcount < 0 Ο πελάτης ξεκινάει να αγοράζει προϊόντα. Αρχή_επανάληψης Διαβάζουµε µε τη σειρά τον κωδικό προϊόντος, τον αριθµό τεµαχίων και την τιµή στην οποία αγοράζει το κάθε τεµάχιο. Διάβασε productid, productcount, productprice Υπολογίζουµε το συνολικό κόστος της παραπάνω αγοράς και το προσθέτουµε στο σύνολο του λογαριασµού του πελάτη. totalprice < totalprice + (productcount * productprice) Εάν η τιµή τεµαχίου ξεπερνάει τα 10 ευρώ, προσθέτουµε τον αριθµό των τεµαχίων που αγόρασε στο σχετικό σύνολο. Αν (productprice > 10) τότε totalproductcount < totalproductcount + productcount
Ελέγχουµε εάν η τιµή / τεµάχιο είναι η υψηλότερη που έχει κληθεί να πληρώσει έως τώρα. Εάν αυτό ισχύει, θέτουµε ως µέγιστη τιµή τεµαχίου την τρέχουσα και ανανεώνουµε τον συνολικό αριθµό τεµαχίων που αγόρασε στην τιµή αυτή. Αν (productprice > maxprice) τότε maxprice < productprice totalmaxcount < productcount Εάν όµως έχει ξανά αγοράσει σε αυτήν την τιµή, απλά ανανεώνουµε το σχετικό σύνολο. Αλλιώς_αν (productprice = maxprice) totalmaxcount < totalmaxcount + productcount Οι αγορές του πελάτη σταµατάνε όταν δώσει την τιµή 0 για κωδικό προϊόντος Μέχρις_ότου (productid = 0) Εµφανίζουµε τα αποτελέσµατα για τα ερωτήµατα Γ3 και Γ4 Εµφάνισε totalproductcount, totalmaxcount Αν (totalprice < 500) τότε Εµφάνισε ΠΛΗΡΩΜΗ ΜΕΤΡΗΤΟΙΣ Αλλιώς Το χρηµατικό ποσό της πρώτης δόσης payment < 20 Το σύνολο των δόσεων paymentscount < 0 Αρχή_επανάληψης totalprice < totalprice - payment paymentscount < paymentscount + 1 payment < payment + 5 Μέχρις_ότου (totalprice <= 0) Τέλος ΘΕΜΑ_Γ Εµφάνισε paymentscount
ΘΕΜΑ Δ Αλγόριθµος ΘΕΜΑ_Δ Ερώτηµα Δ1 Για i από 1 µέχρι 10 Διάβασε companyname[i] Για j από 1 µέχρι 28 Διάβασε visits[i, j] Ερώτηµα Δ2 Για i από 1 µέχρι 10 Οι συνολικές επισκέψεις που δέχθηκε ένας ιστότοπος totalvisits < 0 Για j από 1 µέχρι 28 totalvisits < totalvisits + visits[i,j] Εµφάνισε companyname[i], totalvisits
Ερώτηµα Δ3 Εάν βρέθηκαν ιστότοποι που κάθε ηµέρα στο διάστηµα των τεσσάρων εβδοµάδων δέχθηκαν περισσότερες από 500 επισκέψεις. foundcompanies < ΨΕΥΔΗΣ Για i από 1 µέχρι 10 Το σύνολο των ηµερών που είχαν 500 επισκέψεις η κάθε µία dayscount < 0 Για j από 1 µέχρι 28 Αν (visits[i, j] > 500) τότε dayscount < dayscount + 1 Αν (dayscount = 28) τότε foundcompanies <- ΑΛΗΘΗΣ Εµφάνισε companyname[i] Αν (foundcompanies = ΨΕΥΔΗΣ) τότε Εµφάνισε Δεν βρέθηκε ιστότοπος
Ερώτηµα Δ4 Αναζήτηση ιστότοπου σε πίνακα Εάν βρέθηκε ο ιστότοπος done < ΨΕΥΔΗΣ Η θέση στον πίνακα του ιστότοπου που βρέθηκε position < 0 Αρχή_επανάληψης Διάβασε name i < 1 Όσο ((i <= 10) KAI (done = ΨΕΥΔΗΣ)) επανάλαβε Αν (name = companyname[i]) τότε done < ΑΛΗΘΗΣ position < i Αλλιώς i < i + 1 Μέχρις_ότου (done = ΑΛΗΘΗΣ) Δηµιουργούµε ένα µονοδιάστατο πίνακα 4 θέσεων, weeks[4], σε κάθε θέση του οποίου αποθηκεύεται ο συνολικός (εβδοµαδιαίος) αριθµός επισκέψεων κάθε εβδοµάδας. Για i από 1 µέχρι 4 weekvisits[i] < 0
Μετράµε και αποθηκεύουµε τις συνολικές επισκέψεις κάθε εβδοµάδας για τον ιστότοπο που αναζητήσαµε. Για j από 1 µέχρι 28 Αν (j <= 7) τότε weekvisits[1] < weekvisits[1] + visits[position, j] Αλλιώς_αν ( j <= 14) τότε weekvisits[2] < weekvisits[2] + visits[position, j] Αλλιώς_αν ( j <= 21) τότε weekvisits[3] < weekvisits[3] + visits[position, j] Αλλιώς weekvisits[4] < weekvisits[4] + visits[position, j] Βρίσκουµε τον µέγιστο αριθµό επισκέψεων maxweekvisits < weekvisits[1] Για i από 2 µέχρι 4 Αν (weekvisits[i] > maxweekvisits) τότε maxweekvisits < weekvisits[i] Για i από 1 µέχρι 4 Αν (weekvisits[i] = maxweekvisits) τότε Εµφάνισε i Εµφανίζουµε τις εβδοµάδες για τις οποίες είχαµε τον µέγιστο αριθµό επισκέψεων Τέλος ΘΕΜΑ_Δ