24 Ιανουαρίου 2014

... η απάντηση της άσκησης σε γλωσσομάθεια...

ΠΡΟΓΡΑΜΜΑ ασκηση
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: χ, π, ψ, εικ, ζ
ΑΡΧΗ
  ΔΙΑΒΑΣΕ χ
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΟΣΟ χ MOD 50 <> 0 ΚΑΙ χ MOD 20 <> 0 ΚΑΙ χ MOD 50 MOD 20 <> 0 ΕΠΑΝΑΛΑΒΕ
      ΓΡΑΨΕ 'διόρθωσε το ποσό'
      ΔΙΑΒΑΣΕ χ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΑΝ χ MOD 50 MOD 20 = 0 ΤΟΤΕ
      π <- χ DIV 50
      ψ <- χ MOD 50
      εικ <- ψ DIV 20
      ζ <- ψ MOD 20
    ΑΛΛΙΩΣ
      εικ <- χ DIV 20
      ψ <- χ MOD 20
      π <- ψ DIV 50
      ζ <- ψ MOD 50
    ΤΕΛΟΣ_ΑΝ
    ΓΡΑΨΕ εικ, 'Χ20 - ', π, 'Χ50'
    ΓΡΑΨΕ 'περισεύουν : ', ζ
    ΓΡΑΨΕ 'πάτα έναν αριθμό για να συνεχίσω, αλλιώς πάτα 0'
    ΔΙΑΒΑΣΕ χ
  ΜΕΧΡΙΣ_ΟΤΟΥ χ = 0
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ 

2 σχόλια:

  1. ...Νομίζω ότι με την προτεινόμενη λύση, δεν καλύπτεται η περίπτωση που το ποσό είναι 110 ή 130 ευρώ... Προτείνω την ακόλουθη λύση:

    Αρχή_επανάληψης
    Διάβασε ποσό
    Μέχρις_ότου ποσό ≥ 20 και ποσό mod 10 = 0 και ποσό ≠ 30 και ποσό ≤ 1000
    χ50 ←ποσό div 50
    νπ ←ποσό - χ50 * 50
    Αν νπ mod 20 ≠ 0 τότε
    χ50 ← χ50 - 1
    τέλος_αν
    χ20 ← (ποσό - χ50 * 50) div 20
    Εμφάνισε χ50, χ20

    Ευχαριστώ!
    Έχω παρόμοια άσκηση στο βοήθημα από τις εκδόσεις Πατάκη (123 άσκηση στη δομή επανάληψης).
    Καλή συνέχεια!

    Σπύρος Δουκάκης
    http://sdoukakis.wordpress.com/

    ΑπάντησηΔιαγραφή
  2. Symfono me thn lysi tou k.Doukaki.
    Ousiastika symfona me thn ekfonisi, apodekta einai ola ta posa pou einai pollaplasia tou 10 ektos apo ta 10 kai 30 euro.
    To problima emfanizetai otan zitas 110, 230 kai tis ypoloipes ekatontades tous px 210, 310, 410... to opoio lynetai AN pali... stamatiseis sto 1000..
    Pisteuo oti gia na lythei tha prepei na allaksoume thn ekfonisi se kati me perissoterous periorismous.
    Opos kai na exei to thema htan mia oraia askisi... tou myalou kai mia kali apodeiksi ths genikis antilipsis... "oso mikroteri h ekfonisi, toso dyskoloteri h askisi"... kali synexeia

    ΑπάντησηΔιαγραφή