Στις εξετάσεις του ΑΣΕΠ οι υποψήφιοι εξετάζονται σε τρεις θεματικές ενότητες. Ο βαθμός κάθε θεματικής ενότητας είναι από 1 έως 100. Η συνολική βαθμολογία κάθε υποψηφίου προκύπτει από τον μέσο όρο των βαθμών του στις τρεις θεματικές ενότητες. Ο υποψήφιος θεωρείται ως επιτυχών, αν η συνολική βαθμολογία του είναι τουλάχιστον 55 και ο βαθμός του σε κάθε θεματική ενότητα είναι τουλάχιστον 50. Να γράψετε αλγόριθμο ο οποίος:

Για κάθε υποψήφιο:

Γ1. Να διαβάζει το όνομά του και τους βαθμούς του σε καθεμία από τις τρεις θεματικές ενότητες. (Δεν απαιτείται έλεγχος εγκυρότητας δεδομένων).

Μονάδες 2

Γ2. Να εμφανίζει τον μεγαλύτερο από τους βαθμούς που πήρε στις τρεις θεματικές ενότητες.

Μονάδες 5

Γ3. Να εμφανίζει το όνομα και τη συνολική βαθμολογία του στην περίπτωση που είναι επιτυχών.

Μονάδες 4

Γ4. Ο αλγόριθμος να τερματίζει όταν δοθεί ως όνομα η λέξη “ΤΕΛΟΣ”.

Μονάδες 4

Γ5. Στο τέλος να εμφανίζει το όνομα του επιτυχόντα με τη μικρότερη συνολική   βαθμολογία. Θεωρήστε ότι είναι μοναδικός.

Μονάδες 5

 Τα θέματα σε pdf, 2011, Μαΐου-Ιουνίου, Ημερήσια

ΛΥΣΗ

ΘΕΜΑ_Γ_2011_ΗΜΕΡ [demo_δεδομένα]

ΠΡΟΓΡΑΜΜΑ  ΘΕΜΑ_Γ_2011_ΗΜΕΡ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: i, S, ΒΑΘ[3], ελάχιστο, μέγιστο
  ΛΟΓΙΚΕΣ: επιτυχών
  ΧΑΡΑΚΤΗΡΕΣ: ΟΝΟΜΑ, Όνομα_ελάχιστο
ΑΡΧΗ
  ελάχιστο <-- 1000 ! ελάχιστη συνολική βαθμολογία επιτυχόντα
                    ! αρχική τιμή αρκετά μεγάλη ώστε να αλλάξει (βλ.παρ.3, κεφ2)

  ΓΡΑΨΕ 'ΔΩΣΤΕ ΟΝΟΜΑ ΥΠΟΨΗΦΙΟΥ'
  ΔΙΑΒΑΣΕ ΟΝΟΜΑ        

  ΟΣΟ ΟΝΟΜΑ <> 'ΤΕΛΟΣ' ΕΠΑΝΑΛΑΒΕ ! Γ4          
    ! Γ1
    ΓΡΑΨΕ 'ΔΩΣΤΕ ΒΑΘΜΟΥΣ (3)'
    ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3
      ΔΙΑΒΑΣΕ ΒΑΘ[i]
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

    ! Γ2
    ! εύρεση μέγιστου σε πίνακα
    μέγιστο <-- ΒΑΘ[1]
    ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 3
      ΑΝ ΒΑΘ[i]>μέγιστο ΤΟΤΕ
        μέγιστο <-- ΒΑΘ[i]
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'ΜΕΓΑΛΥΤΕΡΟΣ ΒΑΘΜΟΣ ', μέγιστο

    ! Γ3
    ! αν έστω ένας βαθμός κάτω του 50, απορρίπτεται ο υποψήφιος
    επιτυχών <-- ΑΛΗΘΗΣ
    i <-- 1
    ΟΣΟ i <= 3 ΚΑΙ επιτυχών = ΑΛΗΘΗΣ ΕΠΑΝΑΛΑΒΕ
      ΑΝ ΒΑΘ[i]<50 ΤΟΤΕ
        επιτυχών <-- ΨΕΥΔΗΣ
      ΤΕΛΟΣ_ΑΝ
      i <-- i+1
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

    ! υπολογισμός συνολικής βαθμολογίας επιτυχόντα
    ΑΝ επιτυχών=ΑΛΗΘΗΣ ΤΟΤΕ
      S <-- 0
      ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3
        S <-- S + ΒΑΘ[i]
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΤΕΛΟΣ_ΑΝ

    ! Αν MO κάτω του 55, απορρίπτεται ο υποψήφιος
    ΑΝ επιτυχών=ΑΛΗΘΗΣ ΤΟΤΕ
      ΑΝ S/3 < 55 ΤΟΤΕ
        επιτυχών <-- ΨΕΥΔΗΣ
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ

    ! όνομα και σύνολική βαθμολογία επιτυχόντα
    ΑΝ επιτυχών=ΑΛΗΘΗΣ ΤΟΤΕ
      ΓΡΑΨΕ 'ΕΠΙΤΥΧΩΝ', ΟΝΟΜΑ, S
    ΤΕΛΟΣ_ΑΝ

    ! Γ5
    ! υπολογισμός ελάχιστης βαθμολογίας επιτυχόντων
    ΑΝ επιτυχών=ΑΛΗΘΗΣ ΤΟΤΕ
      ΑΝ S < ελάχιστο ΤΟΤΕ
        ελάχιστο <-- S
        Όνομα_ελάχιστο <-- ΟΝΟΜΑ
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ

    ΓΡΑΨΕ 'ΔΩΣΤΕ ΟΝΟΜΑ ΥΠΟΨΗΦΙΟΥ'
    ΔΙΑΒΑΣΕ ΟΝΟΜΑ

  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΑΝ ελάχιστο<>1000 ΤΟΤΕ  ! Περίπτωση να μη έχει γίνει εισαγωγή
    ΓΡΑΨΕ 'ΥΠΟΨΗΦΙΟΣ ΜΕ ΤΗΝ ΜΙΚΡΟΤΕΡΗ ΒΑΘΜΟΛΟΓΙΑ'
    ΓΡΑΨΕ Όνομα_ελάχιστο, ελάχιστο
  ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ