Κυριακή 24 Μαΐου 2015

ΠΕΡΙ ΣΥΓΧΩΝΕΥΣΗΣ

1. Δύο εταιρίες πρόκειται να συγχωνευτούν οπότε πρέπει να συγχωνεύσουν το μητρώο υπαλλήλων τους. Η πρώτη εταιρία διατηρεί σε έναν πίνακα 50x5 το μητρώο υπαλλήλων της ως εξής: στην 1η στήλη επώνυμο, στη 2η όνομα, στην τρίτη διεύθυνση κατοικίας, στην τέταρτη αριθμό δελτίου ταυτότητας και στην πέμπτη τηλέφωνο ενώ η δεύτερη εταιρία διατηρεί σε έναν πίνακα 30x5 το μητρώο υπαλλήλων της ως εξής: στην 1η στήλη επώνυμο, στη 2η όνομα, στην τρίτη διεύθυνση κατοικίας, στην τέταρτη τηλέφωνο και στην πέμπτη αριθμό δελτίου ταυτότητας.
Να αναπτύξετε πρόγραμμα το οποίο:
Α) να εισάγει σε δυο πίνακες το μητρώο κάθε εταιρίας
Β) να δημιουργήσει πίνακα 80x5 με το ενιαίο μητρώο της νέας εταιρίας.
            Γ) να εμφανίζει τα στοιχεία του νέου ενιαίου μητρώου αλφαβητικά ως προς τα επώνυμα. Να χρησιμοποιήσετε δυο διαδικασίες, μια για την αντιμετάθεση δυο στοιχείων (να κληθεί 2 φορές από το πρόγραμμα) και μια για συγχώνευση πινάκων.

ΠΡΟΓΡΑΜΜΑ ΑΣΚ12
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: i, j, k
  ΧΑΡΑΚΤΗΡΕΣ: ΕΤ1[50, 5], ΕΤ2[30, 5], ΕΠΩΝ, ΟΝ, ΔΙΕΥΘ, ΑΤ, ΤΗΛ, ΕΤ[80, 5],temp
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50
          ΔΙΑΒΑΣΕ ΕΠΩΝ, ΟΝ, ΔΙΕΥΘ, ΑΤ, ΤΗΛ
          ΕΤ1[i, 1] 
 ΕΠΩΝ
          ΕΤ1[i, 2] 
 ΟΝ
          ΕΤ1[i, 3] 
 ΔΙΕΥΘ
          ΕΤ1[i, 4] 
 ΑΤ
          ΕΤ1[i, 5] 
 ΤΗΛ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ
 i ΑΠΟ 1 ΜΕΧΡΙ 30
          ΔΙΑΒΑΣΕ ΕΠΩΝ, ΟΝ, ΔΙΕΥΘ, ΑΤ, ΤΗΛ
          ΕΤ2[i, 1] 
 ΕΠΩΝ
          ΕΤ2[i, 2] 
 ΟΝ
          ΕΤ2[i, 3] 
 ΔΙΕΥΘ
          ΕΤ2[i, 4] 
 ΤΗΛ
          ΕΤ2[i, 5] 
 ΑΤ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 50
           ΓΙΑ j ΑΠΟ 50 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
                   ΑΝ ΕΤ1[j - 1, 1] > ΕΤ1[j, 1] ΤΟΤΕ
                           ΓΙΑ k ΑΠΟ 1 ΜΕΧΡΙ 5
                                   ΚΑΛΕΣΕ ΔΙΑΔ1(ΕΤ1[j - 1, k], ΕΤ1[j, k])
                           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                   ΤΕΛΟΣ_ΑΝ
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 30
           ΓΙΑ j ΑΠΟ 30 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
                   ΑΝ ΕΤ2[j - 1, 1] > ΕΤ2[j, 1] ΤΟΤΕ
                           ΓΙΑ k ΑΠΟ 1 ΜΕΧΡΙ 5
                                    ΚΑΛΕΣΕ ΔΙΑΔ1(ΕΤ2[j - 1, k], ΕΤ2[j, k])
                           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                   ΤΕΛΟΣ_ΑΝ
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 30
           temp 
 ΕΤ2[i, 4]
           ΕΤ2[i, 4] 
← ΕΤ2[i, 5]
           ΕΤ2[i, 5] 
 temp
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΚΑΛΕΣΕ ΔΙΑΔ2(ΕΤ1, ΕΤ2, ΕΤ)
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 80
         ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5
                 ΓΡΑΨΕ ΕΤ[i, j]
         ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


ΔΙΑΔΙΚΑΣΙΑ ΔΙΑΔ1(a, b)
ΜΕΤΑΒΛΗΤΕΣ
  ΧΑΡΑΚΤΗΡΕΣ: a, b, temp
ΑΡΧΗ
  temp 
 a
  a 
 b
  b 
 temp
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΔΙΑΔΙΚΑΣΙΑ ΔΙΑΔ2(Ε1, Ε2, ΕΤΕΛ)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: i, j, k, p, m, n
  ΧΑΡΑΚΤΗΡΕΣ: Ε1[50, 5], Ε2[30, 5], ΕΤΕΛ[80, 5]
ΑΡΧΗ
  k 
 1
  m 
 1
  n 
 1
  ΟΣΟ k <= 50 ΚΑΙ m <= 30 ΕΠΑΝΑΛΑΒΕ
            ΑΝ Ε1[k, 1] < Ε2[m, 1] ΤΟΤΕ
                    ΕΤΕΛ[n, 1] 
 Ε1[k, 1]
                    ΕΤΕΛ[n, 2] 
 Ε1[k, 2]
                    ΕΤΕΛ[n, 3] 
 Ε1[k, 3]
                    ΕΤΕΛ[n, 4] 
 Ε1[k, 4]
                    ΕΤΕΛ[n, 5] 
 Ε1[k, 5]
                    k 
 k + 1
            ΑΛΛΙΩΣ
                    ΕΤΕΛ[n, 1] 
 Ε2[m, 1]
                    ΕΤΕΛ[n, 2] 
 Ε2[m, 2]
                    ΕΤΕΛ[n, 3] 
 Ε2[m, 3]
                    ΕΤΕΛ[n, 4] 
 Ε2[m, 4]
                    ΕΤΕΛ[n, 5] 
 Ε2[m, 5]
                    m 
 m + 1
             ΤΕΛΟΣ_ΑΝ
              n 
 n + 1
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΑΝ k < 50 ΤΟΤΕ
          p 
← k
          ΓΙΑ i ΑΠΟ k ΜΕΧΡΙ 80
                  ΕΤΕΛ[i, 1] 
 Ε1[p, 1]
                  ΕΤΕΛ[i, 2] 
 Ε1[p, 2]
                  ΕΤΕΛ[i, 3] 
 Ε1[p, 3]
                  ΕΤΕΛ[i, 4] 
 Ε1[p, 4]
                  ΕΤΕΛ[i, 5] 
 Ε1[p, 5]
                  p 
 p + 1
          ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΑΝ

  ΑΝ m < 50 ΤΟΤΕ
          p 
 m
          ΓΙΑ i ΑΠΟ m ΜΕΧΡΙ 80
                 ΕΤΕΛ[i, 1] 
 Ε1[p, 1]
                 ΕΤΕΛ[i, 2] 
 Ε1[p, 2]
                 ΕΤΕΛ[i, 3] 
 Ε1[p, 3]
                 ΕΤΕΛ[i, 4] 
 Ε1[p, 4]
                 ΕΤΕΛ[i, 5] 
 Ε1[p, 5]
                 p 
 p + 1
          ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ 



Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου