Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 11
На сайте нет зарегистрированных пользователей

Пользователей: 13,372
новичок: vausoz
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Компьютерный магазин на Turbo Pascal (База данных) + Пояснительная записка
Обработка задач на ЭВМ на GPSS + Пояснительная записка
Моделирование автовокзала + Отчет + Блок схема

Блоки работы со списками пользователя

Блок LINK

Назначение. Блок помещает активный транзакт в список пользователя.

Синтаксис. LINK  A,B[, C]

Назначение операндов.

Операнд

Назначение

Значение

Значение по умолчанию

A

Список пользователя, в который должен быть помещен входящий в блок транзакт.

Имя, число, СЧА

Обязательный параметр

B

Дисциплина помещения нового транзакта в список пользователя.

LIFO, FIFO, СЧА транзакта

Обязательный параметр

C

Имя блока, куда переходит транзакт, если индикатор компоновки списка пользователя находится в выключенном состоянии (сброшен)

Имя, число, СЧА

Нет

 

Особенности выполнения.

1.      При помещении транзакта в список он удаляется из всех других списков, кроме групп транзактов и списков прерываний.

2.      Транзакт остается в списке пользователя до тех пор, пока какой-либо другой транзакт не войдет в блок UNLINK и не считает его из списка.

3.      Если в операнде В указано FIFO (первым вошел, первым вышел), транзакты помещаются в конец списка.

4.      Если в операнде В указано LIFO (последним вошел, первым вышел), вновь прибывшие транзакты помещаются в начало списка.

5.      Если в операнде В не используется LIFO или FIFO, то применяется СЧА транзакта - PR, M1 или Р. Может быть использована косвенная адресация. Если задано PR, транзакты помещаются в список пользователя в приоритетном порядке. Если задан номер параметра, транзакт помещается в список пользователя позади тех транзактов, значение соответствующего параметра которых меньше, чем у входящего транзакта.

6.      Если задан операнд С, то используется флаг «Индикатор компоновки». Если индикатор компоновки списка пользователя выключен(сброшен) , блок LINK не поместит транзакт в список . Вместо этого транзакт перейдет к блоку указанному в операнде С, после чего индикатор компоновки будет включен (установлен). Следующие транзакты, входящие в блок LINK, будут помещены в список пользователя. Индикатор компоновки управляется блоками LINK и UNLINK. Он выключается (сбрасывается), когда блок UNLINK определяет, что список пользователя пуст.

 

Примеры использования.

LINK CHANNEL,FIFO

Транзакт, вошедший в блок LINK , будет добавлен в конец очереди с именем CHANAL.

 

LINK CHANNEL, PR, LABEL_CH

Если список пользователя CHANNEL пуст (индикатор компоновки списка пользователя выключен) ,транзакт перейдет к блоку с именем LABEL_CH и индикатор компоновки будет включен. Следующие транзакты, входящие в блок LINK, будут помещены в список пользователя. Индикатор компоновки выключится, когда блок UNLINK определит, что список пользователя пуст.

 

Блок UNLINK

Назначение. Блок считывает транзакты из списка пользователя.

Синтаксис. UNLINK  [X]  A,B,[C],[D],[E],[F]

Назначение операндов.

Операнд

Назначение

Значение

Значение по умолчанию

X

Операция сравнения для операндов D и Е.

Условная операция отношения

E

A

Список пользователя, из которого будет считан один или несколько транзактов.

Имя,

число, СЧА

Обязательный операнд.

B

Блок, куда переходят считанные транзакты.

Имя,

число, СЧА

Обязательный операнд

C

Максимальное количество транзактов, которые будут считаны

Имя,

число,

СЧА,

ALL

ALL

D

Определяет условия считывания транзактов из очереди

Имя,

число, СЧА, BACK

Нет

E

Используется совместно с операндом D и X для определения условия считывания транзактов из списка

Имя,

число,

СЧА

Нет

F

 

 

Нет

 

Особенности выполнения.

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

2.      Если транзакт входит в блок UNLINK, когда в списке нет транзактов, индикатор компоновки списка пользователя сбрасывается.

3.      Можно ограничить число считываемых из списка транзактов с помощью операнда С. Если операнд С опущен, то берется ALL.

4.      Если операнды D, Е и условный оператор опущены, исключаются все транзакты с начала списка, пока список не будет исчерпан, или не будет достигнут предел исключаемых транзактов (операнд С).

5.      Операнд D может быть булевой переменной, номером параметра или словом «BACK».

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

Если в операнде D указано BACK, транзакты исключаются, начиная с конца списка пользователя, пока не будет достигнут предел.

В противном случае операнд вычисляется относительно транзакта, находящегося в списке пользователя, и используется в качестве номера параметра, значение которого возвращается членом списка пользователя, как конечный результат. Это конечное значение сравнивается с результатом вычисления операнда Е.

Если операнд D задает параметр, а Е не используется, параметр транзакта из списка пользователя сравнивается с таким же параметром активного транзакта. Если они равны, транзакт, находящийся в списке, считывается из списка.

6.      Операнд Е используется только в том случае, если используется оператор отношения. В этом случае обязательно требуется операнд D. Список пользователя проверяется, начиная с начала. Если условие, заданное оператором отношения, выполняется для операндов D и Е, исключается каждый транзакт, (вплоть до предела (операнд С)). Если в операнде Е используется СЧА транзакта, он вычисляется относительно активного транзакта.

7.      оператор отношения используется для определения соотношения между атрибутом транзакта (операнд D) и значением операнда Е. Если отношение выполняется, то транзакт считывается из списка. В качестве оператора отношения могут быть использованы Е, G, GE, L, LE или NE. По умолчанию в качестве оператора отношения используется Е (равно).

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

 

Примеры использования.

UNLINK  CHANNEL, LABEL_CH,1

Считывается один транзакт из начала списка CHANNEL и он направляется в блок с именем LABEL_CH. Транзакт, вошедший в UNLINK , переходит к следующему блоку

 

UNLINK  BUFFER, FAC_2,1,BACK

Считывается из списка пользователя с именем BUFFER один транзакт с конца списка и он направляется в блок с именем FAC_2.

 

UNLINK E    P$BUF,MET_1,ALL,COND,P$COND,MET_2

Считываются из списка пользователя, номер которого записан в параметре BUF вошедшего транзакта, и направляются в блок с именем MET_1 все транзакты, содержимое параметра COND которых равно содержимому одноименного параметра вошедшего транзакта. Если таких транзактов в списке нет, то вошедший транзакт будет направлен в блок с именем MET_2, в противном случае - к следующему блоку.

Опубликовал Kest March 30 2014 22:08:17 · 0 Комментариев · 5851 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
BDEPack
PCX
PCXReader. Програ...
Самоучитель PHP 5...
Atb
PHP/MySQL для нач...
TelBook
Дешифратор содерж...
Игра Car [Исходни...
Введение в станда...
Пример работы с ф...
Программа для рис...
Последние загруж...
Фундаментальные а...
iComm v.6.1 - выв...
CaptionButton
Форма в форме
Delphi 2005 Учимс...
Tag Игра "Пятнашк...
Delphi Быстрый Ст...

Топ загрузок
Приложение Клие... 100793
Delphi 7 Enterp... 98016
Converter AMR<-... 20298
GPSS World Stud... 17059
Borland C++Buil... 14239
Borland Delphi ... 10373
Turbo Pascal fo... 7390
Калькулятор [Ис... 6080
Visual Studio 2... 5228
Microsoft SQL S... 3674
Случайные статьи
Обсуждение структу...
Табл. 9-7.
Внутренний генерат...
Как найти в Intern...
Бип из системного ...
Wildcard О.О.О.О. ...
Акустические подиумы
Пример задачи на п...
Модуль интерфейса
Чтобы найти номер ...
Компоненты системы...
Как стать издателем
Традиционные и гиб...
Свойство TableMapp...
Анализ файловой си...
Jet casino
Применение исключений
Некоторые соглашен...
Изменение активной...
Кубический и линей...
свой технический п...
Спец. команды
Canon: скомпонуйте...
Настройка объектов
Создаем правила бр...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?