
- •Лабораторная работа №1 ввод и редактирование программ в интегрированной среде free паскаля
- •1. Этапы разработки программ
- •2. Файл и связанные с ним понятия
- •3. Краткие сведения об интегрированной среде
- •4. Ввод и редактирование текста программы
- •4.1. Ис Free Паскаля и окна.
- •4.2. Работа с исходными файлами в окне редактирования
- •4.2.1. Возможные режимы редактирования
- •4.2.2. Приемы работы с клавиатурой
- •4.3. Работа с блоками
- •4.4. Поиск и замена фрагментов текста
- •5. Работа с файлами
- •5.1. Создание нового исходного файла
- •5.2. Загрузка существующего файла
- •5.3. Сохранение файла
- •5.4. Перезапись файла
- •6. Интерактивная помощь.
- •7. Выполнение работы
- •1.1. Команда Compile
- •1.2. Команда избирательной компиляции Make
- •1.3. Команда общей компиляции Build
- •1.4. Команда назначения первого файла Primary file
- •2.2. Определение места ошибки в программе
- •2.3. Определение причины ошибки
- •3. Порядок выполнения работы
- •4. Контрольные вопросы
- •Лабораторная работа №3 выполнение программ в среде free-паскаль
- •Структура простейших линейных программ
- •Экраны и окна, поддерживаемые ис
- •Режимы выполнения программ в ис и курсор выполнения
- •Команды ис для выполнения программ
- •Дополнительные возможности по прерыванию выполнения программы
- •Использование точек останова
- •Использование клавиш Ctrl-Break
- •Правила ввода исходных данных
- •Порядок выполнения работы
- •Исходный текст программы lab3.Pas
- •Контрольные вопросы.
- •Лабораторная работа № 4 линейные алгоритмы
- •Возведение в степень , соответственно На Паскале: exp(a*ln(X)). Лабораторная работа № 5 работа с двоичными масками
- •I. Требования к выполнению заданий
- •II. Варианты заданий
- •Лабораторная работа № 6 работа со строками
- •I. Требования к выполнению заданий
- •II. Варианты заданий
- •Лабораторная работа № 7 исследование особенностей операций ввода-вывода в паскале
- •7. И сследование различий в работе операторов Read и Readln
- •8. Вывод вещественных значений
- •10. Записать операторы ввода-вывода:
- •Лабораторная работа № 8 оператор выбора. Разветвляющиеся вычислительные процессы
- •1. Теоретический материал
- •If выражение then оператор;
- •2 Порядок выполнения лабораторной работы
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Лабораторная работа №10 последовательности
- •Лабораторная работа № 11 обобщенная формула
- •I. Требования к выполнению заданий
- •II. Варианты заданий
- •Лабораторная работа №13 работа с одномерным массивом
- •Лабораторная работа №14 работа с двухмерными массивами Задания по теме «Двумерные массивы»
- •Лабораторная работа № 15 изучение механизма передачи данных в процудуры
- •I. Требования к выполнения заданий
- •II. Варианты заданий
- •Лабораторная работа № 16 работа с множествами
- •Варианты заданий
- •Лабораторная работа № 17 работа с записями
- •Лабораторная работа №1 работа с файломи
- •Лабораторная работа № 2 указатели и динамические переменные
- •Лабораторная работа № 3 списки
1.1. Команда Compile
Команда запускает компиляцию текущего файла, находящегося в данный момент в окне редактирования Edit. При успешном завершении компиляции, что возможно лишь в случае, когда компилятор не обнаружит синтаксических ошибок, в нижней строке этого окна выдается сообщение:
“Compile successful : Press any key”
(Перевод: “Компиляция успешна: Нажмите любую клавишу")
Если же в программе имеются синтаксические ошибки, то компилятор, обнаружив первую из них, прекращает свою работу. После этого Free Паскаль активизирует редактор, и его курсор устанавливается на то место в программе, где прервалась компиляция. Сообщение об ошибке на английском языке высвечивается в верхней строке окна редактора.
Так, в программе на рис.1 пропущено имя “y” после запятой. В верхней строке окна редактора выведено довольно точное описание ошибки, которое может быть переведено как “Ожидается имя”. Курсор указывает на то место, где действительно должно находиться имя, а на самом деле стоит двоеточие.
File Edit Search Run Compile
Error 2: Identifier expected
Program Message_Test1;
Var
x, : integer; {Координаты точки на плоскости}
Begin
...
Рис.1. Пример сообщения компилятора об ошибке в программе
Поскольку компилятор прекращает свою работу, как только обнаруживается ошибка, то после исправления указанной им ошибки может встретиться еще одна ошибка, расположенная ниже по тексту. Таким образом, для устранения всех синтаксических ошибок из текста программы может потребоваться несколько попыток ее компиляции. Поэтому удобнее подавать команду Compile не из меню, а с помощью горячих клавиш Alt-F9.
1.2. Команда избирательной компиляции Make
Если программа состоит из модулей и исходные тексты модулей доступны ИС, то следует перекомпилировать только те модули, в которые были внесены изменения, а прочие подключить уже в откомпилированном виде. Именно такой режим компиляции задает команда Make. При ее подаче ИС проверяет все файлы модулей, составляющие программу, и если эти файлы изменены после последней компиляции, то они будут перекомпилированы.
Эта команда используется при работе с трудоемкими сложными программами, на полную компиляцию которых затрачивается много времени.
1.3. Команда общей компиляции Build
Команда Build производит компиляцию всех доступных системе текстов, составляющих программу, независимо от того, были ли они скорректированы после компиляции или нет.
1.4. Команда назначения первого файла Primary file
Этот пункт значительно упрощает работу с множеством файлов. Используя его, можно указывать системе на главный файл в много файловой программе. При этом любая команда компиляции будет обрабатывать именно этот файл, а не тот, что загружен в текущий момент в редактор. Файл, который ранее находился в редакторе, после компиляции восстановится в нем.
Выбор файла для этого пункта осуществляется аналогично выбору файлов в пункте File/Load. Прежде чем закончить работу с одним программным проектом и приступить к другому, нужно удалить старое имя из пункта. Для этого выбирается описываемый пункт и нажимается клавиша пробела или комбинация клавиш Ctrl-Y. Имя Primary File стирается из окна выбора файла.
1.5. Команда Clear primary file
Выбор этого пункта отменяет сделанный ранее выбор Primary file. После этого команды Compile и Build будут использовать файл из активного окна редактирования.
1.6. Команда получения общего состояния Information
Выбрав этот пункт, можно открыть на экране новое окно, содержащее различную информацию о текущем состоянии программы: количество строк программы, размер кода, размер данных, размер стека и т.д.
2. Исправление синтаксических ошибок в программе по сообщениям компилятора
Чтобы исправить ошибку, указанную компилятором, необходимо определить действительное место ошибки в тексте программы, а затем причину, вызвавшую ошибку. Перечисленные действия зависят от вида ошибки.
2.1. Классификация сообщений компилятора
Ошибки, выявляемые компилятором, можно разделить на следующие группы:
Нарушение структуры конструкций языка, например пропуск обязательного зарезервированного слова внутри конструкции и т.п. Сообщения о таких ошибках, как правило, начинаются со слов типа “ожидается” или “неожиданный”.
Использование вне комментариев символов, не принадлежащих алфавиту языка, например русских букв, на что выдается одно из сообщений об ошибке: “недопустимый символ” или “синтаксическая ошибка”, а в комментариях к сообщению указывается на недопустимость данного символа.
Превышение ресурсных возможностей компилятора системы Free Паскаль. В сообщениях о таких ошибках обязательно присутствует одно из слов: “слишком”, “превышен” и т.п.
Нарушение ограничений языка Free Паскаль. Сообщения о таких ошибках часто напоминают сообщения об ошибках предыдущей группы, но в них упоминаются параметры не всей программы (например, количество переменных), а только конкретной конструкции (например, имени, строки и т.п.).
Нарушение ограничений и требований файловой системы ДОС. Сообщения, относящиеся к этой группе, даются в терминах ДОС.
В лабораторной работе рассматриваются только ошибки первой группы. Их выявление требует лишь элементарных представлений о работе компилятора и умений использовать описание грамматики языка Free Паскаль. В то же время знание самого языка Free Паскаль не является обязательным, поскольку действия по распознаванию ошибок первой группы носят чисто формальный характер.
Рассмотрение ошибок, относящихся к остальным группам, будет проводиться в последующих лабораторных работах по мере изучения новых разделов языка Free Паскаль.