Файл: Технологии программирования. Основы программирования на языке Pascal.pdf
Добавлен: 31.03.2023
Просмотров: 84
Скачиваний: 1
3. СРЕДЫ РАЗРАБОТКИ ДЛЯ ЯЗЫКА PASCAL
3.1 Turbo Pascal
Turbo Pascal - это система разработки программного обеспечения, которая включает в себя компилятор и интегрированную среду разработки (IDE) для языка программирования Pascal, работающего на CP / M, CP / M-86 и DOS. Первоначально он был разработан Андерсом Хейлсбергом в Borland и отличался чрезвычайно быстрым временем компиляции. Turbo Pascal и более поздний, но похожий Turbo C сделали Borland лидером в разработке на базе ПК.
Для версий 6 и 7 (последняя) были выпущены как более дешевый Turbo Pascal, так и более дорогой Borland Pascal; Borland Pascal был более ориентирован на профессиональную разработку программного обеспечения, с большим количеством библиотек и стандартным исходным кодом библиотеки. Название Borland Pascal также используется более широко для диалекта Borland языка программирования Pascal, значительно отличающегося от стандартного Pascal.
Borland выпустила три старые версии Turbo Pascal бесплатно из-за их исторического интереса: оригинальный Turbo Pascal (теперь известный как 1.0) и версии 3.02 и 5.5 для DOS.
Достоинства
- Удобная среда разработки, включающая функциональный отладчик, доступный в любой момент.
- Контекстная справочная система, по которой можно изучать язык без обращения к сторонним источникам.
- Высокая скорость компиляции, высокая скорость выполнения откомпилированных программ.
- Встроенная возможность использовать вставки на языке ассемблера.
Недостатки
- Компилятор рассчитан на реальный режим DOS, применение которого сходит на нет. Однако в последних версиях компилятора и среды введена поддержка защищённого режима вместе с соответствующим отладчиком (TD).
- В модуле CRT имеется ошибка (некорректный подсчёт количества циклов для функции delay, не рассчитанный на быстрые процессоры, процессоры с переменной частотой и многозадачные среды), из-за которой при запуске программы на компьютерах с тактовой частотой более 200 MHz сразу происходило аварийное завершение с сообщением «Runtime error 200 at…». Существуют разные варианты исправления модуля CRT[4][5][6]. В варианте Клауса Хартнегга ошибка 200 не возникает, но длительность Delay на быстрых компьютерах меньше желаемой, и эта проблема по незнанию иногда тоже считается недостатком Turbo Pascal.
Рисунок 3 – Графический интерфейс среды разработки Turbo Pascal
3.2 Pascal ABC
PascalABC.NET - это язык программирования Pascal, который реализует классический Pascal, большинство функций языка Delphi, а также ряд собственных расширений. Он реализован на платформе .NET Framework и содержит все современные языковые функции: классы, перегрузка операторов, интерфейсы, обработка исключений, универсальные классы и подпрограммы, сборка мусора, лямбда-выражения, инструменты параллельного программирования (только OpenMP с 2016 года).
PascalABC.NET также является простой и мощной интегрированной средой разработки со встроенным отладчиком, системой IntelliSense, конструктором форм, шаблонами кода и автоматическим форматированием кода. Компилятор командной строки PascalABC.NET также доступен в Linux и MacOS (под Mono).
PascalABC.NET популярен в российских школах и университетах. В Южном федеральном университете он используется в качестве основного языка для обучения студентов по информационным технологиям по курсу «Основы программирования» и для обучения детей в одной из крупнейших компьютерных школ России.
Особенности языка, связанные с платформой .NET
- Все типы — классы
- Стандартный тип BigInteger
- Стандартный тип Complex
- Форматные строки
- Многомерные динамические массивы
- Интерфейсы .NET
- Подключение пространств имен .NET в разделе uses
- Обобщённые классы, интерфейсы, подпрограммы и процедурные переменные
- Автоматическая сборка мусора для объектов
- Атрибуты
- Методы расширения
- Поддержка неуправляемого кода через external
- Типы type?, допускающие значение nil (синоним Nullable<T>)
Поскольку в PascalABC.NET можно пользоваться всеми библиотеками платформы .NET, стандартные модули немногочисленны и ориентированы на обучение:
- Модуль растровой графики GraphWPF
- Модуль растровой графики GraphABC (устаревший)
- Модуль 3D графики и анимации Graph3D (на основе свободной библиотеки Helix Toolkit)
- Модуль векторной графики WPFObjects
- Модуль векторной графики ABCObjects (устаревший)
- Модуль FormsABC для создания графических интерфейсов (на базе технологии Windows Forms)
- Модуль NumLibABC (библиотека численных методов)
- Модули исполнителей Робот и Чертёжник (школьная информатика)
- Модуль электронного задачника Programming Taskbook (базовая версия)
Рисунок 4 – Графический интерфейс среды разработки Pascal ABC
3.3 Delphi
Среда предназначена для быстрой (RAD) разработки прикладного ПО для операционных систем Windows, Mac OS X, а также iOS и Android. Благодаря уникальной совокупности простоты языка и генерации машинного кода позволяет непосредственно, и, при желании, достаточно низкоуровнево взаимодействовать с операционной системой, а также с библиотеками, написанными на C/C++.
Созданные программы независимы от стороннего ПО, как-то Microsoft .NET Framework или Java Virtual Machine. Выделение и освобождение памяти управляется в основном пользовательским кодом, что, с одной стороны, ужесточает требования к качеству кода, а с другой — делает возможным создание сложных приложений с высокими требованиями к отзывчивости (работа в реальном времени).
В кросс-компиляторах для мобильных платформ предусмотрен автоматический подсчёт ссылок на объекты, облегчающий задачу управления их временем жизни. Ниже приведен примера интерфейса Delphi(рис.5).
Рисунок 5 – Интерфейс среды разработки Delphi
Delphi состоит из следующих основных составных частей:
- Дизайнер форм
- Окно редактора исходного кода
- Палитра компонентов
- Инспектор объектов
- Справочник
Есть, конечно, и другие важные составляющие Delphi, вроде линейки инструментов, системного меню и многие другие, нужные Вам для точной настройки программы и среды программирования.
Программисты на Delphi проводят большинство времени переключаясь между Дизайнером Форм и Окном Редактора Исходного Текста (которое для краткости называют Редактор).
Дизайнер Форм в Delphi интуитивно понятен и прост в использовании. Дизайнер Форм первоначально состоит из одного пустого окна, которое Вы заполняете всевозможными объектами, выбранными на Палитре Компонентов.
Палитра Компонент (см. рис.5) позволяет Вам выбрать нужные объекты для размещения их на Дизайнере Форм. Для использования Палитры Компонент просто первый раз щелкните мышкой на один из объектов и потом второй раз - на Дизайнере Форм. Выбранный Вами объект появится на проектируемом окне и им можно манипулировать с помощью мыши.
Палитра Компонент(рис.6) использует постраничную группировку объектов. Внизу Палитры находится набор закладок - Standard, Additional, Dialogs и т.д. Если Вы щелкнете мышью на одну из закладок, то Вы можете перейти на следующую страницу Палитры Компонент. Принцип разбиения на страницы широко используется в среде программирования Delphi и его легко можно использовать в своей программе. (На странице Additional есть компоненты для организации страниц с закладками сверху и снизу).
Рисунок 6 – Палитра компонентов Delphi
В дополнение к инструментам, обсуждавшимся выше, существуют пять средств, поставляемых вместе с Delphi. Эти инструментальные средства:
- встроенный отладчик;
- внешний отладчик (поставляется отдельно);
- компилятор командной строки;
- WinSight;
- WinSpector;
Отладчик позволяет Вам пройти пошагово по исходному тексту программы, выполняя по одной строке за раз, и открыть просмотровое окно (Watch), в котором будут отражаться текущие значения переменных программы.
Встроенный отладчик, который наиболее важен из пяти вышеперечисленных инструментов, работает в том же окне, что и Редактор. Внешний отладчик делает все, что делает встроенный и кое-что еще. Он более быстр и мощен, чем встроенный. Однако он не так удобен в использовании, главным образом из-за необходимости покидать среду Delphi.
Внешний компилятор, называется DCC.EXE, полезен, в основном, если Вы хотите скомпилировать приложение перед отладкой его во внешнем отладчике. Большинство программистов, наверняка, посчитают, то гораздо проще компилировать в среде Delphi, нежели пытаться создать программу из командной строки.
WinSight и WinSpector интересны преимущественно для опытных программистов в Windows. Это не значит, что начинающий не должен их запускать и экспериментировать с ними по своему усмотрению. Но эти инструменты вторичны и используются для узких технических целей.
Из этих двух инструментов WinSight определенно более полезен. Основная его функция - позволить Вам наблюдать за системой сообщений Windows. Хотя Delphi делает много для того, чтобы спрятать сложные детали данной системы сообщений от неопытных пользователей, тем не менее Windows является операционной системой, управляемой событиями. Почти все главные и второстепенные события в среде Windows принимают форму сообщений, которые рассылаются с большой интенсивностью среди различных окон на экране. Delphi дает Вам полный доступ к сообщениям Windows и позволяет отвечать на них, как только будет нужно. В результате, опытным пользователям WinSight становится просто необходим.
WinSpector сохраняет запись о текущем состоянии машины в текстовый файл; Вы можете просмотреть этот файл для того, чтобы узнать, что неправильно идет в программе. Данный инструмент полезен, когда программа находится в опытной эксплуатации - можно получить важную информацию при крушении системы.
3.4 Lazarus
Lazarus — открытая среда разработки программного обеспечения на языке Object Pascal для компилятора Free Pascal (часто используется сокращение FPC — Free Pascal Compiler, бесплатно распространяемый компилятор языка программирования Pascal). Интегрированная среда разработки предоставляет возможность кроссплатформенной разработки приложений в Delphi-подобном окружении.
Позволяет достаточно несложно переносить Delphi-программы с графическим интерфейсом в различные операционные системы: Linux, FreeBSD, Mac OS X, Microsoft Windows, Android. Начиная с Delphi XE2 в самом Delphi имеется возможность компиляции программ для Mac OS X, с версии XE4 — для iOS, с версии XE5 — для Android, с версии 10.2 Tokyo — для Linux (x64).
Основан на библиотеке визуальных компонентов Lazarus Component Library (LCL). В настоящее время практически полностью поддерживает виджеты Win32, GTK1, GTK2, Carbon, Qt. В разработке находятся виджеты WinCE.
- Поддерживает преобразование проектов Delphi
- Реализован основной набор элементов управления
- Редактор форм и инспектор объектов максимально приближены к Delphi
- Интерфейс отладки (используется внешний отладчик GDB)
- Простой переход для Delphi программистов благодаря близости LCL к VCL
- Полностью юникодный (UTF-8) интерфейс и редактор и поэтому отсутствие проблем с портированием кода, содержащего национальные символы
- Мощный редактор, включающий систему подсказок, гипертекстовую навигацию по исходным текстам, автозавершение и рефакторинг
- Форматирование исходного текста «из коробки», используя механизмы Jedi Code Format
- Поддержка двух стилей ассемблера: Intel и AT&T (поддерживаются со стороны компилятора)
- Поддержка множества типов синтаксиса Pascal: Object Pascal, Turbo Pascal, Mac Pascal, Delphi (поддерживаются со стороны компилятора)
- Имеет собственный формат управления пакетами
- Авто сборка самого себя (под новую библиотеку виджетов) нажатием одной кнопки
- Поддерживаемые для компиляции ОС: Linux, Microsoft Windows (Win32, Win64), Mac OS X, FreeBSD, WinCE, OS/2
Рисунок 7 – Графический интерфейс среды разработки Lazarus
ЗАКЛЮЧЕНИЕ
В данной курсовой работе на тему «Основы программирования на языке Pascal» было сделано следующее:
- рассмотрено понимание языков программирования, в частности высокого уровня;
- рассмотрено существующие языки программирования высокого уровня;
- наведено этапы разработки ПО;
- рассмотрено и описано характеристики и особенности языка программирования Pascal;
- наведено основные конструкции и операторы;
- рассмотрено основные среды разработки с использованием данного языка;
СПИСОК ЛИТЕРАТУРЫ
Источники на русском языке
1. Абрамов В. Г. Введение в язык паскаль / В.Г. Абрамов, Н.П. Трифонов, Г.Н. Трифонова - М.: Наука, 2013. - 320 c.
2. Андреева Т. А. Программирование на языке Pascal / Т.А. Андреева - М.: Интернет-университет информационных технологий, Бином. Лаборатория знаний, 2013. - 240 c.
3. Грызлов В. И. Турбо Паскаль 7.0 / В.И. Грызлов Т.П. Грызлова - М.: ДМК, 2016. - 416 c.