При включенной директиве {$I-} номер ошибки ввода-вывода возвращается функцией IOResult
Номер
ошибки
Сообщение
Значение
Disk read error
Ошибка чтения диска
Disk write error
Ошибка записи на диск
File not assigned
Файл не назначен. Файловой переменной не поставлено в соответствие имя файла
File not open
Файл не открыт
File not open for input
Файл не открыт для ввода
File not open for output
Файл не открыт для вывода
Invalid numeric format
Неверный числовой формат – вместо чисел вводятся данные других типов
Номер
ошибки
Сообщение
Значение
Disk is write protected
Диск защищен от записи
Unknown unit
Неизвестный модуль
Disk not ready
Дисковое устройство не готово к работе
Unknown command
Неопознанная команда
Device write fault
Ошибка при записи на устройство
Device read fault
Ошибка при чтении с устройства
Hardware failure
Сбой в оборудовании
Номер
ошибки
Сообщение
Значение
Division by zero
Деление на ноль
Range check error
Выход за пределы допустимых значений
Stack overflow error
Переполнение стека
Invalid pointer operation
Некорректная операция ссылки
Floating point overflow
Переполнение при выполнении операции с плавающей запятой
Floating point underflow
Исчезновение порядка при выполнении операции с плавающей запятой
Invalid floating point operation
Недопустимая операция с плавающей запятой
Object not initialized
Объект не инициализирован
Arithmetic overflow
Арифметическое переполнение
Программирование включает всю совокупность действий, выполняемых при создании рабочей программы: постановку задачи, ее алгоритмизацию, непосредственно программирование, отладку программы и ее сопровождение (оформление инструкции и отчетной документации). Для решения одной и той же задачи могут быть выбраны разные алгоритмы, а одному и тому же алгоритму может соответствовать несколько программ, дающих правильное решение. При выборе наилучшего алгоритма и варианта программы пользуются разными критериями: скоростью выполнения, эффективностью использования памяти и периферийного оборудования и др. Такой выбор обусловлен не только объективными причинами, но и субъективными свойствами разработчика программы (образом мышления, способностями и психологией человека), поэтому программа носит отпечаток индивидуальности разработчика.
Главным требованием к программе является ее правильная работа. Однако желание поскорее получить результат ведет к игнорированию тщательного проектирования программы и к невнимательному ее написанию. В итоге программы бывают плохо организованы, их описания – неудовлетворительны, а последующие модификация и доработка таких программ сопровождаются значительными затратами времени и финансовых средств. Поэтому к качественному программному изделию предъявляется еще ряд требований: документированность, эффективность и надежность, простота пользования и удобство эксплуатации, мобильность и совместимость.
Документированность программы означает, что программа должна содержать все установленные стандартом и надлежащим образом оформленные документы. Из документации должно быть ясно назначение программы, порядок использования и возможности программы с тем, чтобы вносить изменения и адаптировать ее к конкретным условиям применения.
Эффективность программы определяется временем ее выполнения и объемом используемых ресурсов ЭВМ – оперативной и внешней памяти, периферийных устройств. Под надежностью понимается отсутствие в программе ошибок, а поскольку они, в общем, неизбежны, то важно, чтобы их легко можно было исправить, и они не приводили к неуправляемым последствиям.
Простота пользования и удобство эксплуатации характеризуются входными и выходными параметрами задачи. Простота обеспечивается четким определением входных параметров, заданием выигрышных и единообразных форматов данных. Для удобства эксплуатации программы, а также ее дальнейшего улучшения и создания различных модификаций без больших переделок должны быть описаны все выходы из программы: выходные переменные, файлы и форматы.
Под мобильностью и совместимостью понимаются приспособленность программы к переносу с одной ЭВМ на другую и к смене операционной системы, пригодность программы к объединению с другими для решения сложных задач и построения программных систем.
Удовлетворение этим требованиям, конечно, усложняет работу над программой и задерживает ее завершение. Однако качественная программа дольше служит и привлекает внимание многих пользователей.
Написанию качественной программы способствует ряд практических рекомендаций к стилю программирования, снижающих влияние индивидуального характера программ. Хорошим стилем при написании программы считается: применять мнемонические имена, причем каждое имя использовать только с одной целью; задавать имена константам и объявлять об этом в начале программы; снабжать по мере необходимости исходный текст лаконичными и информативными комментариями. Следует также избегать хаотического построения программы – расположение фрагментов программы должно соответствовать порядку их выполнения. В этом случае в программе легко разобраться и при необходимости модернизировать ее с наименьшими затратами.
Еще одна рекомендация заключается в составлении простых и легко читаемых программ. Для этого, в частности, следует сложные арифметические выражения разбивать на части или употреблять со скобками, использовать стандартные модули, логические части разделять пустыми строками или предварять комментариями, стараться не употреблять оператор перехода, записывать с отступами операторы цикла и условные.
Другие правила по написанию хорошо организованных программ, которые работают эффективно, легко анализируются и требуют минимальных затрат на исправление и модернизацию (или, как говорят, обладают минимальной стоимостью сопровождения), описаны в методиках модульного, структурного и объектно-ориентированного программирования.