Γιζδιάζηαηοι πίνακες Οη δηζδηάζηαηνη πίλαθεο έρνπλ ηνπιάρηζηνλ 2 γξακκέο θαη ηνπιάρηζηνλ 2 ζηήιεο. Όηαλ ν αξηζκόο ησλ γξακκώλ ηζνύηαη κε ηνλ αξηζκό ησλ ζηειώλ ν πίλαθαο ιέγεηαη ηεηξάγσλνο. Οη δηζδηάζηαηνη πίλαθεο κπνξνύλ λα πεξηέρνπλ ζηνηρεία κόλν ηνπ ίδιου τύπου δεδομένων. Δειαδή αλ καο πνπλ λα βάινπκε ζε πίλαθα 100 νλόκαηα καζεηώλ καδί κε ηνπο βαζκνύο ηνπο, πξέπεη λα ρξεζηκνπνηήζνπκε 2 κνλνδηάζηαηνπο πίλαθεο, δελ γίλεηαη κε έλαλ δηζδηάζηαην. Γεληθά, νπνηαδήπνηε εξγαζία θαινύκαζηε λα πινπνηήζνπκε γηα όια ηα ζηνηρεία ελόο δηζδηάζηαηνπ πίλαθα ρξεηάδεηαη επαλάιεςε κέζα ζε επαλάιεςε (αληίζηνηρα γηα Ν- δηάζηαην ρξεηάδνληαη Ν επαλαιήςεηο ε κία κέζα ζηελ άιιε). Παράδειγμα Έζησ όηη ζέινπκε λα δηαβάζνπκε έλαλ δηζδηάζηαην πίλαθα ν νπνίνο πεξηέρεη ηηο κεληαίεο πσιήζεηο 20 πσιεηώλ γηα ην έηνο 2011. Εύθνια θαηαιαβαίλνπκε πσο ν πίλαθαο απηόο ζα πεξηέρεη 20 γξακκέο (νη πσιεηέο) θαη 12 ζηήιεο (κήλεο): ΠΩΛΗΣΔ ΜΗΝΔ 1 2 12 1 15400 18500 13000 2 17000 15600 19200 20 14000 23000 24000 Π[20,12] 1. Δήισζε ηνπ παξαπάλσ πίλαθα: ΠΡΟΓΡΑΜΜΑ ΠΩΛΗΔΙ ΜΔΣΑΒΛΗΣΔ ΠΡΑΓΜΑΣΙΚΔ: Π[20, 12] ΑΡΧΗ ΑΚΔΡΑΙΔ: I,J γξακκέο ζηήιεο 2. Δηάβαζκα ηνπ παξαπάλσ πίλαθα Π[20,12]: ΓΙΑΒΑΔ Π[I,J] ζηήιεο γξακκέο 3. Εκθάληζε ηνπ πίλαθα Π[20,12]: ΓΡΑΨΔ Π[I,J]
4. Εύξεζε ηνπ αζξνίζκαηνο ησλ ζηνηρείσλ (όισλ) ηνπ πίλαθα Π[20,12]: 0 + Π[I,J]!Τνλ κέζν όξν κπνξνύκε ζηελ ζπλέρεηα λα ηνλ βξνύκε κε ηελ εληνιή ΜΔΟ_ΟΡΟ / ( 20 * 12 ) 5. Εύξεζε ειάρηζηνπ/κέγηζηνπ ηνπ πίλαθα Π[20,12]: MIN Π[1, 1] ΑΝ Π[Ι,J] < ΜΙΝ ΣΟΣΔ MIN Π[Ι,J] Δελ είλαη δπλαηόλ λα θάλνπκε ΓΙΑ Ι ΑΠΟ 2 ΜΔΧΡΙ 20 γηαηί ράλνπκε όιε ηελ πξώηε γξακκή. 6. Εύξεζε ειάρηζηνπ/κέγηζηνπ ηνπ πίλαθα Π[20,12], αιιά θαη ηεο ζέζεο ηνπ: MIN Π[1, 1] ΘΕΗ_Ι 1 ΘΕΗ_J 1 ΑΝ Π[Ι,J] < ΕΛΑΧΙΣΟ ΣΟΣΔ MIN Π[Ι,J] ΘΕΗ_Ι I ΘΕΗ_J J 7. Εκθάληζε κεξηθώλ ζηνηρείσλ ηνπ πίλαθα Π[20,12], (π.ρ. απηώλ πνπ είλαη κεγαιύηεξα από 10000 ): ΓΙΑ I ΑΠΟ 1 ΜΔΧΡΙ 20 ΑΝ Π[I, J]>10000 ΣΟΣΔ ΓΡΑΨΔ Π[I, J]
8. Τπνινγηζκόο θαη εκθάληζε αζξνίζκαηνο αλά γξακκή ηνπ πίλαθα Π[20,12]. Η εθθώλεζε γηα ην παξάδεηγκα καο ζα ήηαλ ε εμήο: «Να εκθαλίζεηε γηα θάζε πσιεηή ην ζύλνιν ησλ πσιήζεσλ γηα ην 2011». γξακκή, ηόηε μεθηλάκε κε γξακκέο θαη κεηά κε ζηήιεο. ΓΡΑΨΔ Αν θέλουμε να βρούμε και το μέσο όρο ανά γραμμή τότε: ΜΟ /12 ΓΡΑΨΔ ΜΟ 9. Τπνινγηζκόο θαη εκθάληζε αζξνίζκαηνο αλά ζηήιε ηνπ πίλαθα Π[20,12]. Η εθθώλεζε γηα ην παξάδεηγκα καο ζα ήηαλ ε εμήο: «Να εκθαλίζεηε ην ζύλνιν ησλ πσιήζεσλ γηα θάζε κήλα». ζηήιε, ηόηε μεθηλάκε κε ζηήιεο θαη κεηά κε γξακκέο. ΓΙΑ I ΑΠΟ 1 ΜΔΧΡΙ 20 ΓΡΑΨΔ Αν θέλουμε να βρούμε και το μέσο όρο ανά στήλη τότε: ΜΟ /20 ΓΡΑΨΔ ΜΟ 10. Τπνινγηζκόο αζξνίζκαηνο αλά γξακκή θαη θαηαρώξεζε ζε λέν πίλαθα, ηνπ Π[20,12]. Ο λένο πίλαθαο ζα είλαη κνλνδηάζηαην π.ρ. Α[20]. Απηό δηόηη ζα βξνύκε 20 αζξνίζκαηα, έλα γηα θάζε πσιεηή. γξακκή, ηόηε μεθηλάκε κε γξακκέο θαη κεηά κε ζηήιεο. Α[Ι] Αν θέλουμε να καταχωρήσουμε το μέσο όρο ανά γραμμή τότε: ΜΟ[Ι] /12
11. Τπνινγηζκόο αζξνίζκαηνο αλά ζηήιε θαη θαηαρώξεζε ζε λέν πίλαθα, ηνπ Π[20,12]. Ο λένο πίλαθαο ζα είλαη κνλνδηάζηαην π.ρ. Α[12]. Απηό δηόηη ζα βξνύκε 12 αζξνίζκαηα, έλα γηα θάζε κήλα. ζηήιε, ηόηε μεθηλάκε κε ζηήιεο θαη κεηά κε γξακκέο. ΓΙΑ I ΑΠΟ 1 ΜΔΧΡΙ 20 Α[J] Αν θέλουμε να καταχωρήσουμε το μέσο όρο ανά στήλη τότε: ΜΟ[J] /20 12. Τπνινγηζκόο κέγηζηνπ/ειάρηζηνπ αλά γξακκή ηνπ Π[20,12] θαη θαηαρώξεζε ζε λέν πίλαθα. Η εθθώλεζε γηα ην παξάδεηγκα καο ζα ήηαλ ε εμήο: «Να ππνινγίδεηε ηηο κέγηζηεο πσιήζεηο γηα θάζε πσιεηή αλά κήλα». Ο λένο πίλαθαο ζα είλαη κνλνδηάζηαην π.ρ. ΜΑΥ[20]. Απηό δηόηη ζα βξνύκε 20 κέγηζηνπο, έλα γηα θάζε πσιεηή. γξακκή, ηόηε μεθηλάκε κε γξακκέο θαη κεηά κε ζηήιεο. ΜΑΧ[Ι] ΑΝ Π[Ι,J]>ΜΑΧ[Ι] ΣΟΣΔ ΜΑΧ[Ι] Π[Ι,J] Αν θέλουμε να καταχωρήσουμε το ελάχιστο ανά γραμμή τότε:! Εθρσξνύκε ην 1 ν ζηνηρείν ηεο θάζε γξακκήο ζην MIN γηα αξρηθή ηηκή. ΜΙΝ[Ι] Π[Ι,1] ΑΝ Π[Ι,J]<ΜΙΝ[Ι] ΣΟΣΔ ΜΙΝ[Ι] Π[Ι,J] 13. Γηα λα ππνινγίζνπκε π.ρ. ην άζξνηζκα κίαο ζηήιεο ή κίαο γξακκήο ελόο δηζδηάζηαηνπ πίλαθα Π[20,12], δελ ρξεηάδνληαη 20Υ12 επαλαιήςεηο, αιιά κόλν 20 ή 12. Απηό ζεκαίλεη όηη γηα κηα κόλν γξακκή ζέινπκε κόλν έλα ΓΙΑ θαη όρη ΓΙΑ κέζα ζε ΓΙΑ. Π.ρ. ππνινγηζκόο αζξνίζκαηνο ηεο 5 εο γξακκήο ηνπ πίλαθα Π[20,12]: 0 + Π[5, J] Π.ρ. ππνινγηζκόο αζξνίζκαηνο ηεο 6 εο ζηήιεο ηνπ πίλαθα Π[20,12]: 0 + Π[Ι, 6]
14. Σέινο, ζύκθσλα κε ην βηβιίν ζειίδα 57, παξάδεηγκα 2, αλ ζέιακε λα βξνύκε ηαπηόρξνλα ην άζξνηζκα θαηά γξακκή, θαηά ζηήιε (ηα αζξνίζκαηα απηά λα ηα εθρσξήζνπκε ζε αληίζηνηρνπο πίλαθεο) θαη ζπλνιηθά ηνπ πίλαθα Π[20,12], ζα δνπιέςνπκε σο εμήο:! Μεδελίδνπκε πξώηα ηνπο πίλαθεο ΓΡΑΜΜΗ[Ι] ΣΗΛΗ[J] ΓΡΑΜΜΗ[Ι] ΓΡΑΜΜΗ[Ι]+ Π[Ι,J] ΣΗΛΗ[J] ΣΗΛΗ[J]+ Π[Ι,J] ΜΑΘΗΣΔ 1 2 10 Π[20,12] ΜΑΘΗΜΑΣΑ 1 2 12 ΓΡΑΜΜΗ[20] ΣΗΛΗ[12]
ΛΤΜΔΝΗ ΑΚΗΗ 1 Ο[10] Β[10,6] ΜΟ[10] ΜΑΘΗΜΑΣΑ ΜΔΟΙ ΜΑΘΗΣΔ ΟΡΟΙ 1 2 6 1 ΜΑΡΙΑ 17.2 15.0 13.8 16.5 2 ΕΛΕΝΗ 13.8 13.5 19.0 17.2 10 ΥΑΡΗ 16.7 18.5 18.4 18.0 17.2 18.5 18.4 ΜΔΓ[6] ΠΡΟΓΡΑΜΜΑ ΕΞΕΣΑΕΙ ΜΕΣΑΒΛΗΣΕ ΑΚΕΡΑΙΕ: Ι, J, Θ, ΜΑΘ ΠΡΑΓΜΑΣΙΚΕ: Β[10, 6], ΜΟ[10], ΜΑΧ1[6],, ΣΕΜΠ, ΜΑΧ ΧΑΡΑΚΣΗΡΕ: Ο[10], ΟΝ ΑΡΧΗ ΔΚΑΒΑΖΕΚ ΣΑ ΟΝΟΜΑΣΑ 10 ΜΑΙΗΣΩΝ ΚΑΚ ΣΟ ΒΑΙΜΟ ΠΟΤ ΕΓΡΑΨΑΝ Ε 6 ΜΑΙΗΜΑΣΑ. ΟΚ ΠΚΝΑΚΕ ΟΝΟΜΑΣΑ ΚΑΚ ΒΑΙΜΟΚ ΕΚΝΑΚ ΠΑΡΑΛΛΗΛΟΚ.! ΔΚΑΒΑΜΑ ΠΚΝΑΚΩΝ ΔΙΑΒΑΕ Ο[Ι] ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 6 ΔΙΑΒΑΕ Β[Ι, J]!ΕΤΡΕΗ ΣΟ ΜΕΟΤ ΟΡΟΤ ΑΝΑ ΜΑΙΗΣΗ ΚΑΚ ΚΑΣΑΧΩΡΗΗ ΣΟΤ Ε ΜΟΝΟΔΚΑΣΑΣΟ ΠΚΝΑΚΑ <- 0 ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 6 <- + Β[Ι, J] ΜΟ[Ι] <- /6!ΠΟΚΟΚ ΜΑΙΗΣΕ ΕΧΟΤΝ ΣΟΝ ΜΕΓΑΛΤΣΕΡΟ ΜΕΟ ΟΡΟ ΜΑΧ <- ΜΟ[1] ΑΝ ΜΟ[Ι] > ΜΑΧ ΣΟΣΕ ΜΑΧ <- ΜΟ[Ι] ΣΕΛΟ_ΑΝ ΑΝ ΜΟ[Ι] = ΜΑΧ ΣΟΣΕ ΓΡΑΨΕ Ο[Ι] ΣΕΛΟ_ΑΝ
! ΝΑ ΕΜΦΑΝΚΖΕΚ ΓΚΑ ΚΑΙΕ ΜΑΙΗΜΑ ΣΟΝ ΜΑΙΗΣΗ Θ ΣΟΤ ΜΑΙΗΣΕ ΠΟΤ ΕΓΡΑΨΑΝ ΣΟΝ ΜΕΓΑΛΤΣΕΡΟ ΒΑΙΜΟ ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 6 ΜΑΧ -1 ΑΝ Β[Ι, J] > ΜΑΧ ΣΟΣΕ ΜΑΧ <- Β[Ι, J] ΣΕΛΟ_ΑΝ ΜΕΓ[J] MAX ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 6 ΑΝ Β[Ι, J] = ΜΕΓ[J] ΣΟΣΕ ΓΡΑΨΕ Ο[Ι] ΣΕΛΟ_ΑΝ
ΑΚΗΗ 2 (ΛΤΜΕΝΗ) ε μια ομάδα μπάςκετ ο προπονθτισ αποφάςιςε να κρατά ςτον θλεκτρονικό υπολογιςτι, πίνακα με τουσ πόντουσ που πζτυχαν οι 12 παίκτεσ που ζχει ςτουσ 18 αγώνεσ τθσ αγωνιςτικισ περιόδου, ώςτε να μπορεί να επεξεργάηεται τα δεδομζνα αυτά. Ζτςι ανζκεςε ςε εςάσ να αναπτφξετε τον αλγόρικμο που κζλει. Από τισ απαιτιςεισ του προπονθτι από τον αλγόρικμο προκφπτει ότι ο αλγόρικμοσ που κα κάνετε κα πρζπει: α. Να διαβάηει το όνομα του κάκε παίκτθ και τουσ πόντουσ ανά αγωνιςτικι που πζτυχε ανά αγωνιςτικι τθν προθγοφμενθ αγωνιςτικι περίοδο (18 αγωνιςτικζσ). β. Να εμφανίηει το όνομα του παίκτθ με τον μεγαλφτερο μζςο όρο πόντων. γ. Να εμφανίηει το όνομα του κάκε παίκτθ και τον μεγαλφτερο αρικμό πόντων που πζτυχε ςε ζνα παιχνίδι από όλθ τθν αγωνιςτικι περίοδο ΑΓΩΝΕ ΠΑΙΚΣΕ 1 2 18 1 ΙΑΧΟ 23 15 13 2 ΝΙΚΟΤ 13 7 9 12 ΧΑΡΗ 16 22 18 ΟΝΟΜΑ*12+ ΠΟΝΣΟΙ*12,18+ Αλγόριθμοσ Μπάςκετ!Ειςαγωγή των πινάκων ΟΝΟΜΑ και ΠΟΝΤΟΙ Για i από 1 μέχρι 12 Εμφάνιςε Δώςτε το όνομα του παίκτθ Διάβαςε ΟΝΟΜΑ*i] Για j από 1 μέχρι 18 Εμφάνιςε Δώςτε τουσ πόντουσ του παίκτθ ςτο παιχνίδι Νο., j Διάβαςε ΠΟΝΣΟΙ*i, j]!εφρεςη του παίκτη με το μεγαλφτερο μέςο όρο πόντων Max_MO 0 Για i από 1 μέχρι 12 Sum 0 Για j από 1 μέχρι 18 Sum Sum + ΠΟΝΣΟΙ[i, j] MO Sum / 18 Αν MO > Max_MO τότε Max_MO MO pos i Σέλοσ_αν Εμφάνιςε Σο μεγαλφτερο μζςο όρο πόντων είχε ο, ΟΝΟΜΑ*pos]!Εφρεςη του μεγίςτου αριθμοφ πόντων για τον κάθε παίκτη Για i από 1 μέχρι 12 Max ΠΟΝΣΟΙ*i, 1] Για j από 1 μέχρι 18 Aν ΠΟΝΣΟΙ*i, j] > Max τότε Max ΠΟΝΣΟΙ*i, j] Σέλοσ_αν Εμφάνιςε Οι περιςςότεροι πόντοι τοφ, ΟΝΟΜΑ*i+, είναι, Max Tέλοσ Μπάςκετ