(Πηγή: Βιβλίο Μαθητή, Πληροφορική Α΄ Γυμνασίου, §8.5 Ερωτήσεις - Ασκήσεις, σελ. 103. Οι εκφωνήσεις είναι αυτούσιες από το σχολικό βιβλίο.)
Διάσχιση Γέφυρας. Πέντε άνθρωποι θέλουν να περάσουν μια γέφυρα. Είναι όμως νύχτα και διαθέτουν μόνο μια λάμπα με φυτίλι διάρκειας 30 λεπτών. Η γέφυρα αντέχει το πολύ δύο άτομα, οπότε δεν μπορούν να περάσουν όλοι μαζί. Για να περάσουν τη γέφυρα χρειάζονται οπωσδήποτε τη λάμπα. Επίσης, κάθε ένας χρειάζεται διαφορετικό χρόνο για να περάσει τη γέφυρα. Ο πιο γρήγορος χρειάζεται 1 λεπτό, ο επόμενος 3 λεπτά, οι υπόλοιποι 6, 8 και 12 λεπτά αντίστοιχα. Πώς θα περάσουν απέναντι;
Σκέψη / Μεθοδολογία: Το πρόβλημα λύνεται με μια στρατηγική: κάθε φορά που περνούν δύο άτομα μαζί, ο χρόνος που «κοστίζει» είναι ο χρόνος του πιο αργού από τους δύο (γιατί περπατούν μαζί). Άρα, θέλουμε οι δύο πιο αργοί (8΄ και 12΄) να περάσουν μαζί σε ένα μόνο πέρασμα, ώστε το «ακριβό» πέρασμα των 12 λεπτών να πληρωθεί μία μόνο φορά. Για να γίνει αυτό, χρειάζεται κάποιος να έχει ήδη περάσει απέναντι για να φέρει πίσω τη λάμπα πριν περάσουν οι δύο αργοί, και κάποιος να είναι ήδη απέναντι για να πάρει πίσω τη λάμπα μετά. Χρησιμοποιούμε γι' αυτόν τον ρόλο τους δύο πιο γρήγορους (1΄ και 3΄), αφού οι επιστροφές τους «κοστίζουν» λιγότερο.
Λύση:
Απάντηση: Με τη σειρά περασμάτων: (Α,Β)→, Α←, (Δ,Ε)→, Β←, (Α,Β)→, Α←, (Α,Γ)→, όλοι περνούν απέναντι σε συνολικά 29 λεπτά, εντός του ορίου των 30 λεπτών της λάμπας.
Πρόσεξε:
Έχουμε ένα μπρίκι με νερό που βράζει και ένα αβγό που πρέπει να βράσουμε για 9 λεπτά ακριβώς. Δυστυχώς, δεν έχουμε κανένα ρολόι παρά μόνο δύο κλεψύδρες: η μία διάρκειας 7 και η άλλη 4 λεπτών. Ποιος είναι ο συντομότερος τρόπος για να μετρήσουμε 9 λεπτά;
Σκέψη / Μεθοδολογία: Καμία από τις δύο κλεψύδρες δεν μετρά απευθείας 9 λεπτά, οπότε συνδυάζουμε τις μετρήσεις τους σε μια αλληλουχία βημάτων (έναν αλγόριθμο μέτρησης χρόνου). Ο συντομότερος τρόπος είναι να ξεκινήσει ο βρασμός αμέσως (στο λεπτό 0) και να σταματήσει στο λεπτό 9. Παρατηρούμε ότι 9 = 8 + 1: το 8 το μετράμε με δύο διαδοχικά αδειάσματα της κλεψύδρας των 4 λεπτών, και το 1 λεπτό το «κερδίζουμε» από την κλεψύδρα των 7 λεπτών: στο λεπτό 8 έχει περάσει ακριβώς 1 λεπτό άμμος από τη στιγμή που την αναποδογυρίσαμε (στο λεπτό 7), οπότε αν την αναποδογυρίσουμε ξανά, η άμμος αυτή θα αδειάσει σε ακριβώς 1 λεπτό.
Λύση:
Απάντηση: Βάζουμε το αβγό στο νερό και ξεκινάμε μαζί τις δύο κλεψύδρες. Όταν αδειάσει η κλεψύδρα των 4΄ (λεπτό 4), την αναποδογυρίζουμε. Όταν αδειάσει η κλεψύδρα των 7΄ (λεπτό 7), την αναποδογυρίζουμε. Όταν αδειάσει ξανά η κλεψύδρα των 4΄ (λεπτό 8), αναποδογυρίζουμε ξανά την κλεψύδρα των 7΄, που έχει μόλις 1 λεπτό άμμο στο κάτω μέρος. Όταν αδειάσει (λεπτό 9), έχουν περάσει ακριβώς 9 λεπτά. Ο τρόπος αυτός είναι ο συντομότερος, αφού συνολικά διαρκεί μόνο τα 9 λεπτά του βρασμού.
Πρόσεξε:
Έχουμε 9 όμοια κέρματα από τα οποία το ένα είναι κάλπικο, δηλαδή πιο ελαφρύ. Επίσης, διαθέτουμε μια ζυγαριά ισορροπίας, όπως αυτή της εικόνας, με την οποία μπορούμε να συγκρίνουμε μεταξύ τους 2 βάρη. α) Θέλουμε με 2 μόνο ζυγίσεις να εντοπίσουμε το κάλπικο κέρμα. β) Πόσες ζυγίσεις θα χρειαστούμε για 81 κέρματα και πόσες για 36;
Σκέψη / Μεθοδολογία: Η εικόνα δείχνει απλώς μια τυπική δίζυγη ζυγαριά ισορροπίας (τα δύο δισκάκια), χωρίς αριθμητικά δεδομένα πάνω της — η πληροφορία που χρειάζεται η λύση βρίσκεται εξ ολοκλήρου στο κείμενο. Σε κάθε ζύγιση χωρίζουμε τα κέρματα σε 3 περίπου ίσες ομάδες και ζυγίζουμε δύο από αυτές: αν ζυγίζουν το ίδιο, το κάλπικο είναι στην τρίτη ομάδα (αυτή που αφήσαμε στην άκρη)· αν δεν ζυγίζουν το ίδιο, το κάλπικο είναι στην ελαφρύτερη από τις δύο. Κάθε ζύγιση, δηλαδή, περιορίζει τις πιθανές θέσεις του κάλπικου κέρματος στο 1/3 των κερμάτων που εξετάζαμε. Με k ζυγίσεις μπορούμε να ξεχωρίσουμε το κάλπικο ανάμεσα σε το πολύ 3^k κέρματα.
Λύση:
Απάντηση: α) Χωρίζουμε τα 9 κέρματα σε 3 ομάδες των 3 και ζυγίζουμε δύο από αυτές: εντοπίζουμε την ομάδα των 3 «ύποπτων» κερμάτων. Στη 2η ζύγιση βάζουμε 1 από τα 3 «ύποπτα» κέρματα σε κάθε δισκάκι, αφήνοντας το τρίτο στην άκρη, και εντοπίζουμε το κάλπικο. β) Για 81 κέρματα χρειάζονται 4 ζυγίσεις (3^4=81)· για 36 κέρματα χρειάζονται επίσης 4 ζυγίσεις, αφού 3 ζυγίσεις καλύπτουν το πολύ 27 κέρματα (λιγότερα από 36), ενώ 4 καλύπτουν έως 81.
Πρόσεξε:
Μετρήστε ακριβώς 9 λίτρα, αν έχετε στη διάθεσή σας ένα δοχείο των 10 λίτρων, ένα των 7 λίτρων και μια πηγή με άφθονο νερό. Μπορείτε μόνο να γεμίζετε μέχρι πάνω και να αδειάζετε εντελώς τα δοχεία όσες φορές θέλετε.
Σκέψη / Μεθοδολογία: Έχουμε δύο δοχεία (10 και 7 λίτρα) και απεριόριστη πρόσβαση σε νερό, οπότε επιτρέπονται τρεις κινήσεις: γέμισμα ενός δοχείου εντελώς από την πηγή, άδειασμα ενός δοχείου εντελώς, και μεταγγίσεις από το ένα δοχείο στο άλλο μέχρι είτε να αδειάσει το πρώτο είτε να γεμίσει το δεύτερο. Το δοχείο των 7 λίτρων δεν μπορεί ποτέ να κρατήσει 9 λίτρα, άρα ο στόχος είναι να καταλήξουμε με 9 λίτρα στο δοχείο των 10 λίτρων. Παρατηρούμε ότι, αν γεμίσουμε το 10λιτρο και αδειάσουμε το περιεχόμενό του στο 7λιτρο, περισσεύουν πάντα 10−7=3 λίτρα στο 10λιτρο· επαναλαμβάνοντας αυτή τη διαδικασία με ενδιάμεσα αδειάσματα του 7λιτρου, το νερό που μένει στο 10λιτρο μετά από κάθε μετάγγιση αυξάνεται κατά 3 λίτρα ανά κύκλο (3, 6, 9), γιατί ο ελεύθερος χώρος του 7λιτρου μικραίνει (7, 4, 1), μέχρι να φτάσουμε ακριβώς στα 9.
Λύση:
Απάντηση: Γεμίζουμε επανειλημμένα το δοχείο των 10 λίτρων και το αδειάζουμε στο δοχείο των 7 λίτρων (αδειάζοντας ενδιάμεσα το 7λιτρο στην πηγή όποτε γεμίζει), ακολουθώντας τη σειρά: γέμισμα 10λιτρου → μετάγγιση στο 7λιτρο → άδειασμα 7λιτρου → μετάγγιση υπολοίπου στο 7λιτρο → γέμισμα 10λιτρου → μετάγγιση στο 7λιτρο → άδειασμα 7λιτρου → μετάγγιση υπολοίπου → γέμισμα 10λιτρου → μετάγγιση στο 7λιτρο. Μετά από αυτά τα 10 βήματα, στο δοχείο των 10 λίτρων μένουν ακριβώς 9 λίτρα.
Πρόσεξε:
Έχετε τρία δοχεία, ένα των 12 λίτρων, ένα των 8 και ένα των 5. Το δοχείο των 12 λίτρων είναι γεμάτο, ενώ τα άλλα δύο άδεια. Δεν έχετε άλλο νερό, μόνο τα 12 λίτρα. Να χωρίσετε την ποσότητα του νερού στη μέση, δηλαδή 6 λίτρα στο 12λιτρο και 6 λίτρα στο 8λιτρο. Μπορείτε μόνο να γεμίσετε ή να αδειάσετε τα δοχεία μέχρι τέλους, όσες φορές θέλετε. Τα δοχεία δεν έχουν καμία ογκομετρική ένδειξη επάνω τους. Σας δίνεται μια γλώσσα προγραμματισμού για το πρόβλημα των δοχείων η οποία έχει μόνο μια εντολή: Άδειασε(Δοχείο1, Δοχείο2): Μετακινεί το περιεχόμενο του δοχείου 1 στο δοχείο 2. π.χ. η εντολή Άδειασε(12, 5) όταν αρχικά το 12λιτρο είναι γεμάτο και το 5λιτρο άδειο, αδειάζει το 12λιτρο στο 5λιτρο, άρα στο 12λιτρο θα μείνουν 7 λίτρα.
Σκέψη / Μεθοδολογία: Σε αντίθεση με την προηγούμενη άσκηση, εδώ δεν υπάρχει εξωτερική πηγή νερού· τα 12 λίτρα είναι σταθερό, κλειστό σύνολο που μοιράζεται ανάμεσα στα τρία δοχεία. Η μόνη διαθέσιμη ενέργεια είναι η εντολή Άδειασε(Δοχείο1, Δοχείο2), η οποία μεταφέρει νερό από το πρώτο δοχείο στο δεύτερο μέχρι είτε να αδειάσει το πρώτο είτε να γεμίσει το δεύτερο (ό,τι συμβεί πρώτο). Πρέπει να βρούμε μια αλληλουχία τέτοιων εντολών που να καταλήξει με 6 λίτρα στο 12λιτρο και 6 λίτρα στο 8λιτρο (οπότε το 5λιτρο θα έχει αναγκαστικά μείνει άδειο, αφού 6+6+0=12).
Λύση:
Απάντηση: Με τη σειρά εντολών Άδειασε(12,8), Άδειασε(8,5), Άδειασε(5,12), Άδειασε(8,5), Άδειασε(12,8), Άδειασε(8,5), Άδειασε(5,12) καταλήγουμε στην κατάσταση (12λιτρο=6, 8λιτρο=6, 5λιτρο=0), δηλαδή το νερό έχει χωριστεί ακριβώς στη μέση.
Πρόσεξε:
Αν είχατε μια κανάτα των 6 λίτρων και μια των 2 λίτρων, θα μπορούσατε να μετρήσετε ακριβώς 5 λίτρα; Αιτιολογήστε την απάντησή σας.
Σκέψη / Μεθοδολογία: Στα δύο προηγούμενα προβλήματα δοχείων (Άσκηση 4 και 5) βρίσκαμε πάντα μια αλληλουχία βημάτων που πετύχαινε τον στόχο. Εδώ όμως πρέπει πρώτα να ελέγξουμε αν ο στόχος είναι καν εφικτός, πριν αναζητήσουμε αλγόριθμο επίλυσης. Όποια ποσότητα και αν βρεθεί, σε οποιαδήποτε στιγμή, μέσα σε οποιοδήποτε από τα δύο δοχεία (6 και 2 λίτρων) προκύπτει πάντα με γεμίσματα, αδειάσματα και μεταγγίσεις ανάμεσα σε δοχεία των 6 και 2 λίτρων. Επειδή και οι δύο χωρητικότητες (6 και 2) είναι πολλαπλάσια του 2, κάθε ποσότητα νερού που μπορεί να βρεθεί σε ένα από τα δοχεία σε οποιαδήποτε στιγμή είναι κι αυτή πολλαπλάσιο του 2 (δηλαδή άρτιος αριθμός λίτρων). Το 5 όμως είναι περιττός αριθμός, άρα δεν μπορεί ποτέ να προκύψει.
Λύση:
Απάντηση: Όχι, δεν είναι δυνατό. Με δοχεία 6 και 2 λίτρων μπορούμε να πετύχουμε μόνο ποσότητες που είναι πολλαπλάσια του ΜΚΔ(6,2)=2, δηλαδή 0, 2, 4 ή 6 λίτρα — ποτέ το 5, που είναι περιττός αριθμός.
Πρόσεξε: