Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК ОАиП.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.14 Mб
Скачать

5. Компиляция

Компиляция программы осуществляется при помощи команды Compile (компилировать) меню Compile. Если в тексте программы компилятор не нашел синтаксических ошибок, то генерируется исполняемый файл программы.

Turbo Pascal 7.0 поддерживает два режима компиляции:

  • в память компьютера (Memory);

  • на диск (Disk).

Компиляция в память выполняется быстрее, чем компиляция на диск. Однако при этом выполняемая программа может быть запущена только из среды программирования. Компиляция в память используется обычно при отладке программы.

При компиляции на диск компилятор создает выполняемую программу и записывает ее на диск, в файл с расширением ЕХЕ. Таким образом, созданная компилятором программа может быть загружена в память компьютера и выполнена позже, но уже без использования среды программирования. Файлу выполняемой программы автоматически присваивается такое же имя, как и у файла исходного текста программы, но расширение PAS заменяется на ЕХЕ.

Файл выполняемой программы создается в каталоге, имя которого было задано при настройке среды программирования.

5.1. Ошибки времени компиляции

Во время компиляции текст программы проверяется на отсутствие синтаксических ошибок. После исправления ошибки можно повторить компиляцию. Таким образом, исправляя обнаруживаемые компилятором ошибки и повторно проводя компиляцию, можно устранить все синтаксические ошибки в тексте программы. Ниже в табл. 2 приведены сообщения о наиболее типичных ошибках.

Таблица 2.

Сообщение компилятора

Вероятная причина

3: Unknown identifier.

(неизвестный

идентификатор)

Используется переменная, не объявленная в разделе var программы; ошибка при написании имени объявлен­ной переменной. Например, в разделе var объявлена пере­менная Summa, а в тексте программы написано Suma: - ....

Ошибка при написании имени инструкции, например: вместо write написано wirte

8: String constant exceeds line, (строковая константа превышает допустимую длину)

При записи строковой константы не поставлена за­вершающая кавычка, например: в операторе write ('Цена с учетом скидки, Сеnа) после последнего символа сообще­ния не поставлен завершающий апостроф

26: Type mismatch, (несоответствие типов)

В инструкции присваивания тип выражения не соот­ветствует или не может быть приведен к типу переменной, получающей значение выражения

85: ";'' expected, (ожидается символ «точка с запятой»)

Не поставлен символ «точка с запятой» после инст­рукции

113: Error in statment. (ошибка в выражении)

Неверный синтаксис оператора, например: поставлен символ «точка с запятой» перед else условной инструкции if

10: Unexpected end of file, (he найден конец файла)

Нет символа «точка» после последнего слова end про­граммы; в конце программы нет слова end, за которым следует символ «точка»

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]