Δευτέρα 3 Μαρτίου 2014

Άσκηση 10.

Ο γιος του κύριου Αρβίλογλου χρησιμοποιεί ένα ειδικό πρόγραμμα για να «κλειδώνει» τα αρχείο στον υπολογιστή του. Σε ένα «κλειδωμένο» αρχείο αντιστοιχεί ένας κωδικός που αποτελείται από 3 διψήφιους αριθμούς. Οι αριθμοί στον κωδικό αν αλλάξουν θέση δεν ξεκλειδώνουν το αρχείο, για παράδειγμα αν ο σωστός κωδικός είναι 11, 72, 30, τότε ο 30, 11, 72 είναι λάθος. Σας δίνεται συνάρτηση: «ΣΥΝΑΡΤΗΣΗ Έλεγχος(α, β, γ): ΛΟΓΙΚΗ», η οποία δέχεται 3 αριθμούς που προσπαθούν να ξεκλειδώσουν το αρχείο και επιστρέφει ΑΛΗΘΗΣ αν ξεκλειδώνεται το αρχείο ή ΨΕΥΔΗΣ στην αντίθετη περίπτωση. Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ, το οποίο θα εκτυπώνει το σωστό κωδικό για το ξεκλείδωμα ενός αρχείου. Για τον κωδικό αυτού του αρχείο
γνωρίζουμε:
- Ο δεύτερος αριθμός είναι το 91.
- Ο τρίτος αριθμός έχει δυο ψηφία ίσα.
- Ο πρώτος αριθμός έχει πρώτο ψηφίο, το 2.
Προσοχή: αν πραγματοποιηθούν περισσότερες από 99 προσπάθειες για ξεκλείδωμα του αρχείου, τότε αυτό κλειδώνεται μόνιμα. Πόσοι είναι οι συνδυασμοί που πρέπει να δοκιμαστούν; Να εμφανίζει το πρόγραμμα πόσες προσπάθειες πραγματοποίησε για το εντοπισμό του σωστού κωδικού.
Λύση

Απαιτούνται 90 προσπάθειες
ΠΡΟΓΡΑΜΜΑ Αρχείο
ΜΕΤΑΒΛΗΤΕΣ
ΑΡΧΗ
π <- 0
β <- 91 ! δε θα αλλάξει
α <- 20
done <- ΨΕΥΔΗΣ
ΟΣΟ α <= 29 ΚΑΙ done = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
γ <- 11
ΟΣΟ γ <= 99 ΚΑΙ done = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
π <- π + 1
ΑΝ Έλεγχος(α, β, γ) = ΑΛΗΘΗΣ ΤΟΤΕ
done <- ΑΛΗΘΗΣ
ΓΡΑΨΕ α, β, γ
ΓΡΑΨΕ π
ΤΕΛΟΣ_ΑΝ
γ <- γ + 11
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
α <- α + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Αρχείο

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου