Πέμπτη 17 Ιουνίου 2010

Άσκηση : Διαδικασία+Συνάρτηση+Πίνακες

Μια επιχείρηση απασχολεί 38 εργαζόμενους.
Κάθε εργαζόμενος  λαμβάνει μηνιαίως ένα σταθερό
χρηματικό ποσό ενώ για κάθε υπερωρία του πληρώνεται
με 3,5 ευρώ.
α) Γράψτε συνάρτηση που δέχεται ως παραμέτρους
    το σταθερό μηνιαίο ποσό που λαμβάνει ένας
    εργαζόμενος της παραπάνω επιχείρησης και το
    πλήθος των υπερωριών (ακεραίου τύπου) που
    έχει κάνει, και υπολογίζει τις συνολικές
    μηνιαίες απολαβές του.
β) Γράψτε διαδικασία που για κάθε υπάλληλο
    της επιχείρησης
    * διαβάζει το όνομά του, το σταθερό μηναίο ποσό
       που  δικαιούται και το πλήθος των υπερωριών του
       έχει κάνει
    * υπολογίζει τις συνολικές μηνιαίες απολαβές του.
    Η διαδικασία πρέπει να καλεί με κατάλληλο τρόπο
    τη συνάρτηση που γράψατε στο ερώτημα α).
γ) Γράψτε πρόγραμμα το οποίο:
    * καλεί με κατάλληλο τρόπο τη διαδικασία που
       γράψατε στο ερώτημα β),
    * εμφανίζει τα ονόματα και τις συνολικές μηνιαίες
       απολαβές των εργαζομένων, με σειρά από τον
       καλύτερα προς τον χειρότερα αμοιβόμενο.
Παρατηρήσεις
1. Δεν απαιτείται έλεγχος εγκυρότητας των
    εισερχόμενων δεδομένων.
2. Οι συνολικές μηνιαίες απολαβές των εργαζομένων
    είναι διαφορετικές μεταξύ τους.

Λύση

    ΠΡΟΓΡΑΜΜΑ ΕΠΙΧ
    ΜΕΤΑΒΛΗΤΕΣ
          ΑΚΕΡΑΙΕΣ: μ, ν
          ΠΡΑΓΜΑΤΙΚΕΣ: ΜΗΝ[38], Β1
          ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[38], Β2
    ΑΡΧΗ
          ΚΑΛΕΣΕ ΜΗΝ_ΟΛΩΝ(ΟΝ, ΜΗΝ)
          ΓΙΑ μ ΑΠΟ 2 ΜΕΧΡΙ 38
               ΓΙΑ ν ΑΠΟ 38 ΜΕΧΡΙ μ ΜΕ_ΒΗΜΑ -1
                    ΑΝ ΜΗΝ[ν-1] < ΜΗΝ[ν] ΤΟΤΕ
                           Β1 <-- ΜΗΝ[ν-1]
                           ΜΗΝ[ν-1] <-- ΜΗΝ[ν]
                           ΜΗΝ[ν] <-- Β1
                           Β2 <-- ΟΝ[ν-1]
                           ΟΝ[ν-1] <-- ΟΝ[ν]
                           ΟΝ[ν] <-- Β2
                    ΤΕΛΟΣ_ΑΝ
               ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
          ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
          ΓΙΑ μ ΑΠΟ 1 ΜΕΧΡΙ 38
               ΓΡΑΨΕ ΟΝ[μ], ΜΗΝ[μ]
          ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

    ΣΥΝΑΡΤΗΣΗ ΜΙΣΘ(Σ, Ω) : ΠΡΑΓΜΑΤΙΚΗ
    ΜΕΤΑΒΛΗΤΕΣ
        ΑΚΕΡΑΙΕΣ: Ω
        ΠΡΑΓΜΑΤΙΚΕΣ: Σ
    ΑΡΧΗ
        ΜΙΣΘ <-- Σ+Ω*3.5
    ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ


    ΔΙΑΔΙΚΑΣΙΑ ΜΗΝ_ΟΛΩΝ(ΟΝ, ΜΗΝ)
    ΜΕΤΑΒΛΗΤΕΣ
        ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[38]
        ΠΡΑΓΜΑΤΙΚΕΣ: ΜΗΝ[38], Σ
        ΑΚΕΡΑΙΕΣ: λ, Ω
    ΑΡΧΗ
         ΓΙΑ λ ΑΠΟ 1 ΜΕΧΡΙ 38
               ΔΙΑΒΑΣΕ ΟΝ[λ]
               ΔΙΑΒΑΣΕ Σ, Ω
               ΜΗΝ[λ] <-- ΜΙΣΘ(Σ, Ω)
         ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
   

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

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