Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PP_KR22.doc
Скачиваний:
5
Добавлен:
10.12.2018
Размер:
377.86 Кб
Скачать

22. Структура программы на языке норма. Оператор итерация.

Норма - полностью отечественная разработка. Относится к непроцедурным языкам. НОРМА - предназначен для решения систем дифференциальных уравнений в частных производных методом сеток.

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

Формирование процедур для вычислений возлагается на транслятор, который должен по написанным соотношениям определить не только прядок вычислений, но и возможность параллельного счета. Отсюда следует, что программа на языке НОРМА, представляющая собою последовательность описаний, сначала обрабатывается специальным препроцессором, который на выходе формирует программу на одном из известных языков программирования (Си, Фортран, Ассемблер), которые обрабатываются стандартными трансляторами.

Такие языки могут существовать для достаточно узкого класса задач. Был разработан приблизительно в конце 70-х, начале 80-х и ориентирован на решение задач интегрирования СДУ в частных производных методом сеток.

В языке НОРМА основополагающими понятиями являются: ОБЛАСТЬ и оператор ПОЛАГАТЬ: ДЛЯ <область> ПОЛАГАТЬ <список соотношений>

Оператор присваивания “:” служит для транслятора основой для определения порядка счета и не требует немедленного выполнения.

Простое выражение может включать в себя только специальные величины: параметры. Все параметры должны получить своё значение.

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

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

Любая область является некоторой ограниченной частью такой сетки.

23. Условные области в языке норма.

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

ЛЕВ() и

ПРАВ().

Пример:

SN1:S/SI ЛЕВ(2)+ПРАВ(1) необходимо вернуться к одномерным областям.

В этом описании формируется условная подоблость SN1, которая получается из исходной области S путем исключения из составляющей области SI слева двух точек и добавления справа одной точки.

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

Пример:

Если S: (S1: (I=2…N) ; S2: (Y=1…M))

SA, SB : S/X + Y[I,J] – Z[J+1] > 0 (для SA – истина, SB – ложно)

В этом примере описываются две предикатные подобласти SA и SB. Переменные X, Y и Z должны быть заданы в узлах сетки. К подобласти SA относятся те узлы области S, для которых выполняется указанное неравенство. К подобласти SB относятся все остальные узлы.

Очевидно, что

SA SB = 0

SA SB = S

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