1. ΑΕΠΠ ΤΕΣΤ
Ο Νίκος άνοιξε λογαριασμό ώστε να μαζέψει χρήματα για ένα έτος. Κάθε μήνα
του έτους κατέθετε το ποσό χρημάτων που του περίσσευε. Να γράψετε
αλγόριθμο οποίος:
Α) Για κάθε κατάθεση θα διαβάζει το όνομα μήνα και την τιμή του ποσού που
κατέθεσε. Στην τιμή θα γίνεται έλεγχος ώστε να είναι θετικός αριθμός.
Β) Θα τερματίζει μετά από 12 μήνες.
Γ) Θα τυπώνει τον μέσο όρο των καταθέσεων.
Δ) Θα τυπώνει το όνομα του μήνα που κατέθεσε το μεγαλύτερο ποσό καθώς
και την τιμή του ποσού.
Ε) Θα τυπώνει τα ονόματα καθώς και το πλήθος των μηνών που κατέθεσε πάνω
από 100Ε.
Υποθέστε πως οι καταθέσεις έχουν διαφορετική τιμή ποσού.
Ακολουθεί ενδεικτική λύση.
2. Βήμα 1 κατανόηση
Δεδομένα:
Σταθερά δεδομένα: 12 μήνες
Μεταβλητά δεδομένα: όνομα (ον), τιμή (τ)
Ζητούμενα:
Μέσος όρος τιμών (ΜΟ), Μέγιστη τιμή (max), Όνομα μήνα με τη μεγαλύτερη κατάθεση
(ονmax), Ονόματα μηνών με κατάθεση>100Ε (ον), πλήθος καταθέσεων με τιμή >100Ε
(πλ100)
Παράδειγμα: (για 3 μόνο μήνες αντί 12 χάρη συντομίας)
Μήνας τιμή ποσού (E)
Ιαν 50
Φεβ 600
Μαρ 400
ΜΟ=(50+600+400)/3 Μέγιστη τιμή=600Ε Μήνας μεγαλύτερης κατάθεσης ->Φεβ
Πλήθος μηνών με κατάθεση >100Ε = 2 (Φεβ και Μαρ)
3. Βήμα 2 Ανάλυση
Υποπρόβλημα 1: Επαναληπτική δομή γνωστού πλήθους επαναλήψεων (12, 3 στο
παράδειγμα και στον έλεγχο)
Υποπρόβλημα 2: Εισαγωγή μεταβλητών δεδομένων και έλεγχος ορθότητας τιμής της
τ (τ>0)
Υποπρόβλημα 3: Εύρεση μέσου όρου-> Εύρεση αθροίσματος (sum) των τ
Υποπρόβλημα 4: Εύρεση μέγιστου τ και του αντίστοιχου ον.
Υποπρόβλημα 5: Εύρεση του πλήθους των τ>100 (πλ100) και των αντίστοιχων ον.
4. Βήμα 3 ΕπίλυσηΑλγόριθμος καταθέσεις
Για πλ από 1 μέχρι 12
Τέλος _επανάληψης
Τέλος καταθέσεις
Υποπρόβλημα 1: Επαναληπτική δομή γνωστού
πλήθους επαναλήψεων (12, 3 στο
παράδειγμα και στον έλεγχο)
5. Βήμα 3 ΕπίλυσηΑλγόριθμος καταθέσεις
Για πλ από 1 μέχρι 12
Διάβασε ον
Αρχή_επανάληψης
Διάβασε τ
Μέχρις_ότου τ>0
Τέλος _επανάληψης
Τέλος καταθέσεις
Υποπρόβλημα 2: Εισαγωγή μεταβλητών
δεδομένων και έλεγχος ορθότητας τιμής της τ
(τ>0)
6. Βήμα 3 ΕπίλυσηΑλγόριθμος καταθέσεις
sum0
Για πλ από 1 μέχρι 12
Διάβασε ον
Αρχή_επανάληψης
Διάβασε τ
Μέχρις_ότου τ>0
sum<-sum+τ
Τέλος _επανάληψης
ΜΟsum/12
Εμφάνισε MO
Τέλος καταθέσεις
Υποπρόβλημα 3: Εύρεση μέσου όρου->
Εύρεση αθροίσματος (sum) των τ
7. Βήμα 3 ΕπίλυσηΑλγόριθμος καταθέσεις
sum0
max -9999
Για πλ από 1 μέχρι 12
Διάβασε ον
Αρχή_επανάληψης
Διάβασε τ
Μέχρις_ότου τ>0
sum<-sum+τ
Αν τ>max τότε
maxτ
ονmaxον
Τέλος_Αν
Τέλος _επανάληψης
ΜΟsum/12
Εμφάνισε MO
Εμφάνισε max, ονmax
Τέλος καταθέσεις
Υποπρόβλημα 4: Εύρεση μέγιστου τ και του
αντίστοιχου ον.
8. Βήμα 3 ΕπίλυσηΑλγόριθμος καταθέσεις
sum0
max -9999
πλ1000
Για πλ από 1 μέχρι 12
Διάβασε ον
Αρχή_επανάληψης
Διάβασε τ
Μέχρις_ότου τ>0
sum<-sum+τ
Αν τ>max τότε
maxτ
ονmaxον
Τέλος_Αν
Αν τ>100 τότε
πλ100πλ100+1
Εμφάνισε ον
Τέλος_Αν
Τέλος _επανάληψης
ΜΟsum/12
Εμφάνισε MO
Εμφάνισε max, ονmax
Εμφάνισε πλ100
Τέλος καταθέσεις
Υποπρόβλημα 5: Εύρεση του πλήθους των
τ>100 (πλ100) και των αντίστοιχων ον.
9. Βήμα 4 Έλεγχος αλγορίθμου
Πλήθος
επαναλήψεων
τ ον πλ πλ100 max oνmax sum MO Οθόνη
Πριν την
επανάληψη
----- --------- --- 0 -9999 ------ 0 ------ ------
1η 50 Ιαν 1 0 50 Ιαν 50 ------ ------
2η 600 Φεβ 2 1 600 Φεβ 650 ------ Φεβ
3η 400 Μαρ 3 2 600 Φεβ 1050 ------ Μαρ
Μετά την
επανάληψη
400 Μαρ 4 2 600 Φεβ 1050 350 350
600
Φεβ
2