Για την πρόσβαση ενός συνδρομητή στο δίκτυο κινητής τηλεφωνίας του ζητείται να πληκτρολογήσει έναν τετραψήφιο κωδικό αριθμό πρόσβασης PIN. Αν ο χρήστης πληκτρολογήσει μία φορά λανθασμένα τον κωδικό, του δίνονται άλλες δύο ευκαιρίες να προσπαθήσει. Αν δεν τα καταφέρει και τις δύο επόμενες φορές, τότε το κινητό του τηλέφωνο «κλειδώνει προσωρινά» και ζητάει ένα δευτερεύων εξαψήφιο κωδικό PUK για να «ξεκλειδώσει». Να δώσετε πρόγραμμα το οποίο να κάνει τα παρακάτω:
i) Δηλώνει τους κωδικούς PIN και PUK του συνδρομητή που είναι αποθηκευμένοι (**) στη μνήμη της κάρτας του κινητού τηλεφώνου. Διαβάζει τον κωδικό που πληκτρολογεί ο χρήστης για να αποκτήσει πρόσβαση εμφανίζοντας το μήνυμα στο χρήση «Δώστε κωδικό πρόσβασης PIN».
(**)
Θεωρείστε ότι οι πραγματικές τιμές των PIN και PUK ειναι 2 ΣΤΑΘΕΡΕΣ ποσοτητες με τιμές PIN=2233 KAI PUK=556677
ii) εμφανίζει το μήνυμα «ΚΙΝΗΤΟ ΕΝΕΡΓΟ» στην περίπτωση που ο χρήστης πληκτρολογήσει σωστά τον κωδικό πρόσβασης PIN.
ii) αν o χρήστης πληκτρολογήσει 3 φορές λάθος κωδικό πρόσβασης, τότε εμφανίζει το μήνυμα «Δώστε κωδικό PUK για ξεκλείδωμα» και διαβάζει τον κωδικό PUK που πληκτρολογεί o χρήστης.
iv) επαναλαμβάνει τη διαδικασία για απόκτηση πρόσβασης στο δίκτυο από την αρχή στην περίπτωση που o χρήστης πληκτρολόγησε σωστά τον κωδικό PUK, αλλιώς εμφανίζεται το μήνυμα «ΚΙΝΗΤΟ ΚΛΕΙΔΩΜΕΝΟ».
ΠΡΟΓΡΑΜΜΑ PIN_PUK
ΣΤΑΘΕΡΕΣ
PN = 2233
PK = 556677
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ:i,ΡΙΝ,PUK
ΛΟΓΙΚΕΣ:stop
ΑΡΧΗ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
stop <-- ΑΛΗΘΗΣ
i <-- 0
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Δώστε κωδικό πρόσβασης PIN'
ΔΙΑΒΑΣΕ ΡΙΝ
i <-- i+1
ΜΕΧΡΙΣ_ΟΤΟΥ (i=3) Ή (ΡΙΝ=PN)
ΑΝ ΡΙΝ=PN ΤΟΤΕ
ΓΡΑΨΕ ' ΚΙΝΗΤΟ ΕΝΕΡΓΟ :)'
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'Δώστε κωδικό PUK για ξεκλείδωμα'
ΔΙΑΒΑΣΕ PUK
ΑΝ PUK<>PK ΤΟΤΕ
ΓΡΑΨΕ '---- ΚΙΝΗΤΟ ΚΛΕΙΔΩΜΕΝΟ :( ----'
ΑΛΛΙΩΣ
stop <-- ψευδής
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΜΕΧΡΙΣ_ΟΤΟΥ stop
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ