Записи-условия могут быть альтернативными или итеративными.
Альтернативная запись может иметь следующий вид:
ЕСЛИ <содержательное описание условия> ТО
<запись>
ИНАЧЕ
<запись> . . .
Итеративные записи используются для образования циклических структур и могут иметь вид:
ПОКА <содержательное описание условия окончания цикла>
<запись>
<запись>.
Исходное описаниеСистемы ДиспетчерСхема ОглавлениеНомер: 0.0 | Оглавление альбомадокументов и условныеобозначания | Лист: 1Автор: Иванов А.Отдел: каф. ПОИСДата: 1.09.99 |
Обозначение | Наименование | Лист | Примечание |
0.00.11.12.4 | Оглавление альбома документации и условные обозначенияСхема состава разложенияАвтоматизировать обработку очередизаявок по командам оператораУдалить из очереди указанную заявкуСвязь программы Диспетчер с используемыми внешними и внутренними структурами данных | 12345 | Структурная схема (рис. 3) |
с клавиатуры
Данные, печатаемые на Слияние потоковпринтере данных
Данные на магнитном Пересечение
диске потоков данных
с выделением части А А-номер или буква
Групповое данное, В Связь по управле-состоящее из С нию между листами
нескольких В – номер листа
составляющих В С – номер элементаРис. 2. Оглавление и условные обозначения
Все записи в IPO-диаграмме индексируются наиболее удобным для разработчика способом (для ссылок). Текст каждой записи рекомендуется начинать с глагола в повелительном наклонении.
Рекомендуется соблюдать ряд правил, улучшающих наглядность схем. Стрелки между левой и средней частями схемы разрешается направлять только слева направо. Если входные данные используются как входные для других преобразований, изображенных на этой же схеме, то стрелка от этих данных может быть направлена справа налево, из правой части схемы в среднюю.
При потери наглядности такие данные показываются дважды: в правой части - как выходные и в левой - как входные с соответствующей пометкой. Схема в целом должна быть небольшой, желательно, чтобы она размещалась на одном листе, а количество преобразований в ней не превышало десяти. Если схема получилась мало наглядной, то ее следует заново перечертить.
В зону комментариев вносятся сведения, необходимые для разработки программы, но не уменьшающие наглядность схемы. Это могут быть сведения об организации данных, расчетные формулы в преобразованиях, подробные ссылки на схемы, описывающие детализируемые далее преобразования. Комментарии составляются в виде таблицы, включающей порядковый номер комментария, обозначение элемента схемы, к которому относится комментарий, содержание комментария и ссылку на другую схему, в которой имеется более подробное описание.
В альбом допускается включение документов, оформленных по другим правилам, если на них имеется ссылка в одной из схем: формы отчетов, описание входных (выходных) данных сложной структуры и т.д. Процесс составления схем является ИТЕРАТИВНЫМ!
На магнитном диске имеется очередь заявок. Каждая заявка представлена в виде записи, содержащей имя заявки и приоритет на обслуживание. Проектируемая программа организует диалог с оператором и в зависимости от введенной команды обеспечивает:
- расположение заявок в обратном порядке (реверс);
- упорядочение заявок по возрастанию приоритета (сортировка);
- удаление заявки с указанным именем из очереди (удаление);
- перестановку заявки с указанным именем в начало очереди (перемещение).
Схема состава разложения и оглавление исходного описания программы показаны на рис. 1 и 2. Примеры оформления IPO-диаграмм представлены на рис. 4 и 5.
Вход Обработка Выход
№п/п | Элемент | Комментарий |
Схема | Номер | Лист |
1 | Команда | Вводимая оператором команда:<операция> [:<имя_заявки>] |
Рис. 4. IPO-диаграмма.
очередь
заявок
А
имя_заявки
заявка
В
буфер
заявок
1. Прочитать очередную заявку
из очереди
2. ЕСЛИ заявок нет
ТО закончить просмотр очереди
3. ЕСЛИ имя прочитанной заявки не
Равно указанному в команде
ТО
3.1Занести заявку в буферный
массив записей
3.2Счет заявок N:=N+1
4. Продолжить просмотр очереди
5. Переслать N заявок из буфера
в очередь
Заявка
Имя
Приоритет
В
буфер
заявок
N
А
очередь
заявок
№п/п | Элемент | Комментарий | |||
Схема | Номер | Лист | |||
12345 | ОчередьИмя_заявкиБуфер за-явокЗаявка N | Последовательный файл заявокИмя_заявки, введенное опера-ТоромВременный массив записейСтрока: Имя ПриоритетCчетчик заявок | Дис-петчер | 1.1 | 3 |
Рис. 5. HIPO-диаграмма.
Задание к лабораторной работе
С помощью HIPO-технологии составить внешние спецификации для комплекса программ решения одной из следующих задач.
1.Численное решение задачи Коши для дифференциального уравнения методом Рунге-Кутта и Адамса с автоматическим выбором шага и заданным шагом.
2.Интерполирование табличной функции.
3.Численное решение системы линейных алгебраических уравнений методами простой итерации, Зейделя и верхней релаксации.
4.Сглаживание функции кубическими сплайнами и многочленами среднеквадратичного приближения.
5.Численное решение однократных интегралов для таблично и аналитически заданных функций с заданной точностью.
6.Вычисление обратной матрицы и определителей по схеме Гауса.
7.Численное решение нелинейного уравнения методами дихотамии, касательных, хорд, итерации и комбинированным.
8.Численное решение системы нелинейных алгебраических уравнений методами Ньютона, простых итераций и Зейделя.
9.Численное решение задачи Коши для обыкновенного дифференциального уравнения методами Эйлера, Эйлера-Коши и усовершенствованным.