
- •Кафедра математики и информатики
- •Практикум
- •Введение
- •1. Арифметические основы построения эвм
- •2. Интегрированная среда Turbo Pascal 7.1
- •2.1. Основные элементы ide Turbo Pascal 7.1
- •2.2. Ввод программы в среде Turbo Pascal
- •2.3.Сохранение программы в файле
- •2.4. Работа с существующей программой
- •2.5. Компиляция программы в среде Turbo Pascal
- •(Успешная компиляция: Нажмите любую клавишу...)
- •2.6. Выполнение программы в среде Turbo Pascal
- •2.7. Выход из среды Turbo Pascal
- •3. Элементы языка Turbo Pascal
- •3.1. Алфавит
- •3.2. Идентификаторы
- •3.3. Разделители
- •3.4. Основные типы данных и операции с ними
- •3.5. Константы и переменные
- •3.6. Выражения
- •3.7. Стандартные математические функции языка Турбо - Паскаль
- •3.8. Структура программы на языке Pascal
- •X,y,z: Real; {переменные типа Real}
- •I,j,k: Integer; {переменные типа Integer}
- •3.9. Контрольные вопросы
- •4. Лабораторная работа №1: Программирование линейных вычислительных процессов
- •4.1. Оператор присваивания
- •4.2. Ввод исходных данных. Операторы Read и ReadLn
- •4.3. Вывод данных. Операторы Write и WriteLn
- •4.4. Примеры составления программы
- •4.5. Контрольные вопросы
- •Раздел Var;
- •4.6. Варианты заданий
- •5. Лабораторная работа №2: Программирование разветвляющихся процессов
- •5.1. Методические указания
- •5.2. Условный оператор If и составной оператор Begin … End
- •5.3. Логические операции
- •5.4. Оператор безусловного перехода Goto
- •5.5. Примеры составления программы
- •5.6. Контрольные вопросы
- •5.7. Варианты заданий
- •6. Лабораторная работа №3: Циклический процесс
- •6.1. Общие сведения
- •6.2. Цикл с параметром
- •6.3. Цикл с предусловием
- •6.4. Цикл с постусловием
- •6.5. Итерационные циклы
- •6.6. Контрольные вопросы
- •6.7. Варианты заданий
- •6.7.2. Циклы со счетчиками Составить программы используя разные циклы (с предусловием, с постусловием, с параметром)
- •6.7.2. Итерационные циклы
- •7. Лабораторная работа №4: Вложенные циклы
- •7.1. Общие сведения
- •7.2. Примеры выполнения задания
- •7.3. Контрольные вопросы
- •7.4. Варианты заданий
- •8. Лабораторная работа №5: Массивы
- •8.1. Одномерные и многомерные массивы
- •В квадратных скобках - индексы массива
- •8.2.Символьные массивы
- •8.3. Инициализация элементов массива
- •8.4. Примеры выполнения задания
- •8.5. Контрольные вопросы
- •8.6. Варианты заданий
- •9. Лабораторная работа №6: Сортировки
- •Приложение 1
- •Приложение 2 Структурограммы
- •Структурное программирование
- •Приложение 3
- •(Основная и дополнительная)
- •Приложение 4 Сообщения об ошибках компиляции
- •(Ошибка 15 : Файл не найден)
- •113. Error in statement (ошибка в операторе)
- •Приложение 5
- •21 Столетие Библиографический список
- •Содержание
113. Error in statement (ошибка в операторе)
С этого символа не может начинаться оператор.
116. Must be in 8087 mode to compile this (для компиляции этой конструкции должен быть режим 8087)
Эта конструкция может компилироваться только в состоянии {$N+}. Операция над 8087 типами Single, Double, Extended и Comp недопустимы в состоянии {$N-}.
121. Invalid Qualifier (неправильный квалификатор)
Попытка индексировать переменную, которая отсутствует в массиве.
Попытка задать поля в переменной, которая не является записью.
Попытка получить значение, на которое указывает переменная, не являющаяся указателем.
122. Invalid variable reference (неправильная ссылка на переменную)
Предыдущая конструкция следует синтаксису ссылки на переменную, но не обозначает размещение памяти. Наиболее вероятно, Вы вызвали функцию указателя, но забыли получить значение, на которое указывает результат.
123. Too many symbols (слишком много символов)
Программа или модуль объявляет более 64К символов. Если программа или модуль компилируется с опцией {$D+}, то попробуйте ее выключить - заметим, однако, что это будет препятствовать нахождению ошибок выполнения в этом модуле. В противном случае, можно попробовать переместить несколько объявлений в отдельный модуль.
129. ENDIF directive missing (отсутствует директива EndIf)
Исходный файл заканчивается внутри конструкции условной компиляции. В исходном файле должно быть одинаковое количество директив {$IFxxx} и {$ENDIF}.
133. Cannot evaluate this expression (нельзя вычислить это выражение)
Попытка использовать неподдерживаемое Turbo Pascal свойство в константном выражении или в отладочном выражении. Например, Вы пытаетесь использовать функцию Sin в объявлении константы, или Вы пытаетесь вызвать функцию, определенную пользователем, в отладочном выражении.
134. Expression incorrectly terminated (выражение завершается неправильно)
Turbo Pascal ожидает или оператор, или конец выражения в этой точке, но ничего не находит.
135. Invalid format specifier (неправильный спецификатор формата )
Используется неправильный спецификатор формата или числовой аргумент спецификатора формата выходит за допустимый диапазон.
140.Invalid floating-point operation (Неправильная операция с плавающей точкой)
Операция над двумя значениями вещественного типа привела к переполнению или является делением на ноль.
147 Object type expected (Ожидается объектный тип.)
Идентификатор не является объектным типом.
150 Method identifier expected. (Идентификатор метода ожидается.)
Идентификатор не является методом.
Некоторые ошибки во время выполнения программы приводят к тому, что программа выводит на дисплей сообщение об ошибке и завершается:
Run-time error nnn at xxxх:yyyy
(ошибка выполнения nnn по адресу xxxх:yyyy, где nnn-номер ошибки выполнения, а xxxx:yyyy - адрес ошибки выполнения (сегмент и смещение))
Ошибки выполнения разделены на четыре категории:
ошибки операционной системы DOS:1-99
ошибки ввода/вывода:100-149
критические ошибки :150-199
фатальные ошибки:200-255.
106. Invalid numeric format (неправильный числовой формат)
Сообщается процедурами Read и ReadLn, если числовое значение, прочитанное из текстового файла не соответствует правильному числовому формату.
200. Division by zero (деление на ноль)
201. Ошибка выхода за допустимый диапазон. Эта ошибка сообщается операторами, откомпилированными в состоянии {$R+}, когда возникает одна из следующих ситуаций:
Индексное выражение квалификатора массива выходит за допустимый диапазон.
Была сделана попытка присвоить переменной значение, выходящее за допустимый диапазон.
Была сделана попытка передать процедуре или функции в качестве параметра значение, выходящее за допустимый диапазон.
202. Stack overflow error (ошибка переполнения стека)
Эта ошибка сообщается при входе в процедуру или функцию, откомпилированную в состоянии {$S+}, когда в стеке нет достаточно места для размещения локальных переменных подпрограмм. Увеличьте размер стека с помощью директивы компилятора $M. Эта ошибка может возникать так же из-за бесконечной рекурсии.
205. Floating point overflow (переполнение с плавающей точкой)
Операция с плавающей точкой обрабатывает слишком большое для Turbo Pascal или сопроцессора число.
206. Floating point underflow (потеря значности при операции с плавающей точкой)
Операция с плавающей точкой приводит к потере значности. Эта ошибка сообщается, если только используется числовой сопроцессор 8087 с контрольным словом, которое не маскирует потерю значности. По умолчанию, потеря значности вызывает возвращение нулевого результата.
207. Invalid floating point operation (неправильная операция с плавающей точкой)
Вещественное значение, передаваемое Trunc или Round, не может быть преобразовано в целое внутри диапазона для типа LongInt (-2147483648 до 214783647)
Аргумент, передаваемый функции Sqrt, является отрицательным числом.
Аргумент, передаваемый функции Ln, равен нулю или отрицательный.
Произошло переполнение стека сопроцессора 8087.