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

Λύσεις ασκήσεων από θέματα Πανελλαδικών εξετάσεων


ΠΡΟΓΡΑΜΜΑ ψηφοφορία_αρχηγού
!2011 ΘΕΜΑ Δ
!Στην αρχή της ποδοσφαιρικής περιόδου οι 22 παίκτες μιας ομάδας, οι οποίοι αριθμούνται
!από 1 έως 22, ψηφίζουν για τους 3 αρχηγούς που θα τους εκπροσωπούν. Κάθε παίκτης
!μπορεί να ψηφίσει όσους συμπαίκτες του θέλει, ακόμα και τον εαυτό του.
!Τα αποτελέσματα της ψηφοφορίας καταχωρίζονται σε έναν πίνακα ΨΗΦΟΣ με 22 γραμμές και 22 στήλες,
!έτσι ώστε το στοιχείο ΨΗΦΟΣ[i,j] να έχει την τιμή 1, όταν ο παίκτης με αριθμό i έχει ψηφίσει
!τον παίκτη με αριθμό j, και τιμή 0 στην αντίθετη περίπτωση.
!Να γράψετε αλγόριθμο ο οποίος:
!Δ1. Να διαβάζει τα στοιχεία του πίνακα ΨΗΦΟΣ και να ελέγχει την ορθότητά τους
!με αποδεκτές τιμές 0 ή 1. (Μονάδες 4)
!Δ2. Να εμφανίζει το πλήθος των παικτών που δεν ψήφισαν κανέναν. (Μονάδες 4)
!Δ3. Να εμφανίζει το πλήθος των παικτών που ψήφισαν τον εαυτό τους. (Μονάδες 4)
!Δ4. Να βρίσκει τους 3 παίκτες που έλαβαν τις περισσότερες ψήφους και να εμφανίζει τους
!αριθμούς τους και τις ψήφους που έλαβαν. Θεωρήστε ότι δεν υπάρχουν ισοψηφίες. (Μονάδες 8)

ΣΤΑΘΕΡΕΣ
  Ν = 22
  
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: i, j, ΨΗΦΟΣ[Ν, Ν], πλήθος_που_δεν_ψήφισαν, πόσους_ψήφισε, πλήθος_ψήφισαν_εαυτό
  ΑΚΕΡΑΙΕΣ: παίκτης[Ν], σύνολο_που_έλαβε[Ν], temp
ΑΡΧΗ
! Να διαβάζει τα στοιχεία του πίνακα ΨΗΦΟΣ και να ελέγχει την ορθότητά τους
!με αποδεκτές τιμές 0 ή 1.
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
    ΓΡΑΨΕ 'Διάβασμα ψήψων που έδωσε ο ', i, ' παίκτης'
    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ Ν
      ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
        ΓΡΑΨΕ 'Ο παίχτης ', i, ' ψήφισε τον παίχτη ', j, '; (0/1)'
        ΔΙΑΒΑΣΕ ΨΗΦΟΣ[i, j] 
      ΜΕΧΡΙΣ_ΟΤΟΥ ΨΗΦΟΣ[i, j] = 0 Η ΨΗΦΟΣ[i, j] = 1
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ


!Δ2. Να εμφανίζει το πλήθος των παικτών που δεν ψήφισαν κανέναν. (Μονάδες 4)

  πλήθος_που_δεν_ψήφισαν <- 0
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
    πόσους_ψήφισε <- 0
    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ Ν
      ΑΝ ΨΗΦΟΣ[i, j] = 1 ΤΟΤΕ
        πόσους_ψήφισε <- πόσους_ψήφισε + 1
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΑΝ πόσους_ψήφισε = 0 ΤΟΤΕ
      πλήθος_που_δεν_ψήφισαν <- πλήθος_που_δεν_ψήφισαν + 1
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ πλήθος_που_δεν_ψήφισαν, ' παίκτες δεν ψήφισαν κανένα.'

!Δ3. Να εμφανίζει το πλήθος των παικτών που ψήφισαν τον εαυτό τους. (Μονάδες 4)
  πλήθος_ψήφισαν_εαυτό <- 0
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
    ΑΝ ΨΗΦΟΣ[i, i] = 1 ΤΟΤΕ
      πλήθος_ψήφισαν_εαυτό <- πλήθος_ψήφισαν_εαυτό + 1
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ πλήθος_ψήφισαν_εαυτό, ' παίκτες ψήφισαν τον ευατό τους'


!Δ4. Να βρίσκει τους 3 παίκτες που έλαβαν τις περισσότερες ψήφους και να εμφανίζει τους
!αριθμούς τους και τις ψήφους που έλαβαν. Θεωρήστε ότι δεν υπάρχουν ισοψηφίες. (Μονάδες 8)
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
    παίκτης[i] <- i
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ Ν
    σύνολο_που_έλαβε[j] <- 0
    ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
      σύνολο_που_έλαβε[j] <- σύνολο_που_έλαβε[j] + ΨΗΦΟΣ[i, j] 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 4
    ΓΙΑ j ΑΠΟ Ν ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
      ΑΝ σύνολο_που_έλαβε[j] > σύνολο_που_έλαβε[j - 1] ΤΟΤΕ
        temp <- σύνολο_που_έλαβε[j] 
        σύνολο_που_έλαβε[j] <- σύνολο_που_έλαβε[j - 1] 
        σύνολο_που_έλαβε[j - 1] <- temp
        

        temp <- παίκτης[j] 
        παίκτης[j] <- παίκτης[j - 1] 
        παίκτης[j - 1] <- temp
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3
    ΓΡΑΨΕ i, 'ος ο παίκτης με αριθμό ', παίκτης[i], ' με ', σύνολο_που_έλαβε[i], ' ψήφους'
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ 


 

Κεντρική Σελίδα Αλλα e-μαθήματα ΑΕΠΠ Αλλη άσκηση Επιστροφή στην κορυφή της σελίδας
© 2011 - 2ο Γενικό Λύκειο Γέρακα - Βασίλειος Αναστόπουλος