ΛΥΣΕΙΣ ΠΡΟΤΕΙΝΟΜΕΝΩΝ ΘΕΜΑΤΩΝ 2012 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ Α I. Η χρήση της σειριακής αναζήτησης δικαιολογείται μόνο σε περιπτώσεις όπου: Ο πίνακας είναι μη ταξινομημένος, Ο πίνακας είναι μικρού μεγέθους (για παράδειγμα n<=20), Η αναζήτηση σε ένα συγκεκριμένο πίνακα γίνεται σπάνια. II. III. Για την αρχική σύνταξη των προγραμμάτων και τη διόρθωση τους στη συνέχεια χρησιμοποιείται ένα ειδικό πρόγραμμα που ονομάζεται συντάκτης. Ο συντάκτης είναι ουσιαστικά ένας μικρός επεξεργαστής κειμένου με δυνατότητες όμως που διευκολύνουν τη γρήγορη γραφή των εντολών των προγραμμάτων. Τυπικό: Το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή. Παραδείγματα: ΠΡΟΓΡΑΜΜΜΑ ΓΡΑΑΑΨΕ Συντακτικό: Το σύνολο των κανόνων που καθορίζει τη νομιμότητα της διάταξης και της σύνδεσης των λέξεων της γλώσσας για τη δημιουργία προτάσεων. Παραδείγματα: όνομα ΔΙΑΒΑΣΕ ΓΙΑ κ ΜΕΧΡΙ 5 ΑΠΟ 2 IV. Το 2 V. 1).36 2).36 3).κ 4).λ-7 5).λ-6 6).λ-7 7).λ-7 8).λ-6 9).λ-6 10).προς VI. VII. 1).Λάθος 2).Λάθος 3).Σωστό 4).Σωστό 5).Λάθος 6).Σωστό 1).b,d 2).a,c 1
ΘΕΜΑ Β Β.1. Αριθμός εντολής κ λ σ Συνθήκη κ<=3 ΚΑΙ λ<=4 Συνθήκη λ<4 1 1 2 1 3 0 5 2 7 2 5 1 7 3 5 4 7 4 5 2 6 ΨΕΥΔΗΣ 9 2 10 1 5 6 7 2 5 3 7 3 5 8 7 4 5 4 6 ΨΕΥΔΗΣ 9 3 10 1 5 10 7 2 5 5 Έξοδος οθόνη στην 2
7 3 5 12 7 4 5 6 6 ΨΕΥΔΗΣ 9 4 10 1 4 ΨΕΥΔΗΣ 13 6 Β.2. ΑΛΛΑΓΕΣ 4.Όσο κ<=3 ΚΑΙ λ<=3 επανάλαβε 6.Αν λ<3 τότε Β.3. ΑΛΛΑΓΕΣ 9.κ κ+2 Β.4. ΑΛΛΑΓΕΣ 3.σ 1 5.σ σ*α[κ,λ] Β.5. ΑΝΑΜΕΣΑ ΣΤΙΣ ΕΝΤΟΛΕΣ 8 ΚΑΙ 9 ΤΟΠΟΘΕΤΟΥΝΤΑΙ ΟΙ ΕΝΤΟΛΕΣ Εμφάνισε σ σ 0 (Η εντολή 13 σε αυτήν την περίπτωση θα εμφανίζει το 0 στο τέλος, αλλά με την εντολή Εμφάνισε σ που προστέθηκε, θα εμφανίζεται κάθε φορά το άθροισμα κάθε γραμμής του πίνακα). 3
ΘΕΜΑ Γ Αλγόριθμος Θ3 Εμφάνισε Δώσε όνομα πελάτη Διάβασε ΟΝΚΡΑΤ[ι] Εμφάνισε Δώσε κόστος κράτησης Διάβασε ΚΟΣΤΟΣ[ι] Αρχή_επανάληψης Εμφάνισε Δώσε κωδικό κράτησης Διάβασε ΚΩΔ[ι] π 0 φ1 ΨΕΥΔΗΣ Για κ από 1 μέχρι ι-1 Αν ΚΩΔ[ι]=ΚΩΔ[κ] τότε π π+1 Αν π=0 τότε φ1 ΑΛΗΘΗΣ Μέχρις_ότου φ1=αληθησ ΚΑΙ ΚΩΔ[ι]>=1 ΚΑΙ ΚΩΔ[ι]<=99999999 Για ι από 2 μέχρι 1230 Για κ από 1230 μέχρι ι με_βήμα -1 Αν ΟΝΚΡΑΤ[κ-1]>ΟΝΚΡΑΤ[κ] τότε Αντιμετάθεσε ΟΝΚΡΑΤ[κ-1],ΟΝΚΡΑΤ[κ] Αντιμετάθεσε ΚΩΔ[κ-1],ΚΩΔ[κ] Αντιμετάθεσε ΚΟΣΤΟΣ[κ-1],ΚΟΣΤΟΣ[κ] όνομα ΟΝΚΡΑΤ[1] κ 0 ΣΚΟΣ 0 ι 1 Όσο ι<=1230 επανάλαβε Αν όνομα<>ονκρατ[ι] τότε κ κ+1 ΠΕΛ[κ] όνομα ΚΟΣ[κ] ΣΚΟΣ όνομα ΟΝΚΡΑΤ[ι] ΣΚΟΣ 0 ΣΚΟΣ ΣΚΟΣ+ΚΟΣΤΟΣ[ι] ι ι+1 κ κ+1 ΠΕΛ[κ] όνομα ΚΟΣ[κ] ΣΚΟΣ θμεγ 1 4
μεγ ΚΟΣ[1] Για ι από 2 μέχρι κ Αν ΚΟΣ[ι]>μεγ τότε μεγ ΚΟΣ[ι] θμεγ ι Εμφάνισε ΠΕΛ[θμεγ] χ ΚΩΔ[ι] c 0 Όσο χ<>0 επανάλαβε c c+1 χ χ div 10 ΨΗΦ[ι] c Για κ από 1 μέχρι 8 ΑΝΑΛΥΣΗ_ΚΩΔΙΚΩΝ[ι,κ] -1 Για κ από ΨΗΦ[ι] μέχρι 1 με_βήμα -1 ΑΝΑΛΥΣΗ_ΚΩΔΙΚΩΝ[ι,κ] ΚΩΔ[ι] mod 10 ΚΩΔ[ι] ΚΩΔ[ι] div 10 π8 0 Αν ΨΗΦ[ι]=8 τότε Εμφάνισε Πελάτης:,ΟΝΚΡΑΤ[ι] Εμφάνισε Συγχαρητήρια κερδίσατε ένα εισιτήριο διαρκείας της Εθνικής Ελλάδος π8 π8+1 Αν π8<>0 τότε Εμφάνισε Βρέθηκαν με 8-ψήφιο κωδικό:,π8, πελάτες Αλλιώς Εμφάνισε Δεν υπάρχει πελάτης με 8-ψήφιο κωδικό κράτησης Εμφάνισε Δώσε ημερομηνία Διάβασε ημερομηνία θέση 0 Αν ΚΩΔ[ι]=ημερομηνία τότε θέση ι Αν θέση<>0 τότε Εμφάνισε ΟΝΚΡΑΤ[θέση] Αλλιώς 5
Σ 0 Για κ από 1 μέχρι ΨΗΦ[ι] Σ Σ+ ΑΝΑΛΥΣΗ_ΚΩΔΙΚΩΝ[ι,κ] ΣΟ[ι] Σ μεγ ΣΟ[1] θμεγ 1 Για ι από 2 μέχρι 1230 Αν ΣΟ[ι]>μεγ τότε μεγ ΣΟ[ι] θμεγ ι Εμφάνισε ΟΝΚΡΑΤ[θμεγ] Τέλος Θ3 6
ΘΕΜΑ Δ ΠΡΟΓΡΑΜΜΑ Θ4 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ:ΠΛ,Κ,Λ,ΘΕΣΗ[120],ΔΘ,ΡΦ,ΣΤ,ΣΥΝΕΧ,Ρ,ΠΘ,ΠΑ,ΔΠ,ΠΣΘ ΧΑΡΑΚΤΗΡΕΣ:ΠΡΟΪΟΝΤΑ[40],ΣΤΑΝΤ[8,40],ΛΕΙΤ,Χ,ΠΡ,ΠΡΟ ΑΡΧΗ!ΕΡΩΤΗΜΑ Α!ΕΡΩΤΗΜΑ Β ΓΡΑΨΕ ΔΩΣΤΕ ΤΟ ΠΛΗΘΟΣ ΤΩΝ ΠΡΟΪΟΝΤΩΝ ΠΟΥ ΕΙΝΑΙ ΚΑΤΑΧΩΡΗΜΕΝΑ ΔΙΑΒΑΣΕ ΠΛ ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ ΠΛ ΓΡΑΨΕ ΔΩΣΤΕ ΟΝΟΜΑ ΠΡΟΪΟΝΤΟΣ ΔΙΑΒΑΣΕ ΠΡΟΪΟΝΤΑ[Κ] ΓΙΑ Λ ΑΠΟ 1 ΜΕΧΡΙ 3*ΠΛ ΓΡΑΨΕ ΔΩΣΕ ΠΛΗΡΟΦΟΡΙΑ ΓΙΑ ΤΟΝ ΠΙΝΑΚΑ ΘΕΣΗ ΔΙΑΒΑΣΕ ΘΕΣΗ[Λ] ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 8 ΓΙΑ Λ ΑΠΟ 1 ΜΕΧΡΙ 40 ΣΤΑΝΤ[Κ,Λ] ΑΔΕΙΟ ΔΘ 1 ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ ΠΛ ΡΦ ΘΕΣΗ[ΔΘ] ΣΤ ΘΕΣΗ[ΔΘ+1] ΣΥΝΕΧ ΘΕΣΗ[ΔΘ+2] ΠΡ ΠΡΟΪΟΝ[Κ] ΓΙΑ Ρ ΑΠΟ ΣΤ ΜΕΧΡΙ ΣΤ+ΣΥΝΕΧ ΣΤΑΝΤ[ΡΦ,Ρ] ΠΡ ΔΘ ΔΘ+3!ΕΡΩΤΗΜΑ Γ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ΔΩΣΕ ΛΕΙΤΟΥΡΓΙΑ: ΔΙΑΒΑΣΕ ΛΕΙΤ ΑΝ ΛΕΙΤ= ΑΦΑΙΡΕΣΗ_ΠΡΟΪΟΝΤΟΣ ΤΟΤΕ ΓΡΑΨΕ ΔΩΣΤΕ ΤΟ ΟΝΟΜΑ ΕΝΟΣ ΠΡΟΪΟΝΤΟΣ: ΔΙΑΒΑΣΕ Χ ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 8 ΓΙΑ Λ ΑΠΟ 1 ΜΕΧΡΙ 40 ΑΝ ΣΤΑΝΤ[Κ,Λ]=Χ ΤΟΤΕ ΣΤΑΝΤ[Κ,Λ] ΑΔΕΙΟ ΑΛΛΙΩΣ _ΑΝ ΛΕΙΤ= ΠΡΟΣΘΕΣΗ ΠΡΟΪΟΝΤΟΣ ΤΟΤΕ 7
ΓΡΑΨΕ ΔΩΣΕ ΕΠΙΘΥΜΗΤΟ ΠΡΟΪΟΝ, ΡΑΦΙ ΚΑΙ ΠΛΗΘΟΣ ΘΕΣΕΩΝ: ΔΙΑΒΑΣΕ ΠΡ,ΡΦ,ΠΘ ΠΑ 0 Λ 1 ΟΣΟ Λ<=40 ΚΑΙ ΠΑ<ΠΘ ΕΠΑΝΑΛΑΒΕ ΑΝ ΣΤΑΝΤ[ΡΦ,Λ]= ΑΔΕΙΟ ΤΟΤΕ ΠΑ ΠΑ+1 Λ Λ+1 ΑΝ ΠΑ<ΠΘ ΤΟΤΕ ΓΡΑΨΕ ΔΕΝ ΥΠΑΡΧΟΥΝ ΑΡΚΕΤΕΣ ΔΙΑΘΕΣΙΜΕΣ ΘΕΣΕΙΣ ΑΛΛΙΩΣ ΚΑΛΕΣΕ ΤΡΟΠ(ΣΤΑΝΤ,ΡΦ) ΓΙΑ Λ ΑΠΟ 1 ΜΕΧΡΙ ΠΘ ΣΤΑΝΤ[ΡΦ,Λ] ΠΡ ΤΕΛΟΣ_ ΑΝ ΜΕΧΡΙΣ_ΟΤΟΥ ΛΕΙΤ= ΤΕΛΟΣ_ΗΜΕΡΑΣ!ΕΡΩΤΗΜΑ Δ ΔΠ 0 ΔΘ -2 ΠΣΘ 0 ΠΡΟ ΑΔΕΙΟ ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 8 ΓΙΑ Λ ΑΠΟ 1 ΜΕΧΡΙ 40 ΑΝ ΣΤΑΝΤ[Κ,Λ]<> ΑΔΕΙΟ ΤΟΤΕ ΑΝ ΣΤΑΝΤ[Κ,Λ] <> ΠΡΟ ΤΟΤΕ ΠΡΟ ΣΤΑΝΤ[Κ,Λ] ΔΠ ΔΠ+1 ΔΘ ΔΘ+3 ΠΡΟΪΟΝΤΑ[ΔΠ] ΣΤΑΝΤ[Κ,Λ] ΘΕΣΗ[ΔΘ] Κ ΘΕΣΗ[ΔΘ+1] Λ ΘΕΣΗ[ΔΘ+2] 0 ΑΛΛΙΩΣ ΘΕΣΗ[ΔΘ+2] ΘΕΣΗ[ΔΘ+2]+1 ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΙΑΔΙΚΑΣΙΑ ΤΡΟΠ(ΠΙΝ,ΓΡΑΜΜΗ) ΜΕΤΑΒΛΗΤΕΣ ΧΑΡΑΚΤΗΡΕΣ:ΠΙΝ[8,40],Τ ΑΚΕΡΑΙΕΣ:Κ,Λ,ΓΡΑΜΜΗ ΑΡΧΗ ΓΙΑ Κ ΑΠΟ 2 ΜΕΧΡΙ 40 ΓΙΑ Λ ΑΠΟ 40 ΜΕΧΡΙ Κ ΜΕ ΒΗΜΑ -1 ΑΝ ΠΙΝ[ΓΡΑΜΜΗ,Λ]= ΑΔΕΙΟ ΚΑΙ ΠΙΝ[ΓΡΑΜΜΗ,Λ-1]<> & Τ ΠΙΝ[ΓΡΑΜΜΗ,Λ] ΠΙΝ[ΓΡΑΜΜΗ,Λ] ΠΙΝ[ΓΡΑΜΜΗ,Λ-1] ΠΙΝ[ΓΡΑΜΜΗ,Λ-1] Τ ΑΔΕΙΟ ΤΟΤΕ 8
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ Επιμέλεια Λύσεων Προτεινόμενων Θεμάτων ΘΩΜΟΥ ΔΗΜΗΤΡΗΣ ΚΟΖΩΝΗΣ ΜΑΡΙΟΣ 9