Игры в реальность ConfNina's Блог / 08.10.2016 "Глубоко ошибается тот, кто думает, что изделиями программистов являются программы, которые они пишут. Программист обязан создавать заслуживающие доверия решения и представлять их в форме убедительных доводов, а текст написанной программы является лишь сопроводительным материалом, к которому эти доказательства применимы". Э.В. Дейкстра.Как и всякий учебный предмет, информатика стремится доказать свою практическую значимость. Обычно это достигается при решении задач, приближенных к реальной действительности. Мы называем это "Игры в реальность".Одновременно мы обращаем внимание на воспитательное воздействие задач на учащихся, превращая каждую задачу в некую жизненную историю, что в дальнейшем может привести к рождению учебного исследования, сетевого проекта, интерактивного задания или др. Научиться видеть проблему в реальной жизни, строить алгоритм ее решения с использованием адекватных методов и подходящих технологий - это и есть тот практический результат, который будет востребован в реальной жизни каждым выпускником школы.Задача 1. Тушим лесной пожар.источникБольшой урон экономике стран, жителям, экологии планеты приносят лесные пожары. Так, только по данным Национального статистического комитета Республики Беларусь, ИсточникДля тушения лесных пожаров используют воздушную технику. ИсточникУсловие задачи. В двух населенных пунктах наблюдаются признаки пожара (задымление местности, запах гари). Необходимо срочно приступить к тушению пожара. Решено осуществить водосброс с воздуха на участке прямоугольной формы между этими пунктами.Смоделировать ситуацию и написать программу определения количества воды, необходимой для одного сброса при облете всей территории возгорания, а также число рейсов самолета Ил-76МД для доставки требуемого количества воды.Решение.ИсточникМатематически решение задачи сводится к вычислению площади прямоугольника и обработке полученного результата применительно к характеристикам самолета.Будем считать, что самолет может доставить 42 т воды, а расход воды на 1 кв. метр составляет 4 л.Действия разработчика программы:1) пусть (x1, y1) и (x2, y2) - координаты населенных пунктов; эти значения (м) введем в компьютер;2) найдем длины границ участка прямоугольной формы (стороны прямоугольника); обозначим длины переменными a и b;3) найдем площадь участка S:=a*b;4) найдем расход воды (т) R:=4*S/1000;5) найдем число рейсов K;6) выведем значение К.Уточнение действия 2).Для вычисления площади прямоугольника ученики предлагают произвести расчет по формулам a = x1 - x2; b = y1 - y2. Учитель задает иное расположение населенных пунктов и предлагает вычислить длины сторон прямоугольника (рис. 1). Ученики получат формулы: a = x2 - x1; b = y2 - y1. Дети подхватывают логику учителя и сами получают рисунки 2-3. Все формулы ученики дружно объединяют таким образом: a = |x1 - x2|; b = |y1 - y2|. Уточнение действия 5).Теоретически К = R/42. Но значение К может оказаться равным, например, 3,7. В этом случае самолету нужно будет сделать 4 рейса. Программа и результаты ее выполнения:Дальнейшая работа над программой:1) Предложить учащимся исполнить программу, например для таких данных: (12, 23) и (456, 23). Результат выполнения программы: 0. Обсудить сложившуюся ситуацию и выход из нее.2) При выполнении программы получались впечатляющие результаты (число рейсов равно 16!). А если учесть, что средний расход топлива равен 9 т/час, учесть стоимость топлива, то получатся значимые денежные затраты на тушение пожара. Поэтому:- Берегите лес от пожара!Как это сделать? Чем мы можем помочь? Вот и появилась тема для публикации в онлайн стенгазете.Задача 2. ГрузоперевозкиИсточник ИсточникУсловие задачи.На складе находятся контейнеры трех видов: по А, В и С (кг). В рейс отправляется грузовик грузоподъемностью Р (т). Стоит задача погрузки наибольшего количества контейнеров, чтобы избежать порожних рейсов.Написать программу определения количества контейнеров каждого вида, которые нужно погрузить в автомобиль, не перегрузив его.Решение.Очевидно, что требованиям задачи удовлетворяет только один вариант погрузки: разместить в грузовик контейнеры меньшей массы.Действия разработчика программы:1) ввести значения P, A, B, C;2) найти среди чисел A, B, C наименьшее значение М = min (A, B, C);3) найти количество контейнеров К массой М для погрузки: K = [P/M] , где [x/y] обозначает целую часть от деления x на y;4) вывести результат.Уточнение действия 2).Данная задача может быть рассмотрена на этапе изучения разветвляющихся и (или) вспомогательных алгоритмов.В первом случае можно использовать геометрический подход:if (A<=B ) and (A<=C) then M:=A else if (B<=A) and (B<=C) then M:=B else M:=C;Во втором случае используется процедура-функция, например,Function min (x, y: integer): integer;Begin if x<=y then min:=x else min:=yEnd;Тогда M = min (min (A, B ), C). Дальнейшая работа над программой:Обсудить метод решения задачи в предположении, что известно количество контейнеров каждого вида на складе. Решение подобных задач, с одной стороны, способствует закреплению конструкций языка программирования, с другой, приближает информатику к жизни, воспитывает учащихся, формирует определенные качества. В данном случае в приведенных задачах сделан акцент на экологическое воспитание. Уважаемые коллеги! Обращаете ли Вы внимание на подобную деятельность в своей работе?Буду благодарна за примеры практико-ориентированных заданий воспитывающего характера.Публикации на ГалактикеЭксперименты со случайностьюДа здравствуют массивыКрушение иллюзий (часть 1)Крушение иллюзий (часть 2) Pascal программирование экология