Τρίτη 21 Σεπτεμβρίου 2010

Άσκηση: Πρόγραμμα+συνάρτηση

Το κυλικείο ενός σχολείου, πουλάει δύο διαφορετικές μάρκες
χυμών : την ΜΑΡΚΑ_Α και την ΜΑΡΚΑ_Β. Για καθεμιά από
τις παραπάνω μάρκες διατίθενται χυμοί ροδάκινου, πορτοκαλιού
και ανάμεικτοι. Η τιμή πώλησης του κάθε προϊόντος φαίνεται στον
πίνακα που ακολουθεί:

        Μάρκα                Χυμός              Χυμός                Χυμός
                               πορτοκάλι         ροδάκινου      ανάμεικτος
       ΜΑΡΚΑ_Α              0.7                    0.8                    0.9
       ΜΑΡΚΑ_Β              0.8                    0.9                    1.0

1. Γράψτε συνάρτηση που δέχεται ως παράμετρο τη μάρκα του
    χυμού (Α - ΜΑΡΚΑ_Α, Β - ΜΑΡΚΑ_Β) και το είδος του
    (Π - πορτοκάλι, Ρ - ροδάκινο, Α - ανάμεικτος) και υπολογίζει
     την τιμή πώλησης του αντίστοιχου προϊόντος.
2. Γράψτε πρόγραμμα το οποίο:
    * διαβάζει τη μάρκα (Α - ΜΑΡΚΑ_Α, Β - ΜΑΡΚΑ_Β) και το
       είδος του χυμού (Π - πορτοκάλι, Ρ - ροδάκινο, Α - ανάμεικτος)
       που αγοράζει κάθε παιδί από το κυλικείο (η είσοδος ολοκληρώ-
       νεται μόλις δοθεί ως μάρκα το κενό διάστημα),
    * καλεί κατάλληλα τη συνάρτηση που γράψατε στο 1, προκειμένου
       να υπολογίσει την τιμή πώλησης του αντίστοιχου προϊόντος,
    * υπολογίζει και εμφανίζει :
       α) τη συνολική είσπραξη του κυλικείου από τους παραπάνω
            χυμούς,
       β) το πλήθος των χυμών πορτοκάλι της ΜΑΡΚΑΣ_Α που
           πουλήθηκαν τελικά.
Παρατήρηση : Το πρόγραμμα πρέπει να διασφαλίζει την εγκυρότητα
των εισερχόμενων δεδομένων.

Λύση

     ΠΡΟΓΡΑΜΜΑ ΚΥΛ
     ΜΕΤΑΒΛΗΤΕΣ
            ΧΑΡΑΚΤΗΡΕΣ: Μ, Ειδ
            ΠΡΑΓΜΑΤΙΚΕΣ: Τιμή, Σύνολο
            ΑΚΕΡΑΙΕΣ: Πληθ
     ΑΡΧΗ
            Σύνολο <-- 0
            Πληθ <-- 0
            ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                      ΔΙΑΒΑΣΕ Μ
                 ΜΕΧΡΙΣ_ΟΤΟΥ (Μ = 'Α') Ή (Μ = 'Β') Ή (Μ = '   ')
                 ΑΝ Μ < > '   '  ΤΟΤΕ
                       ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                             ΔΙΑΒΑΣΕ Ειδ
                       ΜΕΧΡΙΣ_ΟΤΟΥ (Ειδ = 'Π') Ή (Ειδ = 'Ρ') Η (Ειδ = 'Α')
                       Τιμή <-- Κόστος(Μ, Ειδ)
                       Σύνολο <-- Σύνολο+Τιμή
                       ΑΝ (Μ = 'Α') ΚΑΙ (Ειδ = 'Π') ΤΟΤΕ
                           Πληθ <-- Πληθ+1
                       ΤΕΛΟΣ_ΑΝ
                 ΤΕΛΟΣ_ΑΝ
            ΜΕΧΡΙΣ_ΟΤΟΥ Μ = '  '
            ΑΝ Σύνολο > 0 ΤΟΤΕ
                  ΓΡΑΨΕ Σύνολο, Πληθ
            ΑΛΛΙΩΣ
                  ΓΡΑΨΕ 'Δε δόθηκαν καθόλου δεδομένα!'
            ΤΕΛΟΣ_ΑΝ
     ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

     ΣΥΝΑΡΤΗΣΗ Κόστος(Μ, Ειδ) : ΠΡΑΓΜΑΤΙΚΗ   
     ΜΕΤΑΒΛΗΤΕΣ
            ΧΑΡΑΚΤΗΡΕΣ: Μ, Ειδ
     ΑΡΧΗ
            ΑΝ Μ = 'Α' ΤΟΤΕ
                 ΑΝ Ειδ = 'Π' ΤΟΤΕ
                       Κόστος <-- 0.7
                 ΑΛΛΙΩΣ_ΑΝ Ειδ = 'Ρ' ΤΟΤΕ
                       Κόστος <-- 0.8
                 ΑΛΛΙΩΣ   ! Ειδ = 'Α'
                       Κόστος <-- 0.9
                 ΤΕΛΟΣ_ΑΝ
            ΑΛΛΙΩΣ              ! Μ = 'Β'
                 ΑΝ Ειδ = 'Π' ΤΟΤΕ
                       Κόστος <-- 0.8
                 ΑΛΛΙΩΣ_ΑΝ Ειδ = 'Ρ' ΤΟΤΕ
                       Κόστος <-- 0.9
                 ΑΛΛΙΩΣ   ! Ειδ = 'Α'
                       Κόστος <-- 1.0
                 ΤΕΛΟΣ_ΑΝ            
            ΤΕΛΟΣ_ΑΝ
     ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ     

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

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