Ασκησιολόγιο ΓλωσσοΜάθειας
https://www.spinet.gr/glossomatheia/programs/

Προσομοίωση - Θέμα 4
https://www.spinet.gr/glossomatheia/programs/viewtopic.php?f=30&t=560
Σελίδα 1 από 1

Συγγραφέας:  ΧΑΤΖΗΤΣΟΜΠΑΝΗΣ ΘΕΟΦΙΛΟΣ [ Τετ 23 Μάιος 2007 11:36 am ]
Θέμα δημοσίευσης:  Προσομοίωση - Θέμα 4

Syntax: [ Download ] [ Hide ]
!=================================================================================================
! ΠΡΟΣΟΜΟΙΩΣΗ 2007 - ΘΕΜΑ 4
!=================================================================================================
! Το 1988 στο πρωτάθλημα της FORMULA1 αποφασίστηκε ο τρόπος υπολογισμού της βαθμολογίας των οδηγών
! να είναι ο ακόλουθος : Αν και θα έπαιρναν μέρος σε 16 αγώνες, η κατάταξή τους θα κρινόταν από το
! άθροισμα των 11 καλύτερων βαθμολογιών τους.
! Να γραφεί αλγόριθμος ο οποίος :
!  Α) Καταχωρεί σε ένα μονοδιάστατο πίνακα τα ονόματα των 36 οδηγών που συμμετείχαν.
!  B) Καταχωρεί σε ένα δισδιάστατο πίνακα τη βαθμολογία των 36 οδηγών στους 16 αγώνες.
!  Γ) Ταξινομεί σε φθίνουσα σειρά τις βαθμολογίες καθενός από τους 36 οδηγούς.
!  Δ) Υπολογίζει τη συνολική βαθμολογία κάθε οδηγού αθροίζοντας τις 11 καλύτερες βαθμολογίες του.
!  Ε) Εμφανίζει το όνομα του πρωταθλητή ακολουθούμενο από τη συνολική βαθμολογία του.
!     Υποθέτουμε ότι δεν υπάρχει ισοβαθμία στην 1η θέση.
!=================================================================================================

ΠΡΟΓΡΑΜΜΑ PR_07_4
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ : b[36,16] , s[36] , i , j , k , temp , max , winner
  ΧΑΡΑΚΤΗΡΕΣ : name[36]
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 36
    ΓΡΑΨΕ 'Δώσε το όνομα του οδηγού' , i
    ΔΙΑΒΑΣΕ name[i]
    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 16
      ΓΡΑΨΕ 'Δώσε τη βαθμολογία του οδηγού', i , 'στον αγώνα', j
      ΔΙΑΒΑΣΕ b[i,j]
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΙΑ k ΑΠΟ 1 ΜΕΧΡΙ 36
    ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 16
      ΓΙΑ j ΑΠΟ 16 ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1
        ΑΝ b[k,j-1] < b[k,j] ΤΟΤΕ
          temp <-- b[k,j-1]
          b[k,j-1] <-- b[k,j]
          b[k,j] <-- temp
        ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 36
    s[i] <-- 0
    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 11
      s[i] <-- s[i] + b[i,j]
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  max <-- 0
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 36
    ΑΝ s[i] > max ΤΟΤΕ
      max <-- s[i]
      winner <-- i
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ 'ΝΙΚΗΤΗΣ O', name[winner] , 'ME', max , 'BAΘΜΟΥΣ.'

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

Σελίδα 1 από 1 Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/