Личная страница Евгения Тимашёва
 
На главную
Выпускная работа
Библиотека
Индивидуальная работа
Ссылки
Отчёт о поиске
   
СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ СВЕРХУ-ВНИЗ. ОБУЧАЮЩАЯ СРЕДА ПРОГРАММИРОВАНИЯ

Автор: О.Д. Любутов
e-mail: lod@marsu.ru

<<< назад, в "Библиотеку"

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

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

Поэтому перед преподавателями сегодня особенно остро стоит задача не просто научить программировать (как зачастую это бывало раньше), а научить программировать без ошибок. Особенно это относится к проектированию крупных систем.
В классических работах по методике программирования описываются различные подходы к минимизации ошибок на этапе написания программ. Но самой популярной на сегодняшний день методикой, по мнению большинства авторов, является структурное программирование сверху-вниз.
По определению, данному в работах Гутмана и Хидетниеми, структурная блок-схема (графическое представление структурной программы) - это блок-схема, которая может быть выражена как композиция из четырёх элементарных блок-схем:

  • a) композиция;
  • b) альтернатива;
  • c) итерация с предусловием;
  • d) итерация с постусловием.

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

Здесь существует множество подходов, но автору представляется наиболее перспективным метод, который условно можно назвать методом ограничивающего и направляющего интерфейса. Известно, что грамотно написанный интерфейс позволяет минимизировать количество ошибок при эксплуатации программы, улучшить её <дуракозащищённость> и избежать различных неприятных ситуаций. Аналогичный подход можно применить и в системах обучения, <нагрузив> интерфейс обучающей программы функциями контроля и коррекции. Сильно упрощая, можно рассмотреть этот метод для правописания слов. Интерфейс обучающей программы не будет рассказывать правила правописания и давать упражнения, а просто не позволит написать слово неправильно. Можно 10 раз в день говорить ученику, чтобы он не горбился за столом, а можно посадить его на специальное эргономичное кресло, которое не позволит ему сидеть в положении, ухудшающем осанку. Именно функцию такого кресла и должен взять на себя интерфейс обучающей системы. Со временем, привыкнув к ограничениям данного интерфейса, ученик уже не сможет поступать по-другому. У него выработается соответствующий стиль.

Предлагаемая вашему вниманию обучающая система конструктивно состоит из двух частей:

  1. Интегрированной системы построения и выполнения структурных блок-схем (редактор б/с и интерпретатор б/с).
  2. Исполнителя-демонстратора (в данной реализации это модель строительства высотного дома).

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

Стандартный набор блоков для конструирования включает в себя:

  • a) блок-условие;
  • b) блок-цикл с параметром;
  • c) блок-цикл с предусловием;
  • d) блок-цикл с постусловием;
  • e) блок-функция пользователя;
  • f) блок-процедура пользователя;
  • g) стандартный набор встроенных процедур и функций, необходимых для управления исполнителем-демонстратором.

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

Вторая часть представляет собой стандартный исполнитель, реализованный в виде строительной площадки. На площадке имеется подъемный кран и склад строительных материалов. Кран имеет две степени свободы, что позволяет обучаемому с помощью него переносить готовые строительные блоки со склада на стройплощадку. Итогом работы должен стать построенный дом. Дом складывается из блоков по определенным правилам (например, есть блоки фундамента, которые нельзя класть сверху на другие блоки, или блоки крыши, на которые не разрешается ничего класть и т.д.) либо в режиме ручного управления (когда обучаемый управляет краном непосредственно с клавиатуры), либо в программном режиме, когда кран управляется программой, написанной для этого. Система имеет широкие возможности модификации (например, возможно строить не современный высотный дом, а старинный замок и т.д.) и может быть использована в средней школе среднего и старшего звена для выработки у учащихся навыков структурного программирования сверху-вниз.

Источник: ict.edu.ru

 
© 2004 Евгений Тимашёв | Все права защищены | admin@comics.com.ua