Έστω ότι θέλεις να οργανώσεις μία εκδήλωση για την παγκόσμια ημέρα περιβάλ­λοντος και έχεις τη χωρητικότητα (σε αριθμό ατόμων) και τις τιμές που θα κοστίσει η ενοικίαση χώρου από 3 διαφορετικούς χώρους στους οποίους μπορεί να γίνει η εκδήλωση. Επιπλέον έχεις προσφορές από 5 διαφορετικούς χορηγούς που διαθέ­τουν χρήματα για την υποστήριξη της εκδήλωσης. Να γραφεί ένας αλγόριθμος που θα υπολογίζει πόσοι χορηγοί μπορούν να καλύψουν το κόστος της αίθουσας με τη δυνατή μεγαλύτερη χωρητικότητα.

Λύση:

Αλγόριθµος οργάνωση_εκδήλωσης

!Σχόλιο price και capacity είναι η τιµή και η χωρητικότητα της αίθουσας, donation είναι η προσφορά

Διάβασε price1 ,capacity1
ΜΑΧ <- capacity
cost <- price1
Διάβασε price2, capacity2
Αν capacity2>ΜΑΧ τότε
ΜΑΧ <- capacity2
cost <- price2
Τέλος_αν
Διάβασε price3, capacity3
Αν capacity3>ΜΑΧ τότε
ΜΑΧ <- capacity3
cost <- price3

Διάβασε donate1, donate2, donate3, donate4, donate5

count <- 0
Αν donate1 >=cost τότε count<-count+1 Τέλος_Αν
Αν donate2>=cost τότε count<- count+1 Τέλος_Αν
Αν donate3>=cost τότε count<- count+1 Τέλος_Αν
Αν donate4>=cost τότε count<- count+1 Τέλος_Αν
Αν donate5>=cost τότε count<- count+1 Τέλος_Αν
Αποτελέσµατα // count //
Τέλος οργάνωση_εκδήλωσης

Σε περίπτωση που είναι δυνατή η χρήση δομής επανάληψης και χρήση flag

ΠΡΟΓΡΑΜΜΑ ΔΣ4ΚΕΦ8B
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: ΒΑΘΜΟΣ, ΜΟ, SUM, i
ΧΑΡΑΚΤΗΡΕΣ: ΟΝΟΜΑ
ΛΟΓΙΚΕΣ: ΤΕΛΟΣΥΠΟΛΟΓΙΣΜΟΥ
ΑΡΧΗ
ΤΕΛΟΣ
ΥΠΟΛΟΓΙΣΜΟΥ <– ΨΕΥΔΗΣ
ΟΣΟ ΤΕΛΟΣΥΠΟΛΟΓΙΣΜΟΥ = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
! ΔΙΑΔΙΚΑΣΙΑ ΓΙΑ ΕΝΑΝ ΜΑΘΗΤΗ
! **************************
ΓΡΑΨΕ ‘ΔΩΣΕ ΟΝΟΜΑ ΜΑΘΗΤΗ’
ΔΙΑΒΑΣΕ ΟΝΟΜΑ
ΑΝ ΟΝΟΜΑ <> ‘ ‘ ΤΟΤΕ
SUM <– 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΡΑΨΕ ‘ΔΩΣΕ ΒΑΘΜΟ’, i
ΔΙΑΒΑΣΕ ΒΑΘΜΟΣ
SUM <– SUM + ΒΑΘΜΟΣ
ΤΕΛΟΣ
ΕΠΑΝΑΛΗΨΗΣ
ΜΟ <– SUM / 3
ΓΡΑΨΕ ‘Ο ΜΟ ΤΟΥ ΜΑΘΗΤΗ’, ΟΝΟΜΑ, ‘ ΕΙΝΑΙ: ‘, ΜΟ
ΑΛΛΙΩΣ
ΤΕΛΟΣΥΠΟΛΟΓΙΣΜΟΥ = ΑΛΗΘΗΣ
ΤΕΛΟΣ
ΑΝ
! **************************
ΤΕΛΟΣΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ
ΠΡΟΓΡΑΜΜΑΤΟΣ