μια βοηθεια σε μια ασκηση..

Ξεκίνησε από luxx, 22 Δεκ 2005, 01:38:16 ΜΜ

« προηγούμενο - επόμενο »

luxx

ο κωδικας ειναι αυτος :

ΠΡΟΓΡΑΜΜΑ ΔΟΚΙΜΗ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ : Χ,Ψ1,Ψ2,Ψ3
  ΧΑΡΑΚΤΗΡΕΣ: ΑΠΑΝΤΗΣΗ
ΑΡΧΗ
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'ΔΩΣΕ ΕΝΑΝ ΑΡΙΘΜΟ ΑΠΟ ΤΟ 1 ΕΩΣ ΤΟ 999'
    ΔΙΑΒΑΣΕ Χ
    ΑΝ Χ>0 ΚΑΙ Χ<10 ΤΟΤΕ
      Ψ1 <-- X
      ΓΡΑΨΕ 'ΤΟ ΠΡΩΤΟ ΨΗΦΙΟ ΕΙΝΑΙ:',Ψ1
    ΑΛΛΙΩΣ_ΑΝ Χ>=10 ΚΑΙ Χ<100 ΤΟΤΕ
      Ψ1 <-- Χ DIV 10
      Ψ2 <-- Χ MOD 10
      ΓΡΑΨΕ 'ΤΟ ΠΡΩΤΟ ΨΗΦΙΟ ΕΙΝΑΙ:',Ψ1
      ΓΡΑΨΕ 'ΤΟ ΔΕΥΤΕΡΟ ΨΗΦΙΟ ΕΙΝΑΙ:',Ψ2
    ΑΛΛΙΩΣ_ΑΝ Χ>=100 ΚΑΙ Χ<1000 ΤΟΤΕ
      Ψ1 <-- Χ DIV 100
      Ψ2 <-- (Χ MOD 100) DIV 10
      Ψ3 <-- (Χ MOD 100) MOD 10
      ΓΡΑΨΕ 'ΤΟ ΠΡΩΤΟ ΨΗΦΙΟ ΕΙΝΑΙ:',Ψ1
      ΓΡΑΨΕ 'ΤΟ ΔΕΥΤΕΡΟ ΨΗΦΙΟ ΕΙΝΑΙ:',Ψ2
      ΓΡΑΨΕ 'ΤΟ ΤΡΙΤΟ ΨΗΦΙΟ ΕΙΝΑΙ:',Ψ3
    ΑΛΛΙΩΣ_ΑΝ Χ<=0 Ή Χ>=1000 ΤΟΤΕ
      ΓΡΑΨΕ 'ΛΑΘΟΣ ΚΑΤΑΧΩΡΗΣΗ'
    ΤΕΛΟΣ_ΑΝ
    ΓΡΑΨΕ 'ΘΕΛΕΙΣ ΝΑ ΣΥΝΕΧΙΣΕΙΣ;'
      ΔΙΑΒΑΣΕ ΑΠΑΝΤΗΣΗ
 ΜΕΧΡΙΣ_ΟΤΟΥ ΑΠΑΝΤΗΣΗ<>ΝΑΙ
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΟΚΙΜΗ

τι πρεπει να κανω, ωστε να δεχεται για απαντησεις μονο το ΝΑΙ και το ΟΧΙ ετσι ουτως ωστε, οταν καταχωρειται μια αλλη λεξη, τοτε να εμφανιζει μηνυμα λαθους και να ξαναεπαναλαμβανει την ερωτηση, για το εαν θα θελει να συνεχισει ή οχι;

EleniK

Αυτό που κάνεις για να δέχεται σαν απάντηση μόνο το ΝΑΙ και το ΟΧΙ είναι εγκυρότητα τιμής. Δηλαδή είτε

Διάβασε απάντηση
όσο απάντηση <> 'ΝΑΙ' και απάντηση <> 'ΟΧΙ' επανάλαβε
       Εμφάνισε 'Λάθος απάντηση. Ξαναδώσε απάντηση'
       Διάβασε απάντηση
Τέλος_επανάληψης

ή μπορείς να κάνεις εγκυρότητα με την Αρχή_επανάληψης.
Ελένη Κοκκίνου
Καθηγήτρια Πληροφορικής, ΠΕ19

EleniK

οοps! το έστειλα πριν τελειώσω την απάντηση. ΑΠλά με το αρχή_επανάληψης γίνεται:

Αρχή_επανάληψης
Γράψε 'Θέλεις να συνεχίσεις;΄
Διάβασε απάντηση
Μέχρις_ότου απάντηση='ΝΑΙ' ή απάντηση='ΟΧΙ'

Στη δεύτερη περίπτωση δεν εμφανίζει μήνυμα λάθους, κάτι το οποίο κάνει με την όσο.. επανάλαβε. Πάντως διόρθωσε ότι έχω βάλει εμφάνισε με γράψε. Δεν είχα δει ότι το ήθελες για πρόγραμμα. Προσωπικά είμαι fun της Όσο.

Ελένη Κοκκίνου
Καθηγήτρια Πληροφορικής, ΠΕ19

luxx

στην δευτερη περιπτωση και ναι να πατησω και οχι, η εφαρμογη κλεινει. το ιδιο γινεται και με την πρωτη.

EleniK

 Πώς είναι δυνατόν να κλείνει η εφαρμογή, αφού αν το 'τρέξεις' και βάλεις σαν απάντηση ='Ναι' τότε 'ΝΑΙ' <>'ΝΑΙ' είναι ψευδής και συνεχίζει, ενω αν βάλεις σαν απάντηση το 'ΟΧΙ' τότε η συνθήκη είναι αληθής άρα τερματίζει η επανάληψη.

Αν βάλεις κάποια άλλη απάντηση τότε τι κάνει?

Φαντάζομαι ότι στο πρόγραμμά σου το 'ΝΑΙ' είναι μέσα σε εισαγωγικά έτσι΄; διότι στο πρόγραμμα εδώ δεν έχει εισαγωγικά. Επίσης έχεις ένα τέλος_επανάληψης, το οποίο όμως από πού ξεκινάει? Αυτά είναι λάθη αντιγραφής ή όχι?
Ελένη Κοκκίνου
Καθηγήτρια Πληροφορικής, ΠΕ19

P.Tsiotakis

Αλγόριθμος ΔΟΚΙΜΗ
Αρχή_επανάληψης
  Εμφάνισε "Δώσε αριθμό στο διάστημα [1, 999]"
  Αρχή_επανάληψης
    Διάβασε Χ
  Μέχρις_ότου Χ >= 1 και Χ <= 999
  ! ...η δική σου επεξεργασία ή ακόμα καλύτερα:
  Αρχή_επανάληψης
    Εμφάνισε Χ div 10
    Χ <-- Χ mod 10
  Μέχρις_ότου (Χ = 0)
  Εμφάνισε "Θα συνεχίσεις ;"
  Αρχή_επανάληψης  ! έλεγχος δεδομένων για απάντηση
        Διάβασε απάντηση
  Μέχρις_ότου απάντηση = "Ναι" ή απάντηση = "Όχι"
Μέχρις_ότου απάντηση = "Όχι"
Τέλος ΔΟΚΙΜΗ