ΘΕΜΑΤΑ ΠΑΝΕΛΛΗΝΙΩΝ ΣΥΝΑΡΤΗΣΕΙΣ
Θέμα 3 (Πανελλήνιες 2006)
Λύση Θέμα 3 (Πανελλήνιες 2006) ΠΡΟΓΡΑΜΜΑ ΑΙΘΟΥΣΕΣ ΑΚΕΡΑΙΕΣ: Ι, ΘΕΣΕΙΣ, ΧΩΡ, ΕΠΙΤ_ΑΙΘ ΘΕΣΕΙΣ <- 0 Ι <- 1 ΟΣΟ ΘΕΣΕΙΣ < 1500 ΕΠΑΝΑΛΑΒΕ ΔΙΑΒΑΣΕ ΧΩΡ ΕΠΙΤ_ΑΙΘ <- ΕΠΙΤΗΡΗΤΕΣ(ΧΩΡ) ΓΡΑΨΕ " Επιτηρητές ", Ι, "ης Αίθουσας: ", ΕΠΙΤ_ΑΙΘ ΘΕΣΕΙΣ <- ΘΕΣΕΙΣ + ΧΩΡ Ι <- Ι + 1 ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΥΝΑΡΤΗΣΗ ΕΠΙΤΗΡΗΤΕΣ(ΧΩΡ): ΑΚΕΡΑΙΑ ΑΚΕΡΑΙΕΣ: ΧΩΡ ΑΝ ΧΩΡ <= 15 ΤΟΤΕ ΕΠΙΤΗΡΗΤΕΣ <- 1 _ΑΝ ΧΩΡ <= 23 ΤΟΤΕ ΕΠΙΤΗΡΗΤΕΣ <- 2 ΕΠΙΤΗΡΗΤΕΣ <- 3 ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
Θέμα 3 (Πανελλήνιες 2008)
Λύσεις (Θέμα 3 Πανελλήνιες 2008) ΠΡΟΓΡΑΜΜΑ Εταιρεία ΑΚΕΡΑΙΕΣ: Π_Οικολογικά, Π_Συμβατικά, ΗΜΕ, Ι, Sum ΧΑΡΑΚΤΗΡΕΣ: Κ Π_Οικολογικά <- 0 Π_Συμβατικά <- 0 ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 30 ΓΡΑΨΕ 'Δώσε κατηγορία' ΔΙΑΒΑΣΕ Κ ΓΡΑΨΕ 'Δώσε ημέρες ενοικίασης' ΔΙΑΒΑΣΕ ΗΜΕ Sum <- Χρέωση(Κ, ΗΜΕ) ΓΡΑΨΕ 'Χρέωση ', Sum ΑΝ Κ = 'ΟΙΚΟΛΟΓΙΚΑ' ΤΟΤΕ Π_Οικολογικά <- Π_Οικολογικά + 1 Π_Συμβατικά <- Π_Συμβατικά + 1 ΓΡΑΨΕ 'Πλήθος οικολογικών αυτοκινήτων', Π_Οικολογικά ΓΡΑΨΕ 'Πλήθος συμβατικών αυτοκινήτων', Π_Συμβατικά ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΥΝΑΡΤΗΣΗ Χρέωση(Κ, ΗΜΕ): ΑΚΕ ΡΑΙΑ ΑΚΕΡΑΙΕΣ: ΗΜΕ ΧΑΡΑΚΤΗΡΕΣ: Κ ΑΝ Κ = ' ΟΙΚΟΛΟΓΙΚΑ' ΤΟΤΕ ΑΝ ΗΜΕ <= 7 ΤΟΤΕ Χρέωση <- 30*ΗΜΕ _ΑΝ ΗΜΕ <= 16 ΤΟΤΕ Χρέωση <- 20*ΗΜΕ Χρέωση <- 10*ΗΜΕ ΑΝ ΗΜΕ <= 7 ΤΟΤΕ Χρέωση <- 40*ΗΜΕ _ΑΝ ΗΜΕ <= 16 ΤΟΤΕ Χρέωση <- 30*ΗΜΕ Χρέωση <- 20*ΗΜΕ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
Θέμα 4 (Επαναληπτικές Πανελλήνιες 2008)
Λύσεις (Θέμα 4 Επαναληπτικές Πανελλήνιες 2008) ΠΡΟΓΡΑΜΜΑ Πεκίνο ΑΚΕΡΑΙΕΣ: Α, Β, Π, Ι ΠΡΑΓΜΑΤΙΚΕΣ: ΗΜ_Α[8], ΗΜ_Β[8], ΧΡ[8] ΧΑΡΑΚΤΗΡΕΣ: ΟΝ_Α[8], ΟΝ_Β[8], ΟΝ[8] ΛΟΓΙΚΕΣ: DONE ΚΑΛΕΣΕ ΕΙΣΟΔΟΣ(ΗΜ_Α, ΟΝ_Α) ΚΑΛΕΣΕ ΕΙΣΟΔΟΣ(ΗΜ_Β, ΟΝ_Β) ΚΑΛΕΣΕ ΤΑΞΙΝΟΜΗΣΗ(ΗΜ_Α, ΟΝ_Α) ΚΑΛΕΣΕ ΤΑΞΙΝΟΜΗΣΗ (ΗΜ_Β, ΟΝ_Β) ΑΝ ΗΜ_Α[1] < ΗΜ_Β[1] ΤΟΤΕ ΟΝ[1] <- ΟΝ_Α[1] ΟΝ[2] <- ΟΝ_Β[1] ΧΡ[1] <- ΗΜ_Α[1] ΧΡ[2] <- ΗΜ_Β[1] ΟΝ[1] <- ΟΝ_Β[1] ΟΝ[2] <- ΟΝ_Α[1] ΧΡ[1] <- ΗΜ_Β[1] ΧΡ[2] <- ΗΜ_Α[1] Α <- 2! Δείκτης στον πίνακα του Α ημιτελικού Β <- 2! Δείκτης στον πίνακα του β ημιτελικού Π <- 3! Δείκτης στον πίνακα του τελικού DONE <- ΨΕΥΔΗΣ ΟΣΟ DONE = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ ΑΝ ΗΜ_Α[Α] < ΗΜ_Β[Β] ΤΟΤΕ ΧΡ[Π] <- ΗΜ_Α[Α] ΟΝ[Π] <- ΟΝ_Α[Α] Α <- Α + 1 Π <- Π + 1! Συγχώνευση των στοιχείων των 2 πινάκων ΧΡ[Π] <- ΗΜ_Β[Β] ΟΝ[Π] <- ΟΝ_Β[Β]! μέχρι να συμπληρωθούν στον τελικό πίνακα Β <- Β + 1! τα επόμενα 6 στοιχεία Π <- Π + 1 ΑΝ Π > 8 ΤΟΤΕ DONE <- ΑΛΗΘΗΣ ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 8 ΓΡΑΨΕ ΟΝ[Ι], ΧΡ[Ι] ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΙΑΔΙΚΑΣΙΑ ΕΙΣΟΔΟΣ(ΗΜ1, ΟΝ) ΑΚΕΡΑΙΕΣ: Ι ΠΡΑΓΜΑΤΙΚΕΣ: ΗΜ1[8] ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[8] ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 8 ΔΙΑΒΑΣΕ ΟΝ[Ι], ΗΜ1[Ι] ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΔΙΑΔΙΚΑΣΙΑ ΤΑΞΙΝΟΜΗΣΗ(ΗΜ1, ΟΝ) ΑΚΕΡΑΙΕΣ: Ι, J ΠΡΑΓΜΑΤΙΚΕΣ: ΗΜ1[8], TEMP ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[8], TEMP1 ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 8 ΓΙΑ J ΑΠΟ 8 ΜΕΧΡΙ Ι ΜΕ_ΒΗΜΑ -1 ΑΝ ΗΜ1[J - 1] > ΗΜ1[J] ΤΟΤΕ TEMP <- ΗΜ1[J - 1] ΗΜ1[J - 1] <- ΗΜ1[J] ΗΜ1[J] <- TEMP TEMP1 <- ΟΝ[J - 1] ΟΝ[J - 1] <- ΟΝ[J] ΟΝ[J] <- TEMP1 ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
Θέμα 4 (Επαναληπτικές πανελλήνιες 2009)
Λύσεις (θέμα 4 Επαναληπτικές Πανελλήνιες 2009) ΠΡΟΓΡΑΜΜΑ Τρίλιζα ΑΚΕΡΑΙΕΣ: Κίνηση, Γραμμή, Στήλη, Ι, J ΧΑΡΑΚΤΗΡΕΣ: T[3, 3] ΛΟΓΙΚΕΣ: Αποτέλεσμα ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 3 ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 3 T[Ι, J] <- '-' Αποτέλεσμα <- ΨΕΥΔΗΣ Κίνηση <- 1 ΟΣΟ Αποτέλεσμα = ΨΕΥΔΗΣ ΚΑΙ Κίνηση <= 9 ΕΠΑΝΑΛΑΒΕ ΓΡΑΨΕ 'Δώσε τις συντεταγμένες' _ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ Γραμμή, Στήλη ΜΕΧΡΙΣ_ΟΤΟΥ T[Γραμμή, Στήλη] = '-' ΑΝ Κίνηση mod 2 = 1 ΤΟΤΕ T[Γραμμή, Στήλη] <- 'X' T[Γραμμή, Στήλη] <- 'Ο' Αποτέλεσμα <- ΝΙΚΗΣΕ(T, Γραμμή, Στήλη) Κίνηση <- Κίνηση + 1 ΑΝ Κίνηση > 9 ΤΟΤΕ ΓΡΑΨΕ 'ΥΠΑΡΧΕΙ ΙΣΟΠΑΛΙΑ' _ΑΝ Κίνηση mod 2 = 0 ΤΟΤΕ ΓΡΑΨΕ 'ΝΙΚΗΤΗΣ ΕΊΝΑΙ Ο ΠΡΩΤΟΣ ΠΑΙΚΤΗΣ' ΓΡΑΨΕ 'ΝΙΚΗΤΗΣ ΕΊΝΑΙ Ο ΔΕΥΤΕΡΟΣ ΠΑΙΚΤΗΣ' ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΥΝΑΡΤΗΣΗ ΝΙΚΗΣΕ(Τ, Γ, Σ): ΛΟΓΙΚΗ ΑΚΕΡΑΙΕΣ: Γ, Σ ΧΑΡΑΚΤΗΡΕΣ: Τ[3, 3] ΑΝ (Τ[Γ, 1] = Τ[Γ, 2] ΚΑΙ Τ[Γ, 2] = Τ[Γ, 3] ΚΑΙ Τ[Γ, 2] <> '-') Η (Τ[1, Σ] = Τ[2, Σ] ΚΑΙ Τ[2, Σ] = Τ[3, Σ] ΚΑΙ Τ[2, Σ] <> '-') Η (Τ[1, 1] = Τ[2, 2] ΚΑΙ Τ[2, 2] = Τ[3, 3] ΚΑΙ Τ[2, 2] <> '-') Η (Τ[1, 3] = Τ[2, 2] ΚΑΙ Τ[2, 2] = Τ[3, 1] ΚΑΙ Τ[2, 2] <> '-') ΤΟΤΕ ΝΙΚΗΣΕ <- ΑΛΗΘΗΣ ΝΙΚΗΣΕ <- ΨΕΥΔΗΣ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
Θέμα Γ (Επαναληπτικές Πανελλήνιες 2010)
Λύση Θέμα Γ Επαναληπτικές 2010 ΔΙΑΔΙΚΑΣΙΑ ΕΛΕΓΧΟΣ(ΣΤΟΙΧΕΙΑ) ΑΚΕΡΑΙΕΣ: i, θέση ΧΑΡΑΚΤΗΡΕΣ: ΣΤΟΙΧΕΙΑ[1000, 3], όνομα_χρήστη, συνθηματικό, & νέο_συνθηματικό, επιβεβαίωση ΛΟΓΙΚΕΣ: βρέθηκε _ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ 'Εισάγετε το όνομα χρήστη: ' ΔΙΑΒΑΣΕ όνομα_χρήστη ΓΡΑΨΕ 'Εισάγετε το συνθηματικό: ' ΔΙΑΒΑΣΕ συνθηματικό!αναζήτηση του ονόματος χρήστη και του συνθηματικού!στην πρώτη στήλη και δεύτερη στήλη του πίνακα!στοιχεια i <- 1 βρέθηκε <- ΨΕΥΔΗΣ ΟΣΟ βρέθηκε = ΨΕΥΔΗΣ ΚΑΙ i <= 1000 ΕΠΑΝΑΛΑΒΕ ΑΝ ΣΤΟΙΧΕΙΑ[i, 1] = όνομα_χρήστη ΚΑΙ & ΣΤΟΙΧΕΙΑ[i, 2] = συνθηματικό ΤΟΤΕ βρέθηκε <- ΑΛΗΘΗΣ θέση <- i i <- i + 1 ΑΝ βρέθηκε = ΑΛΗΘΗΣ ΤΟΤΕ ΓΡΑΨΕ 'ΚΑΛΩΣ ΗΡΘΑΤΕ' ΑΝ ΣΤΟΙΧΕΙΑ[θέση, 3] = 'Α' ΤΟΤΕ _ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ 'Εισάγετε νέο συνθηματικό: ' ΔΙΑΒΑΣΕ νέο_συνθηματικό ΓΡΑΨΕ 'Επιβεβαιώστε: ' ΔΙΑΒΑΣΕ επιβεβαίωση ΜΕΧΡΙΣ_ΟΤΟΥ νέο_συνθηματικό = επιβεβαίωση ΓΡΑΨΕ 'ΛΑΘΟΣ ΟΝΟΜΑ ΠΡΟΣΒΑΣΗΣ Η ΣΥΝΘΗΜΑΤΙΚΟ' ΜΕΧΡΙΣ_ΟΤΟΥ βρέθηκε = ΑΛΗΘΗΣ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
Θέμα Δ(Επαναληπτικές Πανελλήνιες 2011)
ΠΡΟΓΡΑΜΜΑ ΑΕΠΠ_ΕΤΑΙΡΙΕΣ ΣΤΑΘΕΡΕΣ Ν = 20!Δ1 ΧΑΡΑΚΤΗΡΕΣ: όνομα[ν] Λύση Θέμα Δ (Επαναληπτικές Πανελλήνιες 2011) ΠΡΑΓΜΑΤΙΚΕΣ: κέρδη[ν, 5], ετήσιο_κέρδος_ομίλου ΠΡΑΓΜΑΤΙΚΕΣ: κέρδος3α, κέρδος3β, κέρδος3γ, max ΑΚΕΡΑΙΕΣ: i, j, έτος! Δ2. να διαβάζει τα ονόματα των εταιριών του ομίλου και τα κέρδη τους! για κάθε ένα από τα έτη 2001 έως και 2005. (Θεωρήστε ότι τα κέρδη είναι θετικοί αριθμοί.) ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ΓΡΑΨΕ 'Δώστε όνομα ', i, 'ης εταιρίας : ' ΔΙΑΒΑΣΕ όνομα[i] ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5 ΓΡΑΨΕ 'Δώστε κέρδη έτους ', 2000 + j, ' : ' ΔΙΑΒΑΣΕ κέρδη[i, j]! Δ4. για κάθε εταιρία να βρίσκει την τριετία με το μεγαλύτερο συνολικό κέρδος και να! εμφανίζει το όνομα της εταιρίας και το πρώτο έτος της συγκεκριμένης τριετίας.! (Θεωρήστε ότι η τριετία αυτή είναι μοναδική.) Μονάδες 5 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν κέρδος3α <- κέρδη[i, 1] + κέρδη[i, 2] + κέρδη[i, 3] κέρδος3β <- κέρδη[i, 2] + κέρδη[i, 3] + κέρδη[i, 4] κέρδος3γ <- κέρδη[i, 3] + κέρδη[i, 4] + κέρδη[i, 5] max <- κέρδος3α έτος <- 2001 ΑΝ κέρδος3β > max ΤΟΤΕ max <- κέρδος3β έτος <- 2002 ΑΝ κέρδος3γ > max ΤΟΤΕ max <- κέρδος3γ έτος <- 2003 ΓΡΑΨΕ 'Πρώτο έτος καλύτερης τριετίας το ', έτος, ' για την εταιρία ', όνομα[i]! Δ3. για κάθε εταιρία του ομίλου να καλεί συνάρτηση για τον υπολογισμό του συνολικού! κέρδους της εταιρίας στην πενταετία. Στη συνέχεια να υπολογίζει και να εμφανίζει το! μέσο ετήσιο κέρδος του ομίλου. Μονάδες 5 ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ετήσιο_κέρδος_ομίλου <- 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ετήσιο_κέρδος_ομίλου <- ετήσιο_κέρδος_ομίλου + κέρδος_εταιρίας (κέρδη[i, 1], κέρδη[i, 2], κέρδη[i, 3], κέρδη[i, 4], κέρδη[i, 5]) ΓΡΑΨΕ 'Μέσο ετήσιο κέρδος του ομίλου : ', ετήσιο_κέρδος_ομίλου/ Ν! Δ5. Να κατασκευάσετε τη συνάρτηση που θα χρησιμοποιήσετε στο ερώτημα Δ3. ΣΥΝΑΡΤΗΣΗ κέρδος_εταιρίας (κ1, κ2, κ3, κ4, κ5): ΠΡΑΓΜΑΤΙΚΗ ΠΡΑΓΜΑΤΙΚΕΣ: κ1, κ2, κ3, κ4, κ5 κέρδος_εταιρίας <- κ1 + κ2 + κ3 + κ4 + κ5 ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
Θέμα Δ(Επαναληπτικές Πανελλήνιες 2012)
Λύση Θέμα Δ (Επαναληπτικές Πανελλήνιες 2012)!Δ5. ΠΡΟΓΡΑΜΜΑ ΑΕΠΠ_GP βρέθηκε_σταθμός <- ΨΕΥΔΗΣ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5 ΑΚΕΡΑΙΕΣ: i, j, θεατές[5, 7] συνεχής_αύξηση <- ΑΛΗΘΗΣ ΠΡΑΓΜΑΤΙΚΕΣ: μέσο_πλήθος, ΜΟ_ΣΚ, ΜΟ_ΔΤΤΠΠ j <- 1 ΧΑΡΑΚΤΗΡΕΣ: όνομα[5] ΟΣΟ (j < 7) ΚΑΙ (συνεχής_αύξηση = ΑΛΗΘΗΣ) ΕΠΑΝΑΛΑΒΕ ΛΟΓΙΚΕΣ: βρέθηκε_σταθμός, συνεχής_αύξηση ΑΝ θεατές[i, j] >= θεατές[i, j + 1] ΤΟΤΕ συνεχής_αύξηση <- ΨΕΥΔΗΣ!Δ2. ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5 j <- j + 1 ΓΡΑΨΕ 'Όνομα ', i, ' σταθμού: ' ΔΙΑΒΑΣΕ όνομα[i] ΑΝ συνεχής_αύξηση = ΑΛΗΘΗΣ ΤΟΤΕ ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 7 ΓΡΑΨΕ 'Συνεχής αύξηση τηλεθέασης: ', όνομα[i] ΓΡΑΨΕ 'Τηλεθεατές ', j, ' μέρας: ' βρέθηκε_σταθμός <- ΑΛΗΘΗΣ ΔΙΑΒΑΣΕ θεατές[i, j] ΑΝ βρέθηκε_σταθμός = ΨΕΥΔΗΣ ΤΟΤΕ!Δ3. ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5 μέσο_πλήθος <- βρες_μέσο_πλήθος (θεατές, i) ΓΡΑΨΕ 'Μέσο πλήθος ', i, ' σταθμού :', μέσο_πλήθος!δ4. ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5 ΜΟ_ΣΚ <- (θεατές[i, 6] + θεατές[i, 7])/2 ΜΟ_ΔΤΤΠΠ <- (θεατές[i, 1] + θεατές[i, 2] + θεατές[i, 3] + θεατές[i, 4] + θεατές[i, 5])/5 ΑΝ ΜΟ_ΣΚ > (ΜΟ_ΔΤΤΠΠ* 1.1) ΤΟΤΕ ΓΡΑΨΕ 'ΣΚ > καθημερινές (10%): ', όνομα[i] ΓΡΑΨΕ 'Κανένας σταθμός δεν είχε συνεχή αύξηση τηλεθέασης' ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ! Δ3. ΣΥΝΑΡΤΗΣΗ βρες_μέσο_πλήθος (πίνακας, γραμμή): ΠΡΑΓΜΑΤΙΚΗ ΑΚΕΡΑΙΕΣ: πίνακας[5, 7], γραμμή, sum, j sum <- 0 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 7 sum <- sum + πίνακας[γραμμή, j] βρες_μέσο_πλήθος <- sum/ 7 ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
Θέμα 3 (Πανελλήνιες 2015)
Λύση Θέμα 3 (Πανελλήνιες 2015) ΠΡΟΓΡΑΜΜΑ Αποθήκη ΑΚΕΡΑΙΕΣ: Α, Β ΠΡΑΓΜΑΤΙΚΕΣ: ΧΩΡΟΣΑ, ΧΩΡΟΣΒ, ΔΕΜΑ _ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ ΧΩΡΟΣΑ ΜΕΧΡΙΣ_ΟΤΟΥ ΧΩΡΟΣΑ > 0 _ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ ΧΩΡΟΣΒ ΜΕΧΡΙΣ_ΟΤΟΥ ΧΩΡΟΣΒ > 0 _ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ ΔΕΜΑ ΜΕΧΡΙΣ_ΟΤΟΥ ΔΕΜΑ > 0 ΚΑΛΕΣΕ ΕΥΡΕΣΗ(Α, Β) ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ _ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ ΔΕΜΑ ΜΕΧΡΙΣ_ΟΤΟΥ ΔΕΜΑ > 0 Α <- 0 Β <- 0 ΟΣΟ ΔΕΜΑ <> 0 ΕΠΑΝΑΛΑΒΕ ΑΝ ΧΩΡΟΣΑ >= ΧΩΡΟΣΒ ΚΑΙ ΔΕΜΑ <= ΧΩΡ ΟΣΑ ΤΟΤΕ ΓΡΑΨΕ 'Α' ΧΩΡΟΣΑ <- ΧΩΡΟΣΑ - ΔΕΜΑ Α <- Α + 1 _ΑΝ ΔΕΜΑ <= ΧΩΡΟΣΒ ΤΟΤΕ ΓΡΑΨΕ 'Β' ΧΩΡΟΣΒ <- ΧΩΡΟΣΒ - ΔΕΜΑ Β <- Β + 1 ΓΡΑΨΕ 'Προώθηση' ΔΙΑΔΙΚΑΣΙΑ ΕΥΡΕΣΗ(Α, Β) ΑΚΕΡΑΙΕΣ: Α, Β ΑΝ Α = 0 ΚΑΙ Β = 0 ΤΟΤΕ ΓΡΑΨΕ 'Καμία αποθήκευση στο αεροδρόμιο' ΑΝ Α = Β ΤΟΤΕ ΓΡΑΨΕ 'Ισάριθμα' _ΑΝ Α > Β ΤΟΤΕ ΓΡΑΨΕ 'Α' ΓΡΑΨΕ 'Β' ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
Θέμα 4 (Πανελλήνιες 2016)
Λύση Θέμα 4 (Πανελλήνιες 2016) ΠΡΟΓΡΑΜΜΑ ΣΧΟΛΙΚΟ_ΔΙΚΤΥΟ ΧΑΡΑΚΤΗΡΕΣ: ΚΩΔ[150000], Φ[150000] ΠΡΑΓΜΑΤΙΚΕΣ: ΧΡ[150000, 12], ΣΧ[150000], ΣΟΥΜ ΑΚΕΡΑΙΕΣ: Ι, Ξ, ΚΩΑ, ΚΩΚ ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 150000 ΔΙΑΒΑΣΕ ΚΩΔ[Ι], Φ[Ι] ΣΟΥΜ <- 0 ΓΙΑ Ξ ΑΠΟ 1 ΜΕΧΡΙ 12 ΔΙΑΒΑΣΕ ΧΡ[Ι, Ξ] ΣΟΥΜ <- ΣΟΥΜ + ΧΡ[Ι, Ξ] ΣΧ[Ι] <- ΣΟΥΜ ΚΩΑ <- ΘΕΣΗ_ΜΑΧ ( ΣΧ, Φ, 'Α') ΚΩΚ <- ΘΕΣΗ_ΜΑΧ ( ΣΧ, Φ, 'Κ') ΑΝ ΚΩΚ > -1 ΤΟΤΕ ΓΡΑΨΕ ΚΩΔ[ ΚΩΚ] ΑΝ ΚΩΑ > -1 ΤΟΤΕ ΓΡΑΨΕ ΚΩΔ[ ΚΩΑ] ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΥΝΑΡΤΗΣΗ ΘΕΣΗ_ΜΑΧ ( ΣΧ, Φ, φυλ): ΑΚΕΡΑΙΑ ΧΑΡΑΚΤΗΡΕΣ: Φ[150000], Α, φυλ ΠΡΑΓΜΑΤΙΚΕΣ: ΣΧ[150000], ΜΑΧ ΑΚΕΡΑΙΕΣ: Ι ΘΕΣΗ_ΜΑΧ <- -1 ΜΑΧ <- -1 ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 150000 ΑΝ ΣΧ[Ι] > ΜΑΧ ΚΑΙ Φ[Ι] = φυλ ΤΟΤΕ ΘΕΣΗ_ΜΑΧ <- Ι ΜΑΧ <- ΣΧ[Ι] ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
Θέμα Δ (Πανελλήνιες 2017)
ΠΡΟΓΡΑΜΜΑ themad ΑΚΕΡΑΙΕΣ: απ[50, 6], απτρ[50, 2],i ΧΑΡΑΚΤΗΡΕΣ: κωδ[50], κωδικος!d4b (1) ΚΑΛΕΣΕ ΕΙΣ(κωδ, απ)!d4(γ) (3) ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50 απτρ[i,1]<- ΣΥΝΑΠ(i, ΑΠ, 1) απτρ[i,2]<- ΣΥΝΑΠ(i, ΑΠ, 4)!D4d (6) _ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ κωδικος ΑΝ κωδικος<>'τελοσ' τοτε i<-αναζ(κωδ, κωδικος) ΑΝ i=0 ΤΟΤΕ!Δεν βρεθηκε ΓΡΑΨΕ 'ΔΕΝ ΒΡΕΘΗΚΕ Ο ΚΩΔΙΚΟΣ' ΑΝ απτρ[i,1]<=10 ΚΑΙ απτρ[i,2]<=10 ΤΟΤΕ ΓΡΑΨΕ 'Δικαιωμα συμμετοχης' ΓΡΑΨΕ 'Δεν έχει δικαίωμα συμμετοχης' τέλος_αν τελος_αν τελος_αν ΜΕΧΡΙΣ_ΟΤΟΥ κωδικος='τελοσ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Λύση Θέμα Δ (Πανελλήνιες 2017)!D1 (2) ΔΙΑΔΙΚΑΣΙΑ ΕΙΣ(κωδα, απα) ΣΥΝΑΡΤΗΣΗ ΣΥΝΑΠ(i, ΑΠΑ, μηνας):ακεραια ΑΚΕΡΑΙΕΣ: απα[50, 6], i, j ΧΑΡΑΚΤΗΡΕΣ: κωδα[50] ΑΚΕΡΑΙΕΣ: απα[50, 6], i, μηνας ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50 ΑΝ μηνας=1 τοτε ΔΙΑΒΑΣΕ κωδα[i] ΣΥΝΑΠ<-απα[i,1]+απα[i,2]+απα[i,3] ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 6 ΔΙΑΒΑΣΕ απα[i, j] ΣΥΝΑΠ<-απα[i,4]+απα[i,5]+απα[i,6] τελος_αν ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ!D2 (4) ΣΥΝΑΡΤΗΣΗ ΑΝΑΖ(κωδα, κωδικος): ΑΚΕΡΑΙΑ ΑΚΕΡΑΙΕΣ: i ΧΑΡΑΚΤΗΡΕΣ: κωδα[50], κωδικος ΑΝΑΖ <- 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50 ΑΝ κωδα[i] = κωδικος ΤΟΤΕ ΑΝΑΖ <- i ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ