ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ: Θέμα 1ο I. Τι γνωρίζετε για τους γράφους; II. Να γράψετε στο τετράδιό σας τον αριθμό κάθε μιας από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη ΣΩΣΤΟ αν είναι σωστή ή τη λέξη ΛΑΘΟΣ αν είναι λανθασμένη. 1. Η εντολή goto χρησιμοποιείται στον δομημένο προγραμματισμό. 2. Η δυαδική αναζήτηση επιλέγεται όταν τα στοιχεία στα οποία θα ψάξουμε δεν είναι ταξινομημένα. 3. Τα λογικά λάθη εμφανίζονται κατά την εκτέλεση του προγράμματος. 4. Μια συνάρτηση μπορεί να καλέσει μια διαδικασία. 5. Οι πίνακες περιορίζουν τις δυνατότητες του προγράμματος. III. Τι είναι ο δομημένος προγραμματισμός; IV. Δίνονται κατά σειρά τα στοιχεία 4, 6, 12, 5, 16, 32. Ποιες ενέργειες πρέπει να γίνουν για να μπουν σε μια στοίβα και η τελική της μορφή να είναι. Ποια η τιμή του δείκτη top; 32 5 12 Ποιες ενέργειες πρέπει να γίνουν για να μπουν σε μια ουρά και η τελική της μορφή να είναι. Ποια η τιμή των δεικτών front και rear; 5 16 32 (Μονάδες 15) V. Να αναφέρετε ονομαστικά από τι προσδιορίζεται μια γλώσσα. (Μονάδες 4) VI. Να περιγραφούν οι απαιτούμενες ενέργειες για την παρεμβολή κόμβου σε λίστα. (Μονάδες 6)
Θέμα 2ο Α) Να γραφεί ισοδύναμος αλγόριθμος με το παρακάτω διάγραμμα ροής. (Μονάδες 12)
Β) Να συμπληρωθούν τα κενά ώστε ο παρακάτω αλγόριθμος να υλοποιεί την δυαδική αναζήτηση σε πίνακα που έχει τα δεδομένα του ταξινομημένα σε φθίνουσα σειρά. ΠΡΟΓΡΑΜΜΑ δυαδική_αναζήτηση ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: A[20], Left, Right, M, pos, S, i ΛΟΓΙΚΕΣ:... ΑΡΧΗ ΓΡΑΨΕ 'Δώσε στοιχεία ταξινομημένα σε φθίνουσα σειρά' ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ... ΓΡΑΨΕ 'Δώσε το', i, ' στοιχείο του πίνακα' ΔΙΑΒΑΣΕ A[ i ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ 'Δωσε τιμή για αναζήτηση: ' ΔΙΑΒΑΣΕ S Left... Right... pos 0 flag ΑΛΗΘΗΣ ΟΣΟ... ΚΑΙ... ΕΠΑΝΑΛΑΒΕ M (Left + Right) DIV 2 ΑΝ A[M] =... ΤΟΤΕ pos M... ΨΕΥΔΗΣ ΑΝ A[M] < S ΤΟΤΕ............ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ flag = ΑΛΗΘΗΣ ΤΟΤΕ ΓΡΑΨΕ "Το στοιχείο", S, "υπάρχει στη θέση: ", pos ΓΡΑΨΕ "Το στοιχείο", S, " δεν υπάρχει στον πίνακα" ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ δυαδική_αναζήτηση (Μονάδες 8)
Θέμα 3ο Μια εταιρία ενοικιάζει 50 γραφεία σε διάφορους οργανισμούς και εταιρίες. Το μηνιαίο μίσθωμα κάθε γραφείου καθορίζεται από το εμβαδόν του σε τετραγωνικά μέτρα, τον όροφο στο οποίο βρίσκεται, την παλαιότητα του κτιρίου καθώς και το αν είναι στην πρόσοψη του κτιρίου ή όχι. Για την καλύτερη διαχείρισή τους, σας ανέθεσε την κατασκευή προγράμματος το οποίο: Περιέχει τμήμα δηλώσεων Καταχωρεί σε μονοδιάστατο πίνακα ΟΝ[50] το όνομα του ενοικιαστή. Καταχωρεί τα στοιχεία για τα γραφεία σε διδιάστατο πίνακα Σ[50, 4]. Όταν ένα γραφείο βρίσκεται στην πρόσοψη του κτιρίου, στο αντίστοιχο κελί θα καταχωρείται ο αριθμός 1, διαφορετικά θα καταχωρείται ο αριθμός 0. Το κάθε γραφείο μπορεί να βρίσκεται σε όροφο από 1 έως και 10 (να γίνει έλεγχος δεδομένων). (Μονάδες 2) Καλεί υποπρόγραμμα το οποίο υπολογίζει το μίσθωμα και το καταχωρεί σε πίνακα Μ[50] Βρίσκει και εμφανίζει τους 3 ενοικιαστές με τα μεγαλύτερα μισθώματα (να χρησιμοποιηθεί η ταξινόμηση με επιλογή) Διαβάζει το όνομα ενός ενοικιαστή και εμφανίζει το μίσθωμα που πρέπει να καταβάλει. Αν δε βρεθεί ο ενοικιαστής εμφανίζει κατάλληλο μήνυμα. Εμφανίζει τα συνολικά μηνιαία έσοδα της εταιρίας από τα γραφεία. (Μονάδες 2) Να κατασκευάσετε το υποπρόγραμμα υπολογισμού του μισθώματος ως εξής: Κάθε τετραγωνικό μέτρο χρεώνεται με 1,8 ευρώ. Το ποσό που προκύπτει πολλαπλασιάζεται με έναν συντελεστή ανάλογα με τον όροφο που βρίσκεται. Για τον 1ο όροφο ο συντελεστής είναι 5% και αυξάνει κατά 1,5% για κάθε όροφο, με τελικό συντελεστή για τον 10 όροφο 18,5%. Για κάθε χρόνο παλαιότητας αφαιρούνται 2 ευρώ Αν βρίσκεται στην πρόσοψη προσθέτονται 70 ευρώ, διαφορετικά αφαιρούνται 20 ευρώ. Σε κάθε περίπτωση το μίσθωμα δεν μπορεί να είναι μικρότερο από 100 ευρώ. (Μονάδες 7) Σημείωση: Το κάθε γραφείο θεωρούμε ότι είναι μεγαλύτερο από 100 τμ.
Θέμα 4ο Ένας οδηγός νταλίκας εκτελεί ένα δρομολόγιο κατά το οποίο μεταφέρει σε διάφορες πόλεις παλέτες με τρόφιμα. Η νταλίκα έχει μία πόρτα στο πίσω μέρος από την οποία γίνεται η φορτοεκφόρτωση των παλετών οι οποίες τοποθετούνται στη σειρά η μία μπροστά από την άλλη. Η χωρητικότητα της νταλίκας είναι 20 παλέτες. Να γραφεί πρόγραμμα το οποίο: Περιέχει τμήμα δηλώσεων Διαβάζει για κάθε παλέτα το βάρος της και τον προορισμό της (όνομα της πόλης που θα παραδοθεί). Η διαδικασία θα τερματίζει όταν για προορισμό δώσει ο χρήστης τη λέξη ΤΕΛΟΣ ή όταν γεμίσει η νταλίκα με παλέτες και δεν μπορεί να πάρει άλλες. Να εμφανίζει με κάθε παράδοση παλέτας, το όνομα της πόλης στην οποία βρίσκεται (θεωρούμε ότι σε κάθε πόλη παραδίδει μόνο μία παλέτα). Με πόσο βάρος είναι φορτωμένη η νταλίκα μετά από την τρίτη παράδοση; Με δεδομένο ότι το δρομολόγιο επιστροφής είναι το αντίστροφο από αυτό της παράδοσης, να εμφανίσετε με τη σειρά τα ονόματα των πόλεων από τα οποία θα περάσει κατά την επιστροφή. (Μονάδες 8) Σημείωση: Θεωρήστε ότι θα φορτώσει τουλάχιστον 3 παλέτες SCIENCE PRESS