e-ΜΑΘΗΜΑΤΑ
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό περιβάλλον

Λύσεις ασκήσεων Πανελλαδικών Εξετάσεων


ΠΡΟΓΡΑΜΜΑ AEPPoBASKET
!ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ
!ΗΜΕΡΗΣΙΩΝ KAI ΕΣΠΕΡΙΝΩΝ ΓΕΝΙΚΩΝ ΛΥΚΕΙΩΝ
!ΔΕΥΤΕΡΑ 12 ΣΕΠΤΕΜΒΡΙΟΥ 2022

!ΘΕΜΑ Δ
! Σε μια διοργάνωση καλαθοσφαίρισης συμμετέχουν έξι ομάδες, από τις οποίες
! προκρίνονται οι τέσσερις.
! Κάθε ομάδα παίζει έναν αγώνα με καθεμιά από τις υπόλοιπες ομάδες.
! Ο νικητής κάθε αγώνα παίρνει 2 βαθμούς, και ο ηττημένος 1 βαθμό.
! Για την τελική κατάταξη των ομάδων, η γραμματεία της διοργάνωσης
! χρειάζεται να γνωρίζει για κάθε ομάδα τα ακόλουθα:
!- συνολική βαθμολογία
!- συνολικούς πόντους που πέτυχε
!- συνολικούς πόντους που δέχτηκε.
!Τα παραπάνω στοιχεία αποθηκεύονται σε πίνακα ΑΠ[6,3].
!i. Κάθε γραμμή αντιστοιχεί σε μια ομάδα.
!ii. Η πρώτη στήλη περιέχει την συνολική βαθμολογία.
!iii. Η δεύτερη στήλη περιέχει τους συνολικούς πόντους που πέτυχε.
!iv. Η τρίτη στήλη περιέχει τους συνολικούς πόντους που δέχθηκε.
!Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:
!Δ1. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων.
!Δ2. α. Να διαβάζει τα ονόματα των ομάδων σε ένα πίνακα ΟΜ[6].
!    β. Για καθέναν από τους αγώνες:
!       i.  Να εμφανίζει τα ονόματα των δύο ομάδων.
!       ii. Να ζητάει τους πόντους που πέτυχε η κάθε ομάδα
!           και να τους δέχεται εφόσον δεν είναι αρνητικοί
!           και είναι διαφορετικοί μεταξύ τους .
!γ. Να ενημερώνει κατάλληλα τον πίνακα ΑΠ[6,3] .
!
! Δ3. Να κατατάσσει και να εμφανίζει τις ομάδες σε φθίνουσα σειρά
! ανάλογα με τη βαθμολογία τους και σε περίπτωση ισοβαθμίας
! να προηγείται η ομάδα με τη μεγαλύτερη διαφορά πόντων
! (συνολικοί πόντοι που πέτυχε - συνολικοί πόντοι που δέχθηκε).

!ΣΗΜΕΙΩΣΗ:
!Να θεωρήσετε ότι δεν υπάρχουν ομάδες με ίση συνολική διαφορά πόντων.

ΣΤΑΘΕΡΕΣ
  ΣΤΗΛΗ_ΒΑΘΜΩΝ = 1
  ΣΤΗΛΗ_ΠΟΝΤΟΙ_ΕΒΑΛΕ = 2
  ΣΤΗΛΗ_ΠΟΝΤΟΙ_ΔΕΧΘΗΚΕ = 3

ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΑΠ[6, 3] 
  ΧΑΡΑΚΤΗΡΕΣ: ΟΜ[6] 

  ΑΚΕΡΑΙΕΣ: i, j, k, πόντοιΥπέρ, πόντοιΚατά, temp
  ΧΑΡΑΚΤΗΡΕΣ: tempO
ΑΡΧΗ

!Δ2. α. Να διαβάζει τα ονόματα των ομάδων σε ένα πίνακα ΟΜ[6].
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 6
    ΓΡΑΨΕ 'Δώστε όνομα ομάδας ', i, ' : '
    ΔΙΑΒΑΣΕ ΟΜ[i] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ


!Δ2. β. Για καθέναν από τους αγώνες:
!       i.  Να εμφανίζει τα ονόματα των δύο ομάδων.
!       ii. Να ζητάει τους πόντους που πέτυχε η κάθε ομάδα
!           και να τους δέχεται εφόσον δεν είναι αρνητικοί
!           και είναι διαφορετικοί μεταξύ τους .
!γ. Να ενημερώνει κατάλληλα τον πίνακα ΑΠ[6,3] .

! Αρχικοποίηση πίνακα
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 6
    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
      ΑΠ[i, j] <- 0
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ


  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
    ΓΙΑ j ΑΠΟ i + 1 ΜΕΧΡΙ 6
      ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
        ΓΡΑΨΕ 'Δώστε σκορ αγώνα :', ΟΜ[i], '-', ΟΜ[j] 
        ΔΙΑΒΑΣΕ πόντοιΥπέρ, πόντοιΚατά

        ΑΝ πόντοιΥπέρ < 0 Η πόντοιΚατά < 0 Η πόντοιΥπέρ = πόντοιΚατά ΤΟΤΕ
          ΓΡΑΨΕ 'Λάθος τιμές. Ξαναδώστε'
        ΤΕΛΟΣ_ΑΝ
      ΜΕΧΡΙΣ_ΟΤΟΥ πόντοιΥπέρ >= 0 ΚΑΙ πόντοιΚατά >= 0
      & ΚΑΙ πόντοιΥπέρ <> πόντοιΚατά

      ΑΝ πόντοιΥπέρ > πόντοιΚατά ΤΟΤΕ
        ΑΠ[i, ΣΤΗΛΗ_ΒΑΘΜΩΝ] <- ΑΠ[i, ΣΤΗΛΗ_ΒΑΘΜΩΝ] + 2
        ΑΠ[j, ΣΤΗΛΗ_ΒΑΘΜΩΝ] <- ΑΠ[j, ΣΤΗΛΗ_ΒΑΘΜΩΝ] + 1
      ΑΛΛΙΩΣ
        ΑΠ[i, ΣΤΗΛΗ_ΒΑΘΜΩΝ] <- ΑΠ[i, ΣΤΗΛΗ_ΒΑΘΜΩΝ] + 1
        ΑΠ[j, ΣΤΗΛΗ_ΒΑΘΜΩΝ] <- ΑΠ[j, ΣΤΗΛΗ_ΒΑΘΜΩΝ] + 2
      ΤΕΛΟΣ_ΑΝ
      ΑΠ[i, ΣΤΗΛΗ_ΠΟΝΤΟΙ_ΕΒΑΛΕ] <- ΑΠ[i, ΣΤΗΛΗ_ΠΟΝΤΟΙ_ΕΒΑΛΕ] + πόντοιΥπέρ
      ΑΠ[i, ΣΤΗΛΗ_ΠΟΝΤΟΙ_ΔΕΧΘΗΚΕ] <- ΑΠ[i, ΣΤΗΛΗ_ΠΟΝΤΟΙ_ΔΕΧΘΗΚΕ] + πόντοιΚατά
      ΑΠ[j, ΣΤΗΛΗ_ΠΟΝΤΟΙ_ΕΒΑΛΕ] <- ΑΠ[j, ΣΤΗΛΗ_ΠΟΝΤΟΙ_ΕΒΑΛΕ] + πόντοιΚατά
      ΑΠ[j, ΣΤΗΛΗ_ΠΟΝΤΟΙ_ΔΕΧΘΗΚΕ] <- ΑΠ[j, ΣΤΗΛΗ_ΠΟΝΤΟΙ_ΔΕΧΘΗΚΕ] + πόντοιΥπέρ


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

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

! θα ταξινομήσουμε με κριτήριο την πρώτη στήλη με τους βαθμούς.
! σε περίπτωση ισοβαμίας ελέγχουμε τη διαφορά υπέρ-κατά
! Όταν χρειάζεται αντιμετάθεση θα αλλάζουμε όλη τη γραμμή (και τις 3 στήλες)
! και παράλληλα τα ονόματα.

  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 6
    ΓΙΑ j ΑΠΟ 6 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
      ΑΝ (ΑΠ[j - 1, ΣΤΗΛΗ_ΒΑΘΜΩΝ] < ΑΠ[j, ΣΤΗΛΗ_ΒΑΘΜΩΝ]) 
        & Η ((ΑΠ[j - 1, ΣΤΗΛΗ_ΒΑΘΜΩΝ] = ΑΠ[j, ΣΤΗΛΗ_ΒΑΘΜΩΝ]) 
        & ΚΑΙ ( ΑΠ[j - 1, 2] - ΑΠ[j - 1, 3]) < ( ΑΠ[j, 2] - ΑΠ[j, 3])) ΤΟΤΕ
        ΓΙΑ k ΑΠΟ 1 ΜΕΧΡΙ 3
          temp <- ΑΠ[j - 1, k] 
          ΑΠ[j - 1, k] <- ΑΠ[j, k] 
          ΑΠ[j, k] <- temp
        ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
        tempO <- ΟΜ[j - 1] 
        ΟΜ[j - 1] <- ΟΜ[j] 
        ΟΜ[j] <- tempO

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

  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 6
    ΓΡΑΨΕ i, ΟΜ[i], ΑΠ[i, ΣΤΗΛΗ_ΒΑΘΜΩΝ], ΑΠ[i, 2] - ΑΠ[i, 3] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

 

© 2022 - 2ο Γενικό Λύκειο Γέρακα - Βασίλειος Αναστόπουλος