Файл: Лабораторная работа 18 Организация обработки ошибок в процессе работы программы.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.11.2023
Просмотров: 71
Скачиваний: 2
, если возникает ошибка, которая не может быть обработана указанной процедурой.
Необходимо иметь в виду, что так называемая процедура обработки ошибки не является подпрограммой, функцией DBF FN, процедурой SUB или процедурой-функцией FUNCTION в обычном смысле. Это блок операторов, помеченный начальным номером строки или меткой.
В блоке обработки ошибок не допускается повторная обработка ошибок; ошибки, возникшие при работе блока, прекращают работу программы с выдачей сообщения об ошибке.
Функция определения кода ошибки - ERR
Hазначение: Возвращает код ошибки.
Синтаксис: ERR
В случае возникновения ошибки функция ERR возвращает код ошибки. Поскольку функция ERR возвращает правильное значение только после возникновения ошибки, то эту функцию следует использовать в подпрограммах обработки ошибок для анализа ошибочных ситуаций.
Функция определения номера строки, связанной с ошибкой, - ERL
Назначение: Возвращает номер строки, в которой возникла ошибочная ситуация.
Синтаксис: ERL
В случае возникновения ошибки функция ERL возвращает номер строки, в которой возникла ошибка. Поскольку функция ERL возвращает правильное значение только после возникновения ошибки, то эту функцию следует использовать в подпрограммах обработки ошибок для анализа ошибочных ситуаций.
Функция ERL возвращает только номер строки, но не ее метку, которая расположена перед строкой, вызвавшей ошибку. Если программа не пронумерована, то функция ERL всегда возвращает 0.
2. Описание практической части работы:
2.1. Цели лабораторной работы: Изучить возможности корректировки ошибок, возникающих в процессе выполнения программы.
2.2. Постановка задачи: Разработать программу, содержащую блок обработки ошибок неправильных действий пользователя, обеспечивающий обработку информации в соответствии с заданием.
2.3. Порядок выполнения работы:
2.3.1. Ознакомиться с теоретической частью.
2.3.2. Получить задание у преподавателя.
2.3.3. Выполнить работу:
2.3.3.1. Разработать алгоритм вывода k значений функции y=f(x) на интервале [a,b] и алгоритм процедуры обработки ошибок.
2.3.3.2. Разработать программу, в которой установить начало обработки ошибок оператором ON ERROR GOTO <метка>, где <метка>указывает на начало блока обработки ошибок.
2.3.3.3. Сгенерировать ошибку и определить код ошибки с помощью оператора PRINT в блоке обработки ошибок.
2.3.3.4. Произвести обработку ошибок оператором SELECT CASE ERR.
2.3.3.5. Блок обработки ошибок закончить оператором RESUME.
2.3.1. Оформить отчет:
2.3.4.1. Содержание отчета:
1. Цель работы - краткая формулировка поставленной цели.
2. Порядок выполнения - определяются действия, необходимые для выполнения данной работы.
3. Постановка задачи - формулирование задачи в соответствии с индивидуальным заданием.
4. Решение поставленной задачи:
4.1. Математическое описание решения поставленной задачи содержит описание связей между параметрами с использованием принятых в математике обозначений.
4.2. Описание логической структуры программы (алгоритм решения) содержит:
- краткое описание схемы программы;
- алгоритм решения (по ГОСТ) – рисунок;
-
краткое описание используемых операторов языка программирования (при необходимости).
| n | задание | n | задание |
| 1 | Обеспечить расчет значений выбранной функции при возникновении некорректной операции (извлечение логарифма из отрицательного числа) в конкретной точке путем исключения данных точек из расчета. | 16 | Обеспечить вывод исходных данных и результатов расчета на печатающее устройство (в случае отсутствия принтера произвести обработку ошибок). |
| 2 | Обеспечить вывод исходных данных и результатов расчета в файл на диск А (в случае отсутствия дискеты в дисководе или ее переполнения произвести обработку ошибок). | 17 | Обеспечить расчет значений выбранной функции при возникновении некорректной операции (деление на ноль) в конкретной точке путем исключения данных точек из расчета. |
| 3 | Обеспечить расчет значений монотонно возрастающей функции до момента переполнения значений функции | 18 | Обеспечить ввод данных из файла в случае неверно указанного пути к нему. |
| 4 | Обеспечить ввод данных из файла в случае повторного открытия файла с тем же номером. | 19 | Обеспечить ввод данных из файла в случае неверно указанного имени (присутствие пробелов или при длине более 8 символов). |
| 5 | Обеспечить расчет значений выбранной функции при возникновении некорректной операции (извлечение корня из отрицательного числа) в конкретной точке путем исключения данных точек из расчета. | 20 | Обеспечить расчет значений выбранной функции при возникновении некорректной операции (возведение отрицательного числа в дробную степень) в конкретной точке путем исключения данных точек из расчета. |
| 6 | Обеспечить расчет значений выбранной функции при возникновении некорректной операции (переполнении массива) в конкретной точке путем исключения данных точек из расчета. | 21 | Обеспечить расчет значений выбранной функции при возникновении некорректной операции (деление на ноль) в конкретной точке путем исключения данных точек из расчета. |
| 7 | Обеспечить расчет значений монотонно возрастающей функции до момента переполнения значений функции | 22 | Обеспечить ввод данных из файла в случае неверно указанного пути к нему. |
| 8 | Обеспечить ввод данных из файла в случае неверно указанного пути к нему. | 23 | Обеспечить ввод данных из файла в случае повторного открытия файла с тем же номером |
| 9 | Обеспечить вывод исходных данных и результатов расчета на печатающее устройство (в случае отсутствия принтера произвести обработку ошибок). | 24 | Обеспечить расчет значений выбранной функции при возникновении некорректной операции (переполнении массива) в конкретной точке путем исключения данных точек из расчета. |
| 10 | Обеспечить вывод данных в файла в случае неверно указанного пути к нему. | 25 | Обеспечить ввод данных из файла в случае повторного открытия файла с тем же номером. |
| 11 | Обеспечить ввод данных из файла в случае неверно указанного имени (присутствие пробелов или при длине более 8 символов). | 26 | Обеспечить расчет значений выбранной функции при возникновении некорректной операции (переполнении массива) в конкретной точке путем исключения данных точек из расчета. |
| 12 | Обеспечить вывод исходных данных и результатов расчета на печатающее устройство (в случае отсутствия принтера произвести обработку ошибок). | 27 | Обеспечить расчет значений выбранной функции при возникновении некорректной операции (извлечение корня из отрицательного числа) в конкретной точке путем исключения данных точек из расчета. |
| 13 | Обеспечить расчет значений монотонно возрастающей функции до момента переполнения значений функции | 28 | Обеспечить ввод данных из файла в случае неверно указанного имени (присутствие пробелов или при длине более 8 символов). |
| 14 | Обеспечить расчет значений выбранной функции при возникновении некорректной операции (деление на ноль) в конкретной точке путем исключения данных точек из расчета. | 29 | Обеспечить вывод исходных данных и результатов расчета в файл на диск А (в случае отсутствия дискеты в дисководе или ее переполнения произвести обработку ошибок). |
| 15 | Обеспечить расчет значений выбранной функции при возникновении некорректной операции (возведение отрицательного числа в дробную степень) в конкретной точке путем исключения данных точек из расчета. | 30 | Обеспечить расчет значений выбранной функции при возникновении некорректной операции (извлечение логарифма из отрицательного числа) в конкретной точке путем исключения данных точек из расчета. |