Παρασκευή, 22 Ιουλίου 2011

Άσκηση : συγγραφή συνάρτησης

Γράψτε συνάρτηση η οποία δέχεται ως παράμετρο έναν
θετικό ακέραιο αριθμό Ν και κάνει τα ακόλουθα:
α) αν ο αριθμός είναι μονοψήφιος επιστρέφει το διπλάσιο
   του,
β)  σε οποιαδήποτε άλλη περίπτωση,
     * υπολογίζει τα ψηφία του Ν,
     * αν ο αριθμός είναι διψήφιος επιστρέφει το άθροισμά
        τους,
     * αν ο αριθμός είναι τριψήφιος επιστρέφει το γινόμενό
        τους,
     * αν ο αριθμός είναι τετραψήφιος επιστρέφει το αποτέ-
        λεσμα που προκύπτει αν υψώσουμε στο τετράγωνο
        κάθε ψηφίο και αθροίσουμε τις δυνάμεις αυτές,
     * σε οποιαδήποτε άλλη περίπτωση επιστρέφει την
        τιμή -1.

Λύση

       ΣΥΝΑΡΤΗΣΗ AΠOT(Ν) : ΑΚΕΡΑΙΑ
       ΜΕΤΑΒΛΗΤΕΣ
              ΑΚΕΡΑΙΕΣ: Ν, Ψ3, Ψ2, Ψ1, Ψ0
       ΑΡΧΗ
              ΑΝ Ν <= 9 ΤΟΤΕ
                    ΑΠΟΤ <-- 2*Ν
              ΑΛΛΙΩΣ_ΑΝ Ν <= 99 ΤΟΤΕ
                    Ψ1 <-- Ν DIV 10
                    Ψ0 <-- Ν MOD 10
                    ΑΠΟΤ <-- Ψ1+Ψ0
              ΑΛΛΙΩΣ_ΑΝ Ν <= 999 ΤΟΤΕ
                    Ψ2 <-- Ν DIV 100
                    Ψ1 <-- (Ν MOD 100)  DIV 10
                    Ψ0 <-- (Ν MOD 100)  MOD 10
                    ΑΠΟΤ <-- Ψ2*Ψ1*Ψ0
              ΑΛΛΙΩΣ_ΑΝ Ν <= 9999 ΤΟΤΕ
                    Ψ3 <-- Ν DIV 1000
                    Ψ2 <-- (Ν MOD 1000) DIV 100
                    Ψ1 <--  ( (Ν MOD 1000) MOD 100) DIV 10
                    Ψ0 <-- ( (Ν MOD 1000) MOD 100) MOD 10
                    ΑΠΟΤ <-- Ψ3^2+Ψ2^2+Ψ1^2+Ψ0^2
               ΑΛΛΙΩΣ
                    ΑΠΟΤ <-- -1
               ΤΕΛΟΣ_ΑΝ
       ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

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

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