Τετάρτη 1 Μαΐου 2013

Μία ωραία και απαιτητική άσκηση από το Στέκι των Πληροφορικών:

Ένα ορυχείο έχει αναπτυχθεί σε 50 επίπεδα μέσα στο υπέδαφος. Σε κάθε επίπεδο έχει διανοιχτεί από μία οριζόντια στοά, μέσα από την οποία μετακινούνται οι εργαζόμενοι και μεταφέρονται τα μεταλλεύματα που εξορύσσονται. Όλες οι στοές φωτίζονται από λαμπτήρες που έχουν τοποθετηθεί σε κανονικές αποστάσεις, με τέτοιο τρόπο ώστε να αντιστοιχεί ένας λαμπτήρας για κάθε 10 μέτρα διανοιγμένης στοάς, με τον πρώτο λαμπτήρα κάθε στοάς να τοποθετείται στα 10 μέτρα από την αρχή της. Λόγω οικονομικών δυσχερειών ο φωτισμός του ορυχείου δεν έχει συντηρηθεί για μεγάλο χρονικό διάστημα, παρουσιάζοντας σημεία με πολλούς συνεχόμενους καμένους λαμπτήρες.
Α. Να δημιουργήσετε πρόγραμμα στη ΓΛΩΣΣΑ το οποίο:
1. Να περιλαμβάνει τμήμα δηλώσεων.
2. Για κάθε στοά του ορυχείου να διαβάζει το μήκος της στοάς σε μέτρα, ελέγχοντας ώστε να είναι από 20 έως 500 μέτρα. Να υπολογίζει και να καταχωρίζει σε πίνακα το πλήθος των λαμπτήρων της κάθε στοάς. Να εμφανίζει το συνολικό πλήθος των λαμπτήρων που έχουν τοποθετηθεί στο ορυχείο.
3. Για κάθε στοά του ορυχείου να διαβάζει και να καταχωρίζει σε δισδιάστατο πίνακα την κατάσταση κάθε λαμπτήρα, ελέγχοντας ώστε να δίνονται οι τιμές: 1 – για λαμπτήρα που φωτίζει κανονικά, 0 – για καμένο λαμπτήρα.
4. Να εμφανίζει τη στοά ή τις στοές που παρουσιάζουν το μεγαλύτερο ποσοστό καμένων λαμπτήρων, καθώς και το συνολικό ποσοστό καμένων λαμπτήρων του ορυχείου. Επίσης, να εμφανίζει τις στοές που δεν έχουν καθόλου φωτισμό, δηλαδή με όλους τους λαμπτήρες καμένους. Αν δεν υπάρχουν τέτοιες στοές τότε να εμφανίζει κατάλληλο μήνυμα.
5. Να εμφανίζει το μεγαλύτερο πλήθος συνεχόμενων καμένων λαμπτήρων του ορυχείου και τη στοά στην οποία βρίσκονται (θεωρήστε ότι δεν υπάρχουν στοές με το ίδιο μέγιστο πλήθος συνεχόμενων καμένων λαμπτήρων). Για το σκοπό αυτό να καλεί τη συνάρτηση ΣΥΝΕΧΟΜΕΝΟΙ_ΚΑΜΕΝΟΙ_ΣΤΟΑΣ που περιγράφεται στο ερώτημα Β.

Β. Να αναπτύξετε τη συνάρτηση ΣΥΝΕΧΟΜΕΝΟΙ_ΚΑΜΕΝΟΙ_ΣΤΟΑΣ, η οποία :
6. Να δέχεται ως παραμέτρους: i) τον πίνακα της κατάστασης των λαμπτήρων, ii) έναν αριθμό στοάς και iii) το πλήθος των λαμπτήρων της στοάς, και να επιστρέφει το μεγαλύτερο πλήθος συνεχόμενων καμένων λαμπτήρων αυτής της στοάς. Για παράδειγμα, αν για κάποια στοά με 14 λαμπτήρες η κατάσταση των λαμπτήρων είναι:  1 0 0 1 1 1 1 1 0 0 0 0 1 0, τότε η συνάρτηση να επιστρέφει το 4.

Παρατήρηση: Όλα τα ποσοστά είναι επί τοις εκατό (%).