e-ΜΑΘΗΜΑΤΑ
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό περιβάλλον

Λύσεις ασκήσεων Πανελλαδικών Εξετάσεων


!ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ
!ΗΜΕΡΗΣΙΩΝ & ΕΣΠΕΡΙΝΩΝ ΓΕΝΙΚΩΝ ΛΥΚΕΙΩΝ
!ΠΕΜΠΤΗ 6 ΙΟΥΝΙΟΥ 2024
!
!
! ΘΕΜΑ Δ
!
!Μια επιχείρηση έχει 10 πωλητές. Θέλοντας να τους δώσει κίνητρο καθιέρωσε
!βραβείο για τον καλύτερο πωλητή κάθε μήνα.
!Να κατασκευάσετε πρόγραμμα σε ΓΛΩΣΣΑ, το οποίο:
!Δ1. α) Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. (μονάδες 2)
!β) Να καταχωρίζει τα ονόματα των πωλητών σε πίνακα ON[10] και τις
!μηνιαίες πωλήσεις κάθε πωλητή σε πίνακα ακεραίων Π[10,12] (δεν
!απαιτείται έλεγχος εγκυρότητας). (μονάδες 2)
!Μονάδες 4
!Δ2. Να βρίσκει και να εμφανίζει, για κάθε μήνα, το όνομα του πωλητή που
!πήρε το βραβείο (είχε τις μεγαλύτερες πωλήσεις). Να θεωρήσετε ότι για
!κάθε μήνα ο βραβευμένος πωλητής είναι μοναδικός.
!Μονάδες 5
!Δ3. Να υπολογίζει τις συνολικές πωλήσεις της επιχείρησης στο 1ο και στο 2ο
!εξάμηνο και να εμφανίζει ανάλογα με την περίπτωση ένα από τα
!παρακάτω μηνύματα:
!- «Οι πωλήσεις του 1ου εξαμήνου είναι μεγαλύτερες από τις πωλήσεις
!του 2ου εξαμήνου».
!- «Οι πωλήσεις του 2ου εξαμήνου είναι μεγαλύτερες από τις πωλήσεις
!του 1ου εξαμήνου».
!- «Οι πωλήσεις του 1ου και του 2ου εξαμήνου είναι ίσες».
!Μονάδες 6
!Δ4. Να διαβάζει το όνομα πωλητή και αν υπάρχει στον πίνακα ON[10] να
!υπολογίζει και να εμφανίζει τις συνολικές ετήσιες πωλήσεις του. Σε
!περίπτωση που δεν υπάρχει να εμφανίζει το μήνυμα «Ανύπαρκτος
!πωλητής». Για την αναζήτηση να καλείται το υποπρόγραμμα ΑΝΑΖ που
!περιγράφεται στο ερώτημα Δ5.
!Μονάδες 4
!Δ5. Να κατασκευάσετε το υποπρόγραμμα ΑΝΑΖ, το οποίο θα δέχεται ως
!είσοδο τον πίνακα ON[10] και ένα όνομα, θα αναζητά το όνομα στον
!πίνακα ON[10] και θα επιστρέφει τη θέση του ή την τιμή 0 στην περίπτωση
!που αυτό δεν υπάρχει.
!Μονάδες 6

ΜΕΤΑΒΛΗΤΕΣ
  ΧΑΡΑΚΤΗΡΕΣ: ON[10], ονομα
  ΑΚΕΡΑΙΕΣ: Π[10, 12], i, j, max, max_pos, σύνολο_Α, σύνολο_Β, αθροισμα, θεση

ΑΡΧΗ
!Δ1. β) Να καταχωρίζει τα ονόματα των πωλητών σε πίνακα ON[10] και τις
!μηνιαίες πωλήσεις κάθε πωλητή σε πίνακα ακεραίων Π[10,12] (δεν
!απαιτείται έλεγχος εγκυρότητας).

  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
    ΓΡΑΨΕ 'Δώστε όνομα ', i, ': '
    ΔΙΑΒΑΣΕ ON[i] 
    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12
      ΓΡΑΨΕ 'Δώστε πωλήσεις μήνα ', j, ' : '
      ΔΙΑΒΑΣΕ Π[i, j] 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ


!Δ2. Να βρίσκει και να εμφανίζει, για κάθε μήνα, το όνομα του πωλητή που
!πήρε το βραβείο (είχε τις μεγαλύτερες πωλήσεις). Να θεωρήσετε ότι για
!κάθε μήνα ο βραβευμένος πωλητής είναι μοναδικός.

  ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12
    max <- Π[1, j] 
    max_pos <- 1
    ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
      ΑΝ Π[i, j] > max ΤΟΤΕ
        max <- Π[i, j] 
        max_pos <- i
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'Πωλητής με τις μεγαλύτερες πωλήσεις μηνός: ', j, ON[ max_pos] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ


!Δ3. Να υπολογίζει τις συνολικές πωλήσεις της επιχείρησης στο 1ο και στο 2ο
!εξάμηνο και να εμφανίζει ανάλογα με την περίπτωση ένα από τα
!παρακάτω μηνύματα:
!- «Οι πωλήσεις του 1ου εξαμήνου είναι μεγαλύτερες από τις πωλήσεις του 2ου εξαμήνου».
!- «Οι πωλήσεις του 2ου εξαμήνου είναι μεγαλύτερες από τις πωλήσεις του 1ου εξαμήνου».
!- «Οι πωλήσεις του 1ου και του 2ου εξαμήνου είναι ίσες».

  σύνολο_Α <- 0
  σύνολο_Β <- 0

  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 6
      σύνολο_Α <- σύνολο_Α + Π[i, j] 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΙΑ j ΑΠΟ 7 ΜΕΧΡΙ 12
      σύνολο_Β <- σύνολο_Β + Π[i, j] 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΑΝ σύνολο_Α > σύνολο_Β ΤΟΤΕ
    ΓΡΑΨΕ 'Οι πωλήσεις του 1ου εξαμήνου είναι μεγαλύτερες από τις πωλήσεις του 2ου εξαμήνου'
  ΑΛΛΙΩΣ_ΑΝ σύνολο_Α < σύνολο_Β ΤΟΤΕ
    ΓΡΑΨΕ 'Οι πωλήσεις του 2ου εξαμήνου είναι μεγαλύτερες από τις πωλήσεις του 1ου εξαμήνου'
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Οι πωλήσεις του 1ου και του 2ου εξαμήνου είναι ίσες'
  ΤΕΛΟΣ_ΑΝ




!Δ4. Να διαβάζει το όνομα πωλητή και αν υπάρχει στον πίνακα ON[10] να
!υπολογίζει και να εμφανίζει τις συνολικές ετήσιες πωλήσεις του. Σε
!περίπτωση που δεν υπάρχει να εμφανίζει το μήνυμα «Ανύπαρκτος
!πωλητής». Για την αναζήτηση να καλείται το υποπρόγραμμα ΑΝΑΖ που
!περιγράφεται στο ερώτημα Δ5.

  ΔΙΑΒΑΣΕ ονομα
  θεση <- ΑΝΑΖ (ON, ονομα) 
  ΑΝ θεση = 0 ΤΟΤΕ
    ΓΡΑΨΕ 'Ανύπαρκτος πωλητής'
  ΑΛΛΙΩΣ
    αθροισμα <- 0
    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12
      αθροισμα <- αθροισμα + Π[θεση, j] 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'συνολικές ετήσιες πωλήσεις :', αθροισμα
  ΤΕΛΟΣ_ΑΝ


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






!Δ5. Να κατασκευάσετε το υποπρόγραμμα ΑΝΑΖ, το οποίο θα δέχεται ως
!είσοδο τον πίνακα ON[10] και ένα όνομα, θα αναζητά το όνομα στον
!πίνακα ON[10] και θα επιστρέφει τη θέση του ή την τιμή 0 στην περίπτωση
!που αυτό δεν υπάρχει.
ΣΥΝΑΡΤΗΣΗ ΑΝΑΖ (ON, ονομα): ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΧΑΡΑΚΤΗΡΕΣ: ON[10], ονομα
  ΑΚΕΡΑΙΕΣ: i, pos
ΑΡΧΗ
  pos <- 0
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
    ΑΝ ON[i] = ονομα ΤΟΤΕ
      pos <- i
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΑΝΑΖ <- pos
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

 

© 2024 - 2ο Γενικό Λύκειο Γέρακα - Βασίλειος Αναστόπουλος