Τώρα είναι Παρ 29 Μαρ 2024 12:50 am

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]




Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 1 Δημοσίευση ] 
Συγγραφέας Μήνυμα
ΔημοσίευσηΔημοσιεύτηκε: Δευτ 28 Ιούλ 2008 12:47 pm 
Χωρίς σύνδεση

Εγγραφή: Κυρ 12 Οκτ 2003 01:52 am
Δημοσιεύσεις: 189
Τοποθεσία: ΝΙΚΑΙΑ - ΠΕΙΡΑΙΑΣ
Syntax: [ Download ] [ Hide ]
! ==============================================================================
! ΗΜΕΡΗΣΙΟ - ΙOYΛIΟΣ 2008 - ΘΕΜΑ 4
! ==============================================================================
! Στο άθλημα των 110 μέτρων μετ εμποδίων, στους δύο ημιτελικούς αγώνες
! συμμετέχουν δέκα έξι (16) αθλητές (8 σε κάθε ημιτελικό). Σύμφωνα με τον
! κανονισμό στον τελικό προκρίνεται ο πρώτος αθλητής κάθε ημιτελικού.
! Η οκτάδα του τελικού συμπληρώνεται με τους αθλητές που έχουν τους έξι (6)
! καλύτερους χρόνους απ όλους τους υπόλοιπους συμμετέχοντες.
! Να θεωρήσετε ότι δεν υπάρχουν αθλητές με ίδιους χρόνους.
!  1. Να γράψετε πρόγραμμα στη "ΓΛΩΣΣΑ" το οποίο
!     α. περιλαμβάνει το τμήμα δηλώσεων.
!     β. καλεί τη διαδικασία ΕΙΣΟΔΟΣ για κάθε ημιτελικό ξεχωριστά.
!        Η διαδικασία διαβάζει το όνομα του αθλητή και τo χρόνο του
!        (με ακρίβεια δεκάτου του δευτερολέπτου).
!     γ. καλεί τη διαδικασία ΤΑΞΙΝΟΜΗΣΗ για κάθε ημιτελικό ξεχωριστά.
!        Η διαδικασία ταξινομεί τους αθλητές ως προς τον χρόνο τους με αύξουσα
!        σειρά.
!     δ. δημιουργεί τον πίνακα ΟΝ με τα ονόματα και τον πίνακα ΧΡ με τους
!        αντίστοιχους χρόνους των αθλητών που προκρίθηκαν στον τελικό.
!     ε. εμφανίζει τα ονόματα και τους χρόνους των αθλητών που θα λάβουν μέρος
!        στον τελικό.
!  2. Να γράψετε
!     α. τη διαδικασία ΕΙΣΟΔΟΣ.
!     β. τη διαδικασία ΤΑΞΙΝΟΜΗΣΗ.
! ==============================================================================

ΠΡΟΓΡΑΜΜΑ  ΗΜ_2008_07_4
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ : i , k , l
  ΠΡΑΓΜΑΤΙΚΕΣ : time1[8] , time2[8] , χρ[8]                  
  ΧΑΡΑΚΤΗΡΕΣ : name1[8] , name2[8] , ονομ[8]
ΑΡΧΗ

  ΓΡΑΨΕ '1ος ΗΜΙΤΕΛΙΚΟΣ'
  ΚΑΛΕΣΕ Είσοδος(name1 , time1)

  ΓΡΑΨΕ '2ος ΗΜΙΤΕΛΙΚΟΣ'
  ΚΑΛΕΣΕ Είσοδος(name2 , time2)

  ΚΑΛΕΣΕ Ταξινόμηση(name1 , time1)
  ΚΑΛΕΣΕ Ταξινόμηση(name2 , time2)

  ονομ[1] <-- name1[1]              !
  χρ[1] <-- time1[1]                ! Οι δύο πρώτοι προκρίνονται
  ονομ[2] <-- name2[1]              ! ότι χρόνο και αν έχουν.
  χρ[2] <-- time2[1]                !
  k <-- 2
  l <-- 2
  ΓΙΑ i ΑΠΟ 3 ΜΕΧΡΙ 8               !
    ΑΝ time1[k] < time2[l] ΤΟΤΕ     !
      ονομ[i] <-- name1[k]          !
      χρ[i] <-- time1[k]            ! Για τις θέσεις 3 έως 8
      k <-- k + 1                   ! συγκρίνουμε τους επόμενους
    ΑΛΛΙΩΣ                          ! των δύο ημιτελικών για
      ονομ[i] <-- name2[l]          ! βρούμε ποιος έχει το μικρότερο
      χρ[i] <-- time2[l]            ! χρόνο για να προκριθεί.
      l <-- l + 1                   !
    ΤΕΛΟΣ_ΑΝ                        !
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ                  !

  ΚΑΛΕΣΕ Ταξινόμηση(ονομ , χρ)      ! Ταξινομούμε αυτούς που προκρίθηκαν

  ΓΡΑΨΕ 'Για τον τελικό προκρίνονται οι εξής:'
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 8
    ΓΡΑΨΕ ονομ[i] , 'με χρόνο' , χρ[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

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

ΔΙΑΔΙΚΑΣΙΑ Είσοδος(a , b)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ : i
  ΠΡΑΓΜΑΤΙΚΕΣ : b[8]
  ΧΑΡΑΚΤΗΡΕΣ : a[8]
ΑΡΧΗ

  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 8
    ΓΡΑΨΕ 'Δώσε το όνομα και το χρόνο του αθλητή Νο:' , i
    ΔΙΑΒΑΣΕ a[i] , b[i]
    b[i] <-- Α_Μ(b[i]*10 + 0.5)   ! Στρογγυλεύουμε το χρόνο ώστε ότι και αν
    b[i] <-- b[i]/10              ! δοθεί να είναι με ακρίβεια δεκάτου.
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΔΙΑΔΙΚΑΣΙΑ Ταξινόμηση(a , b)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ : i , j
  ΠΡΑΓΜΑΤΙΚΕΣ : b[8] , temp1
  ΧΑΡΑΚΤΗΡΕΣ : a[8] , temp2
ΑΡΧΗ

  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 8
    ΓΙΑ j ΑΠΟ 8 ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1
      ΑΝ b[j-1] > b[j] ΤΟΤΕ
        temp1 <-- b[j-1]
        b[j-1] <-- b[j]
        b[j] <-- temp1
        temp2 <-- a[j-1]
        a[j-1] <-- a[j]
        a[j] <-- temp2
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
 


Κορυφή
 Προφίλ  
Απάντηση με παράθεση  
Τελευταίες δημοσιεύσεις:  Ταξινόμηση ανά  
Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 1 Δημοσίευση ] 

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]


Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες


Δεν μπορείτε να δημοσιεύετε νέα θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να απαντάτε σε θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επεξεργάζεστε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να διαγράφετε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επισυνάπτετε αρχεία σε αυτή τη Δ. Συζήτηση

Αναζήτηση για:
Μετάβαση σε:  
cron
Προβολές: