- •Тема 2.2. Основные понятия языка программирования высокого уровня Free Pascal
- •Системы программирования
- •Интегрированная среда разработки FreePascal
- •Введение в язык Паскаль Характеристика языка программирования Паскаль
- •Основные понятия технологии программирования
- •Алфавит языка Паскаль
- •Структура программы на Паскале
- •Типы данных
- •Стандартные типы данных
- •Структуры данных
- •Строковый тип
- •Структурированные переменные
- •Представление основных структур программирования на языке Паскаль Операции и выражения
- •Арифметические операции и выражения
- •Логические операции
- •Оператор присваивания
- •Составной оператор
- •Условный оператор
- •Процедура write
- •Процедура ввода
- •Оператор выбора
- •Операторы повторений
- •Оператор цикла с предусловием
- •Оператор цикла с постусловием
- •Оператор цикла с параметром
- •Метки и операторы перехода
- •Работа с массивами
- •Операции над строками
- •Функция Length
- •Функция Upcase
- •Функция Сopy
- •Функция Pos
- •Процедуры Insert и Delete
- •Процедура Str
- •Процедура val
- •Практические примеры работы со строковыми данными
- •Оператор присоединения with
- •Процедуры и функции Паскаля
- •Формальные и фактические параметры
- •Типизированные константы
- •Interface
- •Implementation
- •Interface
- •Interface
- •Implementation
- •Файловый тип данных Типизированные файлы
- •Текстовые файлы
Системы программирования
Под системой программированияпонимают совокупность языка программирования и виртуальной машины, обеспечивающей выполнение реальной машиной программ, составленных на этом языке.
Виртуальная машина –это программный комплекс, связывающий входной язык ЭВМ с другим, машинным языком. Виртуальная машина содержиттранслятор и/илиинтерпретатори может включать библиотеки подпрограмм, отладчик, компоновщик и другие сервисные средства.
Транслятор представляет собой программу, осуществляющую перевод текстов с одного языка на другой. В системе программирования транслятор переводит программу с входного языка этой системы на машинный язык ЭВМ (на которой функционирует данная система программирования или будет функционировать разрабатываемая программа). Одной из разновидностей транслятора являетсякомпилятор, обеспечивающий перевод программ с языка высокого уровня (приближенного к человеку) на язык более низкого уровня (близкий к ЭВМ), или машинозависимый язык. Программа, подающаяся на вход транслятора, называетсяисходной, а результат трансляции –объектной программой.
Диаметрально противоположными характеристиками обладает альтернативное средство реализации языка – интерпретатор. Интерпретатор представляет собой программный продукт, выполняющий предъявленную программу путем одновременного ее анализа и реализации предписанных ею действий. При использовании интерпретатора отсутствует разделение на две стадии (перевод и выполнение) и, более того, отсутствует явный перевод программы даже по частям перед очередным этапом выполнения. В действительности же распознается очередная конструкция программы и интерпретатором выполняются определяемые ею действия. После этого процессы анализа и реализации предписанных действий циклически повторяются.
Возможны и смешанные стратегии реализации языков программирования, например, трансляция на промежуточный язык с последующей интерпретацией промежуточной программы.
Программа на языке программирования состоит из последовательности операторов (инструкций), задающих те или иные действия. Основным является оператор присваивания, служащий для изменения содержимого областей памяти.
Выполнение программы сводится кпоследовательному выполнению операторов с целью преобразованияисходного состояния памяти (т. е. значений переменных) взаключительное.
Интегрированная среда разработки FreePascal
Интегрированная среда разработки(ИСР) (integrated development environment (IDE) упрощает процесс программирования и делает его более эффективным. ИСР содержит весь комплекс инструментальных средств, необходимых для написания, редактирования, компиляции, компоновки и отладки программ.
Free Pascal Compiler(FPC) – это свободно распространяемый компилятор языка Паскаль с открытыми исходными кодами. Он совместим с Borland Pascal 7 и Object Pascal – Delphi, но при этом обладает рядом дополнительных возможностей, например, поддерживает перегрузку операторов. FPC – кроссплатформенный инструмент, поддерживающий большое количество платформ. Среди них — AmigaOS, DOS, Linux, OS/2, MacOS(X) и Win32. Вместе с компилятором распространяетсяинтегрированная среда разработки Free Pascal текстового режима, похожая на IDE Turbo/Borland Pascal (см. рис. 1).
Охарактеризуем основные элементы интерфейса ИСР Free Pascal.
Строка менюпредставляет собой основное средство доступа ко всем командам меню. Строка меню оказывается невидимой лишь в том случае, когда пользователь просматривает информацию, отображаемую запущенной программой.
Если после команды меню стоит многоточие, то команда открывает диалоговое окно. Если за командой следует символ треугольника, обращенного острием вправо, то выбор данной команды приводит к появлению меню нижнего уровня.

Рис. 1. Среда разработки Free Pascal
Если рядом с командой не присутствует каких-либо дополнительных символов, то это означает, что выбор данной команды приводит к немедленному выполнению соответствующего действия.
Доступ к командам меню осуществляется одним из следующих способов:
с использованием манипулятора мышь;
при помощи клавиши <F10> с последующим выбором нужной команды клавишами управления курсором;
прямым выбором пункта меню с использованием комбинации клавиш <Alt>+<Мнемокод> (выделенный в названии пункта меню символ, короткое буквенное обозначение); с целью последующего выполнения нужной команды меню достаточно просто нажать клавишу, соответствующую выделенному в команде меню символу клавишного сокращения.
Строка менювключает 10 основных пунктов.
Пункт меню Fileсодержит команды работы с файлами, изменения рабочего каталога, управления печатью. Состав команд меню File с указанием выполняемых ими функций приведен в табл. 1.
Таблица 1. Команды меню File
|
Команда меню |
Выполняемая функция |
Клавиши быстрого запуска |
|
New |
Открывает новое пустое окно редактора |
|
|
Open… |
Вызывает диалоговое окно открытия файла |
<F3> |
|
New from template… |
Открывает новое окно редактора на основе выбранного шаблона |
|
|
Save |
Сохраняет текущий файл |
<F2> |
|
Save as… |
Сохраняет файл с новым именем |
|
|
Save all |
Сохраняет файлы во всех открытых окнах |
|
|
|
Выполняет печать файла |
|
|
Print setup |
Открывает окно выбора принтера |
|
|
Change dir… |
Открывает диалоговое окно изменения рабочего каталога |
|
|
Command shell |
Вызывает режим командной строки |
|
|
Exit |
Закрывает IDE. При наличии несохраненных файлов будут выведены запросы на их сохранение. |
<Alt>+<X> |
Пункт меню Editсодержит команды редактирования. Состав команд меню Editс указанием выполняемых ими функций приведен в табл. 2.
Таблица 2. Команды меню Edit
|
Команда меню |
Выполняемая функция |
Клавиши быстрого запуска |
|
Undo |
Отменяет предыдущее действие(я) |
<Alt>+<Bksp> |
|
Redo |
Восстанавливает отмененное действие(я) |
|
|
Cut |
Копирует выделенный блок в буфер обмена одновременно удаляя его в тексте программы. Предыдущее содержимое буфера обмена при этом теряется. |
<Shift>+<Del> |
|
Copy |
Копирует выделенный блок в буфер обмена. Предыдущее содержимое буфера обмена при этом теряется. |
<Ctrl>+<Ins> |
|
Paste |
Вставляет содержимое буфера обмена в то место текста программы, где находится текстовый курсор |
<Shift>+<Ins> |
|
Clear |
Удаляет выделенный блок |
<Ctrl>+<Del> |
|
Select All |
Выделение всего текста программы |
|
|
Unselect |
Снятие выделения |
|
|
Show clipboard |
Открывает окно, в котором отображается содержимое буфера обмена |
|
|
Copy to Windows |
Копирует выделенный блок в буфер обмена Windows |
|
|
Paste from Windows |
Вставляет содержимое буфера обмена Windows в то место текста программы, где находится текстовый курсор |
|
Пункт меню Search содержит команды поиска и замены. Состав команд меню Searchприведен в табл. 3.
Таблица 3. Команды меню Search
|
Команда меню |
Выполняемая функция |
Клавиши быстрого запуска |
|
Find |
Обеспечивает поиск нужного фрагмента текста в активном окне редактора. В момент обращения к этой опции в поле выбора диалогового окна содержится слово, на которое указывал курсор в активном окне редактора. Пользователь может ввести новое слово или текстовую строку, положение которой в редактируемом файле ему необходимо найти. |
|
|
Replace |
Отыскивает в окне редактора нужный текстовый фрагмент и заменяет его на новый. |
|
|
Search again |
Повторяет поиск или поиск и замену фрагмента текста для ранее установленных параметров. |
|
|
Go to line number |
Осуществляет позиционирование курсора в окне редактора на строку с указанным номером. |
|
|
Find procedure |
Позволяет в режиме отладки отыскать в тексте программы нужную процедуру или функцию. |
|
Пункт меню Runсодержит команды исполнения и пошаговой отладки программы. Состав команд меню Runприведен в табл. 4.
Таблица 4. Команды меню Run
|
Команда меню |
Выполняемая функция |
Клавиши быстрого запуска |
|
Run |
Осуществляет компиляцию, компоновку и исполнение (прогон) программы из файла редактора. Если программа уже откомпилирована к этому моменту, то среда сразу начнет ее прогон. |
<Ctrl >+<F9> |
|
Trace into |
Начинает или продолжает режим отладки исполняемой программы под управлением встроенного отладчика. Вызов этой опции приведет к выполнению всех действий, запрограммированных в текущей строке, и указатель сместится к следующей строке программы. Если текущая строка содержит обращение к процедуре или функции, управление будет передано внутрь этой процедуры (функции) и программа остановится перед исполнением ее первого оператора. Таким образом, с помощью этой опции можно по шагам прослеживать исполнение всех нестандартных процедур (функций). |
<F7> |
|
Step over |
Осуществляет пошаговое выполнение программы, но, в отличие от опции Trace into, не прослеживает работу вызываемых процедур и функций. |
<F8> |
|
Goto cursor |
Начинает или продолжает режим отладки исполняемой программы под управлением встроенного отладчика. Вначале осуществляются все действия по компиляции и компоновке программы, затем программа начинает работать обычным образом (экран переходит в режим воспроизведения окна программы) и останавливается перед выполнением первого оператора из той строки, на которую указывает курсор. В этот момент экран возвращается в режим воспроизведения окна редактора, а строка с курсором подсвечивается. Можно перевести курсор к новой строке и вновь выбрать эту опцию – программа остановится перед выполнением нового оператора и т.д. Для прекращения отладки необходимо нажать клавиши <Ctrl>+<F2>. |
<F4> |
|
Program reset |
Сбрасывает все ранее задействованные отладочные средства и прекращает отладку программы. Удаляет исполнявшуюся программу из памяти и закрывает все открытые в ней в этот момент файлы. |
<Ctrl>+<F2> |
Пункт меню Compile содержит команды компиляции программ и модулей. Состав команд меню Compile приведен в табл. 5.
Таблица 5. Команды меню Compile
|
Команда меню |
Выполняемая функция |
Клавиши быстрого запуска |
|
Compile |
Компилирует программу или модуль, который загружен в данный момент в активное окно редактора. Если в этой программе (модуле) содержатся обращения к нестандартным модулям пользователя, последние уже должны быть откомпилированы. |
<Alt >+<F9> |
|
Make |
Компилирует файл из активного окна редактора. Если в процессе компиляции встретилось объявление нестандартного модуля, среда проверяет, были ли сделаны в файле с текстом программы этого модуля какие-либо изменения с момента последней его компиляции; если изменения были, то модуль будет перекомпилирован. Опция существенно упрощает процесс разработки многофайловых программ, так как всегда компилируется только тот минимум файлов, которых коснулись сделанные в программе изменения. |
<F9> |
|
Build |
Компилирует файл из активного окна редактора, а также перекомпиляцию всех подключенных модулей независимо от того, были ли сделаны в них изменения или нет. |
|
|
Target |
Устанавливает операционную систему, для которой должна быть скомпилирована программа |
|
|
Primary file |
Задает имя начального файла, с которого будет начинаться компиляция в многофайловых проектах. |
|
|
Clear primary file |
Очищает первичный файл, после чего компилироваться или выполняться будет файл активного окна редактора. |
|
|
Compiler messages |
Показывает окно сообщений компилятора. |
<F12> |
Пункт меню Debug содержит инструменты отладки программы. Состав команд меню Debug приведен в табл. 6.
Таблица 6. Команды меню Debug
|
Команда меню |
Выполняемая функция |
Клавиши быстрого запуска |
|
Output |
Открывает окно выходных результатов, в котором выводятся результаты работы программы и сообщения операционной системы |
<Alt >+<F5> |
|
User screen |
Открывает окно, в котором выводятся результаты работы программы. Отличается от команды Output тем, что результирующее окно не имеет рамки и элементов управления. Для выхода из окна следует нажать любую клавишу |
|
|
Watches |
Вызывает окно Watches. Данное окно предназначено для размещения в нем наблюдаемых параметров (переменных), значения которых изменяются во время выполнения программы |
|
|
Add watch |
Добавляет в окно наблюдаемых параметров новый параметр (переменную или выражение). С помощью этой опции можно указать отладчику те переменные и/или выражения, за изменением значений которых требуется наблюдать при отладке программы |
<Ctrl >+<F7> |
|
Breakpoint |
Устанавливает точку останова на текущей строке кода программы. Точка останова размещается в определенной строке кода, при этом останов происходит в тот момент, когда данная строка должна начать выполняться |
<Ctrl >+<F8> |
|
Breakpoint list |
Показывает текущий список контрольных точек в отдельном окне. Эта опция позволяет просмотреть все контрольные точки и при необходимости удалить, переместить любую контрольную точку или задать условия ее работы |
|
|
Call stack |
Открывает и активизирует окно используемых подпрограмм. В данное окно помещаются имена всех подпрограмм, которые были вызваны в данный момент времени. Таким образом можно наблюдать вложенность этих подпрограмм и последовательность вызова их друг другом |
<Ctrl >+<F3> |
|
Registers |
Показывает текущее содержание регистраторов центрального процессора |
|
Пункт меню Toolsвключает некоторые стандартные инструменты. При определении пользователем новых инструментов, они будут добавлены в это меню. Для включения программы в список запускаемых из среды следует воспользоваться командойTools менюOptions. Состав команд менюToolsприведен в табл. 7.
Таблица 7. Команды меню Tools
|
Команда меню |
Выполняемая функция |
Клавиши быстрого запуска |
|
Messages |
Показывает окно, в котором отображаются сообщения внешних утилит, включенных в состав IDE. Окно Messages открывается автоматически, после запуска утилиты |
<F11> |
|
Goto next |
Осуществляет переход к следующей строке окна сообщений |
<Alt >+<F8> |
|
Goto previous |
Осуществляет переход к предыдущей строке окна сообщений |
<Alt >+<F7> |
|
Grep |
Осуществляет поиск той или иной информации в файлах внешних утилит с размещением результата в окне сообщений |
<Shift>+<F2> |
|
Сalculator |
Отображает окно встроенного калькулятора |
|
|
ASCII table |
Открывает окно, содержащее ASCII-коды символов |
|
Пункт меню Optionsвключает команды, с помощью которых можно установить необходимые параметры интегрированной среды разработки. Состав команд менюOptionsприведен в табл. 8.
Таблица 8. Команды меню Options
|
Команда меню |
Выполняемая функция |
Клавиши быстрого запуска |
|
Mode |
Показывает диалоговое окно для установки режима компилятора |
|
|
Compiler
|
Задает параметры управления генерацией машинного кода программы |
|
|
Memory sizes |
Открывает окно диалога, с помощью которого задаются размеры используемой оперативной памяти |
|
|
Linker |
Открывает окно диалога, с помощью которого можно установить параметры, определяющие работу компоновщика |
|
|
Debugger |
Открывает окно диалога, с помощью которого можно установить параметры, определяющие работу отладчика |
|
|
Directories
|
Задает каталоги, из которых извлекаются или в которые помещаются файлы. Эти каталоги будут использоваться при компиляции программы или модуля |
|
|
Browser |
Представляет диалог для установки опций браузера |
|
|
Tools
|
Открывает окно диалога, с помощью которого можно включить в список вызываемых из среды программ новую программу (утилиту), отредактировать ее параметры, удалить программу из списка |
|
|
Environment |
Содержит подменю, с помощью которых задаются условия работы в среде |
|
|
Open |
Открывает файл конфигурации, в котором сохраняются установленные параметры интегрированной среды |
|
|
Save |
Сохраняет конфигурацию среды в файле, открытом командой Open меню Options |
|
|
Save as |
Отображает окно диалога, с помощью которого выбирается имя файла конфигурации, отличное от заданного командой Open меню Options. В этот файл записываются установленные параметры интегрированной среды |
|
Пункт меню Window включает команды управления окнами. Состав команд менюWindow приведен в табл. 9.
Таблица 9. Команды меню Window
|
Команда меню |
Выполняемая функция |
Клавиши быстрого запуска |
|
Tile |
Окна располагаются в поле экрана встык друг к другу без перекрытий |
|
|
Cascade |
Каскадное размещение окон |
|
|
Close all |
Очищает поле экрана, закрывая все окна |
|
|
Size/move |
Позволяет изменить размеры окна, переместить его по полю экрана. Для изменения размеров окна следует одновременно с клавишей <Shift> нажать одну из клавиш: «стрелка вверх», «стрелка вниз», «стрелка влево» или «стрелка вправо». Для перемещения окна по полю экрана следует воспользоваться клавишами управления курсором. Завершить работу следует нажатием клавиши <Enter>. Эти же операции можно выполнить с помощью манипулятора мышь |
<Ctrl >+<F5> |
|
Zoom |
Позволяет увеличить размеры окна до всего поля экрана. Если окно уже раскрыто, оно уменьшается до первоначальных размеров |
<F5> |
|
Next |
Активизируется следующее по номеру окно |
<F6> |
|
Previous |
Активизируется предыдущее по номеру окно |
<Shift>+<F6> |
|
Hide |
Скрывает активное окно |
<Ctrl >+<F6> |
|
Close |
Закрывает активное окно |
<Alt >+<F3> |
|
List |
Открывает окно диалога со списком открытых окон, которые можно активизировать либо закрыть |
<Alt >+<0> |
|
Refresh display |
Обновляет экран среды, если программа пользователя изменила его содержимое |
|
Пункт меню Helpпозволяет получить имеющуюся в системе справочную информацию. Состав команд менюHelpприведен в табл. 10.
Таблица 10. Команды меню Help
|
Команда меню |
Выполняемая функция |
Клавиши быстрого запуска |
|
Contents |
Показывает оглавление справки |
<F1> |
|
Index |
Выводится в алфавитном порядке список всех имеющихся в системе информационной помощи ключевых слов, по которым имеется справка |
<Shift>+<F1> |
|
Topic search |
Выводится информация о слове, на котором находится курсор. Если информации о таком слове нет, выводится список ключевых слов, в котором выделено слово, у которого совпадает с требуемым максимальное число начальных символов. |
<Ctrl >+<F1> |
|
Previous topic |
Выводятся сведения по теме, соответствующей предыдущему запросу |
<Alt >+<F1> |
|
Using help |
Выводятся сведения об использовании системы контекстной помощи |
|
|
Files |
Выводит окно диалога, с помощью которого можно задать файлы контекстной помощи
|
|
|
About |
Выводит окно с информацией о версии пакета и авторском праве |
|
Окно редактирования (см. рис. 1) представляет собой область экрана, в которой набирается исходный текст программы. Окна можно открывать, перемещать, изменять в размере, размещать без пеpекpытия или каскадом, накладывать дpуг на дpуга, закpывать.
Строка заголовкарасположена вверху окна и содержит название данного окна и его номер. Для того чтобы распахнуть окно на весь экранный кадр, достаточно выполнить двойной щелчок мышью по строке заголовка. Перемещение окна осуществляется буксировкой строки заголовка.
Маркер закрытия окна– это прямоугольник, который расположен в верхнем левом углу окна. Для закрытия окна следует щелкнуть по нему левой кнопкой мыши.
Полосы прокруткипредназначены для перемещения по тексту программы.
Маркер изменения размера окнарасположен в правом нижнем углу окна. Для того чтобы увеличить или уменьшить размер окна необходимо установить указатель мыши на маркере, нажать левую кнопку мыши и, не отпуская ее, переместить угол окна в нужном направлении.
Маркер распахивания окнарасполагается в верхнем правом углу. Если окно находится в неполноэкранном режиме, то пиктограмма маркера распахивания окна представляет собой стрелку вверх, позволяющую перевести окно в полноэкранный режим представления. Если окно находится в полноэкранном режиме, то пиктограмма маркера распахивания окна представляет собой двунаправленную стрелку, позволяющую перевести окно в неполноэкранный режим.
Строка состояниярасполагается у нижнего края окна ИСР. Строка состояния содержит перечень основных функциональных клавиш, сочетаний клавиш и соответствующих им команд, которые в настоящий момент могут быть применены к активному окну. Для быстрого выполнения команды достаточно выполнить щелчок левой кнопкой мыши по ее названию в строке состояния. При выполнении команды меню в строке состояния отображаются советы и рекомендации по выбранной команде меню или элементам диалогового окна.
Строка состояния меняется по мере переключения от одного окна к другому или при переходе к различным действиям.
