Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
tatra_v2.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
216.48 Кб
Скачать

Алгоритм оформления решений

Входные данные:

ИмяАлг – поле с именем алгоритма, по которому оформляется решение;

НомРеш – номер решения, которое оформляется;

ИнфМас – поле памяти, которое отводится под хранение данных об оформленном решении. Поле представлено в виде двумерного массива данных;

КолСтол – количество столбцов поля памяти ИнфМас;

НомСтр – номер строки поля памяти ИнфМас, с которой заносится информация о решении;

НомСтл – номер столбца поля памяти ИнфМас, с которого заносится информация о решении;

Буффер – поле памяти, которое отводится под хранение имени алгоритма и самого алгоритма, по которому оформляется решение. Имя алгоритма хранится в первых восьми байтах, далее размещается алгоритм;

РазБуф – размер поля памяти, которое отводится под хранение алгоритма, плюс 8 байт, которые отводятся для хранения имени алгоритма.

Выходные данные:

ИнфМас – поле памяти, которое отводится под хранение данных об оформленном решении. Поле представлено в виде двумерного массива данных;

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

В алгоритме используются следующие обозначения:

П – признак обращения к программе;

А - признак изменения номера строки и столбца;

Ч – число констант;

С – номер строки;

Т – номер столбца;

ИмяПрг – имя программы;

КА - признак конца алгоритма (таблицы).

Начало

Проверка наличия в памяти алгоритма и считывание его из базы знаний

Отчистка имени алгоритма, заданного в поле ИмяАлг, от постоянных символов. Посторонние символы заменяются пробелами

да

В поле Буффер есть алгоритма с заданным именем?

нет

Занесение в поле ключей имени алгоритма из поля ИмяАлг и считывание алгоритма из базы знаний ТАТРА.

Поле ключей содержит 25 символов. Структура поля:

ТАТРАппп“имя алгоритма – 8сим”RESCHппп

п – пробел

нет

Алгоритм считан?

да

Аварийное завершение работы: “Алгоритм “имя алгоритма” не считан из базы знаний”

Занесение в поле Буффер имени алгоритма

Номер слова в поле Буффер должно соответствовать первому слову алгоритма

А

Конец

А

Поиск решения с заданным номером

Взять в поле Буффер очередное слова алгоритма

да

Конец алгоритма (в поле Буффер слово = КА)?

нет

да

Совпадает номер решения с заданным НомРеш?

нет

да

нет

Решение определяется по программе П?

Увеличить номер слова поля Буффер на 4

Выделить число констант Ч в решении

Увеличить номер слова поля Буффер на Ч

В

А

Конец

В

Определение номеров строки и столбцов

Выделить из слова поля Буффер признака А, номера строки С, номера столбца Т

Значение признака А

=0

Строка и столбец = const: С=С-1 , Т=Т-1

Строка переменная: С=С-1+ НомСтр Т=Т-1

=1

=2

Столбец переменный. С=С-1 Т=Т-1+ НомСтл

=3

Строка и столбец изменяются:

Строка С=С-1+ НомСтр

Столбец Т=Т-1+ НомСтл

нет

да

Решение оформляется по программе П?

С

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]