МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «МОРДОВСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ ИНСТИТУТ ИМЕНИ М.Е. ЕВСЕВЬЕВА» Факультет физико-математический Кафедра информатики и вычислительной техники РЕФЕРАТ ОСНОВЫ ВИЗУАЛЬНОГО ПРОГРАММИРОВАНИЯ Выполнила: студентка 5 курса группы МДМ – 111 Казанчева А. А. Проверила: к. ф.-м. н., доцент Кормилицына Т. В. Саранск 2015 Содержание 1. Понятие о визуальных языках программирования 2. Графические или визуальные языки программирования 3. Визуальные средства обработки 4. Базовые понятия программирования, которые поддерживаются VisuAL Список литературы 1. Понятие о визуальных языках программирования В данный момент времени существуют различные толкования термина "визуальные языки программирования". Как правило, когда речь заходит о визуальном программировании, то прежде всего под этим понимают программирования в средах типа Delphi или Visual Basic. Между тем, подобные среды используют визуальную технологию проектирования, а код записывается с помощью текстовых языков программирования. В иностранных источниках визуальные языки программирования (ВЯП) делят на три категории: для обработки визуальной информации; для поддержки визуального взаимодействия с пользователем; для программирования с помощью визуальных выражений. Языки первой категории в основном используются для управления графическими объектами в средствах моделирования, САПР, графических редакторах. Примерами могут служить AutoCAD, 3D Studio MAX, Corel Draw. Примерами второй категории могут служить среды программирования, которые поддерживают возможности визуального дизайна прототипов форм ввода/вывода информации. Это уже названные выше среды Delphi, C++ Builder, Visual Basic. Также в эту группу попадают языки, которые предназначены для обработки объектов, которые изначально не являются визуальными изначально, а представляются в таком виде для удобства пользователей. Как правило, это расширения существующих текстовых языков программирования, таких как Lisp, Ada, Pascal. Такие языки называют языками , поддерживающими визуальное взаимодействие. Третья группа языков объединяет собственно визуальные языки программирования. Визуальным языком программирования называют совокупность визуальных предложений, построенных из икон, предоставляемых системой, по определенным семантическим и синтаксическим правилам. При анализе пространственного расположения икон выявляется лежащая в основе синтаксическая структура. При семантическом анализе визуальное выражение интерпретируется для определения его смысла. Одним из главнейших достоинств ВЯП является в наглядном представлении данных и структур разрабатываемых программ, предоставляемая программистам возможность работать в терминах своих представлений. В силу специфических ограничений использование ВЯП не всегда может принести ощутимую пользу. Одной из областей, где польза от их использования несомненна, является обучение, в частности, обучение алгоритмике и основам программирования. Для проверки данного положения и был разработан визуальный язык программирования VisuAL (Visual Algorithmic Language). В существующей реализации он является прототипом и будет существенно улучшен в случае подтверждения эффективности его использования в обучении. Поскольку VisuAL интегрирован со средой программирования, которая предоставляет сервисные функции, то в дальнейшем наряду с термином "визуальный язык программирования" будем употреблять термин "среда визуального программирования". Визуальное программирование - способ создания программы для ЭВМ путём манипулирования графическими объектами вместо написания её текста. Визуальное программирование часто представляют как следующий этап развития текстовых языков программирования. Наглядным примером может служить утилита Визуальный Pascal или Microsoft Visual Studio, где редактируются графические объекты и одновременно отображается соответствующий текст программы. В последнее время визуальному программированию стали уделять больше внимания - в связи с развитием мобильных сенсорных устройств (КПК, планшеты). Визуальное программирование в основном используется для создания программ с графическим интерфейсом для операционных систем с графическим интерфейсом пользователя. Среда визуального программирования позволяет написать Веб-приложение для браузеров. Среда визу- ального программирования позволяет создать консольное приложе- ние (программа без графического интерфейса и без вывода сообщений в консоль) для программирования микроконтроллеров, программируемых микросхем. Необходимо различать: графический язык программирования, который, прежде всего язык программирования (со своим синтаксисом); визуальные средства разработки — как правило, под ними подразумевают средства проектирования интерфейсов или какую-либо CASEсистему для быстрой разработки приложений или SCADA-систему для программирования микроконтроллеров. Языки визуального программирования могут быть дополнительно классифицированы в зависимости от типа и степени визуального выражения, на следующие типы: языки на основе объектов, когда визуальная среда программиро- вания предоставляет графические или символьные элементы, которыми можно манипулировать интерактивным образом в соответствии с некоторыми правилами; языки, в интегрированной среде разработки которых на этапе проектирования интерфейса применяются формы, с возможностью настройкой их свойств. Примеры: Delphi и C++ Builder фирмы Borland. языки схем, основанные на идее «фигур и линий», где фигуры (прямоугольники, овалы и т. п.) рассматриваются как субъекты и соединяются линиями (стрелками, дугами и др.), которые представляют собой отношения. Пример: UML. В современных разработках делаются попытки интегрировать подход визуального программирования с программированием потоков дан- ных (англ. dataflow programming), чтобы иметь непосредственный доступ к состоянию программы для онлайновой отладки, или автоматизированная ге- нерация и документирование программы. Языки потоков данных также позволяют делать автоматическое распараллеливание, которое может стать одним из величайших достижений программирования в будущем. 2. Графические или визуальные языки программирования Дракон-схемы — графический язык программирования, используется для программирования в ракетно-космической технике («Буран», «Морской старт», «Тополь»). Существует бесплатный Дракон-редактор. Этот язык имеет наиболее строгое теоретическое обоснование. Язык последовательных функциональных схем SFC (Sequential Function Chart) — графический язык программирования широко используется для программирования промышленных логических контроллеров PLC. В SFC программа описывается в виде схематической последовательности шагов, объединённых переходами: LD — язык релейно-контактных схем FBD — язык Функциональных блоковых диаграмм. Язык CFC (Continuous Flow Chart) — ещё один высокоуровневый язык графического программирования. CFC — это дальнейшее развития языка FBD. CFC был специально создан для проектирования систем управления непрерывными технологическими процессами. Язык "G" системы LabVIEW — один из самых распространенных языков разработки программ, работающих с некомпьютерным оборудованием. VisSim — это визуальный язык программирования предназначенный для моделирования динамических систем, а также проектирования, базирующегося на моделях, для встроенных микропроцессоров. Скретч — это визуальная объектно-ориентированная среда и язык программирования для обучения школьников младших и средних классов. 3. Визуальные средства обработки 1. AgentSheets, легкая в использовании авторская система для игр и научных расчётов 2. Alice 3. Analytica 4. AppWare, also known as MicroBrew, программирование, на основе иконок для Mac OS и Microsoft Windows 5. AudioMulch, основанная на потоке звукового сигнала, также для среда для создания музыки 6. Automator 7. Aviary Peacock, визуальная лаборатория на основе просмотра файлов 8. Baltie 9. Befunge, эзотерический текстовый язык программирования, в ко- тором команды размещаются графически в текстовом файле 10. CODE 11. eXpecco, основанный на графическом потоке язык программиро- вания и среда разработки для автоматизации тестирования 12. Flow 13. HiAsm, конструктор программ 14. JMCAD среда графической разработки систем для промышлен- ности, инженеров и учёных 15. Kwikpoint, пиктограммный визуальный транслятор, созданный Аланом Стилманом 16. LabVIEW, среда графического программирования, разработанная для инженеров и учёных 17. LogicProgram, язык, среда графического программирования, поз- воляющая формировать матрицу отношений компонентов платформы 18. Macromedia Authorware 19. Miracle C Compiler, среда графического программирования, поз- воляющая формировать матрицу отношений компонентов платформы (сайт: http://www.c-compiler.com) 20. MQL-Studio for HiAsm, пакет для разработки экспертов, скрип- тов, индикаторов на языке MQL5 в визуальном редакторе программ HiAsm. 21. ROBO Pro 22. Thyrd, свободная, открытая графическая среда программирования (иерархия графических примитивов) на базе языка Forth (Форт) 23. vvvv 24. ДРАКОН, язык, созданный для разработки советского космиче- ского корабля Буран 25. СтройКод, визуальное программирование 26. Блендер - программа 3D моделирования с открытым исходным кодом, в которой узловым редактированием осуществляется настройка материалов, текстур, постобработка, настройки окружения сцены, а так же редактирование и создание геометрии при помощи системы уз- лов СВеРЧОК (Система векторного рабочего черчения и объектного конструирования) 27. ИС Дракон - интегрированная среда применения языка Дракон. 28. MexBIOS - интегрированная среда программирования цифровых сигнальных процессоров. 4. Базовые понятия программирования, которые поддерживаются VisuAL Прежде всего, хочется отметить, что данная среда разрабатывалась в качестве средства обучения и входит как ключевой компонент в методическую систему обучения школьной алгоритмике. Одной из главных целей этой системы является формирование и развитие алгоритмического стиля мышления (обоснование целесообразности такого подхода служит темой отдельного разговора и не обсуждается в данной работе). Таким образом, VisuAL поддерживает процедурную парадигму программирования, основанную на использовании алгоритмов. Поскольку функциональная, логическая, объектно-ориентированная парадигмы или не поддерживают алгоритмический подход к решению задач, или поддерживают его ограничено-частично, то их поддержка в контексте развития алгоритмического стиля мышления не целесообразна. Среди основных понятий процедурного программирования можно выделить: поддержку основных алгоритмических структур; строгую типизацию переменных; алгоритмическую декомпозицию, что предполагает широкое использование подпрограмм; возможности построения (синтеза) программ из некоторой совокупности уже существующего кода. Все эти возможности поддерживаются в среде VisuAL. Также его средствами можно организовывать как итерационные, так и рекурсивные алгоритмы, использовать возможности обработки графической и мультимедийной информации. Все эти возможности дополняются возможностями среды программирования: сохранение; загрузка программ; редактирование; выполнение, включая режим пошагового выполнения и поддержки точек остановки; инспекция данных во время выполнения с возможностью их изменения; использование генераторов представлений алгоритма программы в текстовом виде и в виде блок-схемы; контроль за ошибками в программе на этапе ее редактирования; представление переменных в удобном табличном виде; гибкие настройки системы, включая выбор языка представления (украинский, русский, английский, пользователя); возможность записи идентификаторов переменных с помощью национальных алфавитов; возможность прототипного проектирования экрана вывода. Все перечисленное вместе представляет мощную и, вместе с тем простую в использовании, среду для построения алгоритмов широкого класса задач. Список литературы 1. Бондарев В.М., Рублинецкий В.И., Качко Е.Г. Основы программирования. —Харьков: Фолио, Ростов н/Д: Феникс, 1997. 2. Информатика. Основы визуального программирования: Учеб. пособие / Л. Б. Кащеев, С. В. Коваленко, С. Н. Коваленко.— Харьков: Веста, 2011.— 192 с. 3. Хлебцевич Г.Е., Цыганкова С.В. Визуальный стиль программирования: понятия и возможности // Программирование. - 1990. - №4. - С.68-79.