Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Λύσεις Θεμάτων Εξετάσεων Ενιαίου Λυκείου 2012 Θέμα Α Α1. 1. Λάθος 2. Λάθος 3. Σωστό 4. Λάθος 5. Σωστό Α2. Ο συμπληρωμένος πίνακας έχει ως εξής: Εντολή εκχώρησης Τύπος μεταβλητής Χ Περιεχόμενο μεταβλητής Χ Χ Αληθής Χαρακτήρας Αληθής Χ 11.0 13.0 Πραγματική -2.0 Χ 7 > 4 Λογική Αληθής Χ Ψευδής Λογική Ψευδής Χ 4 Ακέραια 4 Α3. Α4. α. Α[3] 3 + Α[6] Α[9] Α[7] 2 Α[8] Α[3] 5 Α[4] 5 + Α[9] Α[5] (Α[3] + Α[7]) div 2 ή (Α[2] + Α[7]) div 2 β. Για i από 1 μέχρι 5 Αντιμετάθεσε A[i],A[11 i] α. Με χρήση της δομής επανάληψης Όσο επανάλαβε: i 99 Όσο i >= 1 επανάλαβε X i ^ 2 Εμφάνισε X i i 2 β. Με χρήση της δομής επανάληψης Αρχή_επανάληψης Μέχρις_ότου: i 99 Αρχή_επανάληψης X i ^ 2 Εμφάνισε X i i 2 Μέχρις_ότου i < 1
Α5. Σελίδα 60 σχολικού βιβλίου: Οι δύο κύριες λειτουργίες που εκτελούνται σε μία στοίβα δεδομένων είναι: Η ώθηση (push) στοιχείου στην κορυφή της στοίβας Η απώθηση (pop) στοιχείου από τη στοίβα. Η διαδικασία της ώθησης πρέπει οπωσδήποτε να ελέγχει, αν η στοίβα είναι γεμάτη, οπότε λέγεται ότι συμβαίνει υπερχείλιση (overflow) της στοίβας. Αντίστοιχα, η διαδικασία απώθησης ελέγχει, αν υπάρχει ένα τουλάχιστον στοιχείο στη στοίβα, δηλαδή ελέγχει αν γίνεται υποχείλιση (underflow) της στοίβας Θέμα Β Β1. Οι τιμές που θα εμφανιστούν κατά την εκτέλεση του προγράμματος είναι: -1-1 -1 1-2 2-8 4-40 5 Β2. ν 0 s 0 Αρχή_επανάληψης Αν ν mod 2 = 1 τότε x -1 Αλλιώς x 1 s s + x / (2 * ν + 1) ν ν + 1 Μέχρις_ότου ν = 99 π 4 * s Εκτύπωσε π
Θέμα Γ Αλγόριθμος thema_3!----------------------------------------------------------αρχικοποίηση μεταβλητών---------------------------------------------------------------! count_small 0!Πλήθος έργων μικρής κατηγορίας count_big 0!Πλήθος έργων μεγάλης κατηγορίας sum_small 0!Συνολική επιδότηση έργων μικρής κατηγορίας sum_big 0!Συνολική επιδότηση έργων μεγάλης κατηγορίας!-----------------------------------εισαγωγή συνολικού ποσού που διαθέτει ο οργανισμός από τον χρήστη--------------------------! Εμφάνισε "Εισάγετε το συνολικό ποσό που διαθέτει ο δημόσιος οργανισμός για το πρόγραμμα επενδύσεων" Διάβασε total_amount!------------------------------------------------έλεγχος εγκυρότητας του συνολικού ποσού--------------------------------------------------! Όσο total_amount <= 5000000 επανάλαβε Εμφάνισε "Το διαθέσιμο ποσό πρέπει να είναι > 5000000" Εμφάνισε "Εισάγετε ξανά το διαθέσιμο ποσό του δημόσιου οργανισμού" Διάβασε total_amount!---------------------------------------------------εισαγωγή του 1 ου έργου από τον χρήστη----------------------------------------------------! Εμφάνισε "Εισάγετε το όνομα του 1 ου έργου" Διάβασε project_name Όσο (project_name <> "Τέλος" και total_amount >= 120000) επανάλαβε!----------------------------------------------εισαγωγή του προϋπολογισμού για κάθε έργο-------------------------------------------------! Εμφάνισε "Εισάγετε τον προϋπολογισμό για το έργο: ", project_name Διάβασε budget!--------------------------------υπολογισμός και εμφάνιση ονόματος και επιδότησης κάθε έργου-------------------------------------!!------------------------------------υπολογισμός πλήθους έργων μικρής και μεγάλης κατηγορίας---------------------------------------!!-----------------------------υπολογισμός συνολικής επιδότησης έργων μικρής και μεγάλης κατηγορίας----------------------------! Αν (budget >= 200000 και budget <= 299999) τότε Αν total_amount >= budget * 0,6 τότε epidotisi budget * 0,6 total_amount total_amount epidotisi count_small count_small + 1 sum_small sum_small + epidotisi Εμφάνισε "Το έργο ", project_name, " επιδοτήθηκε με ", epidotisi, " " Αλλιώς_αν budget <= 399999 τότε Αν total_amount >= budget * 0,7 τότε epidotisi budget * 0,7 total_amount total_amount epidotisi count_big count_big + 1 sum_big sum_big + epidotisi Εμφάνισε "Το έργο ", project_name, " επιδοτήθηκε με ", epidotisi, " "
Αν total_amount >= 120000 τότε Εμφάνισε "Εισάγετε το όνομα του επόμενου έργου" Διάβασε project_name!------------------εμφάνιση πλήθους έργων μικρής, μεγάλης κατηγορίας και μη διαθέσιμου ποσού, αν υπάρχει--------------! Εμφάνισε "Το πλήθος των έργων μικρής κατηγορίας είναι: ", count_small, ", συνολικής επιδότησης", sum_small, " " Εμφάνισε "Το πλήθος των έργων μεγάλης κατηγορίας είναι: ", count_big, ", συνολικής επιδότησης", sum_big, " " Αν total_amount > 0 τότε Εμφάνισε "Το μη διαθέσιμο ποσό του δημόσιου οργανισμού είναι: ", total_amount, " " Τέλος thema_3
Θέμα Δ Πρόγραμμα thema_4!-----------------------------------------------------------------------δήλωση μεταβλητών---------------------------------------------------------------------! Μεταβλητές Ακέραιες: customer, month, min_position Πραγματικές: Π[10,12], Κ[10,12], annual_production[10], annual_consumption[10], annual_income[10] Πραγματικές: sum_production_per_month[12], min_sum_production_per_month, max_production Χαρακτήρες: ΟΝ[10,2]!------------------------------------------------------------------------------------------------------------------------------------------------------------------------! Αρχή Για customer από 1 μέχρι 10 annual_production[customer] 0!Ετήσια παραγωγή ρεύματος για κάθε πελάτη annual_consumption[customer] 0!Ετήσια κατανάλωση ρεύματος για κάθε πελάτη!-------------εισαγωγή ονόματος, πολύς, μηνιαίας παραγωγής και κατανάλωσης κάθε πελάτη από τον χρήστη--------------!!-------------------------------υπολογισμός ετήσιας παραγωγής και κατανάλωσης κάθε πελάτη---------------------------------------! Γράψε "Εισάγετε το όνομα του ", customer, " ου πελάτη" Διάβασε ΟΝ[customer,1] Γράψε "Εισάγετε το όνομα της πόλης που διαμένει ο ", ΟΝ[customer,1] Διάβασε ΟΝ[customer,2] Γράψε "Για τον πελάτη ", ΟΝ[customer,1], " εισάγετε τα ακόλουθα στοιχεία" Για month από 1 μέχρι 12 Γράψε "Για τον ", month, " ο μήνα:" Γράψε "Ποσό παραγόμενης ηλεκτρικής ενέργειας:" Διάβασε Π[customer,month] Γράψε "Ποσό καταναλισκόμενης ηλεκτρικής ενέργειας:" Διάβασε Κ[customer,month] annual_production[customer] annual_production[customer] + Π[customer,month] annual_consumption[customer] annual_consumption[customer] + Κ[customer,month]!--------------------------------------------Υπολογισμός ετήσιων εσόδων για κάθε πελάτη--------------------------------------------------! annual_income[customer] (annual_production[customer] annual_consumption[customer]) * 0,55!-------------------------------------------Υπολογισμός μεγαλύτερης παραγωγής ρεύματος------------------------------------------------! Αν customer = 1 τότε max_production annual_production[customer] Αλλιώς Αν annual_production[customer] > max_production τότε max_production annual_production[customer]!----------------------------------------υπολογισμός συνολικής παραγωγής ρεύματος ανά μήνα-----------------------------------------! Για month από 1 μέχρι 12 sum_production_per_month[month] 0 Για customer από 1 μέχρι 10 sum_production_per_month[month] sum_production_per_month[month] + Π[customer,month]
!----------------------------------------Υπολογισμός μήνα με την μικρότερη παραγωγή ρεύματος---------------------------------------! min_sum_production_per_month sum_production_per_month[1] min_position 1 Για month από 2 μέχρι 12 Αν sum_production_per_month[month] < min_sum_production_per_month τότε min_sum_production_per_month sum_production_per_month[month] min_position month!-------------------------------υπολογισμός και εμφάνιση πόλης με την μεγαλύτερη παραγωγή ρεύματος--------------------------! Για customer από 1 μέχρι 10 Αν annual_production[customer] = max_production τότε Γράψε "Η πόλη με την μεγαλύτερη παραγωγή ηλεκτρικής ενέργειας είναι: ", ΟΝ[customer,2]!----------------Φθίνουσα ταξινόμηση των ετήσιων εσόδων και εμφάνιση αυτών μέσω της διαδικασίας sort------------------! Κάλεσε sort(annual_income)!----------------------------------------εμφάνιση μήνα με την μικρότερη παραγωγή ρεύματος--------------------------------------------! Γράψε "Ο μήνας με την μικρότερη παραγωγή ηλεκτρικής ενέργειας είναι ο: ", min_position, " ος " Τέλος_προγράμματος!-----------------------------------------------------------------Υλοποίηση της διαδικασίας sort-------------------------------------------------------------! Διαδικασία sort(etisia_esoda) Μεταβλητές Ακέραιες: i, j Πραγματικές: etisia_esoda[10], temp Αρχή Για i από 2 μέχρι 10 Για j από 10 μέχρι i με_βήμα -1 Αν etisia_esoda[j] > etisia_esoda[j-1] τότε temp etisia_esoda[j] etisia_esoda[j] etisia_esoda[j-1] etisia_esoda[j-1] temp Γράψε "Τα ετήσια έσοδα των πελατών κατά φθίνουσα σειρά είναι:" Για i από 1 μέχρι 10 Γράψε i, ": ", etisia_esoda[i], " " Τέλος_διαδικασίας Επιμέλεια: Δημητρόπουλος Γιώργος - Πληροφορικός