Κυριακή, 09 Δεκεμβρίου 2018

Δισκογραφική "Γαβ Γαβ"

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

 

Η δισκογραφική εταιρεία "Γαβ Γαβ" θέλει να κάνει το πλάνο της για το 2013 γι' αυτό το λόγο θα χρειαστεί έναν αλγόριθμο. Ο αλγόριθμος:

α) θα δέχεται το όνομα, το είδος κάθε καλλιτέχνη και τα συνολικά views που είχε για καθένα από τους 12 μήνες του έτους σε όλα τα official τραγούδια του. Στο είδος του τραγουδιστή θα μπορεί να αποθηκευτεί μόνο "Ροκ", "Εντεχνο" ή "Ποπ".  Το πλήθος των καλλιτεχνών είναι 400.

β) να υπολογίζει και να εμφανίζει τον καλλιτέχνη που είχε τα περισσότερα views τον 11 μήνα. Θεωρήστε ότι είναι μοναδικός.

γ) για κάθε καλλιτέχνη να δημιουργεί έναν καινούργιο πίνακα ViEWS_ΕΠΟΧΗ[400,4] στον οποίο θα αποθηκεύονται τα συνολικά views κάθε καλλιτέχνη ανά εποχή. Η πρώτη στήλη είναι για το χειμώνα (μήνες 12,1,2), η δεύτερη για την άνοιξη(μήνες 3,4,5) κτλπ. 

1) να εμφανίζει ποια εποχή είναι η πιο αποδοτική όσο αφορά τα περισσότερα views για κάθε καλλιτέχνη.

2) να εμφανίζει το συνολικό πλήθος των views όλων των καλλιτεχνών το φθινόπωρο.

δ) να εμφανίζει τα ονόματα των καλλιτεχνών που είχαν συνολικά views πάνω από 10000 και ανήκουν στο είδος ¨Εντεχνο".

ε) να εμφανίζει ποιο από τα είδη της μουσικής είναι περισσότερο δημοφιλές.

Επιμέλεια: mstamos.gr

Λύση Άσκησης: 
 
ΠΡΟΓΡΑΜΜΑ Δισκογραφική_Γαβ_Γαβ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ι, j, συν_views, συν_ποπ, συν_ροκ, συν_εντ, VIEWS[400, 12], ΜΑΧ, ViEWS_ΑΝΑ_ΕΠΟΧΗ[400, 4], επ_ΜΑΧ
  ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[400], ΕΙΔ[400], καλ_ΜΑΧ, είδος_ΜΑΧ
 
ΑΡΧΗ
 
!Ερώτημα α
  ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 400
    ΓΡΑΨΕ "Πληκτρολόγησε το όνομα του καλλιτέχνη"
    ΔΙΑΒΑΣΕ ΟΝ[ι] 
    ΓΡΑΨΕ "Πληκτρολόγησε το είδος της μουσικής του"
    ΔΙΑΒΑΣΕ ΕΙΔ[ι] 
    ΟΣΟ ΕΙΔ[ι] <> "Ροκ" ΚΑΙ ΕΙΔ[ι] <> "Έντεχνο" ΚΑΙ ΕΙΔ[ι] <> "Ποπ" ΕΠΑΝΑΛΑΒΕ
      ΓΡΑΨΕ "Λάθος είδος μουσικής. Ξαναδώσε!"
      ΔΙΑΒΑΣΕ ΕΙΔ[ι] 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
!Διαβασμα του δισδιάστατου πίνακα με τα views
    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12
      ΓΡΑΨΕ "Πληκτρολόγησε το πλήθος των views για τον ", j, " μήνα."
      ΔΙΑΒΑΣΕ VIEWS[ι, j] 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 
!Ερώτημα β
!Βρίσουμε το μέγιστο από την 11τη στήλη
  ΜΑΧ <- VIEWS[1, 11] 
  καλ_ΜΑΧ <- ΟΝ[1] 
  ΓΙΑ ι ΑΠΟ 2 ΜΕΧΡΙ 400
    ΑΝ VIEWS[ι, 11] > ΜΑΧ ΤΟΤΕ
      ΜΑΧ <- VIEWS[ι, 11] 
      καλ_ΜΑΧ <- ΟΝ[ι] 
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 
  ΓΡΑΨΕ "Ο καλλιτέχνης με τα περισσότερα views τον 11ο μήνα είναι ο/η ", καλ_ΜΑΧ
 
!Ερώτημα γ
 
!Στη πιο κάτω επανάληψη αθροίζουμε για κάθε καλλιτέχνη ανά εποχή τα views του και τα αποθηκεύουμε στον πίνακα ViEWS_ΑΝΑ_ΕΠΟΧΗ
 
  ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 400
!Για τον χειμώνα
    ViEWS_ΑΝΑ_ΕΠΟΧΗ[ι, 1] <- VIEWS[ι, 12] + VIEWS[ι, 1] + VIEWS[ι, 2] 
!Για την άνοιξη
    ViEWS_ΑΝΑ_ΕΠΟΧΗ[ι, 2] <- VIEWS[ι, 3] + VIEWS[ι, 4] + VIEWS[ι, 5] 
!Για το καλοκαίρι
    ViEWS_ΑΝΑ_ΕΠΟΧΗ[ι, 3] <- VIEWS[ι, 6] + VIEWS[ι, 7] + VIEWS[ι, 8] 
!Για το φθινόπωρο
    ViEWS_ΑΝΑ_ΕΠΟΧΗ[ι, 4] <- VIEWS[ι, 9] + VIEWS[ι, 10] + VIEWS[ι, 11] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 
!Ερώτημα γ-1
  ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 400
    ΜΑΧ <- ViEWS_ΑΝΑ_ΕΠΟΧΗ[ι, 1] 
    επ_ΜΑΧ <- 1
    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 4
      ΑΝ ViEWS_ΑΝΑ_ΕΠΟΧΗ[ι, j] > ΜΑΧ ΤΟΤΕ
        ΜΑΧ <- ViEWS_ΑΝΑ_ΕΠΟΧΗ[ι, j] 
        επ_ΜΑΧ <- j
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ "Η ", επ_ΜΑΧ, " του χρόνου είναι η πιο αποδοτική εποχή του ", ΟΝ[ι] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 
!Ερώτημα γ-2
 
  συν_views <- 0
  ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 400
    συν_views <- συν_views + ViEWS_ΑΝΑ_ΕΠΟΧΗ[ι, 4] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 
  ΓΡΑΨΕ "Το σύνολο των views όλων των καλλιτεχνών το φθινόπωρο είναι ", συν_views
 
 
!Ερώτημα δ
 
  ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 400
    ΑΝ ΕΙΔ[ι] = "Έντεχνο" ΤΟΤΕ
      συν_views <- 0
      ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12
        συν_views <- συν_views + VIEWS[ι, j] 
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      ΑΝ συν_views > 10000 ΤΟΤΕ
        ΓΡΑΨΕ "Ο καλλιτέχντης με πάνω από 10.000 views στο Έντεχνο είναι ο ", ΟΝ[ι] 
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 
 
!Ερώτημα ε
  συν_εντ <- 0
  συν_ποπ <- 0
  συν_ροκ <- 0
  ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 400
    συν_views <- 0
    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12
      συν_views <- συν_views + VIEWS[ι, j] 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 
    ΑΝ ΕΙΔ[ι] = "Έντεχνο" ΤΟΤΕ
      συν_εντ <- συν_εντ + συν_views
    ΑΛΛΙΩΣ_ΑΝ ΕΙΔ[ι] = "Ποπ" ΤΟΤΕ
      συν_ποπ <- συν_ποπ + συν_views
    ΑΛΛΙΩΣ_ΑΝ ΕΙΔ[ι] = "Ροκ" ΤΟΤΕ
      συν_ροκ <- συν_ροκ + συν_views
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 
  ΜΑΧ <- συν_εντ
  είδος_ΜΑΧ <- "Έντεχνο"
 
  ΑΝ συν_ποπ > ΜΑΧ ΤΟΤΕ
    ΜΑΧ <- συν_ποπ
    είδος_ΜΑΧ <- "Ποπ"
  ΤΕΛΟΣ_ΑΝ
 
  ΑΝ συν_ροκ > ΜΑΧ ΤΟΤΕ
    ΜΑΧ <- συν_ροκ
    είδος_ΜΑΧ <- "Ροκ"
  ΤΕΛΟΣ_ΑΝ
 
  ΓΡΑΨΕ "Το πιο δημοφιλές είδος είναι το ", είδος_ΜΑΧ
 
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ