ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 3 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΜΑ Α Α ΑΠΑΝΤΗΣΕΙΣ: α. Σκοπός της ιεραρχικής σχεδίασης είναι η διάσπαση του προβλήµατος σε µία σειρά από απλούστερα υποπροβλήµατα τα οποία είναι εύκολο να επιλυθούν οδηγώντας στην επίλυση του αρχικού προβλήµατος. β. Ο δοµηµένος προγραµµατισµός στηρίζεται στη χρήση τριών και µόνο στοιχειωδών λογικών δοµών, τη δοµή ακολουθίας, τη δοµή επιλογής και τη δοµή επανάληψης. Όλα τα προγράµµατα µπορούν να γραφούν χρησιµοποιώντας µόνο αυτές τις τρεις δοµές καθώς και συνδυασµό τους. Κάθε πρόγραµµα όπως και κάθε ενότητα προγράµµατος έχει µόνο µία είσοδο και µία έξοδο. Ο δοµηµένος προγραµµατισµός εµφανίζει τα εξής πλεονεκτήµατα: Δηµιουργία απλούστερων προγραµµάτων. Άµεση µεταφορά του αλγόριθµου σε πρόγραµµα. 3. Διευκόλυνση ανάλυσης του προγράµµατος σε τµήµατα. 4. Περιορισµός των λαθών κατά την ανάπτυξη του προγράµµατος. 5. Διευκόλυνση στην ανάγνωση και κατανόηση του προγράµµατος από τρίτους. 6. Ευκολότερη διόρθωση και συντήρηση. γ. Σύνταξη: ΓΡΑΨΕ λίστα στοιχείων Η εντολή ΓΡΑΨΕ έχει ως αποτέλεσµα την εµφάνιση τιµών στη µονάδα εξόδου. Συσκευή εξόδου µπορεί να είναι η οθόνη του υπολογιστή, ο εκτυπωτής, η βοηθητική µνήµη ή γενικά οποιαδήποτε συσκευή εξόδου έχει οριστεί στο πρόγραµµα, (εµείς θεωρούµε ως συσκευή εξόδου συνήθως την οθόνη). Η λίστα στοιχείων µπορεί να περιέχει σταθερές τιµές και ονόµατα µεταβλητών. Κατά την εκτέλεση του προγράµµατος η εντολή ΓΡΑΨΕ προκαλεί την εµφάνιση στην οθόνη σταθερών τιµών. Όταν κάποιο όνοµα µεταβλητής περιέχεται στη λίστα τότε αρχικά ανακτάται η τιµή της και στη συνέχεια η τιµή εµφανίζεται στην οθόνη. Α Σ Σ 3. Λ 4. Σ 5. Λ Α3. 100, Αληθής, 3. 300, 4. Κ, 5. Κ, 6. Κ, 7. Θ1 (ή Θ2) A4. 1 Σ ελίδα
Χ ß Α Όσο Χ <>10 Επανάλαβε Τέλος_Επανάληψης Χ ß Α Για Χ από Α+2 µέχρι 9 µε_βήµα 2 Χ ß (Α+2) * 2 Τέλος_Επανάληψης Α5. Ι ß 2 d ß Ψευδής pos ß 0 ΟΣΟ Ι<=100 ΚΑΙ d=ψευδής ΕΠΑΝΑΛΑΒΕ S ß 0 ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 100 S ß S + A[I,J] ΑΝ S MOD 2 = 1 ΤΟΤΕ Π1 ß Π1 + 1 Π1 ß 0 ΑΝ Π1=10 ΤΟΤΕ d ß Αληθής pos ß I 9 Ι ß Ι + 2 AN d=αληθής ΤΟΤΕ ΓΡΑΨΕ pos ΓΡΑΨΕ 'Δεν υπάρχουν 10 συνεχόµενα' Για Κ από 2 µέχρι 100 µε βήµα 2 Για J από 2 µέχρι 200 Για I από 200 µέχρι J µε βήµα -1 Αν Α[ K, I ] < Α[ K, I - 1 ] τότε Αντιµετάθεσε (Α[ K, I ], Α[ K, I 1] ) ΘΕΜΑ Β 2 Σ ελίδα
B A= 1 3 4 4 3 2 3 6 4 2 3 7 1 6 7 4 Γ=Σ Γ=5-Σ Χ[Γ,Σ] Γ Χ[Γ,Σ] Γ+Σ Χ[Γ,Σ] Σ ΤΕΛΟΣ 3. ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 4 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 4 A[i, j] ß Σ(i, j)..................................... ΣΥΝΑΡΤΗΣΗ ΣΥΝ(Γ, Σ): ΑΚΕΡΑΙΑ ΑΚΕΡΑΙΕΣ: Γ, Σ ΑΝ Γ=Σ ΤΟΤΕ ΣΥΝ ß Γ _ΑΝ Γ=5-Σ ΤΟΤΕ ΣΥΝ ß Σ ΣΥΝ ß Γ+Σ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ Β ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Νdiv2 ΑΝ A[I] = A[N+1-I] TOTE Π ß Π + 1 ΑΝ Π = Νdiv2 TOTE ΓΡΑΨΕ 'Ο Α ΚΑΡΚΙΝΙΚΟΣ' ΓΡΑΨΕ 'Ο Α ΔΕΝ ΕΙΝΑΙ ΚΑΡΚΙΝΙΚΟΣ' 3 Σ ελίδα
ΘΕΜΑ Γ ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Γ ΑΚΕΡΑΙΕΣ: i, πλ_προσήλθαν, θέση ΧΑΡΑΚΤΗΡΕΣ: ΔΗΜΟΤΕΣ[3000], ΨΗΦΙΣΑΝ[3000], όνοµα ΠΡΑΓΜΑΤΙΚΕΣ: ποσοστό_αποχής ΔΙΑΒΑΣΕ ΔΗΜΟΤΕΣ[i] ΨΗΦΙΣΑΝ[i] ꞌδεν ΨΗΦΙΣΕꞌ πλ_προσήλθαν 0 ΔΙΑΒΑΣΕ όνοµα ΟΣΟ όνοµα<>ꞌ ꞌ ΕΠΑΝΑΛΑΒΕ θέση Αναζήτηση(όνοµα,ΔΗΜΟΤΕΣ) ΑΝ θέση<>0 ΤΟΤΕ πλ_προσήλθαν πλ_προσήλθαν+1 ΨΗΦΙΣΑΝ[θέση] ꞌψηφισεꞌ ΔΙΑΒΑΣΕ όνοµα ΓΡΑΨΕ πλ_προσήλθαν ποσοστό_αποχής (3000-πλ_προσήλθαν)/3000 100 ΓΡΑΨΕ ποσοστό_αποχής,ꞌ%ꞌ ΑΝ ΨΗΦΙΣΑΝ[i]=ꞌΔΕΝ ΨΗΦΙΣΕꞌ ΤΟΤΕ ΓΡΑΨΕ ΔΗΜΟΤΕΣ[i] ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΥΝΑΡΤΗΣΗ Αναζήτηση(ον,Χ): ΑΚΕΡΑΙΑ ΛΟΓΙΚΕΣ: βρέθηκε ΑΚΕΡΑΙΕΣ: θέση, i ΧΑΡΑΚΤΗΡΕΣ: ον, Χ[3000] βρέθηκε ΨΕΥΔΗΣ θέση 0 i 1 ΟΣΟ i<=3000 ΚΑΙ βρέθηκε=ψευδησ ΕΠΑΝΑΛΑΒΕ ΑΝ Χ[i]=ον ΤΟΤΕ βρέθηκε ΑΛΗΘΗΣ θέση i i i+1 Αναζήτηση θέση ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ ΘΕΜΑ Δ Αλγόριθµος ΘΕΜΑ_Δ Διάβασε Γενικά_Έξοδα, Συντήρ_Ασανσέρ Διάβασε ΈΞΟΔΑ[i,j] Αν i=1 τότε ΑΣΑΝΣΕΡ[i,j] 0 4 Σ ελίδα
αλλιώς Διάβασε ΑΣΑΝΣΕΡ[i,j] Διάβασε ΙΔΙΟΚΤΗΤΗΣ[i,j] Κοινόχρηστα[i,j] (ΈΞΟΔΑ[i,j]/1000*Γενικά_Έξοδα)+ & (ΑΣΑΝΣΕΡ[i,j]/1000* Συντήρ_Ασανσέρ) Εµφάνισε ΙΔΙΟΚΤΗΤΗΣ[i,j], Κοινόχρηστα[i,j] max_κοινόχρ Κοινόχρηστα[1,1] max_ιδιοκτ ΙΔΙΟΚΤΗΤΗΣ[1,1] Αν Κοινόχρηστα[i,j]>max_Κοινόχρ τότε max_κοινόχρ Κοινόχρηστα[i,j] max_ιδιοκτ ΙΔΙΟΚΤΗΤΗΣ[i,j] Εµφάνισε max_κοινόχρ, max_ιδιοκτ Για i από 2 µέχρι 5 Για j από 5 µέχρι i µε_βήµα -1 Αν ΙΔΙΟΚΤΗΤΗΣ[1,j]<ΙΔΙΟΚΤΗΤΗΣ[1,j-1] τότε Αντιµετάθεσε ΙΔΙΟΚΤΗΤΗΣ[1,j], ΙΔΙΟΚΤΗΤΗΣ[1,j-1] Εµφάνισε ΙΔΙΟΚΤΗΤΗΣ[1,j] max_συντ ΈΞΟΔΑ[3,1] max_όν ΙΔΙΟΚΤΗΤΗΣ[3,1] Για i από 3 µέχρι 5 µε_βήµα 2 Αν ΈΞΟΔΑ[i,j]>max_συντ τότε max_συντ ΈΞΟΔΑ[i,j] max_όν ΙΔΙΟΚΤΗΤΗΣ[i,j] max_k ß 0 Για i από 3 µέχρι 5 µε_βήµα 2 Αν ΈΞΟΔΑ[i,j]=max_συντ τότε Αν max_k < Κοινόχρηστα[i,j] τότε max_κ Κοινόχρηστα[i,j] max_όν ΙΔΙΟΚΤΗΤΗΣ[i,j] Εµφάνισε max_όν Τέλος ΘΕΜΑ_Δ Κύκλος Οικονοµίας και Πληροφορικής 5 Σ ελίδα