Η βαθμολογία στις γραπτές δοκιμασίες τετραμήνου στο Λύκειο δίνεται με ακέραιους αριθμούς στην κλίμακα 0-20. Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ που να διαβάζει τη βαθμολογία και να εμφανίζει «Επιτυχής εξέταση» αν είναι τουλάχιστον 10, «Ανεπιτυχής εξέταση» αν είναι μικρότερη από 10, ή μήνυμα λάθους «Μη έγκυρη βαθμολογία» αν είναι εκτός 0-20. Με βάση τις προδιαγραφές, δημιουργήστε κατάλληλα σενάρια για έλεγχο ακραίων τιμών.
Σκέψη / Μεθοδολογία: Εφαρμόζουμε τα τρία βήματα της μεθοδολογίας μαύρου κουτιού: πρώτα ορίζουμε τα ισοδύναμα διαστήματα (έγκυρα+μη έγκυρα), μετά υπολογίζουμε τις ακραίες τιμές τους (η είσοδος είναι ακέραιος, άρα ±1), και τέλος φτιάχνουμε ένα σενάριο ελέγχου ανά ακραία τιμή.
Λύση:
Απάντηση: Έξι σενάρια ελέγχου: (1) είσοδος -1 → «Μη έγκυρη βαθμολογία» (άνω άκρο βαθμός<0)· (2) είσοδος 0 → «Ανεπιτυχής εξέταση» (κάτω άκρο 0<=βαθμός<10)· (3) είσοδος 9 → «Ανεπιτυχής εξέταση» (άνω άκρο 0<=βαθμός<10)· (4) είσοδος 10 → «Επιτυχής εξέταση» (κάτω άκρο 10<=βαθμός<=20)· (5) είσοδος 20 → «Επιτυχής εξέταση» (άνω άκρο 10<=βαθμός<=20)· (6) είσοδος 21 → «Μη έγκυρη βαθμολογία» (κάτω άκρο βαθμός>20). Ένα τόσο απλό πρόγραμμα με μία μόνο είσοδο απαιτεί ήδη 6 σενάρια ελέγχου.
Πρόσεξε:
Ένα πάρκινγκ στο κέντρο της πόλης έχει την ακόλουθη τιμολογιακή πολιτική: για στάθμευση έως και 3 ώρες σταθερή χρέωση 6€, κάθε επιπλέον ώρα χρεώνεται 1,5€ με μέγιστο συνολικό χρόνο παραμονής τις 8 ώρες (χρέωση ανά ολόκληρη ώρα). Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ, το οποίο να διαβάζει έναν ακέραιο αριθμό ωρών στάθμευσης και να εμφανίζει τη συνολική χρέωση. Αν δοθεί τιμή εκτός του διαστήματος 1-8, να εμφανίζει μήνυμα λάθους «Μη έγκυρος χρόνος». Με βάση τις προδιαγραφές, δημιουργήστε κατάλληλα σενάρια για έλεγχο ακραίων τιμών.
Σκέψη / Μεθοδολογία: Εντοπίζουμε ΟΛΑ τα σημεία όπου αλλάζει η συμπεριφορά του προγράμματος: το κάτω/άνω όριο εγκυρότητας (1 και 8), αλλά και το εσωτερικό όριο 3/4 όπου αλλάζει η τιμολογιακή πολιτική (σταθερή χρέωση → ανά ώρα προσαύξηση) — αυτό είναι ένα ισοδύναμο διάστημα λιγότερο προφανές από τα απλά όρια εγκυρότητας. (Ενδεικτική απάντηση.)
Λύση:
Απάντηση: Ενδεικτικά σενάρια ελέγχου: (1) ώρες=0 → «Μη έγκυρος χρόνος» (άνω άκρο ώρες<1)· (2) ώρες=1 → χρέωση 6€ (κάτω άκρο σταθερής χρέωσης)· (3) ώρες=3 → χρέωση 6€ (άνω άκρο σταθερής χρέωσης — τελευταία ώρα χωρίς προσαύξηση)· (4) ώρες=4 → χρέωση 6+1,5=7,5€ (κάτω άκρο προσαυξημένης χρέωσης — πρώτη ώρα με προσαύξηση)· (5) ώρες=8 → χρέωση 6+1,5×5=13,5€ (άνω άκρο μέγιστης παραμονής)· (6) ώρες=9 → «Μη έγκυρος χρόνος» (κάτω άκρο ώρες>8).
Πρόσεξε:
Η σχετική υγρασία του αέρα εκφράζεται ως ποσοστό. Για εσωτερικούς χώρους, το ιδανικό επίπεδο σχετικής υγρασίας είναι από 30% έως 60%. Να αναπτύξετε διαδικασία σε ΓΛΩΣΣΑ, η οποία να δέχεται ως είσοδο μια πραγματική τιμή από 0 έως 1 που αντιστοιχεί στη σχετική υγρασία. Να εμφανίζει «Ιδανική υγρασία» αν η υγρασία είναι από 0,3 έως 0,6, «Ξηρός αέρας» αν είναι χαμηλότερη από 0,3, «Υγρός αέρας» αν είναι μεγαλύτερη από 0,6, και «Μη έγκυρη τιμή» αν είναι εκτός 0-1. Ο έλεγχος να γίνει με ακρίβεια 2 δεκαδικών ψηφίων. Δημιουργήστε κατάλληλα σενάρια για έλεγχο ακραίων τιμών.
Σκέψη / Μεθοδολογία: Η βασική διαφορά από τα προηγούμενα παραδείγματα είναι ότι η είσοδος είναι πραγματικός αριθμός με ακρίβεια 2 δεκαδικών ψηφίων — άρα η μονάδα προσαύξησης/μείωσης για τον υπολογισμό των ελλειπουσών ακραίων τιμών είναι 0,01, όχι 1. (Ενδεικτική απάντηση.)
Λύση:
Απάντηση: Ενδεικτικά σενάρια ελέγχου: (1) υγρασία=-0,01 → «Μη έγκυρη τιμή»· (2) υγρασία=0 → «Ξηρός αέρας» (κάτω άκρο εγκυρότητας)· (3) υγρασία=0,29 → «Ξηρός αέρας» (άνω άκρο ξηρού αέρα)· (4) υγρασία=0,30 → «Ιδανική υγρασία» (κάτω άκρο ιδανικής υγρασίας)· (5) υγρασία=0,60 → «Ιδανική υγρασία» (άνω άκρο ιδανικής υγρασίας)· (6) υγρασία=0,61 → «Υγρός αέρας» (κάτω άκρο υγρού αέρα)· (7) υγρασία=1,00 → «Υγρός αέρας» (άνω άκρο εγκυρότητας)· (8) υγρασία=1,01 → «Μη έγκυρη τιμή» (πάνω από το άνω όριο εγκυρότητας).
Πρόσεξε:
