Научная статья на тему 'Возможности СРЕДЫ ВИЗУАЛЬНОГО ПРОГРАММИРОВАНИЯ BLS ДЛЯ ИСПОЛЬЗОВАНИЯ В УЧЕБНОМ ПРОЦЕССЕ'

Возможности СРЕДЫ ВИЗУАЛЬНОГО ПРОГРАММИРОВАНИЯ BLS ДЛЯ ИСПОЛЬЗОВАНИЯ В УЧЕБНОМ ПРОЦЕССЕ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
340
15
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Смольянинов Александр Владимирович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Возможности СРЕДЫ ВИЗУАЛЬНОГО ПРОГРАММИРОВАНИЯ BLS ДЛЯ ИСПОЛЬЗОВАНИЯ В УЧЕБНОМ ПРОЦЕССЕ»

Смолъянинов Александр Владимирович

Возможности СРЕДЫ ВИЗУАЛЬНОГО ПРОГРАММИРОВАНИЯ

БЬ8

ДЛЯ ИСПОЛЬЗОВАНИЯ В УЧЕБНОМ ПРОЦЕССЕ

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

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

ПРОЦЕСС РАЗРАБОТКИ ПРОГРАММ И ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА

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

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

Ключевым этапом в разработке качественных программ является построе-

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

возможно и является чисто технической задачей - кодированием конструкций алгоритма на выбранном языке по известным правилам.

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

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

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

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

ВИЗУАЛЬНОЕ ПРОГРАММИРОВАНИЕ

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

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

Перспективность визуального программирования как технологии определяется его инструментальными и когнитив-

ными свойствами. Оно позволяет использовать в творческом процессе разработки программ неязыковое образное мышление автора, раскрепощаемое в среде наглядных и узнаваемых представлений. Эта особенность обуславливает целесообразность применения визуального программирования в учебном процессе как в качестве средства обучения, так и в качестве предмета изучения [1].

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

РАБОТА В СРЕДЕ BLS

BLS как учебная среда

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

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

Разработка алгоритма: основные действия

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

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

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

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

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

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

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

Любая конструкция схемы может быть удалена. Для этого необходимо выбрать конструкцию проблемным курсором и нажатием клавиши DEL удалить ее. Если конструкция была снабжена комментарием, то она будет удалена из схемы, но не будет потеряна для разработки. Она будет помещена в архив схемы для возможного последующего использования.

Написание текста программы

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

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

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

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

Выполнение программы

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

Обеспечение обозримости алгоритма: группирование

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

Для сохранения схемы в пределах экрана предоставляется возможность группировки конструкций. Группа представляется в схеме прямоугольником со сторонами, заданными пунктирной линией. Если группа выбрана проблемным курсором, то в пределах этого прямоугольника

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

Для группировки конструкций в среде реализовано два способа. Первый позволяет объединить в группу конструкции, существующие в схеме. Второй - создавать группу из новых конструкций.

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

Разработка "сверху-вниз": детализация

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

лизующий этот символ фрагмент алгоритма определен вне изображенной схемы.

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

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

Разработка " снизу-вверх ": использование архивов

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

Рисунок 1.

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

Модернизация схемы

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

Модульное программирование

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

режим создания модуля, задать имя модуля и далее разработать модуль. Для задания вызова модуля нужно в вызывающем алгоритме разместить символ "Предопределенный процесс". Нижний рисунок на 3-ей странице обложки демонстрирует разработку модуля с использованием архива.

Визуальное программирование ввода-вывода

Среда предоставляет возможность автоматизированного программирования процессов ввода и вывода числовой и текстовой информации. Разработчик программы должен разместить в алгоритме символы "Ввод-Вывод". Для каждого из них он должен выбрать в меню конструкций символ "Макет ввода-вывода" и перейти в режим построения макета. Это означает, что ему нужно, как в текстовом редакторе, построить образ экрана, включив в него все тексты и числовые значения в том виде и в той последовательности, в которой они должны появляться при исполнении этого элемента алгоритма. Затем нужно поочередно выделить в построенном макете поля, в которые будет производиться либо ввод, либо вывод и связать их с нужными переменными программы (см. рис. 3). В результате будет автоматически построен фрагмент текста

Рисунок 2.

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

Визуальная помощь

Среда оснащена системой контекстно-зависимой визуальной помощи, которая, используя наглядную форму представ-

Рисунок 3.

ления информации, показывает на одном или нескольких кадрах, как нужно выполнить выбранное действие (см. рис. 1 и 2).

Аппаратное и программное обеспечение функционирования среды BLS

IBM-совместимый компьютер (начиная с серии 286) с минимальными характеристиками:

- оперативная память от 512 Кб;

- графический адаптер EGA или VGA с 256 Кб памяти;

- жесткий диск со свободным местом около 1 Мб.

Дополнительные внешние устройства:

- манипулятор типа "мышь", совместимый с IBM Mouse;

- печатающее устройство, имеющее систему управляющих кодов совместимую с EPSON, IBM Graphic Printer или IBM ProPrinter.

Операционная система MS DOS версии 3.0 и выше, а также в MS Windows в оконном и полноэкранном режимах. Дополнительное программное обеспечение:

- русификатор клавиатуры и экрана в альтернативной кодировке, обеспечивающий графические режимы работы (например, cyrillic.com);

- пакетный компилятор "tpc.exe" и системная библиотека "turbo.tpl" системы Turbo Pascal версии 4.0 и выше для выполнения разрабатываемых программ.

Литература

1. Смольянинов A.B., Калмычков В. А. Визуальное программирование в учебном процессе. - В кн.: Современные технологии обучения. Сб. научн.-метод. тр., Вып. 3.-СПб.: СПбГЭТУ, 1997.- с. 8-19

Смольянинов Александр Владимирович, доцент кафедры математического обеспечения и применения ЭВМ Санкт-Петербургского государственного

электротехнического университета, кандидат технических наук.

НАШИ АВТОРЫ

i Надоели баннеры? Вы всегда можете отключить рекламу.