Ο σύλλογος γονέων και κηδεμόνων μιας περιοχής θέλει να διοργανώσει μια πολιτιστική εκδήλωση. Για το σκοπό αυτό, ζητά από κάθε σχολείο της περιοχής να προσφέρει κάποιο χρηματικό ποσό για την πραγματοποίησή της. Κάθε σχολείο έχει τη δυνατότητα να επικοινωνεί περισσότερες από μία φορές με το σύλλογο και να τροποποιεί την προσφορά του.
Να αναπτύξετε αλγόριθμο σε ψευδογλώσσα, ο οποίος:
Γ1. Να θεωρεί δεδομένο ένα πίνακα Σ[100] που περιέχει τα ονόματα των 100 σχολείων της περιοχής και να δημιουργεί πίνακα Π[100] που θα περιέχει τις αντίστοιχες χρηματικές προσφορές από κάθε σχολείο. Αρχικά να τοποθετηθεί σε κάθε στοιχείο του πίνακα Π[100] την τιμή -1.
Μονάδες 3
Γ2. α) Να διαβάζει το όνομα ενός σχολείου και να το αναζητά στον πίνακα Σ.
(μονάδες 4)
β) Να εμφανίζει το μήνυμα «Άγνωστο», όταν το σχολείο δε βρεθεί. Όταν το σχολείο βρεθεί, να σταματά την αναζήτηση, να διαβάζει τη χρηματική προσφορά του σχολείου και να την τοποθετεί στην αντίστοιχη θέση του πίνακα Π. (Όταν δοθεί η τιμή 0, σημαίνει ότι το σχολείο δεν μπορεί να προσφέρει χρήματα, δηλαδή έδωσε μηδενική προσφορά).Όταν δεν είναι η πρώτη φορά που δίνει προσφορά τότε να εμφανίζει το μήνυμα «ΤΡΟΠΟΠΟΙΗΣΗ ΠΡΟΣΦΟΡΑΣ» και να αντικαθιστά την προηγούμενη προσφορά του με τη νέα.
(μονάδες 6)
Μονάδες 10
Γ3. Να επαναλαμβάνει τις ενέργειες που περιγράφονται στο ερώτημα Γ2, μέχρις ότου όλα τα σχολεία να δώσουν τουλάχιστον μία προσφορά.
Μονάδες 3
Γ4. Να εμφανίζει: α) το συνολικό χρηματικό ποσό που έχει συγκεντρωθεί, β) το πλήθος των σχολείων που έδωσαν μηδενική προσφορά, γ) το πλήθος των τροποποιήσεων που έγιναν στις προσφορές.
Μονάδες 4
Τα θέματα σε pdf, 2013, Επαναληπτικές, Ημερήσια
ΛΥΣΗ
ΘΕΜΑΓ_2013ΕΠΑΝΗΜΕΡ [Demoδεδομένα]
ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Γ_ΕΠΑΝ_ΗΜΕΡ_2013 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i, θέση, Πλήθος_προσφορών, Πλήθος_μηδενικών, Πλήθος_τροποποιήσεων ΠΡΑΓΜΑΤΙΚΕΣ: Π[100], ΠΡΟΣΦΟΡΑ, Άθροισμα_προσφορών ΧΑΡΑΚΤΗΡΕΣ: Σ[100], ΟΝΟΜΑ ΛΟΓΙΚΕΣ: done ΑΡΧΗ ! Γ1 ΓΡΑΨΕ 'ΔΩΣΤΕ ΟΝΟΜΑΤΑ ΣΧΟΛΕΙΩΝ (100):' ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100 ΔΙΑΒΑΣΕ Σ[i] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100 Π[i] <-- -1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ! Γ2α Πλήθος_προσφορών <-- 0 Πλήθος_τροποποιήσεων <-- 0 ΟΣΟ Πλήθος_προσφορών < 100 ΕΠΑΝΑΛΑΒΕ ΓΡΑΨΕ 'ΔΩΣΤΕ ΣΧΟΛΕΙΟ:' ΔΙΑΒΑΣΕ ΟΝΟΜΑ done <-- ΨΕΥΔΗΣ i <-- 1 ΟΣΟ i<= 100 ΚΑΙ done = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ ΑΝ ΟΝΟΜΑ <> Σ[i] ΤΟΤΕ i <-- i + 1 ΑΛΛΙΩΣ done <-- ΑΛΗΘΗΣ θέση <-- i ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ! Γ2β ΑΝ done = ΑΛΗΘΗΣ ΤΟΤΕ ΓΡΑΨΕ 'ΔΩΣΤΕ ΠΡΟΣΦΟΡΑ:' ΔΙΑΒΑΣΕ ΠΡΟΣΦΟΡΑ ΑΝ Π[θέση] <> - 1 ΤΟΤΕ ΓΡΑΨΕ 'ΤΡΟΠΟΠΟΙΗΣΗ ΠΡΟΣΦΟΡΑΣ' Πλήθος_τροποποιήσεων <-- Πλήθος_τροποποιήσεων + 1 ΑΛΛΙΩΣ Πλήθος_προσφορών <-- Πλήθος_προσφορών + 1 ΤΕΛΟΣ_ΑΝ Π[θέση] <-- ΠΡΟΣΦΟΡΑ ΑΛΛΙΩΣ ΓΡΑΨΕ 'ΑΓΝΩΣΤΟ ΣΧΟΛΕΙΟ' ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Άθροισμα_προσφορών <-- 0 Πλήθος_μηδενικών <-- 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100 Άθροισμα_προσφορών <-- Άθροισμα_προσφορών + Π[i] ΑΝ Π[i] = 0 ΤΟΤΕ Πλήθος_μηδενικών <-- Πλήθος_μηδενικών + 1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ 'ΣΥΝΟΛΟ ΠΟΣΟΥ ΠΡΟΣΦΟΡΩΝ: ',Άθροισμα_προσφορών ΓΡΑΨΕ 'ΠΛΗΘΟΣ ΜΗΔΕΝΙΚΩΝ ΠΡΟΣΦΟΡΩΝ: ', Πλήθος_μηδενικών ΓΡΑΨΕ 'ΠΛΗΘΟΣ ΤΡΟΠΟΠΟΙΗΣΕΩΝ: ', Πλήθος_τροποποιήσεων ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Πρόσφατα σχόλια