ΑΕΠΠ - Μάθημα 23

12
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Κεφάλαιο 3ο 3.3 Πίνακες Μέγιστο - Ελάχιστο Το έργο με τίτλο Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα . Βασισμένο σε έργο στο http://ioarvanit.mysch.gr. Παροχή δικαιωμάτων πέρα από τα πλαίσια αυτής της άδειας μπορεί να είναι διαθέσιμη στο http://ioarvanit.mysch.gr.

Transcript of ΑΕΠΠ - Μάθημα 23

Page 1: ΑΕΠΠ - Μάθημα 23

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

Κεφάλαιο 3ο3.3 Πίνακες

Μέγιστο - Ελάχιστο

Το έργο με τίτλο Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Βασισμένο σε έργο στο http://ioarvanit.mysch.gr.Παροχή δικαιωμάτων πέρα από τα πλαίσια αυτής της άδειας μπορεί να είναι διαθέσιμη στο http://ioarvanit.mysch.gr.

Page 2: ΑΕΠΠ - Μάθημα 23

Εύρεση μέγιστου ελάχιστου στοιχείου πίνακα–

1 2 3 4 5 6 7

12 4 56 -4 66 9 1

Πίνακας Α

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Page 3: ΑΕΠΠ - Μάθημα 23

Εύρεση μέγιστου ελάχιστου στοιχείου πίνακα–

Αλγόριθμος Μέγιστο1

Μεγ ← Α[1]

.........

Τέλος Μέγιστο1

1 2 3 4 5 6 7

12 4 56 -4 66 9 1

Αρχικά υποθέτω πως το πρώτο στοιχείο του πίνακα είναι το μέγιστο.

Πίνακας Α

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Page 4: ΑΕΠΠ - Μάθημα 23

Εύρεση μέγιστου ελάχιστου στοιχείου πίνακα–

Αλγόριθμος Μέγιστο1

Μεγ ← Α[1]

Για i από 2 μέχρι 7

.......

Τέλος_επανάληψης

Τέλος Μέγιστο1

1 2 3 4 5 6 7

12 4 56 -4 66 9 1

Αρχικά υποθέτω πως το πρώτο στοιχείο του πίνακα είναι το μέγιστο.

Ελέγχω ένα προς ένα τα υπόλοιπα στοιχεία του πίνακα.

Πίνακας Α

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Page 5: ΑΕΠΠ - Μάθημα 23

Εύρεση μέγιστου ελάχιστου στοιχείου πίνακα–

Αλγόριθμος Μέγιστο1

Μεγ ← Α[1]

Για i από 2 μέχρι 7

Αν Α[i]>Μεγ τότε

Μεγ ← Α[i]

Τέλος_αν

Τέλος_επανάληψης

Τέλος Μέγιστο1

1 2 3 4 5 6 7

12 4 56 -4 66 9 1

Αρχικά υποθέτω πως το πρώτο στοιχείο του πίνακα είναι το μέγιστο.

Ελέγχω ένα προς ένα τα υπόλοιπα στοιχεία του πίνακα.

Αν το στοιχείο που ελέγχω είναι μεγαλύτερο από το μέγιστο, τότε γίνεται αυτό το νέο μέγιστο στοιχείο.

Πίνακας Α

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Page 6: ΑΕΠΠ - Μάθημα 23

Εύρεση μέγιστου ελάχιστου και θέσης στοιχείου πίνακα–

Αλγόριθμος θέση_μεγιστου

Δεδομένα //ΟΝ,Β//

Μεγ ← Β[1]

θ ← 1

Για i από 2 μέχρι 100

Αν Β[i]>Μεγ τότε

Μεγ ← Β[i] θ ← i

Τέλος_αν

Τέλος_επανάληψης

Εμφάνισε ΟΝ[θ]

Τέλος θέση_μεγιστου

Κάθε φορά που ορίζω το μέγιστο (Μεγ), ορίζω και σε μια άλλη μεταβλητή (θ) τη θέση του.

Στο τέλος αφού γνωρίζω σε ποια θέση του πίνακα Β βρέθηκε το μέγιστο, μπορώ να χρησιμοποιήσω την θέση αυτή (θ) για να εμφανίσω το όνομα που βρίσκεται στον πίνακα ΟΝ.

1

2

...

100

1

2

...

100

ΟΝ Β

Έχω δεδομένους δυο πίνακες ΟΝ και Β που έχουν τα ονόματα και τους βαθμούς 100 μαθητών. Θέλω να βρω το όνομα του μαθητή με το μεγαλύτερο βαθμό

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Page 7: ΑΕΠΠ - Μάθημα 23

Εύρεση μέγιστου ελάχιστου και θέσεων –

Αλγόριθμος θέσεις_μεγιστου

Δεδομένα //ΟΝ,Β//

Μεγ ← Β[1]

Για i από 1 μέχρι 100

Αν Β[i]>Μεγ τότε

Μεγ ← Β[i]

Τέλος_αν

Τέλος_επανάληψης

Για i από 1 μέχρι 100

Αν Β[i] = Μεγ τότε

Εμφάνισε ΟΝ[i]

Τέλος_αν

Τέλος_επανάληψης

Τέλος θέσεις_μεγιστου

Εδώ έχω πολλά μέγιστα που ισοβαθμούν

Πρώτα βρίσκω το μέγιστο στον πίνακα Β.

Μετά ελέγχω ένα ένα τα στοιχεία του Β αν είναι ίσα με το μέγιστο, οπότε και εμφανίζω τα αντίστοιχα στοιχεία του ΟΝ.

1

2

...

100

1

2

...

100

ΟΝ Β

Έχω δεδομένους δυο πίνακες ΟΝ και Β που έχουν τα ονόματα και τους βαθμούς 100 μαθητών. Θέλω να βρω τους μαθητές με το μεγαλύτερο βαθμό

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Page 8: ΑΕΠΠ - Μάθημα 23

Να γίνει αλγόριθμος ο οποίος θα εμφανίζει το μικρότερο στοιχείο ενός δισδιάστατου πίνακα Β 10x30 στοιχείων

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Page 9: ΑΕΠΠ - Μάθημα 23

Να γίνει αλγόριθμος ο οποίος θα εμφανίζει το μικρότερο στοιχείο ενός δισδιάστατου πίνακα Β 10x30 στοιχείων

Αλγόριθμος Μέγιστο2

Ελ ← Β[1,1]

Για i από 1 μέχρι 10

Για j από 1 μέχρι 30

Αν Β[i,j]<Ελ τότε

Ελ ← Β[i,j]

Τέλος_αν

Τέλος_επανάληψης

Τέλος_επανάληψης

Τέλος Μέγιστο2

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Page 10: ΑΕΠΠ - Μάθημα 23

Να γίνει αλγόριθμος ο οποίος θα εμφανίζει το μεγαλύτερο στοιχείο ενός δισδιάστατου πίνακα Β 10x30

στοιχείων καθώς και την θέση του

Αλγόριθμος ΜέγιστοΘέση max ← Β[1,1] γραμμή ← 1 στήλη ← 1 Για i από 1 μέχρι 10 Για j από 1 μέχρι 30 Αν Β[i,j] > max τότε max ← Β[i,j] γραμμή ← i στήλη ← j Τέλος_αν Τέλος_επανάληψης Τέλος_επανάληψηςΤέλος ΜέγιστοΘέση

Σε έναν 2διάστατο πίνακα, η θέση αποτελείται από 2 στοιχεία: την γραμμή και τη στήλη. Άρα θέλει 2 μεταβλητές για να αποθηκευτεί.

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Page 11: ΑΕΠΠ - Μάθημα 23

Έστω ότι έχουμε τον πίνακα ΒΑΘΜΟΙ, όπου υπάρχουν οι βαθμοί 100 μαθητών για 10 μαθήματα. Επίσης δίνεται και ένας πίνακας ΜΑΘΗΤΕΣ με 100 στοιχεία, ο οποίος κρατάει

τα ονοματεπώνυμα των μαθητών. Να γίνει αλγόριθμος, ο οποίος θα δέχεται σαν δεδομένα τους δυο αυτούς πίνακες, και θα εμφανίζει στην οθόνη το ονοματεπώνυμο του

καλύτερου μαθητή για κάθε μάθημα.

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Page 12: ΑΕΠΠ - Μάθημα 23

Το παραπάνω πρόβλημα μας ζητάει να βρούμε και να εμφανίσουμε το ονοματεπώνυμο του καλύτερου μαθητή για κάθε μάθημα. Στην ουσία λοιπόν θα πρέπει να εμφανιστούν 10 ονόματα. Πως θα γίνει αυτό; Ο καλύτερος μαθητής είναι αυτός με τον μεγαλύτερο βαθμό σε κάθε μάθημα, άρα θα πρέπει αρχικά να βρούμε για κάθε στήλη του πίνακα

ΒΑΘΜΟΙ, τον μεγαλύτερο αριθμό. Η θέση στην οποία βρίσκεται ο αριθμός αυτός θα είναι και η θέση στην οποία θα βρίσκεται και το ονοματεπώνυμο του μαθητή, στον πίνακα

ΜΑΘΗΤΕΣ.

Αλγόριθμος Μέγιστο_στήλης_δισδιάστατου_πίνακα Δεδομένα //ΒΑΘΜΟΙ,ΜΑΘΗΤΕΣ// Για κ από 1 μέχρι 10 Μέγιστος←ΒΑΘΜΟΙ[1,κ] θέση_μέγιστου←1 Για ι από 1 μέχρι 100 Αν ΒΑΘΜΟΙ[ι,κ]>Μέγιστος τότε Μέγιστος←ΒΑΘΜΟΙ[ι,κ] θέση_μέγιστου←ι Τέλος_αν Τέλος_επανάληψης Εμφάνισε ΜΑΘΗΤΕΣ[θέση_μέγιστου] Τέλος_επανάληψηςΤέλος Μέγιστο_στήλης_δισδιάστατου_πίνακα

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .