Чтение онлайн

на главную

Жанры

Технологии программирования

Костерин В В

Шрифт:

При разработке алгоритмов программ входная, промежуточная и выходная информация характеризуется структурой данных, размещенных в оперативной и во внешней памяти, и информацией, отображаемой на экране монитора.

При разработке эвроритмов инструкций входная, промежуточная и выходная информация характеризуется набором предметов (физических и документов) и их состоянием, например: пустой чайник; чайник, заполненный наполовину объема холодной водой; включен выключатель "сеть" в правом верхнем углу панели; документ по форме № 5 с заполненной первой графой. Здесь уместно дополнять описания предметов их рисунками. Учитывайте, что предметы изменяются во времени и

пространстве.

Первичные тестовые примеры должны включать как обычные, так и стрессовые наборы тестовых входных данных. Каждый стрессовый набор тестовых данных предназначен для выявления реакции в особых случаях, например неверных действий пользователя, деления на ноль, выхода значения за допустимые границы, несоответствия инструкции состоянию дел и т. д. Любой набор тестовых данных должен содержать описание результата.

Второй шаг составления эвроритма или алгоритма начинается с разработки обобщающих тестов или обобщающего теста, включающих как можно в меньший набор тестов все случаи из первичных тестов.

На основе обобщающих тестов, а также выявленных входов и выходов системы готовится наглядный обобщающий тест или несколько наглядных обобщающих тестов. Наглядный тест должен отражать цепочку преобразования информации от исходной информации через промежуточную информацию и до результирующей информации. Главнейшее требование к обобщающему тесту — его наглядность в представлении порядка изменения информации. Известно, что при изучении геометрии успех решения задачи определяется наглядностью рисунков. Наглядные геометрические рисунки обычно получаются многовариантным их построением, и требуется приобретение некоторых навыков для развития искусства их выполнения. Все это относится и к составлению наглядных обобщающих тестов. Наглядность обобщающих тестов достигается правильным выбором способа отображения информации, который обеспечивает восприятие порядка преобразования информации.

Наглядные представления обычно основываются на модели типа абстракции данных, изложенной в гл. 1. Одной из ее форм может быть функциональная модель в виде набора диаграмм потоков данных (ДПД). Другая форма может соответствовать рисунку с рациональным способом размещения по его площади массивов с их именами, значениями элементов, значениями индексов элементов, значениями и именами простых переменных, соединенными стрелками по направлению передачи информации. Еще одной формой является форма, близкая к трассе счета, показывающая изменения значений переменных на шагах процесса. Возможны и иные формы, например таблицы правил.

Подчеркнем важность работы с данными. Данные во многом определяют алгоритмы. При решении одной и той же задачи, выбор разных структур данных приводит к совершенно различающимся алгоритмам или эвроритмам.

Дальнейшее выполнение проектной процедуры заключается в получении на основании модели абстракции данных модели процедурной абстракции, также изложенной в гл. 1.

Любые алгоритмы или эвроритмы должны состоять только из стандартных структур, каждая из которых строго имеет один информационный вход и один информационный выход. Использование иных (нестандартных) структур приводит либо к удлинению описания, либо к невозможности тестирования (из-за нереально огромного объема необходимых тестов), либо к потере понятности.

Потеря понятности происходит из-за того, что в неструктурированном алгоритме или эвроритме одни и те же части алгоритма или эвроритма при одних данных выполняют одно, а при других — другое. Поэтому части неструктурированных алгоритмов или эвроритмов невозможно однозначно характеризовать

средствами естественного языка.

Структуре СЛЕДОВАНИЕ в инструкциях и программах соответствует строго одно действие.

Далее проектная процедура выполняется итеративными шагами: до достижения элементарных действий (элементарных операторов языка программирования или элементарных операций) отдельные структуры СЛЕДОВАНИЕ, из которых состоит описание любого алгоритма или эвроритма, декомпозируются с соблюдением принципа от общего к частному одной из трех стандартных структур (рис. 5.2): ЦЕПОЧКА СЛЕДОВАНИЙ; ЦЕПОЧКА АЛЬТЕРНАТИВ; ПОВТОРЕНИЕ.

В случае длинного алгоритма по исчерпанию информации обобщающего теста готовятся новые обобщающие тесты под все новые задачи структуры.

Рис. 5.2. Выявление вида очередной структуры при выполнении проектной процедуры разработки функциональных описаний

Из трех выявленных структур любая структура содержит в себе одну или несколько новых структур вида СЛЕДОВАНИЕ с более частными действиями. Эти новые СЛЕДОВАНИЯ могут подвергаться декомпозиции на следующей итерации выполнения проектной процедуры.

Итак, описания последовательности действий для алгоритмов и эвроритмов практически не различаются, поэтому их разработку рассмотрим совместно. Процесс кодирования программ, совмещенный с документированием, предполагает более разнообразные работы и требует особых знаний, поэтому кодирование программ рассмотрим отдельно. Отметим, что алгоритм ряда программ (например, математически не сложных) и код программ рождаются одновременно, причем рождаются на основе мыслей программиста. Отсюда следует, что признаки алгоритмических типовых структур и порядок их детализации, описанные в данном подразделе, являются одними и теми же для составления алгоритмов, эвроритмов и программ.

На каждой итерации проектной процедуры приходится решать задачу: "А какая именно из трех структур будет выявлена?" При решении данной задачи необходимую информацию можно получить лишь из анализа обобщающих тестов. Анализ тестов на предмет поиска самой главной на данный момент структуры является для начинающих весьма непростым делом. "Раскрепостить мышление" помогает набор признаков структур, изложенный в табл. 5.2, а также набор эвристических приемов, изложенный далее.

Таблица 5.2.

Сводная таблица характеристик структур и признаков структур

Поделиться:
Популярные книги

Релокант. По следам Ушедшего

Ascold Flow
3. Релокант в другой мир
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Релокант. По следам Ушедшего

Маверик

Астахов Евгений Евгеньевич
4. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Маверик

Измена. Он все еще любит!

Скай Рин
Любовные романы:
современные любовные романы
6.00
рейтинг книги
Измена. Он все еще любит!

Адепт: Обучение. Каникулы [СИ]

Бубела Олег Николаевич
6. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.15
рейтинг книги
Адепт: Обучение. Каникулы [СИ]

Мама из другого мира. Делу - время, забавам - час

Рыжая Ехидна
2. Королевский приют имени графа Тадеуса Оберона
Фантастика:
фэнтези
8.83
рейтинг книги
Мама из другого мира. Делу - время, забавам - час

Низший - Инфериор. Компиляция. Книги 1-19

Михайлов Дем Алексеевич
Фантастика 2023. Компиляция
Фантастика:
боевая фантастика
5.00
рейтинг книги
Низший - Инфериор. Компиляция. Книги 1-19

На границе империй. Том 7. Часть 5

INDIGO
11. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 7. Часть 5

Кодекс Охотника. Книга XXII

Винокуров Юрий
22. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXII

Темный Лекарь 3

Токсик Саша
3. Темный Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Темный Лекарь 3

Я тебя не предавал

Бигси Анна
2. Ворон
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Я тебя не предавал

Измена. Право на счастье

Вирго Софи
1. Чем закончится измена
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Право на счастье

Не грози Дубровскому! Том 11

Панарин Антон
11. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том 11

Виконт. Книга 2. Обретение силы

Юллем Евгений
2. Псевдоним `Испанец`
Фантастика:
боевая фантастика
попаданцы
рпг
7.10
рейтинг книги
Виконт. Книга 2. Обретение силы

Авиатор: назад в СССР 14

Дорин Михаил
14. Покоряя небо
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Авиатор: назад в СССР 14
Структура Характеристики Признак
СЛЕДОВАНИЕ Описывается либо простыми распространенными предложениями естественного языка, либо предложениями без сказуемого (например, "Погрузка мебели", "Решение квадратного уравнения") Соответствует строго одному действию
ЦЕПОЧКА СЛЕДОВАНИЙ Представляет собой цепочку из последовательно выполняемых действий Последовательно выполняемые разнородные действия
ЦЕПОЧКА АЛЬТЕРНАТИВ: Одно или несколько действий, каждое из которых выполняется при определенном условии или не выполняется вообще