Σάββατο 20 Νοεμβρίου 2010

Άσκηση: Φρουρός+απάντηση σε ερώτηση

Σε ένα τουρνουά σκακιού, εστιάζουμε την προσοχή μας
σε εκείνες τις παρτίδες που ολοκληρώθηκαν με νίκη
ενός εκ των δύο παικτών. Γράψτε πρόγραμμα σε ΓΛΩΣΣΑ
το οποίο:
α) διαβάζει το πλήθος των κινήσεων που απαιτήθηκαν προκει-
     μένου να ολοκληρωθεί καθεμιά από τις παραπάνω παρτίδες
     (η είσοδος δεδομένων ολοκληρώνεται μόλις δοθεί η απάντηση
     'ΟΧΙ' στην υποβαλλόμενη προς το χρήστη ερώτηση 'Υπάρχει
     άλλη παρτίδα;' ή όταν το εισαγόμενο πλήθος απαιτούμενων
     κινήσεων είναι μη θετικό),
β) υπολογίζει και εμφανίζει:
     * τον αύξοντα αριθμό της παρτίδας που ολοκληρώθηκε με
        το μικρότερο πλήθος κινήσεων από όλες τις άλλες,
     * το ποσοστό (%) των παρτίδων που ολοκληρώθηκαν με το
        πολύ 110 κινήσεις.
Παρατηρήσεις
Ι. Το ανώτερο πλήθος κινήσεων που απαιτήθηκε για την ολοκλήρωση
    μιας παρτίδας ήταν 225.
ΙΙ. Θεωρείστε ότι  δόθηκαν δεδομένα για τουλάχιστον μια παρτίδα.

Λύση


      ΠΡΟΓΡΑΜΜΑ Σκάκι
      ΜΕΤΑΒΛΗΤΕΣ
            ΑΚΕΡΑΙΕΣ: Κιν, Μικ, Φ, Πλήθος, ΑΑΜικ
            ΧΑΡΑΚΤΗΡΕΣ: Απ
            ΠΡΑΓΜΑΤΙΚΕΣ: ΠΟΣ
      ΑΡΧΗ
            Πλήθος <-- 0
            Μικ <-- 226
            Φ <-- 0
            ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                 ΔΙΑΒΑΣΕ Κιν
                 ΑΝ Κιν > 0 ΤΟΤΕ
                       Πλήθος <-- Πλήθος+1
                       ΑΝ Κιν < Μικ ΤΟΤΕ
                            Μικ <-- Κιν
                            ΑΑΜικ <-- Πλήθος
                       ΤΕΛΟΣ_ΑΝ
                       ΑΝ Κιν <= 110 ΤΟΤΕ
                            Φ <-- Φ+1
                       ΤΕΛΟΣ_ΑΝ
                 ΤΕΛΟΣ_ΑΝ
                 ΓΡΑΨΕ 'Υπάρχει άλλη παρτίδα;'
                 ΔΙΑΒΑΣΕ Απ
            ΜΕΧΡΙΣ_ΟΤΟΥ (Απ = 'ΟΧΙ') Ή (Κιν <= 0)
            ΠΟΣ <-- 100*Φ/Πλήθος
            ΓΡΑΨΕ ΑΑΜικ, ΠΟΣ
      ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

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

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