Анализ данных при обучении основам программирования

Авторы: Абдулгалимов Грамудин Латифович 1, доктор педагогических наук, доцент
Евстигнеев Сергей Михайлович 2, Аспирант
Кугель Леонид Александрович 3, аспирант
Научный руководитель: Абдулгалимов Грамудин Латифович 4, доктор педагогических наук, доцент
1 Московский государственный гумманитарный университет им. М.А. Шолохова, 2 МГГУ им. М.А. Шолохова, 3 МГГУ им. М.А. Шолохова, 4 Московский государственный гумманитарный университет им. М.А. Шолохова
Программирование является обязательным разделом информатики для инженерно-технических направлений подготовки. При обучении началам программирования важно обратить внимание не только на стандартные типы данных, но и на смысловую нагрузку этих переменных. В статье приводятся результаты исследований по правильному оформлению формата вводимых и выводимых данных при обучении программированию.

 

 

Кугель Л.А., Абдулгалимов Г.Л., Евстигнеев С.М.

Московский государственный гуманитарный университет им. М.А. Шолохова

Анализ данных при обучении основам программирования

 

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

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

Рассмотрим пример. Допустим, нужно запросить у пользователя стоимость единицы товара, его количество и некоторые качественные характеристики (цвет, материал и др.). А вывести алгоритм должен стоимость к оплате данного заказа.

Обычно анализ данных в таких задачах ограничивается ответом на вопрос о стандартных типах данных (числовой, строковый и др.), что является по нашему убеждению, ошибочным. Почему? Во-первых, тип каждого  данного имеет смысловую нагрузку, принимаемых им значений. Во-вторых, не всегда достаточно для решения задачи знать только тип значений, возможно, есть дополнительные ограничения по смыслу самых данных.

Обычно, в рассматриваемом примере в алгоритме объявляется некоторая переменная действительного типа. Иногда, дополнительно, проводится анализ области значений данной переменной. А что еще нужно знать про переменную - стоимость? Например, о значении 3,235 руб. Очевидно, что нужно разобраться с десятыми и сотыми долями копеек. Т.е. при более глубоком разборе понятия "цена" мы добавляем к запросу на ввод данных требование по дополнительной смысловой проверке правильности данных.

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

Решение этой проблемы для нашего примера может быть следующим:

- запрос переменной действительного типа coast;

- в переменной temp сохраним значения coast*100 (т.е. преобразуем рубли в копейки);

- целую часть от temp сохранить в int_temp;

- если temp равен int_temp(число копеек совпадает со своей целой частью) то вводимые данные верны, иначе данные ошибочны.

Аналогичный анализ данных необходим для второй переменной нашей задачи – количество товара. Проводя полный анализ для вводимых данных ненужно забывать о промежуточных и конечных результатах.

 

 

Тип выступления  Публикация
Уровень образования  Высшее профессиональное
Ключевые слова  Программирование, типы данных, ввод-вывод данных