e-ΜΑΘΗΜΑΤΑ |
Λύσεις ασκήσεων Τράπεζας Θεμάτων |
ΠΡΟΓΡΑΜΜΑ DI_UOA_ΤΘ_35162
!ΘΕΜΑ 4
!Το Τμήμα Πληροφορικής του Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών
!διατηρεί τα στοιχεία των πρωτοετών φοιτητών/τριών του σε πίνακες.
!Ο μέγιστος αριθμός φοιτητών που μπορούν να φοιτήσουν στο τμήμα είναι 120.
!
!Να αναπτύξετε πρόγραμμα στην ΓΛΩΣΣΑ το οποίο:
!4.1. Nα διαβάζει το πλήθος των φοιτητών του τμήματος ελέγχοντας ότι η καταχώριση
!είναι μεταξύ 1 και 120. Στην περίπτωση εισαγωγής τιμής μεγαλύτερης του 120 ή μικρότερης
! του 1, το πρόγραμμα πρέπει να ζητάει νέα τιμή μέχρι να δοθεί έγκυρη.
!Στη συνέχεια να διαβάζει για κάθε φοιτητή/φοιτήτρια το ονοματεπώνυμο
!και τη βαθμολογία του/ης στα 12 μαθήματα του πρώτου έτους φοίτησης,
!ελέγχοντας ότι κάθε βαθμός που εισάγεται είναι μεταξύ 0 και 10.
!Στην περίπτωση εισαγωγής τιμής μεγαλύτερης του 10 ή μικρότερης του 0,
!το πρόγραμμα πρέπει να ζητάει νέα τιμή μέχρι να δοθεί έγκυρη.
!Τα ονοματεπώνυμα των φοιτητών/φοιτητριών και οι βαθμοί τους να αποθηκεύονται
!σε μονοδιάστατο πίνακα ΟΝ[120] και δισδιάστατο πίνακα ΒΑΘ[120,12], αντίστοιχα.
!Μονάδες 8
!
!4.2. Με την βοήθεια της Διαδικασίας ΜΕΣΟΣ_ΟΡΟΣ να υπολογίζει τους μέσους όρους
!των φοιτητών/τριών και να εμφανίζει τον γενικό μέσο όλων των φοιτητών/τριών.
!Μονάδες 9
!
!4.3. Να αναζητά, να βρίσκει και να εμφανίζει το όνομα του φοιτητή/τριας
!που έχει το μεγαλύτερο μέσο όρο. Υποθέτουμε ότι υπάρχει μόνο ένας/μία φοιτητής/τρια
!με τον μεγαλύτερο μέσο όρο.
!Μονάδες 8
ΜΕΤΑΒΛΗΤΕΣ
ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[120], tempΟνομα
ΠΡΑΓΜΑΤΙΚΕΣ: ΒΑΘ[120, 12], ΜΕΣΟΣ[120], γενικος_ΜΟ
ΑΚΕΡΑΙΕΣ: i, j, n
ΠΡΑΓΜΑΤΙΚΕΣ: βαθμος
ΠΡΑΓΜΑΤΙΚΕΣ: maxΜ
ΑΡΧΗ
! --- 4.1 Εισαγωγή πλήθους φοιτητών ---
ΓΡΑΨΕ "Δώσε πλήθος φοιτητών: "
ΔΙΑΒΑΣΕ n
ΟΣΟ n < 1 Η n > 120 ΕΠΑΝΑΛΑΒΕ
ΓΡΑΨΕ "Μη έγκυρος αριθμός. Δώσε πάλι: "
ΔΙΑΒΑΣΕ n
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! --- 4.1 Εισαγωγή στοιχείων φοιτητών ---
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ n
ΓΡΑΨΕ "Δώσε ονοματεπώνυμο φοιτητή/τριας ", i, ": "
ΔΙΑΒΑΣΕ ΟΝ[i]
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12
ΓΡΑΨΕ "Δώσε βαθμό για μάθημα ", j, ": "
ΔΙΑΒΑΣΕ βαθμος
ΟΣΟ βαθμος < 0 Η βαθμος > 10 ΕΠΑΝΑΛΑΒΕ
ΓΡΑΨΕ "Μη έγκυρος βαθμός. Δώσε πάλι: "
ΔΙΑΒΑΣΕ βαθμος
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΒΑΘ[i, j] <- βαθμος
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! --- 4.2Κλήση διαδικασίας ---
ΚΑΛΕΣΕ ΜΕΣΟΣ_ΟΡΟΣ (ΒΑΘ, n, ΜΕΣΟΣ)
! --- 4.3 Εύρεση φοιτητή με μεγαλύτερο μέσο όρο ---
maxΜ <- ΜΕΣΟΣ[1]
tempΟνομα <- ΟΝ[1]
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ n
ΑΝ ΜΕΣΟΣ[i] > maxΜ ΤΟΤΕ
maxΜ <- ΜΕΣΟΣ[i]
tempΟνομα <- ΟΝ[i]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ "Ο φοιτητής/τρια με τον μεγαλύτερο μέσο όρο: ", tempΟνομα, " -> ", maxΜ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
! --- 4.2 Διαδικασία για μέσο όρο ---
ΔΙΑΔΙΚΑΣΙΑ ΜΕΣΟΣ_ΟΡΟΣ (ΒΑΘΜ, πληθος, ΜΟ)
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: πληθος, i, j
ΠΡΑΓΜΑΤΙΚΕΣ: ΒΑΘΜ[120, 12], ΜΟ[120], αθρ, αθρ_ΜΟ
ΑΡΧΗ
αθρ_ΜΟ <- 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ πληθος
αθρ <- 0
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12
αθρ <- αθρ + ΒΑΘΜ[i, j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΜΟ[i] <- αθρ/ 12
αθρ_ΜΟ <- αθρ_ΜΟ + ΜΟ[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Γενικός μέσος όλων των φοιτητών/τριών: ', αθρ_ΜΟ/ πληθος
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ