- •Курс лекций
- •Лекция 1. Технология программирования - основа разработки качественных программных средств
- •1.1. Программа как формализованное описание процесса обработки данных. Понятие «программное средство».
- •Определение требований к программному средству.
- •1.3. Спецификация качества программного средства.
- •Технология программирования как технология разработки качественных программных средств.
- •. Этапы развития технологии программирования.
- •2.1. Специфика разработки программных средств.
- •Виды программных продуктов и специализация программистов
- •Лекция 2. Общие принципы разработки программных средств
- •2.2. Основные этапы решения задач на эвм и их характеристика.
- •Основные этапы решения задач на эвм и их характеристика
- •Постановка задачи.
- •Формализация задачи.
- •Построения алгоритма
- •Составление программы на языке программирования.
- •Отладка и тестирование программы
- •Разработка документации.
- •Сопровождение опытной эксплуатации.
- •2.3. .Источники ошибок в программных средствах
- •2.3.1. Интеллектуальные возможности человека
- •2.3.2. Неправильный перевод как причина ошибок в программных средствах.
- •Модель перевода.
- •Основные пути борьбы с ошибками.
- •Лекция 3. Разработка структуры программы и модульное программирование.
- •3.1. Основные классы архитектур программных средств.
- •Структура программы. Методы разработки структуры программы. Блок - схема программы
- •Модульное программирование. Основные характеристики модуля.
- •Основные характеристики программного модуля.
- •Спецификация программного модуля содержит,
- •Порядок разработки программного модуля.
- •Контроль структуры программы.
- •Лекция 5. Представление основных структур программы в языках высокого уровня
- •Основные языки программирования и их характеристика.
- •Структура данных в языках программирования высокого уровня
- •Типы данных
- •6. Лекция 6. Стандартные типы данных в языках программирования Visual Basic.
- •Простые целые и вещественные типы переменных. И операции с ними
- •Логические типы данных и операции с ними.
- •7. Лекция 7. Представление строковых типов данных, типы данных Date и Variant.
- •Строковые типы данных и функции работы сними.
- •7.1.1. Операции со строковым типом данных.
- •Переменные типа Data и стандартные функции работы с ними.
- •Лекция 8. Структуры ветвления (операторы условного перехода) и повторения ( циклы) и особенности их использования в программах.
- •Операторы ветвления
- •8.2. Структуры повторения (Циклы).
- •Лекция 9. Структурированные типы данных. Массивы и пользовательские типы данных, их использование в программах
- •Типы данных, определяемые пользователем.
- •9.1. Массивы. Статические массивы.
- •9.2. Динамические массивы
- •9.3. Функции, предназначенные для работы с массивами.
- •9.4. Типы данных, определяемые пользователем.
- •Лекция 10. Основные строительные блоки программы, процедуры и функции.
- •Процедуры, назначение, написание, размещение.
- •10.2. Процедуры обработки событий.
- •Процедуры общего назначения.
- •Вызов процедуры.
- •Выход из процедуры до ее завершения.
- •Лекция 11. Функции . Области видимости переменных, функций и процедур
- •Функции. Стандартные функции
- •Функции, создаваемые пользователем
- •Модульная конструкция программы. Модули, формы. Стандартные модули, модули класса.
- •Области видимости переменных, процедур и функций
- •Лекция 12. Хранение информации в файлах.
- •12.1. Файлы с последовательным доступом.
- •12.1. Открытие файла с последовательным доступом.
- •12.3. Чтение данных из файла с последовательным доступом.
- •12.3. Запись информации в файл с последовательным доступом.
- •12.4. Работа с файлами произвольного доступа.
- •12.5. Ввод и вывод информации записями
- •Лекция 13. Операции с файлами.
- •13.1. Операции работы с файлами
- •13.2. Установка атрибутов файлов
- •Стандартные объекты для работы с файлами.
- •13.4. Вывод информации на печать
- •Лекция 14. Методы структурного программирования. Методы доказательства и отладки программ. Вопросы:
- •Методы структурного программирования
- •14.2. Пошаговая детализация и понятие о псевдокоде.
- •Пример пошагового составления программы
- •Доказательство свойств программы.
- •14.3.1. Обоснования программ. Формализация свойств программ.
- •Свойства простых операторов.
- •Свойства основных конструкций структурного программирования.
- •14.4.4. Завершимость выполнения программы.
- •Пример доказательства свойства программы.
- •Лекция 15 Отладка программы
- •15.1. Типы ошибок в программе
- •15.2. Программные средства для обнаружения ошибок.
- •Ошибки в структуре программы.
- •Перехват и устранение ошибок
- •15.5. Инструменты отладки
- •6. Отображение значений переменных и функций.
- •Лекция 16. Обьекто - ориентированное программирование.
- •16.1. Основные понятия объекто – ориентированного программирования.
- •16.2. Стандартные объекты управления, свойства, методы, события
- •16.3. . Пользовательские элементы управления
- •Лекция 17. Применение технологии ole в программировании и завершение проекта.
- •17.1.. Применение технологии ole в программировании на языках высокого уровня
- •Объект управления ole Container
- •Технология ole Automation.
- •17.4. Состав проекта
- •Создание дистрибутива программного средства
- •Документирование программных средств
- •Аттестация программного средства.
Ошибки в структуре программы.
Ошибки в структуре программы – это синтаксические ошибки в многострочных операторах циклов и ветвления. Такие ошибки образуют отдельную группу ошибок, которые не распознаются при вводе кода. Однако при компиляции программы такие ошибки распознаются при компиляции. Начиная с версии VB.4.0 набранная программа не компилируется полностью, если ее запускают из среды разработки нажатием клавиши F5 или щелчком мыши на кнопке Run панели инструментов. В этом случае ошибки в структуре программы на этапе выполнения выявляются только при обращении к процедуре, содержащей ошибочную структуру. Если же запуск программы осуществляется с помощью команды Start With Full Compile меню Run или нажатием клавиш [Ctrl + F5], то все ошибки в структуре программы обнаруживаются сразу при компиляции проекта. При компиляции VB также определяет имена объектов, не связанных с элементами управления, и выявляет переменные, которые не были явно объявлены. Проверка на отсутствие синтаксических ошибок и ошибок в структуре программы осуществляется так же и при создании выполняемого файла (команда Make *EXE меню File.
Ошибки, возникающие при выполнении программы.
При разработке программы программист должен предусматривать возможность появления ошибок во время выполнения программы, таких как появление сбойных файлов, переполнение памяти или ввода пользователем некорректных данных. При обнаружении такой ошибки VB выводит соответствующее сообщение и приостанавливает выполнение программы. Если программа была запущена из среды разработки, то существует возможность переключиться в режим отладки с помощью кнопки Gebug либо в режим проектирования с помощью кнопки End.
Если же такая ошибка возникает после запуска выполняемого EXE – файла, то приложение немедленно закрывается. Хотя сообщение об ошибке и появляется, перейти в режим отладки невозможно.
Перехват ошибки периода выполнения следует предусмотреть на этапе разработки приложения. Для этого необходимо создавать специальные процедуры – обработчики ошибок (error hendlers ).
Все ошибки периода выполнения можно разделить на две группы:
ожидаемые – обработка которых предусмотрена разработчиком;
неожиданные – появление которых не всегда могут предусмотреть даже опытные программисты.
Ожидаемые ошибки времени выполнения.
Обработка ожидаемых ошибок производится в три этапа:
подготовка перехвата;
проверка и устранение ошибок;
продолжение выполнения программы.
Схема обработки ошибок периода выполнения представлена на рис. 1.
Активизация механизма обработки ошибок
ошибка
Возврат
Обработка ошибки
Перехват и устранение ошибок
Подготовка перехвата
Первым шагом является расстановка «ловушек». В VB для этого предназначен оператор On Erro.
On Error (GoTo Label | Resume Next | GoTo ( ) ]
Выполнение оператора On Error активизирует режим обработки ошибок . это обозначает, что при возникновении ошибки периода выполнения после ввода в программу этой строки выполняется предусмотренная в программе процедура обработки ошибок. Выполнение программыне прерывается и сообщение об ошибке не выводится.
Метка (Label ), указанная в операторе, должна находиться в той же процедуре, что и оператор On Error. Если в качестве метки указан ноль, то предусмотренная разработчиком процедура обработки ошибок отключается и включается стандартный механизм обработки ошибок.
Проверка и устранение ошибки
Оператор On Error непосредственно не выполняет никакой обработки ошибок. а лишь передает управление ответственному за обработку ошибок фрагменту программы. Для обеспечения перехвата всех ошибок в прцедуре оператор On Error. по возможности, должен находиться в самом начале.
Обработка ошибки должна выполняться сразу после ее обнаружения. Сначала следует установить тип ошибки , Для этого в VB существует объект Err. свойство которого Number содержит код последней возникшей ошибки.
Пример: ErrNum1 As Integer
ErrNum = Err
Переменной ErrNum присваивается код ошибки.
Список кодов ошибок, которые можно перехватывать и обрабатывать, можно найти в документации по языку.
После определения типа ошибки по ее коду (свойство Number объекта Err) следует попытаться устранить ошибку или обработать ее так, чтобы она не мешала выполнению программы.
Продолжение выполнения программы
Завершив обработку ошибки, следует продолжить нормальное выполнениепрограммы. Ключевое слово ReSume позволяет вернуться в строку , вызвавшую ошибку, для ее повторного выполнения, а оператор Resume Next возвращает в следующую за строкой с ошибкой строку.
Resume [( Next | Label)]
Оператор Resume Next можно использовать вместе с оператором On Error, и тогда каждая строка вызвавшая ошибку игнорируется.
Обработка ошибок выполнения.
Итак, вначале процедуры помещается оператор On Error для перехвата возникающих ошибок. В нем указывается метка. к которой происходит переход при возникновении ошибок. обычно эта метка находится в конце процедуры и перед ней помещаетсяч оператор Exit. Благодаря этому оператору , при безошибочном выполнении процедура завершает работу, и фрагмент прцедуры после метки выполняется только после возникновения ошибки.
При возникновении ошибки она анализируется и пользователем выполняются соответствующие действия. например, при делении на нуль это может быть прекращение текущих вычислений, при ошибках обращения к диску может отображаться диалоговое окно для принятия пользователем решения о прекращении операции или ее повторном выполнении.
После корректной обработки ошибки программа должна продолжить свое выполнение. Чтобы программа продолжала выполняться в строке, в которой возникла а затем была устранена ошибка, в обработчике указывается оператор Resume.
Оператор On Error должен заканчиваться Resume либо другим оператором. завершения обработки ошибок. иначе при компиляции возникнет ошибка в структуре прграммы. для этого могут использоваться операторы:
Resume / Resnme Next / Resume Label;
Exit Sub / Exit Function / Exit Procedure;
End / Stop
