Мы решаем контрольные работы!
Помогаем студентам, заочникам.
19.05 0:36 332
VN:F [1.9.22_1171]
Rating: 4.0/5 (2 votes cast)
303 Сергей Викторович

Открытая программа. Понятие открытой программы

Под открытой программой понимается программа-модель, представляющая некоторый класс программ либо задач. Она предназначена:

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

Следуя определению модели, нужно подчеркнуть, что программа-модель неотличима от моделируемой программы-объекта в отношении существенных свойств и отличима по остальным, несущественным. Так, и гиря является моделью куска сыра, если учесть вес и пренебречь вкусом и формой. Что считать существенным, зависит от целей моделирования. Но ОП является одновременно и учебным текстом, отличаясь в этом существенном отношении от своих программ-прототипов. Так, учебная модель текстовых редакторов должна иметь сходное с ними устройство и «вести себя» как маленький редактор, оставаясь при этом учебным текстом. Итак, ОП – двойственная модель – и текст, и работающая программа.

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

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

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

Таблица1: Сравнение открытых и промышленных программ

Признак программы Открытая программа (учебная) Закрытая программа (промышленная)
Как делает? Что делает?
Назначение Предназначена для изучения прежде всего и понятна полностью Предназначена для промышленного применения. Понятность не нужна
Объем Невелика по размеру: при работе за экраном в идеальной ситуации должна быть видна целиком на одном экране. При изучении за столом допускается объем в 1-2 страницы Объем зависит от задачи и может достигать сотен килобайт
Уровень языка Предъявляется обычно на языке высокого уровня Как правило, компилируется в машинный код
Модифицируемость Доступна и предназначена для модификации. Модификация поощряется преподавателем и является общей целью обучаемого и педагога Исходный текст программы защищен авторским правом или недоступен для посторонних
Стиль Программистские трюки исключаются; предъявляется хороший стиль программирования В целях повышения эффективности возможны трюки: неструктурные переходы, произвольный доступ к стеку и т. д.
Комментарии Комментарии составляют большую по объему и неотъемлемую часть текста ОП При компиляции или для защиты от модификаций автор может удалить комментарии
Ошибки ОП может содержать намеренно введенные поучительные ошибки, которые обучаемый должен найти и устранить Ошибки всячески выявляются и устраняются, в идеале – вообще не допускаются
Быстродействие Для демонстрации процесса исполнения алгоритма возможно его искусственное замедление Желательно максимальное быстродействие
Чистота переменных Все переменные имеют смысл и используются в программе по назначению После отладки может остаться «мусор» в виде неиспользованных переменных
Чистота текста «Мертвый», неиспользуемый код отсутствует После отладки могут остаться невыполняемые команды
Структурность Структурность записи составных команд обязательна Структурность команд может нарушаться ради скорости выполнения
Ввод данных В силу открытости текста значения исходным данным можно присваивать прямо в тексте Ввод данных выполняется с терминала или из файла
Переносимость Используется базовое подмножество языка для независимости от компьютера Для достижения эффективности учитывается конкретный тип компьютера и версия языка
Управление В силу записи на языке высокого уровня работает под управлением компилятора или интерпретатора Выполняется в виде откомпилированной программы
Язык Может быть написана на условном языке, не реализованном на компьютерах Пишется под конкретный компилятор

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

Для использования открытых программ в обучении существует ряд предпосылок.

Во-первых, открытые программы – это программы с подробными комментариями, объем которых достигает 3/4 всего текста. Они встречаются в учебниках.

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

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

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

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

Таким образом, можно выделить следующие типы ОП:

  • Программа для изучения;
  • Исправить ошибки;
  • Модифицировать программу;
  • Что будет выведено на экран;
  • Написать комментарии и сформулировать условие.
neudoff.net

Добавить комментарий

*

*


ВКонтакте