Рефераты. Функциональные модели универсального нейрокомпьютера

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

<Установление параметров Структурной единицы> ::= <Однозначное имя Структурной единицы> [[[<Переменная цикла>:] <Начальный номер> [..<Конечный номер> [:<Шаг>] ]]] SetParameters <Список значений параметров>

<Переменная цикла> ::= <Идентификатор>

<Начальный номер> ::= <Константное выражение типа Long>

<Конечный номер> ::= <Константное выражение типа Long>

<Шаг> ::= <Константное выражение типа Long>

<Список значений параметров> ::= <Значение параметра> [,<Список значений параметров>]

<Значение параметра> ::= <Специальное выражение типа Тип>

<Специальное выражение типа Тип> ::= [<Префиксная операция типа Тип>] <Специальный операнд типа Тип> [<Операция типа Тип> <Специальный операнд типа Тип>]

<Специальный операнд типа Тип > ::= {<Специальное выражение типа Тип > ½ <Константа типа Тип> ½ <Переменная цикла> ½ (<Специальное выражение типа Тип > ½ <Аргумент типа Тип> ½ <Вызов функции типа Тип>)}

Синтаксические конструкции описания распределения сигналов или параметров:

Данная конструкция имеет четыре аргумента, имеющих следующий смысл:

Данное – сигнал или параметр.

Объект – предобработчик, интерпретатор, оценка, сеть.

Подобъект – частный предобработчик, частный интерпретатор, частная оценка, подсеть.

<Идентификатор данных> – одно из ключевых слов Signals, Parameters, Data, InSignals, OutSignals.

<Описание распределения Данных, Объекта, Подобъекта, <Идентификатор данных>> ::= Connections <Описание групп соответствий Данных>

<Описание групп соответствий Данных> ::= <Описание группы соответствий Данных> [;<Описание групп соответствий Данных>]

<Описание группы соответствий Данных> ::= <Блок сигналов Подобъекта> <=> {<Блок сигналов Объекта> ½ <Блок сигналов Подобъекта>}

<Блок сигналов Подобъекта> ::= <Описатель сигналов Подобъекта> [;<Блок сигналов Подобъекта>]

<Описатель сигналов Подобъекта> ::= { For <Переменная цикла> = <Начальный номер> To <Конечный номер> [Step <Шаг>] Do <Блок сигналов Подобъекта> End ½ <Список Данных Подобъекта>}

<Переменная цикла> ::= <Идентификатор>

<Список Данных Подобъекта> ::= <Данное Подобъекта>[; <Список Данных Подобъекта>]

<Данное Подобъекта> ::= <Псевдоним>[[<Номер экземпляра>]].<Идентификатор данных> [[<Номер Данного>]]

<Номер экземпляра> ::= {<Специальное выражение типа Long> ½ [+:]<Начальный номер> [..<Конечный номер> [:<Шаг>]]}

<Номер Данного> {<Специальное выражение типа Long> ½ [+:]<Начальный номер> [..<Конечный номер> [:<Шаг>]]}

<Блок Данных Объекта> ::= <Описатель Данных Объекта> [; <Блок Данных Объекта>]

<Описатель Данных Объекта> ::= { For <Переменная цикла> = <Начальный номер> To <Конечный номер> [Step <Шаг>] Do <Блок Данных Объекта> End ½ <Список Данных Объекта> }

<Список Данных Объекта> ::= <Данное Объекта>[; <Список Данных Объекта>]

<Данное Объекта> ::= <Идентификатор данных> [[<Номер Данного>]]

4.3.7.6.   Комментарии

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

4.3.7.7.   Область действия переменных

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

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

Все переменные (описанные в блоках Var и Static) являются локальными и доступны только в пределах той функции или процедурного блока, в котором они описаны. Статические переменные сохраняют свое значение между вызовами функций или процедурных блоков, тогда как переменные, описанные в блоках Var, не сохраняют.

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

4.3.7.8.   Основные операторы

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

Оператор ветвления. Оператор ветвления состоит из трех частей, каждая из которых начинается соответствующим ключевым словом. Первая часть – условие, начинается с ключевого слова If и содержит логическое выражение. В зависимости от значения вычисленного логического выражения выполняется Then часть (истина) или Else часть (ложь). Третья (Else) часть оператора может быть опущена. Каждая из выполняемых частей состоит из ключевого слова и оператора. При необходимости выполнить несколько операторов, необходимо использовать операторные скобки Begin End.

Цикл For имеет следующий вид:

For Переменная_цикла = Начальное_значение To Конечное_значение [By Шаг] Do <Оператор>

Переменная цикла должна быть одного из целочисленных типов. В ходе выполнения оператора она пробегает значения от Начальное_значение до Конечное_значение с шагом Шаг. Если описание шага опущено, то шаг равен единице. При каждом значении переменной цикла из диапазона выполняется оператор, являющийся телом цикла. Если в теле цикла необходимо выполнить несколько операторов, то необходимо воспользоваться операторными скобками. Допускается любое число вложенных циклов. Выполнение цикла в зависимости от соотношения между значениями Начальное_значение, Конечное_значение и Шаг приведено в табл. 11.



Таблица 11.

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

Конечное значение

Шаг

Способ выполнения

>Начального значения

>0

Цикл выполняется пока переменная цикла

£ Конечного значения

<Начального значения

>0

Тело цикла не выполняется

=Начальному значению

¹0

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

>Начального значения

<0

Тело цикла не выполняется

<Начального значения

<0

Цикл выполняется пока переменная цикла

³ Конечного значения

 

=0

Тело цикла не выполняется

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.