! ===============================================================================================
! ΕΣΠΕΡΙΝΟ - ΙΟΥΝΙΟΣ 2006 - ΘΕΜΑ 4
! ===============================================================================================
! Για τη διεκδίκηση μιας θέσης υποτροφίας, εξετάστηκαν και βαθμολογήθηκαν πενήντα (50) υποψήφιοι
! σε τρία μαθήματα. Ο υπολογισμός του τελικού βαθμού κάθε υποψηφίου γίνεται ως εξής:
! Αν ο βαθμός του σε κάποιο από τα τρία μαθήματα είναι μικρότερος του 6, τότε ο τελικός βαθμός
! του είναι μηδέν (0).
! Διαφορετικά ο βαθμός του 1ου μαθήματος συμμετέχει στον υπολογισμό του τελικού βαθμού με
! συντελεστή 20%, ο βαθμός του 2ου μαθήματος με συντελεστή 35% και ο βαθμός του 3ου μαθήματος
! με συντελεστή 45%.
! Να αναπτύξετε αλγόριθμο ο οποίος:
! α. Διαβάζει τα ονόματα των 50 υποψηφίων και τα καταχωρίζει σε πίνακα.
! β. Διαβάζει για κάθε υποψήφιο τους βαθμούς του σε καθένα από τα τρία μαθήματα και
! τους καταχωρίζει σε πίνακα δύο διαστάσεων, ελέγχοντας ότι ο βαθμός κάθε μαθήματος είναι
! από 0 έως και 10.
! γ. Υπολογίζει τον τελικό βαθμό κάθε υποψηφίου και τον καταχωρίζει σε πίνακα.
! δ. Ταξινομεί τα ονόματα και τους τελικούς βαθμούς των υποψηφίων σε φθίνουσα σειρά ως προς
! τον τελικό βαθμό.
! ε. Εμφανίζει για όσους υποψηφίους έχουν τελικό βαθμό μεγαλύτερο του μηδενός (0) το όνομα και
! τον τελικό βαθμό τους.
!στ. Εμφανίζει το ποσοστό των υποψηφίων που έχουν τελικό βαθμό μηδέν (0).
! ===============================================================================================
ΠΡΟΓΡΑΜΜΑ ΕΣ_2006_06_4
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : i , j , n
ΠΡΑΓΜΑΤΙΚΕΣ : b[50,3] , final[50] , temp1 , π
ΧΑΡΑΚΤΗΡΕΣ : name[50] , temp2
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50
ΓΡΑΨΕ 'Δώσε το όνομα του υποψηφίου Νο :',i
ΔΙΑΒΑΣΕ name[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΡΑΨΕ 'Δώσε το βαθμό του' , name[i] , 'στο ', j , 'o μάθημα'
ΔΙΑΒΑΣΕ b[i,j]
ΟΣΟ b[i,j] < 0 ή b[i,j] > 10 ΕΠΑΝΑΛΑΒΕ
ΓΡΑΨΕ 'Λάθος. Ο βαθμός πρέπει να είναι από 0 μέχρι και 10. Ξαναδώσε.'
ΔΙΑΒΑΣΕ b[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50
ΑΝ b[i,1] < 6 ή b[i,2] < 6 ή b[i,3] < 6 ΤΟΤΕ
final[i] <-- 0
ΑΛΛΙΩΣ
final[i] <-- b[i,1]*20/100 + b[i,2]*35/100 + b[i,3]*45/100
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 50
ΓΙΑ j ΑΠΟ 50 ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1
ΑΝ final[j-1] < final[j] ΤΟΤΕ
temp1 <-- final[j-1]
final[j-1] <-- final[j]
final[j] <-- temp1
temp2 <-- name[j-1]
name[j-1] <-- name[j]
name[j] <-- temp2
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Οι διαγωνισθέντες με βαθμό πάνω από 0 είναι οι εξής :'
ΓΡΑΨΕ '====================================================='
n <-- 0 ! ΚΑΙ ΜΙΑ ΠΑΡΑΛΛΑΓΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50 ! n <-- 1
ΑΝ final[i] > 0 ΤΟΤΕ ! ΟΣΟ final[n] > 0 ΕΠΑΝΑΛΑΒE
n <-- n + 1 ! ΓΡΑΨΕ name[i] , 'με βαθμό', final[i]
ΓΡΑΨΕ name[i] , 'με βαθμό', final[i] ! n <-- n + 1
ΤΕΛΟΣ_ΑΝ ! ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ! n <-- n -1
π <-- (50 - n)*100/50
ΓΡΑΨΕ 'Το ποσοστό των διαγωνισθέντων με βαθμό κάτω από το 0 είναι ίσο με' , π , '%'
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ