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

Εσπερινό - Θέμα 3
http://spinet.gr/glossomatheia/programs/viewtopic.php?f=39&t=672
Σελίδα 1 από 1

Συγγραφέας:  ΧΑΤΖΗΤΣΟΜΠΑΝΗΣ ΘΕΟΦΙΛΟΣ [ Δευτ 28 Ιούλ 2008 12:39 pm ]
Θέμα δημοσίευσης:  Εσπερινό - Θέμα 3

Syntax: [ Download ] [ Hide ]
! ===============================================================================================
! ΕΣΠΕΡΙΝΟ - ΜΑΙΟΣ 2008 - ΘΕΜΑ 3
! ===============================================================================================
! Για την ανάδειξη του επταμελούς (7) Διοικητικού Συμβουλίου ενός Πολιτιστικού Συλλόγου υπάρχουν
! 20 υποψήφιοι.
! Να γράψετε αλγόριθμο ο οποίος
!  α. διαβάζει τα ονόματα των υποψηφίων και τα αποθηκεύει σε πίνακα.
!  β. διαβάζει για κάθε υποψήφιο τον αριθμό των ψήφων που έλαβε και τον αποθηκεύει σε πίνακα.
!  γ. εμφανίζει τα ονόματα των εκλεγέντων μελών του Διοικητικού Συμβουλίου κατά φθίνουσα σειρά
!     ψήφων (να θεωρηθεί ότι δεν υπάρχουν περιπτώσεις ισοψηφίας).
!  δ. διαβάζει το όνομα ενός υποψηφίου και ελέγχει αν ο συγκεκριμένος εκλέγεται ή όχι,
!     εμφανίζοντας κατάλληλο μήνυμα.
! ===============================================================================================

ΠΡΟΓΡΑΜΜΑ  ESP_2008_05_3
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ : x[20] , i , j , temp1
  ΧΑΡΑΚΤΗΡΕΣ : name[20] , temp2 , y
  ΛΟΓΙΚΕΣ : flag
ΑΡΧΗ

  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
    ΓΡΑΨΕ 'Δώσε το όνομα του', i , 'ου υποψηφίου.'
    ΔΙΑΒΑΣΕ name[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
    ΓΡΑΨΕ 'Πόσες ψήφους πήρε ο' , name[i]
    ΔΙΑΒΑΣΕ x[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 20
    ΓΙΑ j ΑΠΟ 20 ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1
      ΑΝ x[j-1] < x[j] ΤΟΤΕ
        temp1 <-- x[j-1]
        x[j-1] <-- x[j]
        x[j] <-- temp1
        temp2 <-- name[j-1]
        name[j-1] <-- name[j]
        name[j] <-- temp2
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΡΑΨΕ 'Για το διοικητικό συμβούλιο εκλέγονται κατά σειρά οι εξής'
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 7
    ΓΡΑΨΕ name[i] , 'με' , x[i] , 'ψήφους.'
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΡΑΨΕ 'Για ποιον υποψήφιο ενδιαφέρεσαι;'
  ΔΙΑΒΑΣΕ y
  flag <-- ΨΕΥΔΗΣ
  i <-- 1
  ΟΣΟ i <= 7 ΚΑΙ flag = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
    ΑΝ y = name[i] ΤΟΤΕ
      flag <-- ΑΛΗΘΗΣ
    ΑΛΛΙΩΣ
      i <-- i + 1
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΑΝ flag = ΑΛΗΘΗΣ ΤΟΤΕ
    ΓΡΑΨΕ 'O' , y , 'εκλέγεται στη θέση' , i , 'με' , x[i] , 'ψήφους.'
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'O' , y , 'δεν εκλέγεται.'
  ΤΕΛΟΣ_ΑΝ

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

Συγγραφέας:  ΧΑΤΖΗΤΣΟΜΠΑΝΗΣ ΘΕΟΦΙΛΟΣ [ Δευτ 28 Ιούλ 2008 12:40 pm ]
Θέμα δημοσίευσης:  Εσπερινό - Θέμα 3 - Παραλλαγή

Syntax: [ Download ] [ Hide ]
! ===============================================================================================
! ΕΣΠΕΡΙΝΟ - ΜΑΙΟΣ 2008 - ΘΕΜΑ 3
! ===============================================================================================
! Για την ανάδειξη του επταμελούς (7) Διοικητικού Συμβουλίου ενός Πολιτιστικού Συλλόγου υπάρχουν
! 20 υποψήφιοι.
! Να γράψετε αλγόριθμο ο οποίος
!  α. διαβάζει τα ονόματα των υποψηφίων και τα αποθηκεύει σε πίνακα.
!  β. διαβάζει για κάθε υποψήφιο τον αριθμό των ψήφων που έλαβε και τον αποθηκεύει σε πίνακα.
!  γ. εμφανίζει τα ονόματα των εκλεγέντων μελών του Διοικητικού Συμβουλίου κατά φθίνουσα σειρά
!     ψήφων (να θεωρηθεί ότι δεν υπάρχουν περιπτώσεις ισοψηφίας).
!  δ. διαβάζει το όνομα ενός υποψηφίου και ελέγχει αν ο συγκεκριμένος εκλέγεται ή όχι,
!     εμφανίζοντας κατάλληλο μήνυμα.
! ===============================================================================================

ΠΡΟΓΡΑΜΜΑ  ESP_2008_05_3b
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ : x[20] , i , j , temp1
  ΧΑΡΑΚΤΗΡΕΣ : name[20] , temp2 , y
  ΛΟΓΙΚΕΣ : flag
ΑΡΧΗ                                                        

  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
    ΓΡΑΨΕ 'Δώσε το όνομα του', i , 'ου υποψηφίου.'
    ΔΙΑΒΑΣΕ name[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
    ΓΡΑΨΕ 'Πόσες ψήφους πήρε ο' , name[i]
    ΔΙΑΒΑΣΕ x[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 20
    ΓΙΑ j ΑΠΟ 20 ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1
      ΑΝ x[j-1] < x[j] ΤΟΤΕ
        temp1 <-- x[j-1]
        x[j-1] <-- x[j]
        x[j] <-- temp1
        temp2 <-- name[j-1]
        name[j-1] <-- name[j]
        name[j] <-- temp2
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΡΑΨΕ 'Για το διοικητικό συμβούλιο εκλέγονται κατά σειρά οι εξής'
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 7
    ΓΡΑΨΕ name[i] , 'με' , x[i] , 'ψήφους.'
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΡΑΨΕ 'Για ποιον υποψήφιο ενδιαφέρεσαι;'
  ΔΙΑΒΑΣΕ y
  flag <-- ΨΕΥΔΗΣ
  i <-- 1
  i <-- 1
  ΟΣΟ i <= 20 ΚΑΙ flag = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
    ΑΝ y = name[i] ΤΟΤΕ
      flag <-- ΑΛΗΘΗΣ
    ΑΛΛΙΩΣ
      i <-- i + 1
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΑΝ flag = ΑΛΗΘΗΣ ΤΟΤΕ
    ΑΝ i <= 7 ΤΟΤΕ
      ΓΡΑΨΕ 'O' , y , 'εκλέγεται στη θέση' , i , 'με' , x[i] , 'ψήφους.'
    ΑΛΛΙΩΣ
      ΓΡΑΨΕ 'O' , y , 'δεν εκλέγεται. Πήρε' , x[i] , 'ψήφους και ήρθε.' , i ,'ος'
    ΤΕΛΟΣ_ΑΝ
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Δέν υπάρχει υποψήφιος με τέτοιο όνομα.'
  ΤΕΛΟΣ_ΑΝ

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

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