Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Λύσεις Θεμάτων Εξετάσεων Ενιαίου Λυκείου 2014 Θέμα Α Α1. 1. Σωστό 2. Σωστό 3. Σωστό 4. Λάθος 5. Σωστό Α2. Α3. Α4. α. = β. Όχι γ. Ψευδής δ. Κ > 20 ε. Κ > 3 ή Λ <= 20 α. (Όχι (9 mod 5 = 20 4 * 2 ^ 2)) ή (8 > 4 και "Χ" > "Ψ") β. (Όχι (4 = 4)) ή (8 > 4 και "Χ" > "Ψ") γ. (Όχι Αληθής) ή (Αληθής και Ψευδής) δ. Ψευδής ή Ψευδής = Ψευδής α. Σελίδα 180 σχολικού βιβλίου: Οι κανόνες που πρέπει να ακολουθούνται στη χρήση εμφωλευμένων βρόχων με εντολές Για, είναι: Ο εσωτερικός βρόχος πρέπει να βρίσκεται ολόκληρος μέσα στον εξωτερικό. Ο βρόχος που ξεκινάει τελευταίος, πρέπει να ολοκληρώνεται πρώτος. Η είσοδος σε κάθε βρόχο υποχρεωτικά γίνεται από την αρχή του. Δεν μπορεί να χρησιμοποιηθεί η ίδια μεταβλητή ως μετρητής δύο ή περισσοτέρων βρόχων που ο ένας βρίσκεται στο εσωτερικό του άλλου. β. Σελίδα 140 σχολικού βιβλίου: Ο ρόλος του συντάκτη (editor) σε ένα προγραμματιστικό περιβάλλον είναι η αρχική σύνταξη των προγραμμάτων και η διόρθωσή τους. Ο συντάκτης είναι ουσιαστικά ένας μικρός επεξεργαστής κειμένου, με δυνατότητες όμως που διευκολύνουν τη γρήγορη γραφή των εντολών των προγραμμάτων γ. Σελίδα 138 σχολικού βιβλίου: Ο ρόλος του συνδέτη φορτωτή σε ένα προγραμματιστικό περιβάλλον είναι η συμπλήρωση και η σύνδεση του αντικείμενου προγράμματος με άλλα τμήματα προγράμματος απαραίτητα για την εκτέλεσή του, τμήματα που είτε τα γράφει ο προγραμματιστής είτε βρίσκονται στις βιβλιοθήκες (libraries) της γλώσσας. Το αποτέλεσμα του συνδέτη είναι η παραγωγή του εκτελέσιμου προγράμματος (executable), το οποίο είναι το τελικό πρόγραμμα που εκτελείται από τον υπολογιστή δ. Σελίδα 138 σχολικού βιβλίου: Ο ρόλος του μεταγλωττιστή σε ένα προγραμματιστικό περιβάλλον είναι ή μετατροπή ενός προγράμματος γραμμένο σε μια γλώσσα υψηλού επιπέδου σε ισοδύναμο πρόγραμμα σε γλώσσα μηχανής. Το τελευταίο μπορεί να εκτελείται οποτεδήποτε από τον υπολογιστή και είναι τελείως ανεξάρτητο από το αρχικό πρόγραμμα
Α5. Α 101 Β 0 Αρχή_επανάληψης Β Β + Α Α Α + 2 Μέχρις_ότου Α > 200 Εμφάνισε Β Θέμα Β Β1. 1. K 2. > 3. i 4. Π[k] 5. Π[θ] Β2. Αλγόριθμος Β2 i 1 s 0 Όσο i <= 200 επανάλαβε Διάβασε m Αν m > 10 τότε s m + s Tέλος_αν i i + 1 Tέλος_επανάληψης Εμφάνισε s Τέλος _ Β2 ν 0 s 0 Αρχή_επανάληψης Αν ν mod 2 = 1 τότε x -1 x 1 s s + x / (2 * ν + 1) ν ν + 1 Μέχρις_ότου ν = 99 π 4 * s Εκτύπωσε π
Θέμα Γ Αλγόριθμος thema_3!-----------------------------------------εισαγωγή κωδικού του 1 ου προϊόντος από τον χρήστη--------------------------------------------! Εμφάνισε "Εισάγετε τον κωδικό του 1 ου προϊόντος:" Διάβασε product_code!-----------------------------------------------------------αρχικοποίηση μεταβλητών--------------------------------------------------------------! total_payment 0!Συνολικό ποσό προϊόντων που αγοράστηκαν count_price_10 0!Μετρητής πλήθους τεμαχίων με τιμή > 10 max_price 0!Μέγιστη τιμή τεμαχίου count_max_price 0!Μετρητής πλήθους τεμαχίων με τη μέγιστη τιμή isproduct Ψευδής!Λογική μεταβλητή για τον έλεγχο ύπαρξης προϊόντος που αγοράστηκε Όσο product_code <> 0 επανάλαβε isproduct Αληθής!----------------------Εισαγωγή αριθμού τεμαχίων και τιμής ανά τεμάχιο για κάθε προϊόν από τον χρήστη----------------------! Εμφάνισε "Για το προϊόν: ", product_code Εμφάνισε "Εισάγετε τον αριθμό τεμαχίων που αγοράστηκαν: " Διάβασε product_number Εμφάνισε "Εισάγετε την τιμή τεμαχίου: " Διάβασε product_price!--------------------------------------------------υπολογισμός πλήθους τεμαχίων με τιμή > 10-----------------------------------------------!!-------------------------------------------------------Υπολογισμός μέγιστης τιμής τεμαχίου---------------------------------------------------!!----------------------------------------------υπολογισμός πλήθους τεμαχίων με τη μέγιστη τιμή------------------------------------------!!----------------------------------------υπολογισμός συνολικού ποσού προϊόντων που αγοράστηκαν-----------------------------------! Αν product_price > 10 τότε count_price_10 count_price_10 + 1 Αν product_price > max_price τότε max_price product_price count_max_price 0 Αν product_price = max_price τότε count_max_price count_max_price + 1 total_payment total_payment + product_number * product_price!---------------------------------------εισαγωγή κωδικού επόμενου προϊόντος από τον χρήστη------------------------------------------! Εμφάνισε "Εισάγετε τον κωδικό του επόμενου προϊόντος:" Διάβασε product_code
Αν isproduct = Αληθής τότε!------------------------------------------------------------αν αγοράστηκαν προϊόντα-------------------------------------------------------------!!-------------------------------υπολογισμός δόσεων ή εμφάνιση μηνύματος για πληρωμή μετρητών---------------------------------!!-----------------------------------------------εμφάνιση πλήθους τεμαχίων με τιμή > 10------------------------------------------------------!!------------------------------------------Εμφάνιση πλήθους τεμαχίων με τη μέγιστη τιμή--------------------------------------------------! Αν total_payment <= 500 τότε Εμφάνισε "Πληρωμή Μετρητοίς" count_monthly_payments 0 monthly_payment 20 amount 0 Όσο amount + monthly_payment <= total_payment επανάλαβε count_monthly_payments count_monthly_payments + 1 amount amount + monthly_payment monthly_payment monthly_payment + 5 Εμφάνισε "Πληρωμή με δόσεις" Εμφάνισε "Το πλήθος των δόσεων είναι: ", count_monthly_payments Εμφάνισε "Το πλήθος των τεμαχίων με τιμή τεμαχίου μεγαλύτερη των 10 είναι: ", count_price_10 Εμφάνισε "Το πλήθος των τεμαχίων με τη μέγιστη τιμή τεμαχίου είναι: ", count_max_price!-----------------------------αν δεν αγοράστηκε κανένα προϊόν εμφάνιση κατάλληλου μηνύματος-----------------------------------! Εμφάνισε "Δεν δόθηκε κανένα προϊόν. Έγινε κατευθείαν εισαγωγή της τιμής τερματισμού" Τέλος thema_3
Θέμα Δ Αλγόριθμος thema_4 isabove_500 Ψευδής!Λογική μεταβλητή για έλεγχο ύπαρξης site με επισκέψεις > 500 την ημέρα Για site από 1 μέχρι 10!---------------------------------------------------------Αρχικοποίηση μεταβλητών----------------------------------------------------------------! sum_traffic[site] 0!Σύνολο επισκέψεων ανά site count_traffic_above_500 0!Μετρητής πλήθους ημερών με επισκέψεις > 500!----------------------------Εισαγωγή του ονόματος του site και του αριθμού επισκέψεων από τον χρήστη------------------------!!----------------------------------------------υπολογισμός πλήθους ημερών με επισκέψεις > 500 -----------------------------------------!!----------------------------------------Υπολογισμός και εμφάνιση συνολικού αριθμού επισκέψεων------------------------------------! Εμφάνισε "Εισάγετε το όνομα του ", site, " ου ιστοτόπου" Διάβασε site_name[site] Εμφάνισε "Για το site: ", site_name[site] Για week από 1 μέχρι 4 sum_week_taffic[site,week] 0 Εμφάνισε "Για την ", week, " η εβδομάδα" Εμφάνισε "Εισάγετε τον αριθμό επισκέψεων" Για day από week * 7 6 μέχρι 7 * week Εμφάνισε "Την ", day 7 * (week 1), " η μέρα της ", week, " ης εβδομάδας: " Διάβασε traffic[site,day] Αν traffic[site,day] > 500 τότε count_traffic_above_500 count_traffic_above_500 + 1 sum_week_taffic[site,week] sum_week_taffic[site,week] + traffic[site,day] sum_traffic[site] sum_traffic[site] + sum_week_taffic[site,week] Εμφάνισε "Ο συνολικός αριθμός επισκέψεων του site ", site_name[site], " είναι: ", sum_traffic[site]!-----------έλεγχος αν υπάρχει site με επισκέψεις > 500 κάθε μέρα. Αν υπάρχει εμφάνιση του ονόματος του site-----------! Αν count_traffic_above_500 = 28 τότε Εμφάνισε "Το site ", site_name[site], " δέχεται > 500 επισκέψεις την ημέρα" isabove_500 Αληθής!-----------------------Αν δεν υπάρχει site με επισκέψεις > 500 κάθε μέρα εμφάνιση κατάλληλου μηνύματος-------------------! Αν isabove_500 = Ψευδής τότε Εμφάνισε "Δεν υπάρχουν sites που να έχουν δεχθεί > 500 επισκέψεις την ημέρα"
Εμφάνισε "Εισάγετε το site προς αναζήτηση" Αρχή_επανάληψης!------------------------------------------------Εισαγωγή του site προς αναζήτηση από τον χρήστη----------------------------------------! Διάβασε name!------------------------------------------------------------αρχικοποίηση μεταβλητών-------------------------------------------------------------! found_site Ψευδής!Λογική μεταβλητή για τον έλεγχο ύπαρξης του site που εισήγαγε ο χρήστης site 1!Μετρητής επαναληπτικής διαδικασίας position 0!Θέση στον πίνακα site_name[10] που βρέθηκε το site!----------------------------------έλεγχος εγκυρότητας για την σωστή εισαγωγή του ονόματος του site-------------------------------! Όσο (site <= 10 και found_site = Ψευδής) επανάλαβε Αν name = site_name[site] τότε found_site Αληθής position site site site + 1 Αν found_site = Ψευδής τότε Εμφάνισε "Το site δεν βρέθηκε" Εμφάνισε "Εισάγετε ξανά το όνομα του site" Μέχρις_ότου found_site = Αληθής!--------------Υπολογισμό και εμφάνιση εβδομάδας / ων που το site παρουσίασε μέγιστο αριθμό επισκέψεων--------------! max_sum_week_traffic sum_week_taffic[position,1] Για week από 2 μέχρι 4 Αν sum_week_taffic[position,week] > max_sum_week_traffic τότε max_sum_week_traffic sum_week_taffic[position,week] Εμφάνισε "Το site: ", site_name[position], " παρουσίασε μέγιστο αριθμό επισκέψεων" Για week από 1 μέχρι 4 Αν sum_week_taffic[position,week] = max_sum_week_traffic τότε Εμφάνισε "Την ", week, " η εβδομάδα" Τέλος thema_4 Επιμέλεια: Δημητρόπουλος Γιώργος - Πληροφορικός