Для развития логического и алгоритмического мышления

advertisement
МОУ «Атюрьевская средняя общеобразовательная
школа №2»
СБОРНИК ЗАДАЧ
Развитие логического и алгоритмического
мышления учащихся
Автор: Канайкин И.Н. – учитель информатики
Знакомство с понятием алгоритма обычно начинается с задачи о Перевозе [1, 2]. Далее
решается ряд классических алгоритмических этюдов, в том числе о переливаниях.
Условная сложность отдельной задачи оценивается количеством действий, необходимых
для решения задачи. В этот комплекс вошли задачи из различных сборников.
Задачи на переправы разделены на несколько групп по возрастанию сложности.
1.
2.
3.
4.
Переправы без условий. Переправляющиеся находятся на одном берегу.
Переправы без условий. Переправляющиеся находятся на разных берегах.
Переправы с условиями. Условия на вместимость лодки.
Переправы с условиями. Затрудненные переправы. Возможно наличие острова.
Рассматривается разное количество героев, участвующих в переправе, и различная
вместимость лодки. Итоги для каждой группы задач представлены в виде таблиц, в
которые внесены информация о количестве переправляющихся, вместимости лодки,
наличии острова, количестве необходимых переправ.
Комплекс содержит алгоритмы решения более 60 задач о перевозе, имеющие сюжеты
(как сказочные, так и современные).
Задачи для исполнителя Переливашка разделены на два типа.
1. Задачи на деление некоторого количества жидкости с помощью
дополнительных пустых сосудов за наименьшее число переливаний.
двух
Рассматриваются различные объемы сосудов и получение разного количества жидкости.
Комплекс задач первого типа содержит алгоритмы решения более 80 задач на
переливания (пересыпания) с различным уровнем сложности. Эти задачи формируются на
основе предложенных 10 сюжетных задач. Итоговая таблица [7] показывает, какое
количество жидкости можно получить за определенное количество переливаний (от 1 до
12) для каждой из 10 задач.
1. Задачи на получение некоторого количества жидкости из большого или
бесконечного по объему сосуда, водоема или источника с помощью двух пустых
сосудов.
В комплекс задач второго типа вошли алгоритмы решения 7 задач.
Для решения задач на переливания в старших классах предлагается использовать метод
«бильярдного шарика». В литературе этот метод описан применительно к задачам первого
типа [6]. Проверено, что он применим и к задачам второго типа.
Приведенные комплексы задач позволяют:
1. Провести пропедевтику циклических, условных структур, метода нисходящего
проектирования.
2. Обеспечить индивидуальный подход к ученикам разной степени
подготовленности.
3. Использовать эти задачи для домашних, самостоятельных работ и внеурочных
занятий.
4. Продолжить формирование комплексов собственными задачами.
Рассмотрим в качестве примера следующие задачи.
1.1. В первый сосуд входит 8 л, во второй – 5 л, в третий – 3 л. Первый сосуд наполнен
водой, а остальные два пусты. Как с помощью этих сосудов отмерить 1 л воды?
Условие данной задачи очень просто по своему содержанию, что делает его доступным
ученикам начальной школы.
Составим таблицу данных и используем ее в процессе решения.
1-й сосуд (8 л)
8
3
3
6
6
1
2-й сосуд (5 л)
0
5
2
2
0
5
3-й сосуд (3 л)
0
0
3
0
2
2
На I
этапе
на II
этапе
на III
этапе
на IV
этапе
на V
этапе
на VI
этапе
Количество находящейся в
них воды
На VI этапе получаем необходимое значение в первом сосуде.
1.2. Как, имея лишь два сосуда емкостью 5 л и 7л, отмерить 6 л воды?
Решение.
1-й сосуд (7 л) 7 2 2 7 4 4 0 7 6
2-й сосуд (5 л) 0 5 0 2 5 0 4 4 5
Сосуды
Переливания
1.3. Каким образом из реки можно принести ровно 6 л воды, если имеется только два
ведра: одно емкостью 4 л, другое – 9 л?
Решение.
1-й сосуд (9 л) 9 5 5 1 1 0 9 6
2-й сосуд (4 л) 0 4 0 4 0 1 1 4
Сосуды
Переливания
1.4. Бидон емкостью 10 л заполнен молоком. Требуется перелить из этого бидона 5 л в
семилитровый бидон, используя при этом еще один бидон, вмещающий 3 л.
Решение.
1-й сосуд (10 л) 10 3 3 6 6 9 9 2 2
2-й сосуд (7 л)
0
7 4 4 1 1 0 7 5
3-й сосуд (3 л)
0
0 3 0 3 0 1 1 3
Сосуды
Переливания
1.5. Имея два бидона емкостью 4 л и 5 л, можно ли налить в ведро 3 л воды, если емкость
ведра не менее 3 л?
Решение.
1-й сосуд (5 л)
0 4 4 5 5
2-й сосуд (4 л)
4 0 4 3 0
3-й сосуд (не менее 3 л) 0 0 0 0 3
Сосуды
Переливания
2. Сходны с задачами на переливания задачи на затруднительные положения, например,
переправы. Решение таких задач возможно путем описания порядка действий или
заполнения таблиц.
2.1. Как перевезти в лодке с левого берега на правый волка, козла и капусту, если
известно, что волка нельзя оставить без присмотра с козлом, а козел “неравнодушен” к
капусте. В лодке только 2 места, поэтому можно брать с собой одновременно или одно
животное или капусту.
Решение.
Опишем организацию перевозки.
В первом рейсе перевозчик берет с собой козла, оставляя на левом берегу волка и капусту.
Переехав на правый берег, перевозчик оставляет там козла и возвращается на левый берег.
Во втором рейсе перевозчик берет с собой волка, оставляя на левом берегу капусту.
Переехав на правый берег, перевозчик оставляет там волка, забирает с собой козла и
возвращается с ним на левый берег.
В третьем рейсе перевозчик берет с собой капусту, оставляя на левом берегу козла.
Переехав на правый берег, оставляет там капусту с волком и возвращается на левый берег.
И, наконец, в четвертом рейсе он перевозит с левого берега на правый козла.
2.2. Как перевезти в лодке с левого берега на правый козла, капусту, двух волков и собаку,
если известно, что волка нельзя оставлять без присмотра с козлом и собакой, собака в
“ссоре” с козлом, а козел “неравнодушен” к капусте? В лодке только три места, поэтому
можно брать с собой не более двух животных или одно животное и капусту.
Решение.
В первом рейсе перевозчик берет с собой козла и собаку, оставляя на левом берегу двух
волков и капусту. Переехав на правый берег, перевозчик оставляет там козла и с собакой
возвращается на левый берег.
Во втором рейсе перевозчик берет с собой собаку и капусту, оставляя на левом берегу
только волков. Переехав на правый берег, перевозчик оставляет там собаку и капусту, а с
козлом возвращается на левый берег.
В третьем рейсе перевозчик берет с собой двух волков, оставляя на левом берегу козла.
Переехав на правый берег, он оставляет там двух волков и капусту, берет с собой собаку и
возвращается на левый берег.
В четвертом рейсе перевозчик забирает с собой собаку и козла и переезжает на правый
берег. На этом перевоз закончен.
2.3. Двое мальчиков катались на лодке. К берегу подошел отряд солдат. Лодка так мала,
что на ней могли переправиться двое мальчиков или только один солдат. Как солдаты
смогли переправиться через реку?
Решение.
Мальчики на лодке плывут к другому берегу. Один из них остается там, а другой
возвращается. Один солдат переправляется, вылезает, а мальчик возвращает лодку. Таким
образом, чтобы переправить одного солдата, лодка 4 раза плывет от берега до берега.
Аналогично переправляются остальные.
3. Одним из способов решения последующих задач является последовательное заполнение
соответствующих таблиц в соответствии с алгоритмом разрабатываемым самими
учащимися.
3.1. Беседуют трое: Белокуров, Чернов и Рыжов. Брюнет сказал Белокурову: “Любопытно,
что один из нас русый, другой – брюнет, а третий – рыжий, но ни у кого цвет волос не
соответствует фамилии”. Какой цвет волос имеет каждый из беседующих?
Решение.
Для решения задачи воспользуемся таблицей.
Фамилия
Цвет волос
Рыжий Брюнет Русый
Белокуров
Чернов
Рыжов
По условию задачи Белокуров не русый, Чернов не брюнет, и Рыжов не рыжий. Это
позволяет поставить знак “–” в соответствующих клетках. Кроме того, по условию задачи
Белокуров не брюнет, и, значит, в клетке на пересечении строки “Белокуров” и столбца
“Брюнет” также нужно поставить знак “–”.
Фамилия
Цвет волос
Рыжий Брюнет Русый
Белокуров
–
Чернов
–
–
Рыжов
–
Из таблицы следует, что Белокуров может быть только рыжим. Поставим знак плюс в
соответствующей клетке. Отсюда видно, что Чернов не рыжий. Обозначим это знаком
минус в таблице. Теперь ясно, что Чернов может быть только русым, а Рыжов –
брюнетом.
Фамилия
Цвет волос
Рыжий Брюнет Русый
Белокуров
+
–
–
Чернов
–
–
+
Рыжов
–
+
–
3.2. В бутылке, стакане, кувшине и банке находятся молоко, лимонад, квас и вода.
Известно, что:
1.
2.
3.
4.
вода и молоко не в бутылке;
сосуд с лимонадом стоит между кувшином и сосудом с квасом;
в банке не лимонад и не вода;
стакан стоит около банки и сосуда с молоком.
Куда налита каждая жидкость?
Решение.
Воспользуемся следующей таблицей.
Жидкость
Сосуд
Бутылка Стакан Кувшин Банка
Молоко
Квас
Лимонад
Вода
Из условия 1 задачи следует, что в бутылке не вода и не молоко, и поэтому в
соответствующих клетках нужно поставить знак минус. Из условия 2 следует, что в
кувшине не лимонад и не квас. Отметим это в таблице. Из условия 3 известно, что в банке
не лимонад и не вода. На пересечении столбца “Банка” и строк “Лимонад” и “Вода”
ставим минусы. Из условия 4 следует, что молоко не в банке и не в стакане. Для молока
остается кувшин. Эти данные заносим в таблицу.
Жидкость
Сосуд
Бутылка Стакан Кувшин Банка
Молоко
–
–
–
Квас
–
Лимонад
–
Вода
–
–
–
Теперь, когда все условия задачи использованы, видно, что молоко в кувшине, а квас в
банке. Поэтому квас не может быть в бутылке и стакане, а вода не в кувшине. Поставим
знак минус в этих клетках. При этом становится ясно, что лимонад в бутылке, а вода в
стакане.
Жидкость
Сосуд
Бутылка Стакан Кувшин Банка
Молоко
–
–
+
–
Квас
–
–
–
+
Лимонад
+
–
–
–
Вода
–
+
–
–
3.3. Три подруги вышли погулять в белом, зеленом и синем платьях и в туфлях таких же
цветов. Известно, что только у Ани цвет платья и цвет туфель совпадают. Ни туфли, ни
платье Вали не были белыми. Наташа была в зеленых туфлях. Определите цвет платья и
туфель на каждой из подруг.
Решение.
Для решения воспользуемся следующей таблицей:
Имя
Цвет туфель
Цвет платья
Белый зеленый синий белый зеленый синий
Аня
Валя
Наташа
Так как Наташа была в зеленых туфлях, то обозначим это знаком плюс в таблице и
пометим, что туфли у нее не могут быть белыми и синими. У Ани и Вали в столбце “Цвет
туфель зеленый” ставим минус. Так как ни туфли, ни платье Вали не были белыми, то в
соответствующих клетках ставим знак минус. Теперь видно, что у Ани туфли белые, а у
Вали – синие. Так мы установили цвета туфель девочек. При этом, учитывая условие
задачи, мы делаем вывод, что у Ани платье белое, у Вали платье не синее, а у Наташи
платье не зеленое. Следовательно, у Вали платье зеленое, а у Наташи – синее.
Имя
Цвет туфель
Цвет платья
Белый зеленый синий белый зеленый синий
Аня
+
–
–
+
–
–
Валя
–
–
+
–
+
–
Наташа
–
+
–
–
–
+
3.4. Три студента: Андреев, Борисов и Воронов – учатся на различных факультетах
Новгородского педагогического института (историческом, физико-математическом и
иностранных языков). Все они приехали из различных городов: Таллинна, Твери,
Вышнего Волочка, причем один из них увлекается футболом, другой – баскетболом,
третий – волейболом. Известно, что:
1) Андреев не из Вышнего Волочка, а Борисов не из Твери.
2) Студент, приехавший из Вышнего Волочка, учится не историческом факультете.
3) Тверянин учится на факультете иностранных языков и увлекается футболом.
4) Воронов учится на историческом факультете.
5) Студент физико-математического факультета не любит волейбол.
Из какого города приехал каждый студент, на каком факультете он учится и каким видом
спорта увлекается?
Решение.
Воспользуемся тремя таблицами.
Фамилия
Таллинн Тверь В. Волочек
Андреев
–
+
–
Борисов
–
–
+
Воронов
+
–
–
Фамилия
Город
Город
Вид спорта
Футбол Баскетбол Волейбол
Андреев
+
–
–
Борисов
–
+
–
Воронов
–
–
+
Факультет
Исторический Физико-математический Иностранных языков
Таллинн
+
–
–
Тверь
–
–
+
В. Волочек
–
+
–
Из первого условия следует, что на пересечении строки “Андреев” и столбца “В.
Волочек”, а также в клетке “Борисов – Тверь” надо поставить знак минус.
Из второго условия следует, что в клетке “В. Волочек – исторический” третьей таблицы
следует поставить знак минус.
Из третьего условия следует, что в клетке “Тверь – иностранный язык” третьей таблицы
следует поставить знак плюс. Но тогда студенты из Таллинна и В. Волочка не могут
учиться на факультете иностранных языков. Кроме того, студент из Твери не учится на
историческом и физико-математическом факультетах. Поставим знак минус в
соответствующих клетках. Но тогда, очевидно, что таллиннец учится на историческом, а
студент из В. Волочка – на физико-математическом.
По четвертому условию Воронов учится на историческом факультете, и поэтому Воронов
из г. Таллинна, а Андреев и Борисов живут в другом городе. Отметим это в таблице.
Воронов не житель Твери и В. Волочка. В этих клетках можно поставить знак минус.
Тогда, очевидно, что Борисов живет в В. Волочке, а Андреев – в Твери. Первая таблица
заполнена.
По условию 3 тверянин увлекается футболом. Но тверянином является студент
факультета иностранных языков Андреев. Значит, Андреев увлекается футболом, и
поэтому в соответствующей клетке второй таблицы поставим знак плюс и отметим, что
Андреев не играет в баскетбол и волейбол, а Борисов и Воронов не увлекаются футболом.
Наконец, студент физико-математического факультета не любит волейбола. Этот студент
– житель В. Волочка, т. е. Борисов. Во второй таблице ставим знак минус в строке
“Борисов” и столбце “Волейбол”. Таблица легко заполняется.
Комплексы задач разного уровня сложности для формирования
алгоритмического стиля мышления школьников
Значительную трудность для школьников в курсе информатики представляет
освоение алгоритмического стиля мышления. Приведенные комплексы задач разного
уровня сложности могут оказать помощь учителю в решении этой проблемы.
Знакомство с понятием алгоритма обычно начинается с задачи о Перевозе. Далее
решается ряд классических алгоритмических этюдов, в том числе о переливаниях.
В данной работе представлены комплексы задач, составленные на основе задач
для исполнителей Перевозчик и Переливашка. Они представляют из себя цепочки
задач от простейших до трудных. В эти комплексы вошли задачи из различных
сборников [2, 3, 6]. Наиболее полно решения задач приведены в [8, 9].
Перевозчик
Комплекс задач о переправах содержит более 60 задач о перевозе, которые
дополнены 22 задачами, основанными на тех же алгоритмах решения, но имеющими
оригинальные сюжеты (как сказочные, так и современные). Задачи на переправы
разделены на несколько групп по возрастанию сложности.
Рассматривается разное количество героев, участвующих в переправе, и
различная вместимость лодки. При этом условная сложность отдельной задачи
внутри той или иной группы оценивается количеством действий, необходимых для
решения задачи. Итоги для каждой группы задач представлены в виде таблиц, в
которые внесены информация о количестве переправляющихся, вместимости лодки,
наличии острова, количестве необходимых переправ [9].
Переправы без условий. Переправляющиеся находятся на одном берегу.
Начальный этап, стандартные формулировки задач.
Двухместная лодка: перевоз двух, трех, четырех героев.
Трехместная лодка: перевоз трех, четырех, пятерых, шестерых героев.
Переправы без условий. Переправляющиеся находятся на разных берегах.
Начальный этап, стандартные формулировки задач.
Одноместная лодка.
Переезжают три героя. На первом берегу два героя, на втором – один.
Переезжают пять героев. На первом берегу три героя, на втором – два.
Переезжают семь героев. На первом берегу четыре героя, на втором – три.
Двухместная лодка.
Начальный этап, стандартные формулировки задач.
Переезжает четыре человека. На первом берегу три героя, на втором – один.
Переезжает четыре человека. На первом берегу один герой, на втором – три.
Переезжает пять человек. На первом берегу четыре героя, на втором – один.
Переезжает пять человек. На первом берегу три героя, на втором – два.
Переезжает пять человек. На первом берегу два героя, на втором – три.
Переезжает пять человек. На первом берегу один герой, на втором – четыре.
Трехместная лодка.
Начальный этап, стандартные формулировки задач.
Переезжает пять человек. На первом берегу четыре героя, на втором – один.
Переезжает пять человек. На первом берегу три героя, на втором – два.
Переправы с условиями. Условия на вместимость лодки.
Начальный этап, стандартные формулировки задач.
Задачи с большим количеством взрослых переезжающих решаются на основе
решения приведенной задачи. Эта задача позволяет провести пропедевтику
циклических действий.
В сборниках задач сюжетом обычно служит переправа землекопов, отряда
солдат, толстяков, туристов и т. д. Неизменным остается соотношение о вместимости
лодки: либо один взрослый (землекоп, солдат, толстяк, турист) либо два ребенка
(мальчика).
Переправы с условиями. Затрудненные переправы. Возможно наличие
острова.
Начальный этап, стандартные формулировки задач.
Задача Алкуина относится к данному разряду задач. Более простой по сравнению
с этой задачей является задача о разбойниках [6].
К реке, где была лодка, вмещающая только двух человек, подошли два
разбойника и два путешественника. Разбойники не решались напасть на
путешественников. В случае если на берегу останется один путешественник и два
разбойника, то они нападут на него. Как надо переправиться через реку
путешественникам и разбойникам, чтобы избежать нападения?
Возможна другая задача: о трех разбойниках и трех путешественниках,
подошедших к реке с разных сторон. Эта задача решается только в том случае, если
разбойники подошли со стороны берега, около которого находится лодка.
Переправа трех разбойников и трех путешественников с одного берега.
Переправа четырех разбойниках и путешественников, подошедших к берегу с
одной стороны не имеет решения. Решение появляется, если допустить наличие
острова. Тогда решение сводится к решению задачи о трех парах героев.
Переправа четырех разбойниках и путешественников, подошедших к берегу с
разных сторон. Решение возможно в случае, если разбойники подойдут со стороны
берега с лодкой.
Среди задач о затрудненных переправах часто приводятся задачи о рыцарях и
оруженосцах.
Начальный этап, разбор стандартных задач.
Переправа двух рыцарей с оруженосцами. Лодка для переправы двухместная.
Переправа трех рыцарей с оруженосцами.
Задачи про переправу ревнивых жен с мужьями, про купцов со слугами, про
девочек с папами [2, 3, 5].
Переправа четырех рыцарей со своими оруженосцами решается при наличии
возможности высаживаться на промежуточном пункте – острове.
Задача о четырех рыцарях и оруженосцах решается также при наличии
трехместной лодки и ее решение оказывается короче решения задачи о трех парах
Для желающих разобраться с большим количеством переезжающих и лодками
большей вместимости предлагается обратиться к [2].
Если же внимательно присмотреться, можно заметить, что задачи про
разбойников и рыцарей с оруженосцами – задачи одного типа и ход решения их
похож. Разница в некоторых нюансах.
Переливашка
Задачи для исполнителя Переливашка разделены на два типа.
Задачи на деление некоторого количества жидкости с помощью двух
дополнительных пустых сосудов за наименьшее число переливаний.
Рассматриваются различные объемы сосудов и получение разного количества
жидкости. Сложность отдельной задачи оценивается количеством переливаний
(ходов), необходимых для решения.
Комплекс задач первого типа содержит более 80 задач на переливания
(пересыпания) с различным уровнем сложности. Эти задачи формируются на основе
предложенных 10 оригинальных сюжетных задач. Итоговая таблица показывает,
какое количество жидкости можно получить за определенное количество
переливаний (от 1 до 12) для каждой из 10 задач. Это позволяет учителю быстро
подобрать задачу требуемой сложности.
Распределение задач по сложности (в зависимости от сложности – количества
ходов – приведены объемы жидкости, которые можно получить путем переливаний с
помощью трех сосудов заданного объема)
N задачи 1
2
3
4
5
6
7
8
9
10
Объемы
10–7–2 12–8–3 7–4–3 6–5–1 10–7–4 10–6–4 12–8–5 12–9–5 12–9–7 8–6–3
1 ход
2,3,7,8 3,4,8,9 3, 4
1, 5
3,4,6,7 4, 6
4,5,7,8 3,5,7,9 3,5,7,9 2,3,5,6
2 хода
1, 5
1, 5
1
4
2
3
4
2
–
3 хода
по5, 6 6, 7
6
2
2
8
2, 9
2, 8
10
–
4 хода
4
2, по 6 2
3
1
–
–
1
–
–
5 ходов
–
10
5
по 3 9
–
1, 10 11
1
–
6 ходов
–
–
–
–
–
–
6
–
4
–
7 ходов
9
11
–
–
5
–
по 6
6
8
–
8 ходов
–
–
–
–
по 5
–
–
по 6
–
–
9 ходов
–
–
–
–
8
–
11
–
–
–
10 ходов
11 ходов
12 ходов
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
10
–
–
–
–
–
–
–
–
–
–
11
–
Задачи на получение некоторого количества жидкости из большого или
бесконечного по объему сосуда, водоема или источника с помощью двух пустых
сосудов.
К продавцу, стоящему у бочки с квасом, подходят два веселых приятеля и просят
налить им по литру кваса каждому. Продавец замечает, что у него есть лишь две
емкости в 3 л и 5 л, и поэтому он не может выполнить их просьбу. Приятели
продолжают настаивать и дают продавцу 100 рублей (сумма зависит от финансовоэкономической ситуации в стране и соответственно варьируется) с одним условием,
что они получат свои порции одновременно. После некоторого размышления
продавец сумел это сделать. Каким образом?
Приведенные комплексы задач позволяют:
1. Провести пропедевтику циклических, условных структур, метода нисходящего
проектирования.
2. Обеспечить индивидуальный подход к ученикам разной степени
подготовленности.
3. Использовать эти задачи для домашних, самостоятельных работ и внеурочных
занятий.
4. Продолжить формирование комплексов собственными задачами.
5. Включить учащихся в процесс конструирования задач.
Download