ФОРМИРОВАНИЕ У ШКОЛЬНИКОВ УМЕНИЙ СТРУКТУРИРОВАНИЯ ПОСТАВЛЕННОЙ ЗАДАЧИ В ПРОЦЕССЕ ИЗУЧЕНИЯ ИНФОРМАТИКИ

Статья опубликована в рамках: Международной научно-практической интернет-конференции «Актуальные проблемы методики обучения информатике в современной школе» (Россия, г.Москва, МПГУ,16 — 17 февраля 2016г.)

ФОРМИРОВАНИЕ У ШКОЛЬНИКОВ УМЕНИЙ СТРУКТУРИРОВАНИЯ ПОСТАВЛЕННОЙ ЗАДАЧИ В ПРОЦЕССЕ ИЗУЧЕНИЯ ИНФОРМАТИКИ

Барышева Ирина Викторовна
Нижегородский государственный
университет им. Н.И. Лобачевского

Россия, e-mail: ibar1950@yandex.ru

Если задать вопрос: чем отличается задача по программированию от задачи по математике, физике или, например, биологии? Ключевыми словами в задачах по любому из этих предметов являются слова: найти, вычислить, доказать и так далее, решающий поставленную задачу должен выполнить некую последовательность вычислений или привести доказательства. Описать, составить последовательность действий, определить структуру проблемы — определяющие слова задачи по программированию, для решения такой задачи вычислять ничего не требуется, необходимо продумать последовательность действий, которые будут выполнены компьютером. Базовыми терминами в программировании являются алгоритм, тип данных, именование объектов, структура объектов, структурирование проблемы, освоение которых и умение работать в рамках которых требует структурного мышления.

Обучение программированию должно состоять, прежде всего, из привития навыков словесного описания имеющихся ресурсов, желаемого результата, последовательности действий, приводящих к получению требуемого в задаче результата. При этом должна быть видна грань между предметной областью, в которой возникла проблема, и задачей программирования. Исходной точкой является содержательная задача, для решения которой необходимы те или иные средства программирования.

Как и в любом разделе математики, в программировании развитие аппарата следует за потребностями задач, которые на данном этапе развития стоят перед сообществом. Естественно в рамках школьной программы нельзя переходить к вопросам «высшей математики» из области программирования. Освоение начальных навыков программирования включает изучение небольшого объема чисто программистских элементов, на базе которых можно решать весьма сложные прикладные задачи.

В данной работе предлагается подход, в основе которого лежит обучение программированию, основанное на формировании умения структурирования поставленной задачи, то есть представления задачи в виде некоторой структуры более элементарных частей, которые, в свою очередь, также могут быть композицией еще более элементарных составляющих.

Вначале обсуждается определение алгоритма и способов его описания. Далее рассматривается набор «элементарных частиц» или атомов программирования: условие, цикл, определение значения. Причем набор этих элементов не зависит от языка программирования, немного может отличаться грамматика, но сам набор реализуется в любом языке, для любого языка существует два вида условия и три типа циклов. Необходимо заметить, что при словесном описании алгоритма все эти элементы также существуют. Оговаривается, что для решения любой задачи необходимы начальные значения, да и результат желательно увидеть. Опять-таки в любом языке имеется реализация ввода, вывода, при словесном описании используются аналоги: «пусть дано», «пусть известно», «в результате» и так далее.

Если принять, что проблема является задачей для программирования тогда и только тогда, когда в ее описании появляются слова «для каждого…», или «до тех пор, пока…», или «…и так далее…», то есть существует циклический процесс, тогда следующим важным понятием является понятие массива, с которым тесно связано именование объекта и его структура, а также необходимость описания и того и другого. Остальные элементы можно разбирать по мере их появления в той или иной задаче. Первой задачей, на которой можно обсуждать такие понятия как программа, оператор, декларация объектов программы, исполняемая часть, грамматику оформления на одном из языков программирования и так далее, может быть базовый алгоритм «Суммирование N чисел». Отличие базового алгоритма от задачи состоит в том, что у него нет «легенды», нет содержательной части, в этом случае программу, реализующую алгоритм, необходимо писать так, чтобы она была применима для наиболее широкого круга задач. Целью написания базового алгоритма является сам алгоритм и проверка его работоспособности, ввод и вывод необходимы только для тестирования алгоритма, их нельзя смешивать с операторами алгоритма.

Следующим уровнем в построении структуры при решении задач является набор базовых алгоритмов. В данной работе предлагается набор из девяти алгоритмов, порядок их изучения «от простого к сложному». Можно допустить, существование другого набора, дополнения существующего, но практика показала эффективность представленного набора, в состав которого входят:

  1. Суммирование N чисел
  2. Поиск минимального значения в массиве и определение его места в массиве
  3. Отбор элементов массива по заданному признаку
  4. Линейный поиск
  5. Построение списка без повторений, подсчет рейтинга, подсчет суммарной характеристики
  6. Любая простая сортировка
  7. Деление строки на слова в случае одного разделителя
  8. Деление строки на слова в случае разных разделителей
  9. Преобразование текста к виду «одна строка – одно предложение»

При разборе каждого алгоритма обсуждаются новые элементы программирования, грамматика языка, ну и, конечно же, каждый базовый алгоритм сопровождается решением предметных задач, в которых используются как новый алгоритм, так и все уже рассмотренные. В этом случае решение любой задачи начинается всегда с осознания проблемы, составления словесного описания последовательности действий, необходимых для решения задачи. Подобный процесс является общим для любой осознанной деятельности человека, формирует навык структурирования проблемы, независимо от природы ее появления.

Формирование структурного мышления школьников сложный, многогранный, но столь необходимый процесс в современном информационном и быстроменяющимся мире. Умение выделять главное, понижать сложность решаемой задачи, путем разложения ее на более простые, поиск причинно-следственных зависимостей – все это важные качества современного человека. Естественно работа в этом направлении должна быть комплексной, и включаться в канву различных предметов школьной программы, таких, например, как литература, история, биология, математика, все возрастающей частью которой, является программирование.

ЛИТЕРАТУРА

  1. Барышева И.В. и др. Информатика для абитуриента. Задачи и решения. – Нижний Новгород: Издательство Нижегородского госуниверситета, 2007. – 360с.
  2. Шуваев Д., Репьева И. Таланты земли Нижегородской. Предметные олимпиады школьников LAP LAMBERT Academic Publishing (2013-12-16)
  3. Барышева И.В. Подготовка абитуриентов математических факультетов к ЕГЭ по информатике. Контрольные работы. Сайт электронного обучения ННГУ http://www.unn.ru//t-ltaning/
  4. «РЕШУ ЕГЭ»_ информатика. Обучающая система Дмитрия Гущина. ЕГЭ — 2016_ задания, ответы, решения._ http://inf.reshuege.ru/test?theme=212

Отправить ответ

Уведомить о
avatar
Sort by:   newest | oldest | most voted
Т.Б. Захарова

Спасибо Вам, Ирина Викторовна, ведь проблема постановки задачи всегда представлялась достаточно трудной для многих школьников. Сейчас Вы эту проблему Вы назвали как необходимость формирования у школьников умений структурирования поставленной задачи в процессе изучения информатики — это чрезвычайно актуальная наша методическая задача

wpDiscuz