Среда PascalABC.NET проектируется как простая, но мощная оболочка, обеспечивающая подсветку синтаксиса, подсказку по коду (подсказка по точке, подсказка параметров подпрограмм, всплывающая подсказка по именам), форматирование текста программы по запросу, переход к определению и реализации подпрограммы, элементы рефакторинга. Она разрабатывается в большей степени с целью обучения программированию и содержит в своем составе ряд дополнительных модулей, предназначенных для обучения.
Особенности:
· среда разработки, ориентированная на обучение: подсказки по коду, отладчик, автоформатирование кода и подсветка синтаксиса, простая навигация по коду и т.д.
· поддержка современных возможностей языков программирования: модули, классы, пространства имен, обработка исключений, сборка мусора и т.д.
· средства параллельного программирования (директивы OpenMP).
· обучающий инструментарий, сохранившийся с Pascal ABC: встроенный задачник, механизм проверяемых заданий, "исполнители" Робот и Чертежник и т.д.
По функциональному назначению выделяется три области экрана:
Ø Строка меню
Ø Рабочая область
Ø Строка состояния
В рабочей области есть возможность открывать различные окна программы:
окна редактируемого текста, окна помощи, отладки и настройки. Имя файла
написано в заголовке окна. Строка состояния показывает некоторые доступные и
важные в настоящее время операции и комбинации клавиш соответствующие им.
Рис.11. Главное окно в PascalABC.NET
Основные команды и горячие клавиши.
Основные команды языка программирования Pascal и соответствующие им горячие клавиши:
· Ctrl+F9 - запуск программы
· Alt+F5 - просмотр пользовательского экрана
· F2 - сохранение программы
· F3 - открытие сохраненной программы
· Alt+F3 - закрытие активного окна
· Alt+X - выход из Турбо Паскаль
· F1 - контекстная помощь
· Ctrl+F1 - справка об операторе, на котором установлен курсор
· Alt+Backspace - отмена последнего изменения
· Ctrl+Y - удаление строки
· Shift+стрелки - выделение блока текста
· Ctrl+Insert - копирование выделенного блока в буфер
· Shift+Insert - вставка из буфера
Операции отношения.
К операциям отношения в Pascal относят:
· > - больше
· < - меньше
· = - равно
· <> - не равно
· >= - больше или равно
· <= - меньше или равно
В операциях отношения могут быть не только числа, но также и символы, строки, множества и указатели.
Приоритет операций.
Существует следующий приоритет операций:
· унарная операция not, унарный минус -, взятие адреса @
· операции типа умножения: * / div mod and
· операции типа сложения: + - or xor
· операции отношения: = <> < > <= >= in
Логические операции.
· NOT - логическое отрицание ("НЕ")
· AND - логическое умножение ("И")
· OR - логическое сложение ("ИЛИ")
· XOR - логическое ( "Исключающее ИЛИ")
Структура программы
Программа на языке Pascal состоит из заголовка, разделов описаний и раздела операторов. Заголовок программы должен содержат имя программы ( program tab;)
Описания могут включать в себя:
фрактал стохастический множество кривая
Рис.12.Структура программы.
Раздел описания модулей. Состоит из служебного слова USES и содержит имена подключаемых модулей (библиотек). Раздел описания модулей должен быть первым среди разделов описаний. Имена модулей разделяются друг от друга запятыми ( uses CRT,tab; ).
Все метки, которые используются в программе, должны быть описаны в разделе описания меток (label 5, 365, 95, Quit;).
Описание констант позволяет использовать имена как синонимы констант, их необходимо определить в разделе описания констант:K=524; MAX= 17850;
В разделе описания переменных необходимо внести все переменные, которые используются в программе, и еще нужно определить их тип:
var S,R,M: Integer;,Y: Char;,D6: Boolean;
Раздел операторов - составной оператор, содержащий между служебными словами begin.......end последовательность операторов. Операторы отделяются символом " ; ". А текст заканчивается точкой( . ) .
Кроме описаний и операторов PascalABC.NET может содержать комментарии,
представляющие собой произвольную последовательность символов, которые
располагаются между скобкой комментариев { ... }:
В этой части мы приступим к созданию фракталов, в нашем случае это
треугольник Серпинского. Этот фрактал описал в 1915 году польский математик
Вацлав Серпинский. Чтобы его получить, нужно взять (равносторонний) треугольник
с внутренностью, провести в нём средние линии и выкинуть центральный из четырех
образовавшихся маленьких треугольников. Дальше эти же действия нужно повторить
с каждым из оставшихся трех треугольников, и т. д. На рисунке показаны первые
три шага.
Рис.13. Пошаговое создание треугольника Серпинского.
Выкидывание центральных треугольников - не единственный способ получить в
итоге треугольник Серпинского. Можно двигаться "в обратном
направлении": взять изначально "пустой" треугольник, затем
достроить в нём треугольник, образованный средними линиями, затем в каждом из
трех угловых треугольников сделать то же самое, и т. д. Поначалу фигуры будут
сильно отличаться, но с ростом номера итерации они будут всё больше походить
друг на друга, а в пределе совпадут.
Рис.14. Пошаговое создание треугольника Серпинского.
Вот наш конечный код написание нашей программы треугольника Серпинского в
среде программирования PascalABC.NET.
program Serpinskiy;CRT, GraphABC;, gm : Integer;= 9;tr(x1,
y1, x2, y2, x3, y3: Real);(Round(x1), Round(y1), Round(x2),
Round(y2));(Round(x2), Round(y2), Round(x3), Round(y3));(Round(x3), Round(y3),
Round(x1), Round(y1));;draw(x1, y1, x2, y2, x3, y3: Real; n: Integer);n, y1n,
x2n, y2n, x3n, y3n : Real;n > 0 thenn := (x1 + x2) / 2;n := (y1 + y2) / 2;n
:= (x2 + x3) / 2;n := (y2 + y3) / 2;n := (x3 + x1) / 2;n := (y3 + y1) / 2;(x1n,
y1n, x2n, y2n, x3n, y3n);(x1, y1, x1n, y1n, x3n, y3n, n - 1);(x2, y2, x1n, y1n,
x2n, y2n, n - 1);(x3, y3, x2n, y2n, x3n, y3n, n -
1);;;(320,10,600,470,40,470);(320,10,600,470,40,470,iter);{}.
Рис.15. Готовая программа в PascalABC.NET.
После того как написали код, следует запустить нашу программу. Для этого заходим в раздел "Программа" и выбираем пункт "Выполнить без связи с оболочкой".
Рис.16. Запуск программы.
После запуска откроется дополнительное окно, в котором мы можем увидеть
наш готовый рисунок.
Рис.17. Готовый Треугольник Серпинского.
Наука о фракталах очень молода, потому что они стали появляться с
развитием компьютерных технологий. Поэтому многое еще не изучено и многое еще
предстоит открыть. Основная причина применения фракталов в различных науках
заключается в том, что они описывают реальный мир иногда даже лучше, чем
традиционная физика или математика. Мы выяснили, что фракталы можно применять
не только в точных науках, но и практически во всем, что нас окружает. В этом
мы можем убедиться на конкретном примере, представленном в практической части
работы, а именно на примере создания фрактала треугольника Серпинского. Кроме
большой функциональности, возможности применения фракталов в самых различных
сферах жизни, это очень яркие, изумительные по своей красоте изображения,
которые доставляют огромное эстетическое удовольствие, позволяют насладиться
ими. Создавать свои собственные фракталы может каждый, используя доступные
программы. От самого процесса создания совершенно для нас нового и одновременно
невероятно красивого, порой фантастического, получаешь массу удовольствия.
Фракталы очень разнообразны, как и их применение. Изучая фрактальные модели для
практического применения, каждый сможет выбрать подходящее для себя
направление.
1. Божокин С.В., Паршин Д.А. Фракталы и мультифракталы. РХД 2008 г.
. Дж.Милнор Голоморфная динамика. РХД 2010 г.
. Витолин Д. Применение фракталов в машинной графике. // Computerworld-Россия.-2007.
. Пайтген Х.-О., Рихтер П. Х. Красота фракталов. - М.: "Мир", 2009.
. Кроновер Р. М. Фракталы и хаос в динамических системах. Основы теории 2011.
. Мандельброт Б. Самоаффинные фрактальные множества, "Фракталы в физике". М.: Мир 2010.
. Мандельброт Б. Фрактальная геометрия природы. 2009.
. Морозов А.Д. Введение в теорию фракталов. Н.Новгород: Изд-во Нижегород. ун-та 2009.