! ===============================================================================================
! ΕΣΠΕΡΙΝΟ - ΙΟΥΛΙΟΣ 2005 - ΘΕΜΑ 4
! ===============================================================================================
! Σε ένα Εσπερινό Γυμνάσιο φοιτούν 80 μαθητές. Να γραφεί αλγόριθμος ο οποίος:
! α) Διαβάζει για κάθε μαθητή το ονοματεπώνυμό του, την τάξη του και τον τελικό βαθμό του και
! τα καταχωρεί σε μονοδιάστατους πίνακες, ελέγχοντας την ορθότητα εισαγωγής των δεδομένων
! σύμφωνα με τα παρακάτω :
! - Οι τάξεις είναι Α ή Β ή Γ.
! - Ο τελικός βαθμός είναι από 1 μέχρι και 20.
! β) Εμφανίζει τα ονόματα των μαθητών της Β τάξης που έχουν τελικό βαθμό μεγαλύτερο ή
! ίσο του 18,5.
! γ) Υπολογίζει και εμφανίζει το πλήθος των μαθητών κάθε τάξης.
! δ) Υπολογίζει και εμφανίζει το μέσο όρο των τελικών βαθμών των μαθητών της Γ τάξης.
! ε) Εμφανίζει ταξινομημένα κατά αλφαβητική σειρά τα ονοματεπώνυμα και τους αντίστοιχους
! τελικούς βαθμούς των μαθητών της Α τάξης.
! ===============================================================================================
ΠΡΟΓΡΑΜΜΑ ΗΜ_2006_07_4
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : i , , j , n1 , n2 , n3
ΠΡΑΓΜΑΤΙΚΕΣ: b[80] , s , mo , temp2
ΧΑΡΑΚΤΗΡΕΣ: name[80] , c[80] , temp1
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 80
ΓΡΑΨΕ 'Δώσε το όνομα του μαθητή',i
ΔΙΑΒΑΣΕ name[i]
ΓΡΑΨΕ 'Σε ποια τάξη πάει ;'
ΔΙΑΒΑΣΕ c[i]
ΟΣΟ c[i] <> 'Α' και c[i] <> 'Β' και c[i] <> 'Γ' ΕΠΑΝΑΛΑΒΕ
ΓΡΑΨΕ 'Λάθος. Ξαναδώσε Α ή Β ή Γ (με ελληνικά κεφαλαία)'
ΔΙΑΒΑΣΕ c[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Δώσε και τον τελικό βαθμό του'
ΔΙΑΒΑΣΕ b[i]
ΟΣΟ b[i] < 1 η b[i] > 20 ΕΠΑΝΑΛΑΒΕ
ΓΡΑΨΕ 'Λάθος. Ξαναδώσε βαθμό (1 - 20)'
ΔΙΑΒΑΣΕ b[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Μαθητές Β΄ τάξης με βαθμό μεγαλύτερο ή ίσο του 18,5'
ΓΡΑΨΕ '==================================================='
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 80
ΑΝ c[i] = 'Β' ΚΑΙ b[i] > 18.5 ΤΟΤΕ
ΓΡΑΨΕ name[i]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ '==================================================='
ΓΡΑΨΕ
n1 <-- 0
n2 <-- 0
n3 <-- 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 80
ΑΝ c[i] = 'Α' ΤΟΤΕ
n1 <-- n1 + 1
ΑΛΛΙΩΣ_ΑΝ c[i] = 'Β' ΤΟΤΕ
n2 <-- n2 + 1
ΑΛΛΙΩΣ
n3 <-- n3 + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'A ΤΑΞΗ' , n1 , 'ΜΑΘΗΤΕΣ.'
ΓΡΑΨΕ 'Β ΤΑΞΗ' , n2 , 'ΜΑΘΗΤΕΣ.'
ΓΡΑΨΕ 'Γ ΤΑΞΗ' , n3 , 'ΜΑΘΗΤΕΣ.'
s <-- 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 80
ΑΝ c[i] = 'Γ' ΤΟΤΕ
s <-- S + b[i]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
mo <-- s / n2
ΓΡΑΨΕ 'Μέσος όρος τελικών βαθμών μαθητών Γ τάξης =' , mo
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 80
ΓΙΑ j ΑΠΟ 80 ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1
ΑΝ name[j-1] > name[j] ΤΟΤΕ
temp1 <-- name[j-1]
name[j-1] <-- name[j]
name[j] <-- temp1
temp1 <-- c[j-1]
c[j-1] <-- c[j]
c[j] <-- temp1
temp2 <-- b[j-1]
b[j-1] <-- b[j]
b[j] <-- temp2
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Μαθητές Α΄ τάξης'
ΓΡΑΨΕ '=========================='
ΓΡΑΨΕ 'ΟΝΟΜΑ ΒΑΘΜΟΣ'
ΓΡΑΨΕ '=========================='
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 80
ΑΝ c[i] = 'Α' ΤΟΤΕ
ΓΡΑΨΕ name[i] , ' ' , b[i]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ '=========================='
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ