e-ΜΑΘΗΜΑΤΑ |
Λύσεις ασκήσεων από τον Οδηγό Μελέτης Μαθητών |
ΠΡΟΓΡΑΜΜΑ Στατιστικά_μισθοδοσίας
! ΑΕΠΠ - Οδηγός Μελέτης Μαθητή
! Μη λυμένες ασκήσεις 4.10.18
!
! 18. Για τις ανάγκες μιας έρευνας δημιουργήθηκαν 3 μοναδιάστατοι πίνακες
! όπου ο 1ος περιέχει τι ονοματεπώνυμο, ο 2ος το φύλλο και ο 3ος τον μισθό
! για τους 245 υπαλλήλους μιας εταιρείας.
! Να γραφεί πρόγραμμα σε "ΓΛΩΣΣΑ", το οποίο να υπολογίζει και να εμφανίζει:
! 1) Πόσοι είναι οι υπάλληλοι με μισθό μεγαλύτερο από 560 euro.
! 2) Ποιο είναι το % ποσοστό των ανδρών με μισθό μεγαλύτερο του μέσου όρου
! του μισθού των ανδρών.
! 3) Ποιες είναι οι 10 πιο καλοπληρωμένες γυναίκες.
ΣΤΑΘΕΡΕΣ
Ν = 25
ΜΕΤΑΒΛΗΤΕΣ
ΧΑΡΑΚΤΗΡΕΣ: ονοματεπώνυμο[Ν], φύλλο[Ν], temp_on, temp_f
ΠΡΑΓΜΑΤΙΚΕΣ: μισθός[Ν], ΜΟ_μισθούΑνδρών, sum, temp
ΑΚΕΡΑΙΕΣ: i, j, πλήθος560, πλήθοςΑνδρών, πλήθοςΑνδρώνΠάνωΜΟ
ΑΡΧΗ
! Διάβασμα τιμών
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
ΔΙΑΒΑΣΕ ονοματεπώνυμο[i], φύλλο[i], μισθός[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
!1 Πλήθος με μισθό μεγαλύτερο από 560
πλήθος560 <- 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
ΑΝ μισθός[i] > 560 ΤΟΤΕ
πλήθος560 <- πλήθος560 + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Πλήθος υπαλλήλων με μισθό μεγαλύτερο από 560 euro : ', πλήθος560
!2 Ποσοστό (%) των ανδρών με μισθό μεγαλύτερο του μέσου όρου του μισθού των ανδρών
sum <- 0
πλήθοςΑνδρών <- 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
ΑΝ φύλλο[i] = 'Α' ΤΟΤΕ
sum <- sum + μισθός[i]
πλήθοςΑνδρών <- πλήθοςΑνδρών + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ πλήθοςΑνδρών > 0 ΤΟΤΕ
ΜΟ_μισθούΑνδρών <- sum/ πλήθοςΑνδρών
πλήθοςΑνδρώνΠάνωΜΟ <- 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
ΑΝ φύλλο[i] = 'Α' ΚΑΙ μισθός[i] > ΜΟ_μισθούΑνδρών ΤΟΤΕ
sum <- sum + μισθός[i]
πλήθοςΑνδρώνΠάνωΜΟ <- πλήθοςΑνδρώνΠάνωΜΟ + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Ποσοστό ανδρών με μισθό μεγαλύτερο του μέσου όρου του μισθού των ανδρών : ',
& πλήθοςΑνδρώνΠάνωΜΟ/ πλήθοςΑνδρών* 100, '%'
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'Δεν βρέθηκαν στοιχεία για άνδρες'
ΤΕΛΟΣ_ΑΝ
! 3) Ποιες είναι οι 10 πιο καλοπληρωμένες γυναίκες.
! ταξινόμηση όλων ως προς μισθό σε φθίνουσα σειρά
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν
ΓΙΑ j ΑΠΟ Ν ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1
ΑΝ (μισθός[j - 1] < μισθός[j]) ΤΟΤΕ
temp <- μισθός[j]
μισθός[j] <- μισθός[j - 1]
μισθός[j - 1] <- temp
temp_on <- ονοματεπώνυμο[j]
ονοματεπώνυμο[j] <- ονοματεπώνυμο[j - 1]
ονοματεπώνυμο[j - 1] <- temp_on
temp_f <- φύλλο[j]
φύλλο[j] <- φύλλο[j - 1]
φύλλο[j - 1] <- temp_f
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
i <- 1
j <- 0
ΟΣΟ i <= Ν ΚΑΙ j < 10 ΕΠΑΝΑΛΑΒΕ
ΑΝ φύλλο[i] = 'Θ' ΤΟΤΕ
j <- j + 1
ΓΡΑΨΕ j, ' ', ονοματεπώνυμο[i], ' ', μισθός[i]
ΤΕΛΟΣ_ΑΝ
i <- i + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
|