ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Λύσεις 4 ης Εργασίας (Θέματα 1-4, σελ. 256-258) ΘΕΜΑ 1 ο Αλγόριθμος ΘΕΜΑ_1 max -1 πλ_10 0 S 0 Διάβασε κωδ Όσο κωδ <> 0 επανάλαβε Διάβασε αρ_τεμ,τιμή_τεμ τελ_τιμή αρ_τεμ τιμή_τεμ S S + τελ_τιμή Αν τιμή_τεμ > 10 τότε πλ_10 πλ_10 + αρ_τεμ Αν τιμή_τεμ > max τότε max τιμή_τεμ πλ_τεμ_max αρ_τεμ! Ουσιαστικά η μεταβλητή πλ_τεμ_max αρχικοποιείται εδώ _αν τιμή_τεμ=max τότε πλ_τεμ_max πλ_τεμ_max + αρ_τεμ Διάβασε κωδ Εμφάνισε πλ_10 Αν max <> -1 τότε Εμφάνισε πλ_τεμ_max Αν S <= 500 τότε Εμφάνισε "ΠΛΗΡΩΜΗ ΜΕΤΡΗΤΟΙΣ" Δόση 20 Εξοφλ 20 πλ_μηνών 1 Όσο Εξοφλ < S επανάλαβε Δόση Δόση + 5 Εξοφλ Εξοφλ + Δόση πλ_μηνών πλ_μηνών + 1 [1]
Εμφάνισε πλ_μηνών Εμφάνισε "Δεν αγοράστηκε κανένα προϊον" Τέλος ΘΕΜΑ_1 ΘΕΜΑ 2 ο Αλγόριθμος ΘΕΜΑ_2 Για i από 1 μέχρι 10 Διάβασε Ον[i] Διάβασε Επισκ[i,j] Για i από 1 μέχρι 10 S 0 S S + Επισκ[i,j] Εμφάνισε Ον[i],S πλ_ιστ 0 Για i από 1 μέχρι 10 πλ_500 0 Αν Επισκ[i,j] > 500 τότε πλ_500 πλ_500 + 1 Αν πλ_500=28 τότε Εμφάνισε Ον[i] πλ_ιστ πλ_ιστ + 1 Αν πλ_ιστ = 0 τότε Εμφάνισε "Δεν υπάρχουν ιστότοποι που να δέχθηκαν κάθε μέρα περισσότερες από & 500 επισκέψεις"!στο παραπάνω ερώτημα (Δ3) θα μπορούσαν να χρησιμοποιηθούν και δύο λογικού!τύπου μεταβλητές αντί των μεταβλητών πλ_ιστ και πλ_500 [2]
Αρχή_επανάληψης!Σύνθετος έλεγχος εγκυρότητας Διάβασε όνομα βρέθηκε Ψευδής θέση 0 i 1 Όσο i <= 10 και βρέθηκε = Ψευδής επανάλαβε Αν όνομα = Ον[i] τότε βρέθηκε Αληθής θέση i i i+1 Μέχρις_ότου βρέθηκε = Αληθής Για i από 1 μέχρι 4 S_εβδ[i] 0 Αν j <=7 τότε S_εβδ[1] S_εβδ[1] + Επισκ[θέση,j] _αν j <= 14 τότε S_εβδ[2] S_εβδ[2] + Επισκ[θέση,j] _αν j <= 21 τότε S_εβδ[3] S_εβδ[3] + Επισκ[θέση,j] S_εβδ[4] S_εβδ[4] + Επισκ[θέση,j] max S_εβδ[1] Για i από 2 μέχρι 4 Αν S_εβδ[i] > max τότε max S_εβδ[i] Για i από 1 μέχρι 4 Αν S_εβδ[i] = max τότε Εμφάνισε i Τέλος ΘΕΜΑ_2 [3]
ΘΕΜΑ 3 ο Αλγόριθμος ΘΕΜΑ_3 Για i από 1 μέχρι 30 Διάβασε ΚΩΔ[i] Για j από 1 μέχρι 10 Διάβασε ΚΕΦ[i,j],AKP[i,j] Για i από 1 μέχρι 30 S_κεφ 0 S_ακρ 0 Για j από 1 μέχρι 10 S_κεφ S_κεφ + ΚΕΦ[i,j] S_ακρ S_ακρ + AKP[i,j] ΜΟ[i,1] S_κεφ/10 ΜΟ[i,2] S_ακρ/10 Για i από 1 μέχρι 30 Εμφάνισε ΚΩΔ[i] Αν ΜΟ[i,1] > 2 τότε Εμφάνισε "Εκτός ορίων" _αν ΜΟ[i,1] > 1.8 τότε Αν ΜΟ[i,2] > 4 τότε Εμφάνισε "Εκτός ορίων" Εμφάνισε "Κοντά στα όρια" Αν ΜΟ[i,2] > 4 τότε Εμφάνισε "Εκτός ορίων" _αν ΜΟ[i,2] > 3.6 τότε Εμφάνισε "Κοντά στα όρια" Εμφάνισε "Χαμηλός SAR" Για i από 2 μέχρι 30 Για j από 30 μέχρι i με_βήμα -1 Αν ΜΟ[j,1] > ΜΟ[j-1,1] τότε Αντιμετάθεσε ΜΟ[j,1],MO[j-1,1] Αντιμετάθεσε ΚΩΔ[j],ΚΩΔ[j-1] [4]
Αντιμετάθεσε ΜΟ[j,2],MO[j-1,2] Για i από 1 μέχρι 3 Εμφάνισε ΜΟ[i,1],ΚΩΔ[i] Για i από 2 μέχρι 30 Για j από 30 μέχρι i με_βήμα -1 Αν ΜΟ[j,2] > ΜΟ[j-1,2] τότε Αντιμετάθεσε ΜΟ[j,2],MO[j-1,2] Αντιμετάθεσε ΚΩΔ[j],ΚΩΔ[j-1] Για i από 1 μέχρι 3 Εμφάνισε ΜΟ[i,2],ΚΩΔ[i] Τέλος ΘΕΜΑ_3 ΘΕΜΑ 4 ο ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_4 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i, EL[5], ES[5],αριθμός, θέση_max_el, θέση_max_es ΧΑΡΑΚΤΗΡΕΣ: χώρα, συνέχεια ΠΡΑΓΜΑΤΙΚΕΣ: max_ποσ_el, max_ποσ_es ΑΡΧΗ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5 ΕL[i] 0 ES[i] 0 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ!Λόγω της σημείωσης που υπάρχει στο ερώτημα Δ4 καταλαβαίνουμε ότι σίγουρα!θα υπάρχει τουλάχιστον μία απάντηση, άρα μπορούμε να χρησιμοποιήσουμε τη!δομή ΜΕΧΡΙΣ_ΟΤΟΥ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ χώρα,αριθμός ΑΝ χώρα = ꞌelꞌ ΤΟΤΕ EL[αριθμός] EL[αριθμός] + 1 ΑΛΛΙΩΣ ES[αριθμός] ES[αριθμός] + 1 ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ ꞌγια Διακοπή της εισαγωγής πατήστε Δ ή δꞌ [5]
ΔΙΑΒΑΣΕ συνέχεια ΜΕΧΡΙΣ_ΟΤΟΥ συνέχεια=ꞌδꞌ Ή συνέχεια=ꞌδꞌ ΚΑΛΕΣΕ ΜΕΓ_ΠΟΣ(EL,max_ποσ_EL,θέση_max_EL) ΓΡΑΨΕ θέση_max_el,max_ποσ_el ΚΑΛΕΣΕ ΜΕΓ_ΠΟΣ(ES,max_ποσ_ES,θέση_max_ES) ΓΡΑΨΕ θέση_max_es,max_ποσ_es ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΙΑΔΙΚΑΣΙΑ ΜΕΓ_ΠΟΣ(Α,max_ποσ,θέση_max) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α[5], θέση_max, max, i ΠΡΑΓΜΑΤΙΚΕΣ: max_ποσ ΑΡΧΗ max Α[1] θέση_max 1 ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 5 ΑΝ Α[i] > max ΤΟΤΕ max Α[i] θέση_max i ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ max_ποσ max / (A[1]+A[2]+A[3]+A[4]+A[5]) 100 ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ [6]