Κυριακή 27 Μαρτίου 2011

Άσκηση : πρόγραμμα + υποπρογράμματα

Ι. Γράψτε συνάρτηση με όνομα Έλεγχος η οποία δέχεται ως
    παραμέτρους δύο πραγματικές τιμές Α, Β και ελέγχει αν
    το Β υπολείπεται του Α τουλάχιστον κατά 13%.
ΙΙ. Γράψτε διαδικασία με όνομα Φίλτρο η οποία δέχεται
     ως παραμέτρους:
       * έναν πραγματικό πίνακα Γ[25],
       * μια πραγματική τιμή Δ,
     και εμφανίζει τους αύξοντες αριθμούς των στοιχείων του
     πίνακα που υπολείπονται του Δ τουλάχιστον κατά 13%.
     Η διαδικασία πρέπει να καλεί με κατάλληλο τρόπο τη
     συνάρτηση Έλεγχος.
ΙΙΙ. Γράψτε πρόγραμμα το οποίο:
      α) Διαβάζει τους μέσους όρους βαθμολογίας των 25
           μαθητών μιας τάξης και τους καταχωρεί σε κατάλληλο
           μονοδιάστατο πίνακα ΠΙΝ,
      β)  Για κάθε τιμή της μεταβλητής ΒΑΘΜΟΣ από το 17.2
            μέχρι και το 20.0, με ενδιάμεσο βήμα μεταβολής το
            0.1, υπολογίζει και εμφανίζει τους αύξοντες αριθμούς
            των στοιχείων του  πίνακα που υπολείπονται του
            ΒΑΘΜΟΣ  τουλάχιστον κατά 13%.
      Το πρόγραμμα πρέπει να καλεί με κατάλληλο τρόπο τη
       διαδικασία Φίλτρο.

Λύση

        ΠΡΟΓΡΑΜΜΑ ΑΣΚ
        ΜΕΤΑΒΛΗΤΕΣ
                ΑΚΕΡΑΙΕΣ: κ
                ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ[25], ΒΑΘΜΟΣ
        ΑΡΧΗ
                ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 25
                      ΔΙΑΒΑΣΕ ΜΟ[κ]
                ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                ΓΙΑ ΒΑΘΜΟΣ ΑΠΟ 17.2 ΜΕΧΡΙ 20.0 ΜΕ_ΒΗΜΑ 0.1
                      ΚΑΛΕΣΕ Φίλτρο(ΜΟ, ΒΑΘΜΟΣ)
                ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
        ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


        ΣΥΝΑΡΤΗΣΗ Έλεγχος(Α, Β) : ΛΟΓΙΚΗ
        ΜΕΤΑΒΛΗΤΕΣ
               ΠΡΑΓΜΑΤΙΚΕΣ: Α, Β, ΠΟΣ
        ΑΡΧΗ
               ΠΟΣ <-- 100*(Α-Β)/Α
               ΑΝ ΠΟΣ >= 13 ΤΟΤΕ
                     Έλεγχος <-- ΑΛΗΘΗΣ
               ΑΛΛΙΩΣ
                     Έλεγχος <-- ΨΕΥΔΗΣ
               ΤΕΛΟΣ_ΑΝ
        ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ


        ΔΙΑΔΙΚΑΣΙΑ Φίλτρο(Γ, Δ)
        ΜΕΤΑΒΛΗΤΕΣ
                 ΠΡΑΓΜΑΤΙΚΕΣ: Γ[25], Δ, ΠΟΣ
                 ΑΚΕΡΑΙΕΣ: κ, Φ
                 ΛΟΓΙΚΕΣ: ΑΠ
        ΑΡΧΗ
                 Φ <-- 0
                 ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 25
                       ΑΠ <-- Έλεγχος(Δ, Γ[κ])
                       ΑΝ ΑΠ = ΑΛΗΘΗΣ ΤΟΤΕ
                             ΓΡΑΨΕ κ
                       ΤΕΛΟΣ_ΑΝ
                 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                 ΑΝ Φ = 0 ΤΟΤΕ
                       ΓΡΑΨΕ 'Δεν υπάρχει κανένας μαθητής που'
                       ΓΡΑΨΕ 'ο ΜΟ του να υπολείπεται του', Δ
                       ΓΡΑΨΕ 'τουλάχιστον κατά 13%'
                 ΤΕΛΟΣ_ΑΝ
        ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ


        

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

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