Η επανάληψη στην ΑΕΠΠ μόλις άρχισε και τις (καλές) ασκήσεις που λύνω, θα τις παραθέτω εδώ.
Ας αρχίσω με μία σχετικά απλή άσκηση.
Ένα μηχάνημα αυτόματης ανάληψης ΑΤΜ μιας τράπεζας, έχει κάποιο ημερήσιο όριο αναλήψεων σε $.
Να γραφεί αλγόριθμος που: (και το πρόγραμμα είναι αλγόριθμος)
α) Να διαβάζει το ημερήσιο όριο αναλήψεων
β) Να πραγματοποιεί αναλήψεις από το ΑΤΜ, διαβάζοντας για κάθε μία το ποσόν της ανάληψης.Να εμφανίζει μήνυμα λάθους σε περίπτωση που πρόκειται να γίνει ανάληψη μεγαλύτερη από το εκάστοτε υπόλοιπο και ταυτόχρονα να τερματίζεται ο αλγόριθμος.
γ)Να εμφανίζει την μέγιστη και ελάχιστη ανάληψη καθώς επίσης και τον αύξοντα αριθμό συναλλαγής στον οποίο αντιστοιχεί κάθε μία.
δ)Να υπολογίζει και να εμφανίζει το μέσο όρο των αναλήψεων.
ε)Να υπολογίζει και να εμφανίζει το πλήθος των αναλήψεων που υπερβαίνουν τα 1000$.
(για την ομαλή λειτουργία του προγράμματος θεωρώ πως το πρώτο ποσό που δίνει ο χρήστης πρέπει να είναι μικρότερο από το ημερήσιο όριο και μεγαλύτερο του μηδενός.Για το όριο δεν απαιτείται έλεγχος.)
Η λύση σε spoiler:
(διορθώστε με αν μου έχει ξεφύγει τίποτα από απροσεξία
)
Spoiler
Code:
ΠΡΟΓΡΑΜΜΑ ατμ
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: ορ, ποσό, μαξ, μιν, Σποσό
ΑΚΕΡΑΙΕΣ: Σ, πλ_υ, αρΕ, αρΜ
ΑΡΧΗ
ΔΙΑΒΑΣΕ ορ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ ποσό
ΜΕΧΡΙΣ_ΟΤΟΥ ποσό < ορ ΚΑΙ ποσό >= 0
μαξ <- ποσό
μιν <- ποσό
Σ <- 0
πλ_υ <- 0
Σποσό <- 0
ΟΣΟ ποσό <= ορ ΕΠΑΝΑΛΑΒΕ
Σποσό <- Σποσό + ποσό
ΑΝ ποσό > 1000 ΤΟΤΕ
πλ_υ <- πλ_υ + 1
ΤΕΛΟΣ_ΑΝ
ορ <- ορ - ποσό
Σ <- Σ + 1
ΑΝ ποσό >= μαξ ΤΟΤΕ
μαξ <- ποσό
αρΜ <- Σ
ΤΕΛΟΣ_ΑΝ
ΑΝ ποσό <= μιν ΤΟΤΕ
μιν <- ποσό
αρΕ <- Σ
ΤΕΛΟΣ_ΑΝ
ΔΙΑΒΑΣΕ ποσό
ΑΝ ποσό > ορ ΤΟΤΕ
ΓΡΑΨΕ ' λάθος '
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'μέγιστη ανάληψη: ', μαξ
ΓΡΑΨΕ 'ελάχιστη ανάληψη: ', μιν
ΓΡΑΨΕ ' αύξοντας αριθμός μέγιστης ανάληψης: ', αρΜ
ΓΡΑΨΕ 'αύξοντας αριθμός ελάχιστης ανάληψης: ', αρΕ
ΓΡΑΨΕ 'μέσος όρος αναλήψεων: ', Σποσό/Σ
ΓΡΑΨΕ ' πλήθος αναλήψεων που υπερβαίνουν τα 1000 $ : ', πλ_υ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ