- •Общая характеристика процессов сбора, хранения передачи и обработки информации Общие понятия информационного процесса
- •Измерение информации
- •Технические и программные средства реализации информационных процессов Архитектура персонального компьютера
- •Устройства ввода
- •Устройства вывода
- •Матричный принтер
- •Термические принтер
- •Струйный принтер
- •Лазерный принтер
- •Устройства хранения информации
- •Устройство обработки информации
- •Программное обеспечение компьютера
- •Основные функции ос
- •Системы программирования
- •Прикладное программное обеспечение
- •Интерфейс пользователя
- •Рабочий стол
- •Панель задач
- •Главного меню
- •Структура окна Windows
- •Работа с окнами программ
- •Реорганизация окон, переключение между окнами
- •Файловая система Windows
- •Работа с файлами и папками в Windows
- •Создание ярлыка
- •Способы записи алгоритмов
- •Базовые алгоритмические конструкции
- •Массивы
- •Технология структурного программирования
- •Нисходящая разработка алгоритма
- •Использование базовых структур
- •Приемы структурирования
- •Использование булевого признака
- •Сквозной структурный контроль
- •Тестирование и отладка программ
- •Методы тестирования
- •Функциональное тестирование
- •Классы эквивалентности как метод снижения количества тестов
- •Выбор значений для тестов
- •Формулировка условий
- •Функциональные тесты
- •Структурное тестирование
- •Язык программирования Delphi Интегрированная среда Delphi 7.0
- •Окно инспектора объектов
- •Окно формы
- •Окно редактора кода
- •Управление проектом
- •Сохранение проекта
- •Открытие существующего проекта
- •Добавление дополнительных форм к проекту
- •Создание приложений в Delphi
- •Разработка пользовательского интерфейса приложения
- •Размещение компонентов на форме
- •Установка свойств во время разработки
- •Создание процедур обработки событий
- •Удаление процедур обработки событий
- •Структура проекта Delphi
- •Модули Delphi
- •Синтаксическая структура модуля
- •Идентификаторы
- •Типы данных в Delphi
- •Структурированные типы
- •Описание типа «массив»
- •Основные операторы языка Delphi
- •Оператор присваивания
- •Составной оператор
- •Условный оператор
- •Оператор выбора
- •Операторы цикла
- •Оператор цикла с предусловием
- •Оператор цикла с постусловием
- •Оператор цикла с параметром
- •Подпрограммы в Delphi
- •Описание процедуры
- •Вызов процедуры
- •Описание функции
- •Вызов функции
- •Графика в Delphi Графические компоненты
- •Свойство объектов Canvas
- •Свойства Canvas
- •Методы Canvas
- •Объект tPaintBox
Использование базовых структур
Использование трех базовых структур (следование, ветвление, цикл) позволяет исключить использование оператора GOTO.
Алгоритм, в котором использованы только три базовые структуры, называют структурированным.
Для структурирования неструктурированных алгоритмов используются три основных приема структурирования.
Приемы структурирования
Основными приемами структурирования являются:
дублирование участков алгоритма,
использование булевого признака,
использование переменной состояния.
Использование булевого признака
Задача: В одномерном массиве определить индекс первого по порядку отрицательного элемента.
Исходные данные :
А - массив,
К- количество элементов в массиве.
Выходные данные:
N- индекс первого по порядку отрицательного элемента.
Схема алгоритма первого уровня детализации приведена на рис 9.,где:
VV- ввод одномерного массива,
OPR - определение индекса первого по порядку отрицательного элемента.
Схема алгоритма ввода одномерного массива приведена на рис.10.
Схема неструктурированного алгоритма определения индекса первого по порядку отрицательного элемента приведена на рис .11.
Здесь из цикла имеется два выхода:
естественный (i>k),
при обнаружении первого отрицательного элемента.
В базовой структуре «Цикл» выход должен быть один.
Схема структурированного алгоритма определения индекса первого по порядку отрицательного элемента приведена на рис 12. Здесь в цикле имеется один выход и булева переменная f позволяет определить после выхода из цикла имеется в массиве отрицательные элементы или нет.
Р ис.9. Схема алгоритма первого уровня детализации.
Рис. 10. Схема алгоритма ввода одномерного массива.
Схема неструктурированного алгоритма определения индекса первого по порядку отрицательного элемента приведена на рис .11.
Здесь из цикла имеется два выхода:
естественный (i > k),
при обнаружении первого отрицательного элемента.
В базовой структуре «Цикл» выход должен быть один.
Рис. 11. Схема неструктурированного алгоритма подзадачи OPR.
Р ис.12. Схема структурированного алгоритма подзадачи OPR.
Схема структурированного алгоритма определения индекса первого по порядку отрицательного элемента приведена на рис 12.
Здесь в цикле имеется один выход и булева переменная f позволяет определить после выхода из цикла имеется в массиве отрицательные элементы или нет.
Сквозной структурный контроль
Сквозной структурный контроль необходим для обнаружения и исправления ошибок как можно раньше.
Сквозной структурный контроль - это проверка сопряжения между подзадачами (модулями) по данным.
Тестирование и отладка программ
Тестирование и отладка программ - очень трудоемкие стадии разработки программного изделия.
Тестирование - это обнаружение ошибок в программе с помощью тестов.
Тест - это набор входных данных и набор выходных данных, который должен получаться при правильном Функционировании программы с входным набором данных.
Ошибка выявляется в том случае, если выходной набор данных в тесте не совпадает с полученным в результате работы программы с входным набором данных.
Тест считается удачным, если при его помощи была обнаружена ошибка.
Отладка включает в себя следующие этапы:
поиск ошибок с помощью тестов,
локализацию ошибки,
исправление ошибки.
Только исчерпывающее тестирование (на всех возможных наборах входных данных) может дать право говорить о том, что программа функционирует нормально (не имеет ошибок). Это практически не возможно. Отсюда возникает понятие сопровождения программного изделия.
Сопровождение - это исправление разработчиком ошибок, найденных пользователем в процессе эксплуатации программного изделия.
Возникает задача обнаружения максимального количества ошибок с помощью минимального количества тестов.