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

на главную - закладки

Жанры

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

Костерин В В

Шрифт:

Детализациям всех последующих структур предшествует нулевое действие — запись в начале и в конце входных и выходных данных, выявленных в процессе детализации предшествующих им СЛЕДОВАНИЙ.

Порядок детализации ЦЕПОЧКИ АЛЬТЕРНАТИВ показан на рис. 5.5:

1) предварительное выявление сути действия каждого из СЛЕДОВАНИЙ альтернативных действий, определение количества таких СЛЕДОВАНИЙ;

Рис. 5.5. Порядок действий при детализации цепочки АЛЬТЕРНАТИВ, согласно проектной процедуре разработки

функциональных описаний

2) детализация каждого из СЛЕДОВАНИЙ как одиночного СЛЕДОВАНИЯ;

3) выявление и запись логического условия выполнения каждого из альтернативных СЛЕДОВАНИЙ;

4) проверка информационной согласованности всех СЛЕДОВАНИЙ и логических условий в цепочке, а также входной и выходной информации всей ЦЕПОЧКИ АЛЬТЕРНАТИВ;

5) рационализация порядка альтернатив;

6) проверка выполнения всех маршрутов на тестах, полученных из обобщающего теста.

Признаком ПОВТОРЕНИЯ является многократно выполняемое действие (но обязательно конечное число раз). ПОВТОРЕНИЯМ соответствуют мысли: "Это действие должно быть выполнено пять раз"; "Это действие выполняется многократно до наступления такого-то события". Признаки ПОВТОРЕНИЙ — переменное количество АЛЬТЕРНАТИВ, любая мысль о возврате "назад", чтобы повторить какие-то действия. Часто главный более общий процесс вида ПОВТОРЕНИЕ прячется в контексте "и т. д." или "и т. п.", "это совсем просто", или даже в многоточиях "…".

Предложение вида ПОВТОРЕНИЕ может быть записано или в форме ПОВТОРЕНИЕ "ДО" (ЦИКЛ "ДО"), или в форме ПОВТОРЕНИЕ "ПОКА" (ЦИКЛ "ПОКА").

Предложение ПОВТОРЕНИЕ "ДО" имеет следующую конструкцию: "До выполнения какого-то условия многократно выполнять СЛЕДОВАНИЕ".

Предложение ПОВТОРЕНИЕ "ПОКА" имеет следующую конструкцию: "Пока выполняется какое-то условие, многократно выполнять СЛЕДОВАНИЕ".

Разница между предложениями ПОВТОРЕНИЕ "ДО" и ПОВТОРЕНИЕ "ПОКА" заключается в том, что, согласно первому предложению, действие СЛЕДОВАНИЕ должно быть выполнено хотя бы один раз, а согласно второму, — СЛЕДОВАНИЕ может не выполняться ни разу.

Структура НЕУНИВЕРСАЛЬНОЕ ПОВТОРЕНИЕ или просто обеспечивает заданное количество повторений какого-либо процесса или выполнение какого-то процесса при значении переменной цикла, значение которой изменяется по правилам арифметической прогрессии.

Порядок детализации ПОВТОРЕНИЙ показан на рис. 5.6.

Детализация повторений ведется в вариантной постановке

Рис. 5.6. Порядок действий при детализации ПОВТОРЕНИЙ

1) выявление и запись логического условия завершения ПОВТОРЕНИЯ "ДО" или условия продолжения выполнения ПОВТОРЕНИЯ "ПОКА";

2) выявление действий прекращения выполнения повторения;

3) выявление действий СЛЕДОВАНИЯ подготовки выполнения ПОВТОРЕНИЯ;

4) детализация СЛЕДОВАНИЯ оставшегося действия как одиночного СЛЕДОВАНИЯ;

5) проверка информационной согласованности всех СЛЕДОВАНИИ, логических условий, а также входной и выходной информации всего ПОВТОРЕНИЯ;

6) проверка на 2–3 тестах, полученных из обобщающего теста;

7) окончательный выбор варианта реализации ПОВТОРЕНИЯ в виде структуры ПОВТОРЕНИЕ "ПОКА" или в виде структуры ПОВТОРЕНИЕ "ДО".

5.4. РЕКОМЕНДАЦИИ НАЧИНАЮЩИМ ПО СОСТАВЛЕНИЮ ОПИСАНИЙ АЛГОРИТМОВ И ЭВРОРИТМОВ

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

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

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

На отдельном листе составляется множество тестовых примеров, охватывающих все случаи вычислений или действий по инструкции.

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

Далее в верхней части листа записываются термины входных объектов и состояния входных объектов. В середине листа записывается одно простое распространенное предложение, характеризующее процесс преобразования входной информации в выходную информацию. Многократным анализом входа, выхода и сути предложения уточняется вся информация листа.

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

Обучаемым, которые находятся на начальной стадии изучения, рекомендуется предварительно описать протекание процесса по принципу: "Как можешь!" Качество описания должно соответствовать попытке объяснения процесса какому-то заурядному человеку или даже ребенку. Данный текст поможет (с использованием признаков) отличить общие действия от частных.

Наконец, приступаем к составлению семантического скелета структурированного описания функционирования.

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

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

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

Моя на одну ночь

Тоцка Тала
Любовные романы:
современные любовные романы
короткие любовные романы
5.50
рейтинг книги
Моя на одну ночь

Черный Маг Императора 8

Герда Александр
8. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 8

Измена. Отбор для предателя

Лаврова Алиса
1. Отбор для предателя
Фантастика:
фэнтези
5.00
рейтинг книги
Измена. Отбор для предателя

Кодекс Крови. Книга II

Борзых М.
2. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга II

Шаг в бездну

Муравьёв Константин Николаевич
3. Перешагнуть пропасть
Фантастика:
фэнтези
космическая фантастика
7.89
рейтинг книги
Шаг в бездну

Часовая битва

Щерба Наталья Васильевна
6. Часодеи
Детские:
детская фантастика
9.38
рейтинг книги
Часовая битва

Вечная Война. Книга II

Винокуров Юрий
2. Вечная война.
Фантастика:
юмористическая фантастика
космическая фантастика
8.37
рейтинг книги
Вечная Война. Книга II

Хроники странного королевства. Вторжение. (Дилогия)

Панкеева Оксана Петровна
110. В одном томе
Фантастика:
фэнтези
9.38
рейтинг книги
Хроники странного королевства. Вторжение. (Дилогия)

Часовой ключ

Щерба Наталья Васильевна
1. Часодеи
Фантастика:
фэнтези
9.36
рейтинг книги
Часовой ключ

Инвестиго, из медика в маги

Рэд Илья
1. Инвестиго
Фантастика:
фэнтези
городское фэнтези
попаданцы
5.00
рейтинг книги
Инвестиго, из медика в маги

Кротовский, может, хватит?

Парсиев Дмитрий
3. РОС: Изнанка Империи
Фантастика:
попаданцы
альтернативная история
аниме
7.50
рейтинг книги
Кротовский, может, хватит?

Драконий подарок

Суббота Светлана
1. Королевская академия Драко
Любовные романы:
любовно-фантастические романы
7.30
рейтинг книги
Драконий подарок

Очешуеть! Я - жена дракона?!

Амеличева Елена
Фантастика:
юмористическая фантастика
5.43
рейтинг книги
Очешуеть! Я - жена дракона?!

Идеальный мир для Лекаря 9

Сапфир Олег
9. Лекарь
Фантастика:
боевая фантастика
юмористическое фэнтези
6.00
рейтинг книги
Идеальный мир для Лекаря 9