Δευτέρα, 10 Δεκεμβρίου 2018

DvD Club

Βαθμός Δυσκολίας:
2/5
Εκφώνηση Ασκησης: 

 

Το dvd club της γειτονιά σας  θέλει να αναρτήσει σε μια ηλεκτρονική πινακίδα τις πιο δημοφιλείς ταινίες. Γι' αυτό θα χρειαστεί έναν αλγόριθμο σε "ΓΛΩΣΣΑ" ο οποίος:

α) θα διαβάζει το όνομα, το είδος και τις ενοικιάσεις μιας ταινίας και θα τα αποθηκεύει σε αντίστοιχους πίνακες. Το πλήθος των ταινιών είναι 100.

β) να εμφανίζει τις 10 καλύτερες ταινίες σύμφωνα με τις πωλήσεις. Σε περίπτωση που οι ταινίες έχουν το ίδιο πλήθος ενοικιάσεων θα εμφανίζονται κατά αλφαβητική σειρά με βάση το είδος. Σε περίπτωση και που το είδος είναι ίδιο να εμφανίζονται κατά αλφαβητική σειρά σύμφωνα με το όνομα.

Επιμέλεια: Γιάννης Διαμαντίδης

 

Λύση Άσκησης: 
 
ΠΡΟΓΡΑΜΜΑ dvd_club
ΜΕΤΑΒΛΗΤΕΣ
  ΧΑΡΑΚΤΗΡΕΣ: ΤΑΙΝ[100], ΕΙΔ[100], tmp1, tmp2
  ΑΚΕΡΑΙΕΣ: ΕΝ[100], tmp, j, ι
 
ΑΡΧΗ
 
  ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 100
    ΓΡΑΨΕ "Δώσε το όνομα της ταινίας"
    ΔΙΑΒΑΣΕ ΤΑΙΝ[ι] 
    ΓΡΑΨΕ "Δώσε το είδος της ταινίας"
    ΔΙΑΒΑΣΕ ΕΙΔ[ι] 
    ΓΡΑΨΕ "Δώσε το πλήθος των ενοικιάσεων"
    ΔΙΑΒΑΣΕ ΕΝ[ι] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 
!Ταξινομούμε τους πίνακες με βάση τον πίνακα ΕΝ με τον αλγόριθμο της φυσαλίδας.
 
  ΓΙΑ ι ΑΠΟ 2 ΜΕΧΡΙ 100
    ΓΙΑ j ΑΠΟ 100 ΜΕΧΡΙ ι ΜΕ_ΒΗΜΑ -1
      ΑΝ ΕΝ[j] > ΕΝ[j - 1] ΤΟΤΕ
        tmp <- ΕΝ[j] 
        ΕΝ[j] <- ΕΝ[j - 1] 
        ΕΝ[j - 1] <- tmp
        tmp1 <- ΕΙΔ[j] 
        ΕΙΔ[j] <- ΕΙΔ[j - 1] 
        ΕΙΔ[j - 1] <- tmp1
        tmp2 <- ΤΑΙΝ[j] 
        ΤΑΙΝ[j] <- ΤΑΙΝ[j - 1] 
        ΤΑΙΝ[j - 1] <- tmp2
      ΑΛΛΙΩΣ_ΑΝ ΕΝ[j] = ΕΝ[j - 1] ΤΟΤΕ
        ΑΝ ΕΙΔ[j] < ΕΙΔ[j - 1] ΤΟΤΕ
          tmp1 <- ΕΙΔ[j] 
          ΕΙΔ[j] <- ΕΙΔ[j - 1] 
          ΕΙΔ[j - 1] <- tmp1
          tmp2 <- ΤΑΙΝ[j] 
          ΤΑΙΝ[j] <- ΤΑΙΝ[j - 1] 
          ΤΑΙΝ[j - 1] <- tmp2
        ΑΛΛΙΩΣ_ΑΝ ΕΙΔ[j] = ΕΙΔ[j - 1] ΤΟΤΕ
          ΑΝ ΤΑΙΝ[j] < ΤΑΙΝ[j - 1] ΤΟΤΕ
            tmp2 <- ΤΑΙΝ[j] 
            ΤΑΙΝ[j] <- ΤΑΙΝ[j - 1] 
            ΤΑΙΝ[j - 1] <- tmp2
          ΤΕΛΟΣ_ΑΝ
        ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 
  ΓΡΑΨΕ "Οι 10 πιο δημοφιλείς ταινίες είναι: "
  ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 10
    ΓΡΑΨΕ ι, ". ",  ΤΑΙΝ[ι] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ