You are on page 1of 7

Ανάπτυξη Εφαρμογών σε προγραμματιστικό περιβάλλον | 2 x 2 Π Ι Ν Α Κ Ε Σ | Σ ε λ ί δ α |1

ΤΑΞΗ Γ ΓΕΛ

ΜΑΘΗΜΑ ΑΕΠΠ

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ -

ΠΕΡΙΕΧΕΙ ΔΙΣΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ – ΓΕΝΙΚΗ ΑΣΚΗΣΗ

ΣΧΕΔΙΑΣΜΟΣ ΠΙΝΑΚΩΝ

Σε περίπλοκες ασκήσεις που ενέχουν χρήση δισδιάστατων πινάκων στη λύση τους είναι απαραίτητο να γίνεται
σχήμα.

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

ΑΝΑΓΝΩΣΗ ΔΕΔΟΜΕΝΩΝ, ΑΘΡΟΙΣΜΑ, ΜΕΣΟΣ ΟΡΟΣ

Ανατέθηκε σε μαθητές της Γ’ Τάξης Λυκείου να αναπτύξουν πληροφοριακό σύστημα για την υποστήριξη των
μαθητικών αγώνων στίβου της περιφέρειάς τους. Οι μαθητές του σχολείου μας ανέλαβαν το άθλημα «άλμα εις
μήκος» (αγωνίζονται ενιαία αγόρια & κορίτσια) και κλήθηκαν να υλοποιήσουν το σχετικό συστατικό μέρος
(component) του ολοκληρωμένου πληροφοριακού συστήματος βασισμένοι στις επόμενες αλγοριθμικές
προδιαγραφές: Ο αλγόριθμος

a. να διαβάζει όνομα και φύλο για 20 αθλητές με έλεγχο ορθής εισαγωγής φύλου (επιτρεπτές τιμές Α για
αγόρια και Κ για κορίτσια). Να διαβάζει τις επιδόσεις τους σε 6 προσπάθειες για άλμα στο αγώνισμα «άλμα
εις μήκος» με έλεγχο εγκυρότητας επιδόσεων ώστε αυτές να κινούνται μεταξύ 0 και 10 μέτρων. Ο όρος
«αθλητής» αναφέρεται ενιαία σε αγόρια και κορίτσια. Θεωρούμε ότι κάθε αθλητής έχει σε ένα
τουλάχιστο άλμα επίδοση μεγαλύτερη από 0 μέτρα.
(ανάγνωση κατά γραμές ή στήλες)

b. να υπολογίζει το άθροισμα των επιδόσεων ανά αθλητή και το άθροισμα των επιδόσεων ανά προσπάθεια
άλματος,
(άθροισμα κατά γραμμές και κατά στήλες)

c. να υπολογίζει τη μέση επίδοση των αθλητών,


(συνολικό άθροισμα, συνολικός μέσος όρος)

d. να εμφανίζει το όνομα κάθε αθλητή και τη μέση επίδοσή του,


(μέσος όρος κατά γραμμές)

e. να εμφανίζει τον αύξοντα αριθμό κάθε προσπάθειας (1 έως και 6) και την μέση επίδοση που πέτυχαν οι
αθλητές σε αυτή
Ανάπτυξη Εφαρμογών σε προγραμματιστικό περιβάλλον | 2 x 2 Π Ι Ν Α Κ Ε Σ | Σ ε λ ί δ α |2
(μέσος όρος κατά στήλες)

ΜΕΣΗ_ΕΠ_
ΑΘΡ_ΑΘΛ
1 2 3 4 5 6

ΑΘΛ
ΟΝ
Φ
1 Α Παναγιώτου

2 Κ Χαρίτου

ΕΠ 3 Α Βασιλειάδης

19 Α Καραϊσκάκης

20 Κ Γεωργιάδη

ΑΘΡ_ΠΡΟΣΠ

ΜΕΣΗ_ΕΠ_ΠΡ
ΟΣΠ
Ανάπτυξη Εφαρμογών σε προγραμματιστικό περιβάλλον | 2 x 2 Π Ι Ν Α Κ Ε Σ | Σ ε λ ί δ α |3

ΠΡΟΓΡΑΜΜΑ ΑΛΜΑ_ΕΙΣ_ΜΗΚΟΣ
ΣΤΑΘΕΡΕΣ ! οι σταθερές θα μπορούσαν να παραλειφθούν.
!Υπάρχουν μόνο για εύκολη αλλαγή διαστάσεων πινάκων προκειμένου να
επιταχυνθεί η εκτέλεση του προγράμματος
d1=20
d2=6
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i, j, πλ_άνω_7
ΠΡΑΓΜΑΤΙΚΕΣ: ΕΠ[d1,d2], ΑΘΡ_ΑΘΛ[d1], ΑΘΡ_ΠΡΟΣΠ[d2], ΜΕΣΗ_ΕΠ_ΑΘΛ[d1],
ΜΕΣΗ_ΕΠ_ΠΡΟΣΠ[d2], ΣΥΝ_ΑΘΡ, ΣΥΝ_ΜΕΣΗ_ΕΠ
ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[d1], Φ[d1]

ΑΡΧΗ
!ερώτημα (a) ανάγνωση κατά γραμμές
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ d1
ΓΡΑΨΕ 'Πληκτρολογήστε το όνομα του ', i, ' ου αθλητή'
ΔΙΑΒΑΣΕ ΟΝ[i]
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Πληκτρολογήστε το φύλο του ', i, ' ου αθλητή'
ΔΙΑΒΑΣΕ Φ[i]
ΜΕΧΡΙΣ_ΟΤΟΥ Φ[i]='Α' Ή Φ[i]='Κ'
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ d2
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Πληκτρολογήστε την επίδοση του αθλητή', ΟΝ[i], ' στο ', j, 'ο άλμα'
ΔΙΑΒΑΣΕ ΕΠ[i,j]
ΜΕΧΡΙΣ_ΟΤΟΥ ΕΠ[i,j] >= 0 ΚΑΙ ΕΠ[i,j] <= 10
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

!ερώτημα (a) ανάγνωση του δισδιάστατου πίνακα ΕΠ κατά στήλες


ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ d1
ΓΡΑΨΕ 'Πληκτρολογήστε το όνομα του ', i, ' ου αθλητή'
ΔΙΑΒΑΣΕ ΟΝ[i]
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Πληκτρολογήστε το φύλο του ', i, ' ου αθλητή'
ΔΙΑΒΑΣΕ Φ[i]
ΜΕΧΡΙΣ_ΟΤΟΥ Φ[i]='Α' Ή Φ[i]='Κ'
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ d2


ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ d1
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Πληκτρολογήστε την επίδοση του αθλητή', ΟΝ[i], ' στο ', j, 'ο άλμα'
ΔΙΑΒΑΣΕ ΕΠ[i,j]
ΜΕΧΡΙΣ_ΟΤΟΥ ΕΠ[i,j] >= 0 ΚΑΙ ΕΠ[i,j] <= 10
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

!ΠΡΟΣΟΧΗ: ΜΟΝΟ στην περίπτωση ΤΕΤΡΑΓΩΝΙΚΟΥ ΠΙΝΑΚΑ ισχύει και ο παρακάτω κώδικας
!για ανάγνωση ή γενικότερα σάρωση / επεξεργασία κατά στήλες
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ d1
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ d2
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Πληκτρολογήστε την επίδοση του αθλητή', ΟΝ[i], ' στο ', j, 'ο άλμα'
ΔΙΑΒΑΣΕ ΕΠ[j,i]
ΜΕΧΡΙΣ_ΟΤΟΥ ΕΠ[j,i] >= 0 ΚΑΙ ΕΠ[j,i] <= 10
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

!ερώτημα (b) άθροισμα κατά γραμμές


ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ d1
ΑΘΡ_ΑΘΛ[i] <-- 0
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ d2
ΑΘΡ_ΑΘΛ[i] <-- ΑΘΡ_ΑΘΛ[i] + ΕΠ[i,j]
Ανάπτυξη Εφαρμογών σε προγραμματιστικό περιβάλλον | 2 x 2 Π Ι Ν Α Κ Ε Σ | Σ ε λ ί δ α |4
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

!ερώτημα (b) άθροισμα κατά στήλες


ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ d2
ΑΘΡ_ΠΡΟΣΠ[j] <-- 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ d1
ΑΘΡ_ΠΡΟΣΠ[j] <-- ΑΘΡ_ΠΡΟΣΠ[j] + ΕΠ[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

!ερώτημα (c) συνολικό άθροισμα, συνολικός μέσος όρος


ΣΥΝ_ΑΘΡ <-- 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ d1
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ d2
ΣΥΝ_ΑΘΡ <-- ΣΥΝ_ΑΘΡ + ΕΠ[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΣΥΝ_ΜΕΣΗ_ΕΠ <-- ΣΥΝ_ΑΘΡ/(d1*d2)

!ερώτημα (d) μέσος όρος ανά γραμμές


ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ d1
ΜΕΣΗ_ΕΠ_ΑΘΛ[i] <-- ΑΘΡ_ΑΘΛ[i] / d2
ΓΡΑΨΕ ΟΝ[i], ΜΕΣΗ_ΕΠ_ΑΘΛ[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

!ερώτημα (e) μέσος όρος ανά στήλες


ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ d2
ΜΕΣΗ_ΕΠ_ΠΡΟΣΠ[j] <-- ΑΘΡ_ΠΡΟΣΠ[j] / d1
ΓΡΑΨΕ j, ΜΕΣΗ_ΕΠ_ΠΡΟΣΠ[j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

..!ερώτημα (f) πλήθος επιδόσεων > 7 μ.


πλ_άνω_7 <-- 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ d1
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ d2
ΑΝ ΕΠ[i,j] > 7 ΤΟΤΕ
πλ_άνω_7 <-- πλ_άνω_7 + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Οι επιδόσεις άνω των 7 μέτρων είναι: ', πλ_άνω_7
Ανάπτυξη Εφαρμογών σε προγραμματιστικό περιβάλλον | 2 x 2 Π Ι Ν Α Κ Ε Σ | Σ ε λ ί δ α |5

f. να εμφανίζει πόσες επιδόσεις ήταν πάνω από 7 μέτρα


(πλήθος στον πίνακα)

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

h. να εμφανίζει πόσα άλματα αθλητών ήταν μικρότερα από 5 μέτρα σε κάθε προσπάθεια,
(πλήθος ανά στήλη)

i. να εμφανίζει το όνομα του αθλητή και τον χαρακτηρισμό ΕΞΑΙΡΕΤΙΚΟΣ αν όλα τα άλματά του ήταν πάνω
από 7.80 ή ένα τουλάχιστο άλμα του ξεπέρασε τα 8.10,
(επεξεργασία κατά γραμμές – είσοδος σε τμήμα κώδικα πάντα ή μία φορά τουλάχιστο)

j. να αποθηκεύει σε πίνακα (ή πίνακες) και να εμφανίζει την ελάχιστη και μέγιστη επίδοση κάθε αθλητή
(εξαιρώντας τα άκυρα άλματα), καθώς και σε ποια προσπάθεια επετεύχθη η επίδοση (μόνο την 1η
εμφάνιση ελαχίστης / μεγίστης επίδοσης, στην περίπτωση που ο αθλητής πέτυχε περισσότερες φορές την
ελάχιστη / μέγιστή του επίδοση)
a. το υποερώτημα j να απαντηθεί με δεδομένο ότι οι επιδόσεις κινούνται μεταξύ 0 και 10 (βάση του έλεγχου εγκυρότητας
που έχει προηγηθεί)
b. το υποερώτημα j να απαντηθεί θεωρώντας ότι δεν υπάρχει άνω και κάτω όριο στις επιδόσεις (υποθέτοτοντας δηλαδή ότι
υπάρχουν απείρως μεγάλα άλματα και απείρως μικρά (αρνητικά) άλματα)
(ελάχιστο & μέγιστο ανά γραμμή)
Ανάπτυξη Εφαρμογών σε προγραμματιστικό περιβάλλον | 2 x 2 Π Ι Ν Α Κ Ε Σ | Σ ε λ ί δ α |6

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

l. να αναζητά την ελάχιστη διαφορά μεταξύ επιδόσεων γειτονικών αλμάτων ανά αθλητή και να εμφανίζει την
ελάχιστη αυτή διαφορά και τις γειτονικές προσπάθειες (π.χ. 2η με 3η ) στις οποίες εντοπίστηκε η ελάχιστη
διαφορά. Αν υπάρχουν πολλές εμφανίσεις της ελάχιστης διαφοράς να εμφανίζεται το όνομα αθλητή, η
ελάχιστη διαφορά και το ζεύγος προσπαθειών όπου αυτή διαπιστώθηκε, μόνο για την εσχάτως (τελευταία)
εντοπισμένη ελάχιστη διαφορά ανά αθλητή.
(επεξεργασία & αναζήτηση ανά γραμμή)

m. Να εντοπιστεί και να εμφανιστεί το ζεύγος γειτονικών προσπαθειών (π.χ. 1η – 2η ή 4η – 5η ) στο οποίο οι


αθλητές συνολικά είχαν κατεξοχήν την ελάχιστη διαφορά επιδόσεων μεταξύ γειτονικών τους αλμάτων.
Θεωρούμε ότι το ζεύγος είναι μοναδικό.
(πίνακας συχνοτήτων & μέγιστο σε αυτόν)

n. να στρογγυλοποιεί τις ελάχιστες επιδόσεις των αθλητών αγοριών (όχι των κοριτσιών) σε ακέραιο αριθμό
(π.χ. η επίδοση 3,6 γίνεται 4) και να εμφανίζει την πλέον πολυσύχναστη ελάχιστη επίδοση αγοριών. Να
καλυφθεί και η περίπτωση που δεν υπάρχει αθλητής αγόρι (με σχετικό μήνυμα).
(πίνακας συχνοτήτων)
Ανάπτυξη Εφαρμογών σε προγραμματιστικό περιβάλλον | 2 x 2 Π Ι Ν Α Κ Ε Σ | Σ ε λ ί δ α |7
o. να εντοπίζει και να εμφανίζει άπαξ (μία φορά) τα ονόματα των αθλητών που έχουν δύο τουλάχιστο
επιδόσεις πάνω από τα 8.30 μέτρα.
(επεξεργασία & αναζήτηση ανά γραμμή)

p. να εμφανίζει τα ονόματα των 8 καλύτερων αθλητών, με βάση την βέλτιστη επίδοσή τους, σε φθίνουσα
διάταξη. Σε περίπτωση ίσης βέλτιστης επίδοσης κατατάσσεται πρωτύτερα ο αλφαβητικά πρώτος αθλητής.
(ταξινόμηση με βάση πίνακα στήλη και πολλαπλές αντιμεταθέσεις σε παράλληλους πίνακες)

q. ποια ήταν η επίδοση του 7ου στην κατάταξη στο 4ο του άλμα;
r. να εντοπίζει την 2η καλύτερη επίδοση κάθε αθλητή και να εμφανίζει το όνομα του αθλητή και την
προσπάθεια στην οποία πέτυχε την επίδοση.
(επεξεργασία & αναζήτηση ανά γραμμή)

s. να δημιουργεί πίνακα που να περιέχει μόνο τις διαφορετικές μέσες επιδόσεις των αθλητριών - κοριτσιών
(να απορρίπτει δηλαδή τις μέσες επιδόσεις που εμφανίζονται 2 ή περισσότερες φορές). Θεωρήστε ότι
υπάρχουν αθλήτριες.
(επεξεργασία σε πίνακα στήλη)

t. να υπολογίζει και να εμφανίζει την μέση επίδοση ανά προσπάθεια (εξαιρώντας τα άκυρα άλματα)
λαμβάνοντας υπόψη τα άλματα μόνο των αγοριών αθλητών που δεν πλασαρίστηκαν στην οχτάδα (βλέπε
ερώτημα n) για την 2η και 5η προσπάθεια.
(επεξεργασία ανά στήλες)

You might also like