Выбор плоскости или совокупности плоскостей, обладающих заданными свойствами. Тестирование программы UGOL, страница 2


ДА

 

НЕТ

 

КОНЕЦ

 

I≤N-1

 

НЕТ

 

I:=I+1

 

ДА

 

J≤N

 

J:=J+1

 

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

 

PAR_PL[PP,1]:=I;

PAR_PL[PP,2]:=J;

 

PP:=PP+1

 

Проверка условий

 

Установка начальных значений

 

НЕТ

 

ДА

 

PP:=0, I:=1

 

ПЛОСКОСТИ ПАРАЛЛЕЛЬНЫ

 

НАЧАЛО

 

J:=I+1

 
Подпрограмма-процедура  PARAL_PL
Подпрограмма-процедура  OUT_TO_FILE


Подпрограмма-процедура  OUT_TO_MONITOR аналогична подпрограмме-процедуре  OUT_TO_FILE, только выводит результаты не в файл, а на экран.


Подпрограмма-процедура  UGOL_PL


Подпрограмма-процедура IDENTICAL_UGOL

 


4.Разработка структуры данных.

Множество коэффициентов плоскостей в программе представлено в виде массива COEF размером N×4, где N – число заданных плоскостей. В первый столбец записываются коэффициенты Ai, во второй – Bi, в третий – Ci, в четвертый – Di. Так как в программе используется статическое распределение памяти, то в описании массива наибольшее количество его строк Nmax. Обозначение исходных данных и их характеристики приведены в таблице:

Обозначение

Тип

Назначение

N

Переменная целого типа

Количество заданных плоскостей

COEF

Вещественный двухмерный массив размера Nmax×4

Множество коэффициентов плоскостей, коэффициенты одной плоскости занимают одну строку

Обозначения и характеристики результирующих данных приведены в следующей таблице:

Обозначение

Тип

Назначение

UGOL1

Двумерный массив целого типа

Номера плоскостей, между которыми определяется угол

UGOL2

Одномерный массив вещественного типа

Величины углов между плоскостями

PAR_PL

Двухмерный массив целого типа размера Nmax×2

Номера параллельных плоскостей, в одной строчке номера двух плоскостей

PP

Переменная целого типа

Количество параллельных плоскостей

IDENT

Двумерный массив целого типа

Массив номеров пар плоскостей, углы между которыми равны

UG

Переменная целого типа

Количество углов между плоскостями

ID

Переменная целого типа

Количество равных углов между плоскостями


5. Программирование

Program ugol;

USES CRT;

CONST

MAX=25;                                   {Максимальное количество плоскостей}

EPS=0.0000000001;                         {Точность определения параллельных плоскостей}

TYPE

EQUATION_MATR=ARRAY[1..4] OF REAL;        {Тип для массива коэф. одной плоскости}   COEF_MATR=ARRAY[1..MAX] OF EQUATION_MATR; {Тип для массива коэф. всех плоскостей}