Γηζδηάζηαηνη Πίλαθεο Άζθεζε 1. Να αλαπηύμεηε αιγόξηζκν ν νπνίνο κε δεδνκέλα ηα ζηνηρεία δπν δηζδηάζηαησλ πηλάθσλ αξηζκώλ ηδίσλ δηαζηάζεσλ ζα εμεηάδεη αλ νη πίλαθεο είλαη ίζνη, ελώ ζηελ πεξίπησζε πνπ δελ είλαη ζα εθηππώλεη ην πνζνζηό ησλ ζηνηρείσλ πνπ είλαη ίζα Θα ειέγμνπκε αλ ηα ζηνηρεία ζηηο αληίζηνηρεο ζέζεηο είλαη έλα πξνο έλα ίζα Αιγόξηζκνο Ιζόηεηα_Πηλάθσλ Γεδνκέλα // Ν, Μ, ΠΙΝΑΚΑ_1, ΠΙΝΑΚΑ_2 // ηζόηεηα αιεζήο! έζησ νηη νη δπν πίλαθεο είλαη ίζνη πιήζνο 0 Αλ ΠΙΝΑΚΑ_1[i, j] <> ΠΙΝΑΚΑ_2[i, j] ηόηε! Αλ βξεζεί έζησ θαη έλα δεύγνο ηηκώλ πνπ δελ είλαη ίζα ηόηε νη πίλαθεο δελ είλαη ίζνη ηζόηεηα ςεπδήο πιήζνο πιήζνο + 1 Αλ (ηζόηεηα = αιεζήο) ηόηε Δθηύπσζε "Οη δύν πίλαθεο είλαη ίζνη" Αιιηώο πνζνζηό πιήζνο / (Ν * Μ) Δθηύπσζε "Οη δύν πίλαθεο δελ είλαη ίζνη, αιιά ην πνζνζηό ησλ ζηνηρείσλ πνπ είλαη ίζα είλαη ", πνζνζηό Τέινο Ιζόηεηα_Πηλάθσλ Άζθεζε 2. Να αλαπηύμεηε αιγόξηζκν ν νπνίνο κε δεδνκέλα ηα ζηνηρεία δπν δηζδηάζηαησλ πηλάθσλ αξηζκώλ ηδίσλ δηαζηάζεσλ ζα επηζηξέθεη λέν πίλαθα όπνπ θάζε ζηνηρείν ηνπ ζα είλαη ην άζξνηζκα ησλ αληίζηνηρσλ θειηώλ ησλ δπν αξρηθώλ πηλάθσλ Θα πξνζζέζνπκε έλα πξνο έλα ηα ζηνηρεία ζηηο αληίζηνηρεο ζέζεηο Αιγόξηζκνο Άζξνηζκα_Πηλάθσλ Γεδνκέλα // Ν, Μ, ΠΙΝΑΚΑ_1, ΠΙΝΑΚΑ_2 // ΣΔΛΙΚΟ_ΠΙΝΑΚΑ[i, j] ΠΙΝΑΚΑ_1[i, j] + ΠΙΝΑΚΑ_2[i, j] Απνηειέζκαηα // Ν, Μ, ΣΔΛΙΚΟ_ΠΙΝΑΚΑ // Τέινο Άζξνηζκα_Πηλάθσλ
Άζθεζε 3. Να αλαπηύμεηε αιγόξηζκν ν νπνίνο ζα δηαβάδεη ηα ζηνηρεία ελόο δηζδηάζηαηνπ πίλαθα αξηζκώλ: i. Θα δηαβάδεη έλαλ αξηζκό πνπ ζα αληηζηνηρεί ζε ζηήιε θαη ζα ππνινγίδεη ην ειάρηζην ηεο ζηήιεο απηήο ii. Θα δηαβάδεη έλαλ αξηζκό πνπ ζα αληηζηνηρεί ζε γξακκή θαη ζα ππνινγίδεη ην κέγηζην ζηνηρείν ηεο γξακκήο απηήο Αιγόξηζκνο Δπεμεξγαζία_Πηλάθσλ1 Γεδνκέλα // Ν, Μ, ΠΙΝΑΚΑ // Αξρή_Δπαλάιεςεο! εξώηεκα i Γηάβαζε ζηήιε Μέρξηο_Όηνπ (ζηήιε > 0) θαη (ζηήιε <= Μ) κέγηζην ΠΙΝΑΚΑ[1, ζηήιε] Γηα i από 2 κέρξη Ν Αλ ΠΙΝΑΚΑ[i, ζηήιε] > κέγηζην ηόηε κέγηζην ΠΙΝΑΚΑ[i, ζηήιε] Δθηύπσζε "Σν κέγηζην ζηνηρείν ηεο ζηήιεο", ζηήιε, "είλαη ην ", κέγηζην Αξρή_Δπαλάιεςεο! εξώηεκα ii Γηάβαζε γξακκή Μέρξηο_Όηνπ (γξακκή > 0) θαη (γξακκή <= Ν) ειάρηζην ΠΙΝΑΚΑ[γξακκή, 1] Γηα j από 2 κέρξη M Αλ ΠΙΝΑΚΑ[γξακκή, j] < ειάρηζην ηόηε ειάρηζην ΠΙΝΑΚΑ[γξακκή, j] Δθηύπσζε "Σν ειάρηζην ζηνηρείν ηεο γξακκήο", γξακκή, "είλαη ην ", ειάρηζην Τέινο Δπεμεξγαζία_Πηλάθσλ1 Άζθεζε 4. Να αλαπηύμεηε αιγόξηζκν ν νπνίνο ζα δηαβάδεη ηα ζηνηρεία ελόο δηζδηάζηαηνπ πίλαθα αξηζκώλ θαη ζα ππνινγίδεη ην ειάρηζην ζηνηρείν θάζε ζηήιεο θαη ην κέγηζην ζηνηρείν θάζε γξακκήο ηνπνζεηώληαο ηα ζε αληίζηνηρνπο πίλαθεο Αιγόξηζκνο Δπεμεξγαζία_Πηλάθσλ2 Γεδνκέλα // Ν, Μ // Γηάβαζε ΠΙΝΑΚΑ[i, j] ΔΛΑΧ_ΓΡΑΜΜΩΝ[i] ΠΙΝΑΚΑ[i, 1]! ηνπνζεηώ ην πξώην ζηνηρείν Γηα j από 2 κέρξη M Αλ ΠΙΝΑΚΑ[i, j] < ΔΛΑΧ_ΓΡΑΜΜΩΝ[i] ηόηε ΔΛΑΧ_ΓΡΑΜΜΩΝ[i] ΠΙΝΑΚΑ[i, j] κέγηζην ΠΙΝΑΚΑ[1, j]! ηνπνζεηώ ην πξώην ζηνηρείν! πξνζνρή ζην όηη ν πίλαθαο ΠΙΝΑΚΑΣ πξνζπειαύλεηαη ζηήιε-γξακκή
Γηα i από 2 κέρξη N Αλ ΠΙΝΑΚΑ[i, j] > κέγηζην ηόηε κέγηζην ΠΙΝΑΚΑ[i, j] ΜΔΓ_ΣΗΛΩΝ[j] κέγηζην Απνηειέζκαηα // Ν, ΔΛΑΧ_ΓΡΑΜΜΩΝ, Μ, ΜΔΓ_ΣΗΛΩΝ // Τέινο Δπεμεξγαζία_Πηλάθσλ2 Άζθεζε 5. Να αλαπηύμεηε αιγόξηζκν ν νπνίνο ζα δηαβάδεη ηα ζηνηρεία ελόο δηζδηάζηαηνπ πίλαθα αξηζκώλ ζα εμεηάδεη αλ ν πίλαθαο είλαη αξαηόο. Θεσξνύκε νηη έλαο πίλαθαο είλαη αξαηόο αλ πάλσ απν 80% ηνπ πιήζνπο ησλ ζηνηρείσλ ηνπ είλαη κεδέλ ε πξώηε θάζε πξέπεη λα ππνινγηζηεί ην πιήζνο ησλ κεδεληθώλ ζηνηρείσλ ηνπ πίλαθα θαη ζπγθξηζεί κε ην 80% ησλ ζηνηρείσλ ηνπ πίλαθα Αιγόξηζκνο Αξαηόο_Πίλαθαο Γεδνκέλα // Ν, Μ // Γηάβαζε Α[i, j] πιήζνο_κεδέλ 0 Αλ Α[i, j] = 0 ηόηε πιήζνο_κεδέλ πιήζνο_κεδέλ + 1 Αλ πιήζνο_κεδέλ >= 0.80 * Ν *Μ ηόηε Δθηύπσζε "Ο πίλαθαο είλαη αξαηόο" Αιιηώο Δθηύπσζε "Ο πίλαθαο δελ είλαη αξαηόο" Τέινο Αξαηόο_Πίλαθαο Άζθεζε 6. Να αλαπηύμεηε αιγόξηζκν ν νπνίνο κε δεδνκέλα ηα ζηνηρεία ελόο ηεηξαγσληθνύ (δηαζηάζεσλ ΝxN) δηζδηάζηαηνπ πίλαθα: i. ζα ππνινγίδεη θαη ζα εθηππώλεη ηo ην άζξνηζκα ησλ ζηνηρείσλ ηεο θπξίαο δηαγσλίνπ ii. ζα ππνινγίδεη θαη ζα εθηππώλεη ηo ην άζξνηζκα ησλ ζηνηρείσλ ηεο δεπηεξεύνπζαο δηαγσλίνπ
Όπσο θαίλεηαη θαη ζην παξαπάλσ ζρήκα ηα ζηνηρεία ηεο θπξίαο δηαγσλίνπ είλαη ηα πεξηερόκελα ησλ θειηώλ Α[i, i], όπνπ 1 <= i <= Ν. Αληίζηνηρα ηα ζηνηρεία ηεο θπξίαο δηαγσλίνπ είλαη ηα θειηά Α[i, N + 1 - i], όπνπ 1<= i <= Ν. Δπνκέλσο ν αιγόξηζκνο ζα είλαη: Αιγόξηζκνο Γηαγώληεο Γεδνκέλα // Ν, Α // άζξνηζκα 0 άζξνηζκα άζξνηζκα + Α[i, i] Δθηύπσζε "Σν άζξνηζκα ησλ ζηνηρείσλ ηεο θύξηαο δηαγσλίνπ είλαη ", άζξνηζκα άζξνηζκα 0 άζξνηζκα άζξνηζκα + Α[i, Ν + 1 - i] Δθηύπσζε "Σν άζξνηζκα ησλ ζηνηρείσλ ηεο δεπηεξεύνπζαο δηαγσλίνπ είλαη ", άζξνηζκα Τέινο Γηαγώληεο Άζθεζε 7. Να αλαπηύμεηε αιγόξηζκν ν νπνίνο κε δεδνκέλα ηα ζηνηρεία ελόο ηεηξαγσληθνύ (δηαζηάζεσλ ΝxN) δηζδηάζηανηνπ πίλαθα, λα ειέγρεη αλ ν πίλαθαο είλαη: i. Άλσ ηξηγσληθόο ii. Κάησ ηξηγσληθόο iii. Γηαγώληνο
i. Έλαο πίλαθαο ραξαθηεξίδεηαη σο άλσ ηξηγσληθόο όηαλ όια ηα ζηνηρεία πνπ βξίζθνληαη θάησ ηεο θπξίαο δηαγσλίνπ (έρεη νξηζηεί ζηελ πξνεγνύκελε άζθεζε) είλαη κεδέλ. Σα ζηνηρεία απηά είλαη ηα πεξηερόκελα ησλ θειηώλ Α[i, j], όπνπ i > j ii. Έλαο πίλαθαο ραξαθηεξίδεηαη σο θάησ ηξηγσληθόο όηαλ όια ηα ζηνηρεία πνπ βξίζθνληαη άλσ ηεο θπξίαο δηαγσλίνπ (έρεη νξηζηεί ζηελ πξνεγνύκελε άζθεζε) είλαη κεδέλ. Σα ζηνηρεία απηά είλαη ηα πεξηερόκελα ησλ θειηώλ Α[i, j], όπνπ i < j Παξαηήξεζε: έρεη γίλεη αληηιεπηό όηη ηα θειηά Α[i, j], όπνπ i = j αλήθνπλ ζηελ θύξηα δηαγώλην!! iii. Έλαο πίλαθαο ραξαθηεξίδεηαη σο δηαγώληνο αλ είλαη ηαπηόρξνλα άλσ θαη θάησ ηξηγσληθόο Δπνκέλσο ν αιγόξηζκνο ζα είλαη: Αιγόξηζκνο Σξηγσληθνί Γεδνκέλα // Ν, Α // άλσ_ηξηγσληθόο αιεζήο! έζησ νηη ν πίλαθαο είλαη άλσ ηξηγσληθόο Γηα j από 1 κέρξη N Αλ (Α[i, j] <> 0) θαη (i > j) ηόηε! αλ βξεζεί έζησ θαη έλα ζηνηρείν <> 0 ηνλ απνραξαθηεξίδσ άλσ_ηξηγσληθόο ςεπδήο θάησ_ηξηγσληθόο αιεζήο! έζησ νηη ν πίλαθαο είλαη άλσ ηξηγσληθόο Γηα j από 1 κέρξη N Αλ (Α[i, j] <> 0) θαη (i < j) ηόηε! αλ βξεζεί έζησ θαη έλα ζηνηρείν <> 0 ηνλ απνραξαθηεξίδσ θάησ_ηξηγσληθόο ςεπδήο Αλ (άλσ_ηξηγσληθόο = αιεζήο) θαη (θάησ_ηξηγσληθόο = αιεζήο) ηόηε Δθηύπσζε "Ο πίλαθαο είλαη δηαγώληνο..."! εξώηεκα iii Αιιηώο_Αλ (άλσ_ηξηγσληθόο = αιεζήο) ηόηε Δθηύπσζε "Ο πίλαθαο είλαη άλσ ηξηγσληθόο..."! εξώηεκα i Αιιηώο_Αλ (θάησ_ηξηγσληθόο = αιεζήο) ηόηε Δθηύπσζε "Ο πίλαθαο είλαη θάησ ηξηγσληθόο..."! εξώηεκα ii Αιιηώο Δθηύπσζε "Ο πίλαθαο δελ έρεη θακία απν ηηο ηδηόηεηεο ηεο εθθώλεζεο..." Τέινο Σξηγσληθνί
Άζθεζε 8. Να κεηαηξέςεηε ζε θσδηθνπνίεζε ην παξαθάησ δηάγξακκα ξνήο max Α[1, 1] Γηα i από 1 κέρξη 20 Γηα j από 1 κέρξη 50 Αλ (Α[i, j] > max) ηόηε max Α[i, j] Δθηύπσζε max
Άζθεζε 9. Να αλαπηύμεηε αιγόξηζκν πνπ ζα ζπλελώλεη (ιεηηνπξγία ζπγρώλεπζεο) δύν πίλαθεο: Α δηαζηάζεσλ Ν1xM θαη Β δηαζηάζεσλ Ν2xM Θα κεηαθέξνπκε ηνλ πίλαθα Α ζην "πάλσ κέξνο" ηνπ πίλαθα Γ ζηηο γξακκέο 1..Ν1 θαη ζηε ζπλέρεηα ζα κεηαθεξζεί ν πίλαθαο Β ζηνλ πίλαθα Γ ζηηο γξακκέο Ν1+1..Ν1+Ν2. Όκνηα, ε ζπλέλσζε ζα κπνξνύζε λα πξαγκαηνπνηεζεί θαηά "πιάηνο" Αιγόξηζκνο πλέλσζε_πηλάθσλ Γεδνκέλα // Ν1, Μ, Ν2, Α, Β // Γηα i από 1 κέρξη Ν1 Γηα j από 1 κέρξη Μ
Γ[i, j] A[i, j] Γηα i από N1+1 κέρξη N1+Ν2 Γ[i, j] B[i - N1, j] N N1 + N2 Απνηειέζκαηα // Γ, Ν // Τέινο πλέλσζε_πηλάθσλ Άζθεζε 10. Η ΔΜΥ κειεηάεη ηηο ζεξκνθξαζίεο ζε δηάθνξεο πνιεηο ηεο Διιάδαο. Καηαρσξνύληαη ινηπόλ ηα νλόκαηα ησλ 100 πόιεσλ πνπ ζπκκεηέρνπλ ζηελ έξεπλα θαζώο θαη νη ζεξκνθξαζίεο ησλ πόιεσλ απηώλ ηνλ κήλα πνπ πέξαζε. Να αλαπηπρζεί αιγόξηζκνο όπνπ: i. Θα δηαβάδεη ηα απαξαίηεηα ζηνηρεία. Να πεξηγξαθνύλ νη δνκέο δεδνκέλσλ πνπ ζα ρξεζηκνπνηεζνύλ ii. Θα εληνπίδεη θαη ζα εθηππώλεη ην όλνκα ηεο θαηά κέζν όξν ζεξκόηεξεο πόιεο ηνπ κήλα iii. Θα εληνπίδεη γηα θάζε πόιε ηηο κέξεο ηνπ κήλα όπνπ ππάξρεη ζεξκνθξαζία κεγαιύηεξε από ηελ πξνεγνύκελε θαη ηελ επόκελε κέξα Θα ρξεζηκνπνηήζνπκε δπν πίλαθεο: ηνλ πίλαθα ΟΝΟΜΑΣΑ, κνλνδηάζηαην 100 ζέζεσλ πνπ ζα πεξηέρεη ηα νλόκαηα ησλ πόιεσλ θαη ηνλ πίλαθα ΘΔΡΜΟΚΡΑΙΔ[100, 30] πνπ θαηέρεη αληίζηνηρα γηα θάζε πόιε ηελ εκεξήζηα ζεξκνθξαζία ηεο. Γηα ηε κέζε ζεξκνθξαζία θάζε πόιεο ζα ρξεζηκνπνηήζνπκε κνλνδηάζηαην πίλαθα 100 ζέζεσλ κε όλνκα ΜΔΗ_ΘΔΡΜΟΚΡΑΙΑ Αιγόξηζκνο Δπεμεξγαζία_Θεξκνθξαζίεο Πιήζνο 100 Γηα i από 1 κέρξη Πιήζνο Γηάβαζε ΟΝΟΜΑ[i] Γηα j από 1 κέρξη 30 Γηάβαζε ΘΔΡΜΟΚΡΑΙΔ[i, j] Γηα i από 1 κέρξη Πιήζνο! εξώηεκα ii άζξνηζκα 0 Γηα j από 1 κέρξη 30 άζξνηζκα άζξνηζκα + ΘΔΡΜΟΚΡΑΙΔ[i, j] ΜΔΗ_ΘΔΡΜΟΚΡΑΙΑ[i] άζξνηζκα / 30 κέγηζηνο ΜΔΗ_ΘΔΡΜΟΚΡΑΙΑ[1] ζέζε 1 Γηα i από 2 κέρξη Πιήζνο Αλ (ΜΔΗ_ΘΔΡΜΟΚΡΑΙΑ[i] > κέγηζηνο) ηόηε κέγηζηνο ΜΔΗ_ΘΔΡΜΟΚΡΑΙΑ[i] ζέζε i
Δθηύπσζε "Η ζεξκόηεξε θαηά κέζν όξν πόιε είλαη ε ", ΟΝΟΜΑ[ζέζε] Γηα i από 1 κέρξη Πιήζνο! εξώηεκα iii Δθηύπσζε "Αλαθνξά γηα ηελ πόιε", ΟΝΟΜΑ[i] Γηα j από 2 κέρξη 29! ε πξώηε θαη ε ηειεπηαία κέξα ηνπ κήλα δελ κπνξεί ειεγρζεί θαζώο δελ ππάξρνπλ ζηνηρεία γηα ηελ πξνεγνύκελε θαη ηελ επόκελε κέξα αληίζηνηρα Αλ (ΘΔΡΜΟΚΡΑΙΔ[i, j] > ΘΔΡΜΟΚΡΑΙΔ[i, j-1]) θαη (ΘΔΡΜΟΚΡΑΙΔ[i, j] > ΘΔΡΜΟΚΡΑΙΔ[i, j+1]) ηόηε Δθηύπσζε "Ηκέξα: ", j Τέινο Δπεμεξγαζία_Θεξκνθξαζίεο Άζθεζε 11. Να αλαπηπρζεί αιγόξηζκνο πνπ ζα επεμεξγάδεηαη ηα ζηνηρεία ησλ αγώλσλ πνδνζθαίξνπ. Θα θαηαρσξεί ζε δηζδηάζηαην πίλαθα ηα γθνι πνπ πέηπρε θάζε κηα από ηηο 16 νκάδεο ηνπ πξσηαζιήκαηνο ζε θάζε κία από ηηο 32 αγσληζηηθέο ηνπ πξσηαζιήκαηνο θαη ζα εθηππώλεη: i. Πνηά νκάδα θαη ζε πνηα αγσληζηηθή πέηπρε ηα πεξηζζόηεξα γθνι; ii. Τελ θαιύηεξε επίζεζε ηνπ πξσηαζιήκαηνο iii. Τελ ρεηξόηεξε επίζεζε ηνπ πξσηαζιήκαηνο iv. Σε πόζνπο αγώλεο θάζε νκάδα πέηπρε πεξηζζόηεξα γθνι από ην κέζν όξν ηεο; Θα ρξεζηκνπνηήζνπκε δπν πίλαθεο: ηνλ πίλαθα ΟΜΑΓΑ, κνλνδηάζηαην 16 ζέζεσλ πνπ ζα πεξηέρεη ηα νλόκαηα ησλ νκάδσλ θαη ηνλ πίλαθα ΓΚΟΛ[16, 32] πνπ ζα πεξηέρεη αληίζηνηρα γηα θάζε νκάδα ηα γθνι πνπ πέηπρε ζηελ αληίζηνηρε αγσληζηηθή. Γηα ηελ απάληεζε ησλ εξσηεκάησλ ii, iii θαη iv ζα δεκηνπξγήζνπκε ηνλ πίλαθα ΜΟ_ΓΚΟΛ κνλνδηάζηαην 16 ζέζεσλ Αιγόξηζκνο Α_Δζληθή Γεδνκέλα // ΟΜΑΓΑ // Γηα i από 1 κέρξη 16 Γηα j από 1 κέρξη 32 Γηάβαζε ΓΚΟΛ[i, j] κέγηζηνο ΓΚΟΛ[1,1]! εξώηεκα i κεγ_γξακκή 1 κεγ_ζηήιε 1 Γηα i από 1 κέρξη 16 Γηα j από 1 κέρξη 32 Αλ (ΓΚΟΛ[i, j] > κέγηζηνο) ηόηε κέγηζηνο ΓΚΟΛ[i, j] κεγ_γξακκή i κεγ_ζηήιε j Δθηύπσζε "Σα πεξηζζόηεξα γθνι ηα πέηπρε ε νκάδα ", ΟΜΑΓΑ[κεγ_γξακκή]," ζηελ ", κεγ_ζηήιε, " αγσληζηηθή"! ηέινο εξώηεκα i Γηα i από 1 κέρξη 16 άζξνηζκα 0 Γηα j από 1 κέρξη 32 άζξνηζκα άζξνηζκα + ΓΚΟΛ[i, j]
ΜΟ_ΓΚΟΛ[i] άζξνηζκα / 32 κέγηζηνο ΜΟ_ΓΚΟΛ[1]! εξώηεκα ii ζέζε 1 Γηα i από 2 κέρξη 16 Αλ (ΜΟ_ΓΚΟΛ[i] > κέγηζηνο) ηόηε κέγηζηνο ΜΟ_ΓΚΟΛ[i] ζέζε i Δθηύπσζε "Σελ θαιύηεξε επίζεζε έρεη ε νκάδα ", ΟΜΑΓΑ[ζέζε]! ηέινο εξώηεκα ii ειάρηζηνο ΜΟ_ΓΚΟΛ[1]! εξώηεκα iii ζέζε 1 Γηα i από 2 κέρξη 16 Αλ (ΜΟ_ΓΚΟΛ[i] < ειάρηζηνο) ηόηε ειάρηζηνο ΜΟ_ΓΚΟΛ[i] ζέζε i Δθηύπσζε "Σελ ρεηξόηεξε επίζεζε έρεη ε νκάδα ", ΟΜΑΓΑ[ζέζε]! ηέινο εξώηεκα iii Γηα i από 1 κέρξη 16! εξώηεκα iv κεηξεηήο 0 Γηα i από 1 κέρξη 32 Αλ (ΓΚΟΛ[i, j] > ΜΟ_ΓΚΟΛ[i]) ηόηε κεηξεηήο κεηξεηήο + 1 Δθηύπσζε "Η νκάδα ", ΟΜΑΓΑ[i], "έρεη πεηύρεη ζε", κεηξεηήο, " αγσληζηηθέο πεξηζζόηεξα γθνι από ην κέζν όξν ηεο" Τέινο Α_Δζληθή