ЗАЧЕТНО-ЭКЗАМЕНАЦИОННЫЕ БИЛЕТЫ  ПО КУРСУ ВЕКТОРНО-ГРАФИЧЕСКОГО АНАЛИЗА  И  НАЧЕРТАТЕЛЬНОЙ ГЕОМЕТРИИ

 
Билет 1 
Билет 2 
Билет 3 
Билет 4 
Билет 5 
Билет 6 
Билет 7 
Билет 8 
Билет 9 
Билет 10
Билет 11 
Билет 12 
Билет 13 
Билет 14 
Билет 15 
Билет 16 
Билет 17 
Билет 18 
Билет 19 
Билет 20

Зачетно-экзаменационный билет № 1

1. Алгоритмизация. Записать условие геометрического места точек р равноудаленных от заданной р100. Записать в векторной форме и через его компоненты. Что за кривая? Написать МК вычисления точки на окружности.

2. Оптимизация. Определить наименьшее расстояние от точки р3 (35.,35.,35.) до прямой р1(50.,25.,7.)-р2(20.,5.,40.). Задачу решить графически методом ЗПП (замены плоскостей проекции) и с помощью МК системы “Вектор”.

Ответить что такое метод ЗПП в начертательной геометрии? Как формируются данные, цикл в системе “Вектор”? Что такое рекурсия? Какие регистры используются для вещественных, целых и типа точка данных. Как происходит сравнение и выбор? В каком регистре находится результат?
 

Ответ по билету № 1

1. Условием геометрического места точек р равноудаленных от  заданной р100 будет постоянство расстояния (радиус):
|p-p100|= s - запись в векторной форме.
(x100-x)2+(y100-y) 2 = s2  - в аналитической форме.
s=$sqrt((x3-x)*(x3-x)+(y3-y)*(y3-y)+(z3-z)*(z3-z)) - вычисление на языке “Калькулятор” системы “Вектор”.
Однако в компьютерной практике чаще пользуются параметрическим заданием окружности, при котором абсцисса точки на окружности вычисляется из прямоугольного треугольника в зависимости от угла и гипотенузы (радиуса).

х=r*cos(t)
y=r*sin(t)
или с учетом местоположения центра
х=r*cos(t) + х100
y=r*sin(t) + y100
Вычисление точки на окружности на языке “Калькулятор” можно осуществить, например так:
<test.mac>
х=s100*cos(s) + х100
y=s100*$sin(s) + y100
где s100 - радиус,  s - угловой параметр, p100 - положение центра.
При обращении к МК <test.mac> надо передать в нее значения радиуса (s100), координаты центра (точку р100) и угол s (в радианах) в диапазоне от 0. до 2?, например.
test: p100=100.,100.  s100=50. s=3.14/2.
Вычисленная точка р будет находиться на вертикальном диаметре вверху.
2. Задача найти наименьшее расстояние от точки р3 (35.,35.,35.) до прямой р1(50.,25.,7.)-р2(20.,5.,40 относится к оптимизационной: найти минимум из всех возможных вариантов расстояний от точки до прямой:
s=|p3-p| -> min   векторная запись
Аналитическая, на языке “Калькулятор”
s=$sqrt((x3-x)*(x3-x)+(y3-y)*(y3-y)+(z3-z)*(z3-z)) -> min
Решение задачи в системе “Вектор”.
<date.mac>    - МК формирования данных
: p1=50.,25.,7. p2=20.,5.,40. p3=35.,35.,35. s99=1000.
otrezok: p101=p1 p102=p2   $  изображение прямой р1-р2
rekur: s=0.0 s99=1000.0

<rekur.mac>  МК перебора расстояний от точки до прямой
s > 1. ? exit    $ условие выхода
p=(1.-s)*p1+s*p2   $ вычисление точки на парямой
otrezok: p101=p p102=p3  $ перебор отрезков-расстояний
s1=$sqrt((x3-x)*(x3-x)+(y3-y)*(y3-y)+(z3-z)*(z3-z))
otrezok: p101=p93 p102=x,s1   $ график s1(x) ЦФ строится отрезками
s1 < s99 ? s99=s1   $ сравнить и выбрать минимум
rekur: s=s+0.1 p93=p102

Метод ЗПП в начертательной геометрии это когда две взаимно-перпендикулярные плоскости заменяются на две другие взаимно перпенди-кулярные так, чтобы одно плоскость оставалась общей а другая была за-дана произвольно, но перпендикулярно ей. Таким способом можно прямую ОП преобразовать в точку, а треугольник в вырожденную прямую линии. Такие преобразования позволяют решать задачи непосредственно.
Данные в системе “Вектор” формируются в отдельной МК. Перед списком данных ставится двоеточие.
Цикл формируется рекурсивно (вызовом МК самой себя) с условием выхода, например, s стала больше 1., то выход. s последовательно увеличивается в следующем случае: s=s+0.1.
Задание вещественных чисел через - s-s199, целых - n-n199 и типа точка p1-p199.
Сравнение и выбор операцией s1 < s99 ? s99=s1, что означает: если s1 меньше значения в эталоне s99, то в эталон кладем s1.
Минимальное число (расстояние) на выходе из МК будет лежать в регистре s99.


Зачетно-экзаменационный билет № 2

1. Алгоритмизация. Записать условие геометрического места точек р равноудаленных от двух заданных р1 и р2. Записать в векторной форме и через его компоненты. Что за линия будет?

2. Определить расстояние от точки р4(0.,0.,0.) до плоскости р1(100.,0.,0.)-р2(0.,100.,0.)-р3(0.,0.,100.). Задачу решить графически методом ЗПП (замены плоскостей проекции) и с помощью МК системы “Вектор”.

Ответить, что такое метод ЗПП в начертательной геометрии? Как формируются данные, цикл в системе “Вектор”? Что такое рекурсия? Какие регистры используются для вещественных, целых и типа точка данных. Как происходит сравнение и выбор? В каком регистре находится результат?
 

Ответ по билету № 2

1. Условием геометрического места точек равноудаленных от  двух заданной точек p1 и p2 будет постоянство длин s1 и s2:
s1=s2 или |p-p1|=|p-p2| или
sqrt((x1-x)*(x1-x)+(y1-y)*(y1-y))=
=sqrt((x2-x)*(x2-x)+(y2-y)*(y2-y))
Искомой линией будет прямая.
Вытащить точку р из данного равенство не так просто (корни появляются). Однако есть прием. Строим ЦФ
F(x,y) =|p-p1|-|p2-p|. Минимум этой ЦФ даст серию точек - отрезка прямой.

2. Определить расстояние от точки О(0.,0.,0.) до плоскости р1(100.,0.,0.)-р2(0.,100.,0.)-р3(0.,0.,100.) графически можно решить методом ЗПП (замены плоскостей проекции) и с помощью МК системы “Вектор”.

Метод ЗПП в начертательной геометрии это, когда две взаимно-перпендикулярные плоскости заменяются на две другие взаимно перпендикулярные так, чтобы одно плоскость оставалась общей а другая была задана произвольно, но перпендикулярно ей. Таким способом можно прямую ОП преобразовать в точку, а треугольник в вырожденную прямую линии. Такие преобразования позволяют решать задачи непосредственно.

Определить расстояние от точки р4(0.,0.,0.) до плоскости р1(100.,0.,0.)-р2(0.,100.,0.)-р3(0.,0.,100.) в системе “Вектор” можно с помощью двух циклов-рекурсий:
<date.mac>
: р4(0.,0.,0.) р1(100.,0.,0.)
: р2(0.,100.,0.) р3(0.,0.,100.).
rekur1: n=0 s99=1000. s1=0.0 s2=0.0

<rekur1.mac>
s1 > 1. ? exit  $  условие выхода
p91=(1.-s1)*p1+s1*p3 $ вычисл. т. на границе треугольника
p92=(1.-s1)*p2+s1*p3 $ вычисл. т. на 2-й границе треугольника
rekur12: s2=0.   $ ко 2-му циклу вычисления точек р
rekur1: s1=s1+0.1  $ рекурсия

< rekur2.mac>
s2 > 1. ? exit    $ условие выхода
p=(1.-s2)*p1+s2*p2   $ вычисление точки на прямой
otrezok: p101=p p102=p3  $ отрезки возможных расстояний
s10=$sqrt((x3-x)*(x3-x)+(y3-y)*(y3-y)+(z3-z)*(z3-z))
otrezok: p101=p93  p102=x, s10 $ график s10(x)строится отрезками
p93=p102   $ конец отрезка в начало следующего
s10 < s99 ? s99=s10   $ сравнение и выбор
rekur2: s2=s2+0.1   $ рекурсия МК идет на свое начало

Ответы на вопросы.
Данные в системе “Вектор” формируются в отдельной МК. Перед списком данных ставится двоеточие.
Цикл формируется рекурсивно (вызовом МК самой себя) с условием выхо-да, например, при s больше 1.0, то выход, s увеличивается при таком условии: s=s+0.1.
Задание чисел: вещественных - s-s199, целых - n-n199 и типа точка p1-p199.
Сравнение и выбор задается операцией s1 < s99 ? s99=s1, что означает: если s1 меньше значения в эталоне s99, то в эталон кладем s1. Минимальное число (расстояние) после такого сравнения на выходе из МК будет лежать в регистре s99.
 


Зачетно-экзаменационный билет № 3

1. Алгоритмизация. Записать условие геометрического места точек у которой сумма расстояний до двух заданных р1 и р2 величина посто-янная. Записать в векторной форме и через его компоненты. Что за кри-вая? Написать МК вычисления точек на данной кривой.

2. Дать графический алгоритм метода ЗПП (замены плоскостей проекций), и решить задача Герона: в двумерном пространстве найти точку р на пря-мой р11-р12, такую чтобы сумма расстояний от двух заданных р1,р2 была минимальной. Задачу решить графически и с помощью МК системы “Вектор”.
Ответить. Как формируются данные, цикл в системе “Вектор”? Что такое рекурсия? Какие регистры используются для вещественных, целых и типа точка данных. Как происходит сравнение и выбор? В каком регистре находится результат? Что такое метод ЗПП в начертательной геометрии?

Ответ по билету № 3

1. Условием геометрического места точек у которой сумма расстояний до двух заданных будет:
s1+s2=c
|p-p1|+|p-p1|= c
sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1))+
        +sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2)) = c
Искомая кривая - эллипс.
Вычисления на кривой удобнее выполнять, когда кривая задана в па-раметрическом виде. Уравнение эллипса в параметрическом виде известно:
x = r1*cos(t)
y = r2*sin(t)
где t переменный угловой параметр (0<t<2?), а r1, r2  - горизонтальный и вертикальные оси эллипса.
Расчет точек на языке “Кальулятор можно осуществлять непосредственно по этим формулам, например в МК test.mac.
<test.mac>
x = s1*cos(s) + x100
y = s2*sin(s) + y100
где s переменный угловой параметр (0 < s < 2?), а s1, s2 - горизонтальный и вертикальные оси эллипса, р100-положение центра окружности.
Расчет выполняется при обращении к данной МК и передаче в нее требуемых параметров, например:
test: s1=80.0  s2=50.0   s=3.14  p100=100.,100.
После выполнения действий МК выдаст значения точки р.

2. На рисунке справа дан алгоритм ЗПП.
Задача Герона найти точку р на прямой р11-р12, такую чтобы сумма расстояний от двух заданных р1,р2 была минимальной имеет решение графическое (см. рисунок) и в системе “Вектор” с помощью двух рекурсивных циклов.

<dateger.mac>
:р1=80.,50. р2=30.,70.) р11=90.,10. р12=10.,30.
rekur: s=0.0  s99=1000.0

<rekurg.mac>
s > 1. ? exit    $ условие выхода
p=(1.-s)*p1+s*p2   $ вычисление точки на прямой
otrezok: p101=p p102=p1  $ отрезки возможных расстояний
otrezok: p101=p p102=p2  $ отрезки возможных расстояний
s1=$sqrt((x1-x)*(x1-x)+(y1-y)*(y1-y))
s2=$sqrt((x2-x)*(x2-x)+(y2-y)*(y2-y))
s10=s1+s2     $ сумма расстояний в s10
s10 < s99 ? s99=s10   $ сравнение и выбор
otrezok: p101=p93  p102=x, s10 $ график s10(x)строится отрезками
p93=p102   $ конец отрезка в начало следующего
rekurg: s=s+0.1    $ рекурсия МК идет на свое начало

Ответы на вопросы. Метод ЗПП в начертательной геометрии это когда две взаимно-перпендикулярные плоскости заменяются на две другие взаимно перпендикулярные так, чтобы одно плоскость оставалась общей а другая бы-ла задана произвольно, но перпендикулярно ей. Таким способом мож-но прямую ОП преобразовать в точку, а треугольник в вырожденную прямую линии. Такие преобразования позволяют решать задачи непосредственно.
Данные в системе “Вектор” формируются в отдельной МК. Перед списком данных ставится двоеточие. Цикл формируется рекурсивно (вызов МК самой себя) с условием выхода, например, при достижении s больше 1.0 то выход, s увеличивается приращением s=s+0.1. Задание чисел: вещественных - s-s199, це-лых - n-n199 и типа точка - p1-p199. Сравнение и выбор операцией: s1 < s99 ? s99=s1 - что означает: если s1 меньше значения в эталоне s99, то в эталон кладем s1. Минимальное число (расстояние) на выходе из МК будет лежать в регистре s99.
 


Зачетно-экзаменационный билет № 4

1. Алгоритмизация. На основе известного из аналитической геомет-рии уравнения прямой (x-x1)/(x2-x1)=(y-y1)/(y2-y1), проходящей через две точ-ки р1,р2 определить явную зависимость y=f(x) причем так, чтобы y1 и y2 были отдельными членами уравнения с сомножителями (весами) при них. Напи-сать МК расчета точек по полученной формуле. Составить МК расчета точек по этой функции.

2. Задача линейного программирования. Изобразить область огра-ничений заданную уравнениями:
x1,y1 > 10.
x2, < 80;   y2<50.
Показать в какой точке ЦФ F(x,y)=x+y -> max будет максимальной.
Как решается задача линейного программирования графически и в системе “Вектор”. Написать МК вычисления  ЦФ f(x,y)=x+y, если из-вестно что он обеспечивается координатами одной из вершин (р1=10.,10. p2=80.,10. p3=10.,50. p4=80.,50.)

Ответить: Как ставятся задачи линейного программирования? В чем отличия линейного от нелинейного программирования. Что такое метод ЗПП в начертательной геометрии? Как формируются данные, цикл в системе “Вектор”? Что такое рекурсия? Какие регистры используются для вещественных, целых и типа точка данных. Как происходит сравнение и выбор? В каком регистре находится минимум?
 

Ответы по билету № 4

1. Уравнение прямой через две точки преобразуем в следующем порядке:
(x-x1)/(x2-x1)=(y-y1)/(y2-y1)
y-y1=(x-x1)/(x2-x1)*(y2-y1)
y = y1+ (x-x1)/(x2-x1)*(y2-y1)
y = (1.-(х-х1)/(x2-x1))*y1+ ((х-х1)/(x2-x1))*y2
или
y=(1.-s)*y1+ s*y2
где
s =(х-х1)/(x2-x1)
MК расчета точек
<tprim.mac>
y = (1.-(х-х1)/(x2-x1))*y1+ ((х-х1)/(x2-x1))*y2
Обращение:
tprim: p1=<координаты 1 точки> p2 = < координаты 2 точки >     x=<значение аргумента>.
На выходе из МК будем иметь значение функции y

2. В системе координат изображаем
область ограничения, заданную
уравнениями:
x1,y1 > 10.
x2 < 80.   y2<50
Максимум ЦФ х+у будет в точке
с координатами (80,50)
Известно что оптимальным решением задачи линейного программирования будет одна из вершин (ребро, грань) области ограничений, подставляя координаты которой в уравнение ЦФ будем иметь ее max или min. Графически вершиной оптимального решений будет ближайшая или самая удаленная вершина (области ограничения) к ЦФ (для ее задания ЦФ за-дают с произвольными ее значением). ЦФ будет при этом иметь геометрический образ - прямой линии на плоскости, плоскости (гиперплоскости) в других измерениях.
В системе “Вектор” задачу можно решить:
1) перебором точек по контуру (ребрам, граням) ограничений и выбрать из них ту, которая обеспечит максимум ЦФ
2) перебором точек вершин области ограничений из выбрать из них ту, которая обеспечит максимум ЦФ
Заданы четыре точки (р1=10.,10. p2=80.,10. p3=10.,50. p4=80.,50.) с их коор-динатами. Требуется найти максимум ЦФ  F(x,y)=x+y.
Будем поочередно подставлять координаты точек в ЦФ и большее класть в s99. На языке “Калькулятор” системы “Вектор” это будет так:
x1+y1 > s99 ? s99 = x1+y1  (F=      )
x2+y2 > s99 ? s99 = x2+y2  (F=      )
x3+y3 > s99 ? s99 = x3+y3  (F=      )
x4+y4 > s99 ? s99 = x4+y4  (F=      )

В более общем случае нужно организовать цикл, например
<test.mac>
n > 4 ? exit
xn+yn > s99 ? s99 = xn+yn
test: n=n+1

MK test.mac имеет рекурсивный принцип ее организации - вызов самой себя до тех пор пока n  не станет больше 4.
 


Зачетно-экзаменационный билет № 5

1. Алгоритмизация. На числовой оси заданы числа от 40 до 150. На-писать алгоритм их перебора. Составить МК вычисления значений чисел таким образом, что эти числа должны быть абсциссой центра окружностей у которой ордината центра равна 70.0, а радиус равен 7. Определить середину диапазона.

2. Задачи линейного программирования. Изобразить область ог-раничений заданную уравнениями:
x,y > 0.
x+y < 50
Показать в какой точке ЦФ: F(x,y)=x+2y -> max будет максимальной.
Как решается задача линейного программирования графически и в системе “Вектор”.

Ответить: Как ставятся задачи линейного программирования? В чем отличия линейного от нелинейного программирования. Что такое метод ЗПП в начертательной геометрии? Как формируются данные, цикл в сис-теме “Вектор”? Что такое рекурсия? Какие регистры используются для вещественных, целых и типа точка данных. Как происходит сравнение и выбор? В каком регистре находится минимум?

Ответы по билету № 5

На числовой оси заданы вещественные числа от 40 до 150. Написать алгоритм значений вещественных чисел в заданном диапазоне.
Пусть s101 - регистр в котором лежит начальное число, в регистре s102 конечное число. Требуется задать веса при первом и последнем числе, которые бы обеспечивали эти условия. Самый простой вариант по линейному закону:
s=(1.-s)*s101+s*s102,
где s меняется от нуля до единицы.
Составим МК перебора чисел на числовой оси.
МК можно сформировать так

<date.mac>
: s101=40.  s102=150.
cikl: s=0.0

<cikl.mac>
s > 1.  ?  exit
s1 = (1.-s)*s101+s*s102
$ изображаем вычисляемое число с помощью МК <okr.mac> в которой входным параметрами являются центр (в р105) и радиус (в s100)
okr: p105=s1, 70.0  s100=7.0
cikl: s=s+0.1

При данном шаге (0.1) МК переберет 10 чисел. Чтобы увеличить количество перебираемых чисел, надо уменьшить шаг, например: s=s+0.01.
Середины диапазона определяется: (s1+s2)/2. = (80.+150.)/2. = 115.

2. В задачи линейного программирования изображаем область ог-раничения, заданную уравнениями:
x,y > 0.
x+y <50   (3)
x/50+y/50=1 уравнение (3) в отрезках
На рис. изображена область ограничения и ЦФ (F=x+2y=140)
x/140+y/70 =1
Максимум ЦФ х+2у будет в точке с координатами p2(0,50) и равно 100. Вычислим значения ЦФ в других точках p1(50,0) F=50, p(0.0) - F=0. или на ребре p3(х=25, y=25) - F=x+2y=25+2*25=75. Т.е. меньше чем в точке p2(0.50).
Известно что оптимальным решением задачи линейного программиро-вания будет одна из вершин (ребро, грань) области ограничений, подставляя координаты которой в уравнение ЦФ будем иметь ее max или min. Графически вершиной оптимального решений будет ближайшая или самая удаленная вершина (области ограничения) к ЦФ (для ее задания ЦФ задают с произвольными ее значением). ЦФ будет при этом иметь геометрический образ - прямой линии на плоскости, плоскости (гиперплоскости) в других измерениях.
В системе “Вектор” задачу можно решить:
1) перебором точек по контуру ограничений и выбрать из них ту, которая обеспечит максимум ЦФ
2) перебором точек вершин области ограничений из выбрать из них ту, которая обеспечит максимум ЦФ.
В задаче зафиксированы 4 точки: р0(0.,0.); p1(50.,0.); p2(0.,50.) p3(25.,25.). Определить в какой точке будет максимум ЦФ: F=x+2y

(x0+2.*y0) > s99 ? s99= (x0+2.*y0
(x1+2.*y1) > s99 ? s99= (x1+2.*y1)
(x2+2.*y2) > s99 ? s99= (x2+2.*y2)
(x3+2.*y3) > s99 ? s99= (x3+2.*y3)
В итоге максимум ЦФ будет в s99 и равен 100.
Решение задачи можно организовать через задание данных и цикл (рекурсию). (0 < n < 3)
<cikl.mac>
n > 3 ? exit
xn+2.0*yn > s99 ? s99= xn+2.0*yn
cikl: n=n+1


Зачетно-экзаменационный билет № 6

1. Алгоритмизация. Перебор вещественных чисел от s1 до s2 можно выполнить по формуле s100=(1.-s)*s1+s*s1 (s меняется от нуля до единицы). Можно ли написать алгоритм перебора точек (векторов) между точками р1 и р2? Если можно, то как? Написать МК вычисления точек. Найти середину отрезка p1-p2, при р1=30.,50.,60.0 р2=170.,130.,180.

2. Задача линейного программирования.
Найти
F(x,y)=x+y+2z -> max
При ограничениях
x,y,z > 0.
x+y+z < 50
В какой точке (каких координатах) ЦФ будет иметь максимум? Как решается задача линейного программирования графически и в системе “Вектор”.

Ответить: Как ставятся задачи линейного программирования? В чем отличия линейного от нелинейного программирования. Что такое метод ЗПП в начертательной геометрии? Как формируются данные, цикл в сис-теме “Вектор”? Что такое рекурсия? Какие регистры используются для вещественных, целых и типа точка данных. Как происходит сравнение и выбор? В каком регистре находится минимум?

Ответы по билету № 6

Вектор - это две, три и более компоненты, которые являются вещественными числами.
Если для вещественных чисел выполнимо условие
s100=(1.-s)*s1+ s*s1 (s меняется от нуля до единицы), то значит и для компонентов x,y,z вектора p будет выполнимо это условие:
x=(1.-s)*x1+ s*х2
y=(1.-s)*y1+ s*y2
z=(1.-s)*z1+ s*z2
или в векторной форме
p=(1.-s)*p1+ s*p2     (1)
На языке “Калькулятор” вычисление точек на прямой р1-р2 можно выполнять непосредственно в векторной форме (1)
<test.mac>
p=(1.-s)*p1+s*p2
При обращении к МК test.mac нужно передать значения точек р1, р2 и параметра s, например:
test: p1=30.,50., 60.; р2=170.,130.,180.0   s=0.3
На выходе (после работы МК) в оперативной памяти будет находится значение точки р и соответственно ее составляющих x,y,z. Чтобы найти середину отрезка р1-р2, необходимо  s задать равным 0.5.

2. Задача линейного программирования.
Известно что оптимальным решением задачи линейного программирования будет одна из вершин (ребро, грань) области ограничений, подставляя координаты которой в уравнение ЦФ будем иметь ее max или min. Графически вершиной оптимального решений будет ближайшая или самая удаленная вершина (области ограничения) к ЦФ (для ее задания ЦФ приравнивают произвольно какому-либо числу. ЦФ будет при этом иметь геометрический образ - прямой линии на плоскости, плоскости (гипер-плоскости) в других измерениях.
Задана ЦФ:
F(x,y)=2x+y+z -> max
и ограничения:
x,y,z > 0.; x+y+z < 50
Ограничения - многогранник, ограниченный плоскостями: x=0., y=0., z=0., x/50.+y/50.+z/50.=1. Первых три - координатные плоскости, а четвертая - общего положения, отсекаемая по осям отрезки равные 50.

Графическое решение задачи заключается в изображении области ограничений (многогранник) и ЦФ (плоскость p11-p12-p13) 2x+y+z при ее задание какому-нибудь значению, например: 2x+y+z=200, преобразованию полученного уравнения в уравнение в отрезках x/100+y/200+z/200=1, изображению его в координатной системе координат и преобразованию в проецирующее положение. Ближайшая (или наиболее удаленная) вершина многогранника (ее координаты) дадут макс/мин ЦФ.
В системе “Вектор” задачу можно решить: перебором точек вершин области ограничений, и выбрать из них ту, которая обеспечит максимум ЦФ. В задаче такими точками-вершинами области ограничений будут: р0=0.,0.,0. p1=50.,0.,0. р2=0.,50.,0. р3=0.,0.,50.
2x+y+z -> max
Последовательно, подставляя координаты вершин области ограничения,  вычисляем ЦФ, сравнивая с эталоном в s99.
(2*x0+y0+z0) > s99 ? s99= (2*x0+y0+z0) (F=0)
(2*x1+y1+z1) > s99 ? s99= (2*x1+y1+z1) (F=100)
(2*x2+y2+z2) > s99 ? s99= (2*x2+y2+z2) (F=50)
(2*x3+y3+z3) > s99 ? s99= (2*x3+y3+z3) (F=50)
В итоге максимум будет лежать в s99 (в точке р1) и равен 100.


Зачетно-экзаменационный билет № 7

1. Алгоритмизация. Пусть известен перебор точек p на отрезке p1-p2 p=(1.-s)*p1+s*p2. Написать формулу (серию формул) перебора точек в плоскости треугольника p11-p12-p13. Создать МК структуризации точек в плоскости.

2. Задача на оптимизацию. Найти наикратчайшее расстояние от начала системы координат до прямой р1-р2. Дать решение методами начертательной геометрии (методом замены плоскостей проекции) и в системе “Вектор”.

Ответить: Как ставятся оптимизационные задачи? Что такое метод ЗПП в начертательной геометрии? Как формируются данные, цикл в системе “Вектор”? Что такое рекурсия? Какие регистры используются для вещественных, целых и типа точка данных. Как происходит сравнение и выбор? В каком регистре находится минимум?
 

Ответы по билету № 7

Структуризация точек в плоскости задача двумерная (двухцикловая). На верхнем уровне перебираем линии p1-p2, и тут же в другом цикле в каждой линии точки p, например:
p1=(1-s1)*p11+s1*p13
p2=(1-s1)*p12+s1*p13
p=(1-s2)*p1+s2*p2

При написании МК расчета точек в треугольник р11-р12-р13 воспользуемся векторным ее представлением и 2-x цикловой организацией МК.
<datetp.mac>
: p11=50.,0.,0. p12=0.,50.,0.0  p13=0.,0.,50.0
rekur1: s1=0.0 s2=0.0  $  обращение к 1-му циклу-рекурсии

<rekur1.mac>
s1 > 1.0 ? exit   $ условие выхода из 1-го цикла-рекурсии
p1=(1-s1)*p11+s1*p13 $ вычисление точек на ребре р11-р13
p2=(1-s1)*p12+s1*p13 $ вычисление точек на ребре р12-р13
otrezok: p101=p1 p102=p2 $ строим отрезки р1-р2
rekur2: s2=0.0   $ обращение ко 2-му циклу
rekur1: s1=s1+0.1  $ МК идет на себя с увеличением s1 на 0.1 (шаг)

<rekur2.mac>
s1 > 1.0 ? exit   $ условие выхода из 2-го цикла-рекурсии
p=(1-s1)*p1+s1*p2  $ вычисление точек р на линиях р12-р13
okr: p100=p s100=5.0 $ точки изображаем окужностями
rekur2: s2=s2+0.1  $ МК идет на себя с увеличением s2 на 0.1

2. В задача на оптимизацию найти минимум расстояния от нача-ла системы координат до прямой, изобразим задаваемые образы на комплексном чертеже. Прямая является прямой общего положения ОП. Двойной ЗПП преобразуем прямую в проецирующее положение. На новой плоскости расстояние (перпендикуляр) от начала системы (новой) до прямой и будет искомым.
 
 
 В системе “Вектор” задачу можно решить методом перебора, сравнения и выбора. Перебирая возможные расстояния от начала координат до все-возможных точек на прямой, можно выбрать наикратчайшее. Перебор точек на прямой можно осуществить:
 p=(1.-s)*p1+s*p2
 Расстояние определяется
 s1=$sqrt((x2-x1)*(x2-x1)+ (y2-y1)*(y2-y1)+ (z2-z1)*(z2-z1))
 Организация перебора через рекурсивный цикл
 <datesk.mac>
 : p1=<x1,y1,z1.> p1=<x2,y2,z2  - задаем начала и конец отреза
 : p10 =0.,0.,0.   - начала координат
 rekur: s=0.0 s99=10000.0
 <rekur.mac>
 s > 1.0 ? exit   $  условие выхода из цикла-рекурсии
 p=(1.-s)*p1+s*p2  $ вычисление точек на прямой р1-р2
otrezok : p101=p10 p102=p $ отрезки р10-р и их длины s1 (см ниже)
 s1=$sqrt((x-x10)*(x-x10)+ (y-y10)*(y-y10)+ (z-z10)*(z-z10))
 s1 < s99 ? s99=s1 $  сравнение и выбор s1 минимальное (в s99)
otrezok: p101=p3 p102=х,s1  $ график ЦФ (длины s1 от х на прямой)
n50=s99*10000.  $ перевод s99 в целое
n50 <> s99min ? exit  $ сравнение и выход при s99min
 rekur: s=s+0.1   $ обращение МК на себя
 


Зачетно-экзаменационный билет № 8

1. Алгоритмизация. Найти геометрическое место точек р (кардиоиды), при условии, что для любого луча, выходящего из начала системы координат отрезки после пересечения с окружностью равны диаметру окружности или тоже самое, справедливо равенство 1-2=3-4=……2R. Написать задание кардиоиды на языке “Калькулятор” и операций системы “Вектор”

2. Оптимизация. Определить расстояние от точки р1 до сферы (R=50) с цен-тром в начале координат тремя способами: в векторной форме,  графически - на комплексном чертеже и на языке “Калькулятор”.

Ответить: Как ставятся оптимизационные задачи? Что такое метод ЗПП в начертательной геометрии? Как формируются данные, цикл в системе “Вектор”? Что такое рекурсия? Какие регистры используются для вещественных, целых и типа точка данных. Как происходит сравнение и выбор? В каком регистре находится минимум?

Ответы по билету № 8

Задана окружность.
Из начала горизонтального диаметра (т. р0) вы-ходят лучи длина которых равна отрезку до пересечения с окружностью плюс 2R от этой самой окружности. Пусть точка на окружности р1. Тогда будет выполняться условие |p-p1|=2r. Однако проще решить задачу через направление (единичный вектор).
p= (|p1|+2*s2)*р99,
где p99=p1/|p1|  - единичный вектор
В свою очередь р1 определяется на окружности, которая слева.
После ряда преобразований получим известное параметрическое уравнение кардиоиды (см. Бронштейна , Семендяева стр.179) вида:
x=a*cos t*(1.+cos t)
y=a*sin t*(1.+cos t)
где а=R - радиус кардиоиды, t - угловой параметр (0<t<2?)
В случае 1-2,3-4, равны не 2R, а другой величине, получим улитку Паскаля (см. там же у Бронштейна).
На языке “Калькулятор” задача моделируется через цикл в котором кри-вая строится отрезками прямых (МК otrezok) - текущая точка соединяется с предыдущей.
<rekurk.mac>
s > 6.14  ? exit
s1=50.0     $ радиус кардиоиды
x=s1*cos*(s)*(1.+cos(s)) $ вычисление точек на кардиоиде
y=s1*$sin (s)*(1.+cos(s)) $ s1 - радиус, s  угол в радианах
otrezok: p101=p3 p102=p    $ построение кардиоиды отрезками
p3=p102    $ конец отрезка в начало следующего
rekurk: s=s+0.1

2. Расстояние от точки р1 до сферы можно сформулировать как задачу на оптимизацию - найти минимум ЦФ зависимости расстояний от точек на сфере. Изобразим поставленные условия (окружность и точку р) задачу на комплексном чертеже. Проекция окружности (ее очерков) на горизонтальной и фронтальной проекциях. Расстояние от точки до сферы определяется перпендикуляром опущенным из точки на сферы или тоже самое тоже самое отрезком проведенным в направлении центра окружности (проекций) до пересечения со сферой. Задача решается непосредственно на чертеже, если перпендикуляр бы оказался параллелен плоскости проекций. Заменой плоскостей проекций добиваемся этого. Искомая точка определятся на новой плоскости непосредственно в пересечения очерка и отрезка. Обратным проецированием определим проекции точки пересечения на коор-динатных плоскостях xy и xz.
 
Аналитически расстояние от точки до сферы определяется модулем, который должен быть минимальным (стремиться к минимуму).
 s=|p1-p| -> min
 где р1 - заданная точка; р - точка на сфере определяется из уравнения сферы параметрического вида:
 x=R*sin(u)*cos(v)
 y=R*sin(u)*sin(v)
 z=R*cos(u)
На языке “Калькулятор” вместо u, v  используем s1 и s2, а  R - s10
<dates.mac>
print$on
: p1=100.,100.,100.0 s10=50.
rekurs1: s1=0.0 s2=0.0 s99=1000.
<rekurs1.mac>
s1 > 6.28 ? exit
rekurs2: s2=0.0
rekurs1: s1=s1+0.9
<rekurs2.mac>
s2 > 6.28 ? exit   $ условие выхода из рекурсии
x=s10*$sin(s1)*cos(s2) $ вычисление точек на сфере (абсциссы)
y=s10*$sin(s1)*$sin(s2) $ вычисление точек на сфере (ординаты)
z=s10*cos(s1)   $ вычисление точек на сфере (аппликаты)
otrezok : p101=p1 p102=p $ строим отрезки р-р1
s11=$sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1)+(z-z1)*(z-z1))
s11 < s99 ? s99=s11   $ сравнить и выбрать s11 минимальное
otrezok: p101=p3 p102=s1,s11 $ график ЦФ (длины s11 от s1)
n50=s99*10000.  $ перевод в целое
n50 <> 1236068 ? exit $ сравнение и выход при s99min
rekurs2: s2=s2+0.9  p3=p102 $ обращение МК на себя
 


Зачетно-экзаменационный билет № 9

1.  Алгоритмизация. В трехмерном пространстве найти геометрическое место точек р равноудаленных от заданной р1. Решение задачи представить в векторной форме и на языке “Калькулятор”.

2. Оптимизация. Определить расстояние (р1-р) от прямой р11 (100., 100., 0.)-р12 (0.,0.,100. до сферу радиуса=50 и с центром в начале координат тремя способами в векторной, графически и на языке “Калькулятор”.

Ответить: Как ставятся оптимизационные задачи? Что такое метод ЗПП в начертательной геометрии? Как формируются данные, цикл в системе “Вектор”? Что такое рекурсия? Какие регистры используются для вещественных, целых и типа точка данных. Как происходит сравнение и выбор? В каком регистре находится минимум?
 

Ответы по билету № 9

1. Геометрическим местом точек p равноудаленных от p1 будет постоянст-во расстояния.
|p-p1|=const
Модуль (длина) определяется через компоненты вектора так:
s = sqrt((x-x1)*(x-x1)+ (y-y1)*(y-y1)+ (z-z1)*(z-z1))
Отсюда известное аналитическое уравнение сферы:
x2+y2+z2=s2=R2
 В практике решения задач нужен алгоритм перебора точек на сфере.  Для этих целей удобнее параметрическое ее представление.
 x=x1+R*sin u cos v
 y=y1+R*sin u sin v
 z=z1+R cos u,
 где u,v переменные изменяющиеся от 0 до 2?.
На языке “Калькулятор” такой перебор возможен с помощью 2-х циклов (см. rekur1.mac, rekur2.mac, во второй задаче).

2.  В оптимизационной задаче определить расстояние от прямой р11 р12 до сферу радиуса=50 и с центром в начале системы координат  изобра-зим поставленные условия (сферу и прямую р11-р12) на комплексном чертеже. Проекции сферы (ее очерков) на горизонтальной и фронтальной проекциях совпадут. Искомое расстояние лежит на перпендикуляре, проведенном из центра сферы к прямой. Точки пересечения со сферой и прямой р11-р12 определят искомый отрезок. Задача решается непосредственно на чертеже, если прямая перпендикулярна плоскости проекций. Если не перпендикулярна, то используя метод ЗПП можно прямую привести к такому условию (см. рисунок).
 Искомый перпендикуляр будет определятся прямой, проведенной из центра окружности к вырожденной проекции отрезка, а искомый отрезок - от вырожденной проекции до пересечении с очерком сферы.
 Аналитически расстояние от прямой до сферы определяется модулем, который должен быть минимальным (стремиться к минимуму).
 s11=|p1-p| -> min
 где р1 - точка на отрезке прямой:
 p1=(1.-s)*p11+s*p12,
 р - точка на сфере, вычисляемая, например, параметрически:
 x=R*sin(s1)*cos(s2)
 y=R*sin(s1)*sin(s2)
 z=R*cos(s1)
При написании МК расчета расстояний от точек на прямой до точек на сфере используем численно-оптимизационный подход. Организуем вычисления расстояний от всевозможных точек на прямой р1 до всех возможных точек p на сфере и выбор наименьшего расстояния. Организуем перебор точек на прямой и точек на сфере: в направлении изменения параметра s1 (по параллелям) и затем в направлении меридиан - изменения па-раметра s2.
<datesp.mac>
: p11=100.,100.,0. р12=0.,0.,100. s10=50.
rekur: s=0. s1=0.0 s2=0.0 s99=1000.
<rekur.mac>
s > 1.0 ? exit
p1=(1.-s)*p11+s*p12
rekur1: s2=0.0
rekur: s=s+0.1
<rekur1.mac>
s1 > 6.28 ? exit
rekur2: s2=0.0
rekur1: s1=s1+0.1
<rekur2.mac>
s2 > 6.28 ? exit
x=s10*$sin(s1)*cos(s2) $ вычисление точек на сфере (абсциссы)
y=s10*$sin(s1)*$sin(s2) $ вычисление точек на сфере (ординаты)
 z=s10*cos(s1)   $ вычисление точек на сфере (аппликаты)
s5=$sqrt((x1-x)*(x1-x)+ (y1-y)*(y1-y)+ (z1-z)*(z1-z))
s5 < s99 ? s99=s5  $  сравнить и выбрать
otrezok: p101=p3 p102=s1,s5   $ график ЦФ (длины s5 от s1)
n50=s99*10000.  $ перевод s99 в целое
n50 <> s99min ? exit  $ сравнение и выход при s99 = s99min
rekurs2: s2=s2+0.5 p3=p102 $ обращение МК на себя
 


Зачетно-экзаменационный билет № 10

1.  Алгоритмизация. Определить векторно-параметрический закон дви-жения точки от р1 к р2. Решение задачи представить в векторной форме и на языке “Калькулятор”.

2. Задачи линейного программирования.
Найти максимум ЦФ.
F(x,y,z)= x+y+2z -> max
При ограничениях заданной выпуклым многогранником (симплек-сом) - треугольной пирамидой p1-p2-p3-p4.
Координаты вершин пирамиды произвольные, но так чтобы вершина пирамиды не лежала в плоскости основания, например:
:p1=60.,10.,12.0 p2= 40., 35., 5.0 p3=27.,15.,16.0 p4=45.,20.,35.
Задачу решить графически и в системе “Вектор”. Вычислить максимум ЦФ. В какой точке будем максимум?
Ответить: Ответить что такое метод ЗПП в начертательной геометрии? Как формируются данные, цикл в системе “Вектор”? Что такое рекурсия? Какие регистры используются для вещественных, целых и типа точка данных. Как про-исходит сравнение и выбор? В каком регистре находится минимум?
 

Ответы по билету № 10

1. Векторно-параметрический закон движения точки от заданной точки р1 по направлению к р2 можно задать как движение точки по направлению единичного вектора умноженного на изменяющееся расстояние (параметр) от нуля до длины, например, вектора |p2-p1|.
p=p1+p99*s  0.0 < s < |p2-p1|,
где:
р99=(p2-p1)/|p2-p1|
|p2-p1|=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1) +(z2-z1)*(z2-z1))
Написание МК перемещения точки от заданной по направлению единич-ного вектора в зависимости расстояния от начала вытекает из векторно-параметрического определения
p=p1+s*p99*  0.0 < s < |p2-p1|
где
р99=(p2-p1)/|p2-p1|
Ниже составлены МК перемещения точки в направлении единичного вектора. Единичный вектор вычислен в МК date.mac и длина s90 отрезка - до которой изменяется параметр s

<datevec.mac>
: p1=30.0,40.0, 50.0  р2=100.,100.,200.
otrezok: p101=p1 p102=p2
s90=sqrt((x2-x1)*(x2-x1)+ (y2-y1)*(y2-y1)+ (z2-z1)*(z2-z1))
p99=(p2-p1)/s90  $ вычисляем единичный вектор направления
rekurvec:    $ идем на цикл

<rekurvec.mac>
s > s90 ? exit  $ условие выхода
p=p1+s90*p99  $ вычисление точек р
okr : p100=p s100=10.0 $ точки изображаем окружностями
rekurvec: s=s+5.0  $ рекурсия на себя
2.  Задачи линейного программирования легко моделируются графически. Значения ЦФ можно приравнять какому-нибудь числу: F=20. От-сюда: x+2y+2z=20.
 Перезададим данное уравнение уравнением плоскости в отрезках: x/20+y/10+z/10=1  (на чертеже это будет плоскость р11-р12-р13)
 
Изобразим ЦФ и многогранник ограничений на чертеже.
 
 Графическое решение задач линейного программирования заключается в преобразовании ЦФ (плоскости) в проецирующее положения и та вершина многогранника ограничений, находящегося по ту или иную сторону от вырожденной проекции ЦФ (плоскости), будет ближе или дальше от вырожденной проекции ЦФ, даст координаты максимума или минимума ЦФ.
 Численный подход можно осуществить перебором и подстановкой в расчет ЦФ координат всех вершин многогранника. Сравнивая значения ЦФ при каждом расчете так, чтобы большее заносилось в какой-то регистр (s99) в итоге получим максимальное
 x1+y1+2.0*z1 > s99 ? s99= x1+y1+2.0*z1 (F=94)
 x2+y2+2.0*z2 > s99 ? s99= x1+y2+2.0*z2 (F=85)
 x3+y3+2.0*z3 > s99 ? s99= x3+y3+2.0*z3 (F=84)
 x4+y4+2.0*z4 > s99 ? s99= x4+y4+2.0*z4 (F=135)
 В итоге в s99 будет значение ЦФ максимальным.
Решение задачи в системе “Вектор” можно организовать через две МК: задание данных и цикл (рекурсию) (см. ниже).
<cikl.mac>
n > 4 ? exit
 xn+yn+2.0*zn > s99 ? s99= xn+yn+2.0*zn
cikl: n=n+1


Зачетно-экзаменационный билет № 11

1.  Алгоритмизация. Определить параметрический закон движения точки p от заданной точки р1 по направлению, определяемому углом s. Написать МК такого перемещения.

2.  Оптимизация. Найти наикратчайшее расстояние между двумя скрещивающимися прямыми р11-р12 и р21-р22. Задачу решить графически (методом ЗПП) и методом векторно-графической оптимизации.
Координаты координат точек произвольные, например следующие:
: p1= 10.,10.,5.0 p2= 40., 50., 7.0 p3=50.,70.,4.0 p4=15.,25.,95.

Ответить: Как ставятся оптимизационные задачи? Что такое метод ЗПП в начертательной геометрии? Как формируются данные, цикл в системе “Вектор”? Что такое рекурсия? Какие регистры используются для вещественных, целых и типа точка данных. Как происходит сравнение и выбор? В каком регистре находится минимум?
 

Ответы по билету № 11

1.  Уравнение прямой проходящей через точку p1 в заданном направление известно из аналитической геометрии и задается в явном виде
 y=y1+k*(x-x1),
 где к - угловой коэффициент (k=tg s (s - угол между осью х и прямой)
 Откуда:
 y=y1+(x-x1)*tg s
где:
s  - величина постоянная,
х - независимая переменная
y - зависимая переменная
На языке “Калькулятор” задача решается:

<date.mac>
p1=10.0, 25.0
rekur: s=3.14/5.  p3=p1

<rekur.mac>
x > 200. ? exit
y= y1+(x-x1)*atan(s)
okr: p100=p s100=3.0
rekur: х=х+10.0

2.  Наикратчайшим расстоянием между двумя скрещивающимися прямыми будет отрезок наименьшей длины, т.е. нужно поставить цель: найти такой отрезок, который был бы наименьшей длины.
s=|p1-p2} -> min

Из начертательной геометрии известно, что к двум скрещивающимся прямым можно провести перпендикуляр, который также определит минимальное расстояние. Изобразим две скрещивающиеся прямые на комплексном чертеже. Методом замены плоскостей проекций преобразуем (двойной заменой) одну из прямых в проецирующее положение. Перпендикуляр из точки - вырожденной проекции прямой р11-р12, проведенный на проекцию второй пря-мой и будет искомым.
Решение задачи в вычислительном процессе можно осуществить поиском минимального расстояния между одной и другой прямой из совокуп-ности возможных.
Их длины определяются s=|p1-p2|, где
p1=(1-s1)*p11+s1*p12
p2=(1-s2)*p21+s2*p22
0. < s1,s2 < 1.

Написание МК поиска минимального расстояния между двумя скрещивающимися прямыми можно выполнить в два рекурсивных цикла.
<date.mac>
: p11=80.0,5.0, 15.0  р12=35.,45.,35.
: p21=60.0,35.0, 5.0  р22=15.,25.,25.
rekur1:  s1=0.0 s2=0.0  s99=1000.0

<rekur1.mac>
s1 > 1.0 ? exit
p1=(1-s1)*p11+s1*p12
rekur2: s2=0.
rekur1: s1=s1+0.1

<rekur1.mac>
s2 > 1.0 ? exit
p2=(1.-s2)*p21+s2*p22
otrezok: p101=p1 p102=p2  $ всевозможные отрезки р1-р2
s5=$sqrt((x2-x1)*(x2-x1)+ (y2-y1)*(y2-y1)+ (z2-z1)*(z2-z1))
s5 < s99 ? s99 = s5   $ сравнить и выбрать s5min (в s99)
otrezok : p101=p91 p102=s2, s5      $ график ЦФ s5(s2)
n50=s99*1000.
n50 <>  s5min  ? exit   $ выход при достижении минимума
rekur2: s2=s2+0.1   p91=p102

При первой запуске МК минимум будет в s99. Перед вторым ставим условие: при достижении s5 минимального (в s99) работу макрокоманды закончить, что позволит узнать координаты искомого местоположения завода. При этом вещественное число, лежащее в s99 переводим в целое (n50)  с учетом знаков в s99 после запятой умножаем его на 1000. С учетом этого n50 сравниваем с этим целым числом.


Зачетно-экзаменационный билет № 12

1. Алгоритмизация. Два города р1 и р2 решили на линии (р11-р12) построить завод p по переработке отходов. Могут быть разные ситуации. Например, решили выбрать место постройки завода так, чтобы общие транспортные затраты были минимальными. Дать решение задачи на языке “Калькулятор”.

2.  Найти расстояние между двумя точками графически, в векторной и аналитической формах. Графически задачу решить методом ЗПП и методом прямоугольного треугольника.

Ответить: Как ставятся оптимизационные задачи? Что такое метод ЗПП в начертательной геометрии? Как формируются данные, цикл в системе “Вектор”? Что такое рекурсия? Какие регистры используются для вещественных, целых и типа точка данных. Как происходит сравнение и выбор? В каком регистре находится минимум?

Ответы по билету № 12
 
 Задача найти минимум затрат на перевозку сводится к задаче Герона: найти на прямой такую точку, до которой сумма расстояний от двух заданных была минимальной.
 В векторной форме так можно записать:
 |p-p1|+|p2-p| -> min (сумма расстояний стремиться к минимуму),
 где точку p можно выбрать по формуле
 p=(1.-s)*p11+s*p2.

Написание МК заключается в создании циклов, вычислении ЦФ  и сравнений вычисляемых значений.

<date.mac>
: p1=30.0,10.0   р2=210.,25.0  p11=10.0,30.0  р12=270.,130.
cikl:  s=0.0 s99=1000.0

<cik1.mac>
s > 1.0 ? exit
p=(1.0-s)*p11+s*p12
s1=$sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1))
s2=$sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2))
s3=s1+s2
s3 < s99 ? s99=s3
otrezok: p101=p91 p102=x,s3
р91=р102
n50=s99*1000.
n50 <>  s3min  ? exit $  выход при достижении минимума
cikl: s=s+0.1

При первой запуске МК минимум будет в s99. Перед вторым ставим условие при достижении s3 минимального (лежит в s99) работу макрокоманды закончить, что позволит узнать координаты искомого местоположения завода. При этом вещественное число, лежащее в s99 переводим в целое (n50)  с учетом знаков в s99 после запятой умножаем его на 1000. С учетом этого n50 сравниваем с этим целым числом.
 
2.  Изобразим отрезок прямой на комплексном чертеже. Методом замены плоскостей проекций двойной заменой преобразуем прямую ОП (общего положения) в прямую уровняю Новая плоскость (ее ось) будет расположена параллельно прямой.

Метод прямоугольного треугольника заключается на том что на одной из проекций прямой достраивается прямоугольный треугольник у которого иди катет непосредственно проекция прямой, а второй разность высот начала и конца отрезка, определяемая на фронтальной проекции.
В векторной форме длина отрезка определяется модулем:
s= |p2-p1|
Аналитически длина вычисляется корнем квадратный из суммы квадратов разницы координат начала и конца.
На языке “Калькулятор” корень квадратный вычисляется через базовую программу sqrt (перед МК и базовыми программами начинающих с букв s, x,y,z.p,n ставится знак доллара $ (без пробела до МК)).
s=$sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+ (z2-z1)*(z2-z1))
В системе “Вектор” в состоянии “Отрезок прямой” длина отрезка может быть определена строкой-командой, которая после ее отработки в регистр s191 поместит длину отрезка автоматически.  Там же определяется угол наклона отрезка прямой к горизонтальной оси, единичный вектор отрезка прямой (направление), точка на прямой в зависимости от s по формуле: p=(1.-s)*p1+s*p2
 


Зачетно-экзаменационный билет № 13

1.  Алгоритмизация. Два города р1 и р2 решили на линии (р11-р12) построить завод р по переработке отходов. Могут быть разные ситуации. На-пример, первый город стремиться построить завод ближе, второй как можно дальше. Требуется в векторной форме записать условие ее решений и дать алго-ритм решения. Дать решение задачи на языке “Калькулятор”.

2. Найти расстояние от точки p3 до горизонтальной прямой (р1-р2) в векторной и аналитической формах. Графически задачу решить с использованием теоремы о проецировании прямого угла и метода прямоугольного треугольника. Координаты координат точек произвольные, например следующие:  p1= 10.,10.,5.0   p2= 40., 50., 7.0

Ответить: Как ставятся оптимизационные задачи? Что такое метод ЗПП в начертательной геометрии? Как формируются данные, цикл в системе “Вектор”? Что такое рекурсия? Какие регистры используются для вещественных, целых и типа точка данных. Как происходит сравнение и выбор? В каком регистре находится минимум?

Ответы по билету № 13

 1.1. Задач является 2-критериальной: первый город стремиться построить завод ближе, второй как можно дальше.
 F={|p1-p|->max
 |p2-p| -> min}
 В том и другом случае критериями являются расстояния. Поэтому решение данной задачи можно свести к однокритериальной - перед |p2-p|  поставить знак минус:
 F={|p1-p| - |p2-p| -> min
 В этом случае задача сводится к однокритериальной. Однако критерии могут быть разнородными и их свести к одному не всегда возможно. В этом случае определяют зону Парето - область между частными ЦФ. Так что решение задачи основано на построении частных ЦФ ближайшего расположения завода для каждого города по отдельности. Отрезок между двумя найденными точками и определят зону Парето. Выбор оптимального решения принимается на основе соглашений.
Решение в системе “Вектор” заключается в организации циклов, вычислении частных ЦФ, сравнении вычисляемых значений, выборе min/max, определении искомых точек (положений завода для первого условия и второго), фиксации зоны Парето.
<date.mac>
: p1=30.0,10.0   р2=210.,25.0  p11=10.0,30.0  р12=270.,130.
cikl:  s=0.0 s99=1000.0
<cik1.mac>
s > 1.0 ? exit
p=(1.0-s)*p11+s*p12
$ Определяем минимум s1
s1=$sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1))
otrezok: p101=p91 p102=x,s1
р91=р102
s1 < s99 ? s99=s1
$ Определяем максимум s2
s2=$sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2))
s2 > s98 ? s98=s2
otrezok: p101=p92 p102=x,s2
р92=р102
n50=s99*1000.
n50 <>  (s1min или s2max)  ? exit $ выход при достижении минимума максимума, чтобы зафиксировать точки Парето
cikl: s=s+0.1  p3=p
При первой запуске МК минимум будет в s99, а максимум в s98. Перед вторым ставим условие при достижении s1 минимального (лежит в s99) работу макрокоманды закончить, что позволит узнать координаты искомо-го местоположения завода. При этом вещественное число, лежащее в s99 переводим в целое (n50)  с учетом знаков в s99 после запятой умножаем его на 1000. С учетом этого n50 сравниваем с этим целым числом. Аналогично надо сделать и для s2 максимального (s98). Зона Парето для данного случае будет отрезок р11-р1min.
 
 2. Расстояние от точки p3 до горизонтальной прямой (р1-р2) на комплексном чертеже определяется из теоремы о проецировании прямого угла. Прямой угол проецируется в н.в. (натуральную величины), если одна из сторон параллельна плоскости проекций. Горизонтальная прямая является такой стороной. Однако, построив такой отрезок, он еще не будет определять истинную величину. Можно было бы методом замены плоскостей проекций преобразовать прямую в проецирующее положение и найти искомое расстояние. Еще проще воспользоваться приемом прямоугольного треугольника у которого один катет проекция отрезка, второй разность высот (определяется на фронтальной проекции, а гипотенуза этого треугольника искомая величина. На этом основании длина отрезка по теореме Пифагора определяется и аналитически (на языке “Калькулятор”):
  s=sqrt((x2-x1)*(x2-x1)+ (y2-y1)*(y2-y1)+ (z2-z1)*(z2-z1))
 


Зачетно-экзаменационный билет № 14

1.  Алгоритмизация. Два города р1 и р2 решили на линии (р11-р12) построить завод по переработке отходов. Могут быть разные ситуации. На-пример, на одинаковом расстоянии. Требуется в векторной форме дать постановку задачи и ее решение. Дать решение задачи на языке “Калькулятор”.

2.  Найти расстояние между двумя точками графически, в векторной и аналитической формах. Графически задачу решить методом ЗПП и методом прямоугольного треугольника и на языке “Калькулятор”.

Ответить: Как ставятся оптимизационные задачи? Что такое метод ЗПП в начертательной геометрии? Как формируются данные, цикл в системе “Вектор”? Что такое рекурсия? Какие регистры используются для вещественных, целых и типа точка данных. Как происходит сравнение и выбор? В каком регистре находится минимум?
 

Ответы по билету № 14.

 Компромисс будет решен, если завод построить на одинаковом расстоянии от первого и второго городов.
 |p1-p| =|p2-p|
F = |p1-p| -|p2-p| = s1-s2 -> 0.
где:
s1= sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1))
s2= sqrt((x2-x)*(x2-x)+(y2-y)*(y2-y))
 p=(1.-s)*p1+s*p2
 при  0. < s <1.
 Решение основано на построении ЦФ в зависимости от переменной точки р, вычислению минимума ЦФ, нуль или близкого к нулю) и по не-му фиксирования искомой точки компромисса.
Решений задачи на языке “Калькулятор” заключается в организации задания исходных данных, организации цикла перебора точек на пря-мой, вычислении расстояний (s1,s2) до этих точек р, сравнении этих расстояний и как только эти расстояния совпали (или тоже самое как только их разность приблизилась к нулю) выйти из МК и зафиксировать текущую - искомую точку. Минимум ЦФ также покажет на искомую точку.

<date.mac>
: p1=30.0,10.0   р2=210.,25.0  p11=10.0,30.0  р12=270.,130.
cikl:  s=0.0 s99=1000.0

<cik1.mac>
s > 1.0 ? exit
p=(1.0-s)*p11+s*p12
s1=$sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1))
s2=$sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2))
s3=s1-s2
s3 < s99 ? s99=s3  $ сравнить и выбрать минимум s3 (в s99)
otrezok: p101=p91 p102=x,s3  $ строим график
р91=р102
n50=s99*1000.
n50 <>  s3min  ? exit $  выход при достижении минимума
cikl: s=s+0.1

При первой запуске МК минимум будет в s99. Перед вторым ставим условие: при достижении s3 минимального (в s99) работу макрокоманды закончить, что позволит узнать координаты искомого местоположения завода. При этом вещественное число, лежащее в s99 переводим в целое (n50)  с учетом знаков в s99 после запятой умножаем его на 1000. С учетом этого n50 сравниваем с этим целым числом.
 
2.  Изобразим отрезок прямой на комплексном чертеже. Методом замены плоскостей проекций преобразуем двойной заменой прямую ОП в прямую уровня (новая плоскость будет расположена параллельно прямой.

Метод прямоугольного треугольника заключается на том что на одной из проекций прямой достраивается прямоугольный треугольник у которого один катет будет непосредственно проекция прямой, а второй разность высот начала и конца отрезка, определяемая на фронтальной проекции.
В векторной форме длина отрезка определяется модулем: s= |p2-p1|
Аналитически длина вычисляется корнем квадратный из суммы квад-ратов разницы координат начала и конца.
На языке “Калькулятор” корень квадратный вычисляется через базовую про-грамму sqrt (перед МК и базовыми программами начинающих с букв s, x,y,z.p,n ставится знак доллара (без пробела)).
s=$sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+ (z2-z1)*(z2-z1))
 


Зачетно-экзаменационный билет № 15

1. Алгоритмизация. Три города р1, р2, р3 решили на линии (р1-р12) по-строить завод по переработке отходов. Могут быть разные ситуации. После споров решили построить завод, так чтобы общее расстоянии было минимальным. Требуется смоделировать (формализовать) ситуацию в векторной форме и дать алгоритм ее решения. Дать решение задачи на языке “Калькулятор”.

2.  Найти расстояние от точки р1 до цилиндра, расположенного горизонтально и параллельно фронтальной плоскости. Ось цилиндра задана точками р11-р12 Задачу решить графически. Радиус цилиндра равен 25.0. : p1= 50.,120.,140.0  p11= 140., 50., 50.0 p12= 140., 50., 50.0

Ответить: Как ставятся оптимизационные задачи? Что такое метод ЗПП в начертательной геометрии? Как формируются данные, цикл в системе “Вектор”? Что такое рекурсия? Какие регистры используются для вещественных, целых и типа точка данных. Как происходит сравнение и выбор? В каком регистре находится минимум?

Ответы по билету № 15

 1 Условие: найти min расстояние (s1+s2+s3) можно записать:
 F= |p1-p|+|p2-p|+|p3-p|-> min
 где
 р=(1.-s)*p11+s*p12
Решений задачи на языке “Калькулятор” заключается в организации задания исходных данных, организации цикла перебора точек на пря-мой, вычислении расстояний (s1,s2,s3) до точек (р), сравнении этих рас-стояний, построении ЦФ суммы расстояний, нахождении минимума этой ЦФ и фиксирования текущей - искомой точки. Минимум ЦФ и по-кажет искомую точку.

<date.mac>
print$on
: p1=60.0,10.0 p3=200.,15. p2=140.,45.
: p11=10.0,110.0  p12=270.,140.
otrezok: p101=p11 p102=p12
cikl:  s=0.0 s99=1000.0

<cik1.mac>
s > 1.0001 ? exit
p=(1.0-s)*p11+s*p12
s1=$sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1))
s2=$sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2))
s3=$sqrt((x-x3)*(x-x3)+(y-y3)*(y-y3))
s4=s1+s2+s3
s4 < s99 ? s99=s4   $ сравнить и выбрать s4мin (в s99)
otrezok: p101=p91 p102=x,s4  $ график ЦФ s4(x)
p91=p102        $ конец в начало следующего отрезка
n50=s99*1000.
n50 <> 342886 ? exit
cikl1: s=s+0.1
При первой запуске МК минимум будет в s99. Перед вторым ставим условие при достижении s4 минимального (в s99) работу макрокоманды за-кончить, что позволит узнать координаты искомого местоположения завода. При этом вещественное число, лежащее в s99 переводим в целое (n50) с учетом знаков в s99 после запятой умножаем его на 1000. С учетом этого n50 сравниваем с этим целым числом.

2.  Изобразим точку р1 и цилиндр на комплексном чертеже. Цилиндр расположен перпендикулярно профильной плоскости проекций, на кото-рой решение задачи очевидно - расстояние на отрезке (проведенном от заданной точки р3 в направлении центра окружности) от точки до пересечения с окружностью.
В векторной форме длина отрезка определяется модулем: s= |p-p1|
Аналитически:
s=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1)+(z-z1)*(z-z1)).
Чтобы решить задачу на языке “Калькулятор”, нужной найти минимум ЦФ:
s=|p1-p| -> min
где точку р (координаты x,y) цилиндра перебирать не на цилиндре, а на его вырожденной проекции - окружности на профильной проекции по форму-ле.
y=R*cos(t) + y11
z=R*sin(t) + z11
Организовав цикл и включив в него строку-команду: сравнить и выбрать |p1-p| < s99 ? s99 = |p1-p|, а также построения графика зависимости  расстояния от, например y, построим и график ЦФ, минимум которого даст значение минимума и укажет искомую точку.


Зачетно-экзаменационный билет № 16

1. Алгоритмизация. Три города р1, р2, р3 решили построить завод (p) по переработке отходов. Условие - завод можно строить внутри треугольника р1-р2-р3. Цели могут быть разные: общее расстояние минимально, на одинаковом расстоянии, кто-то хочет ближе, кто-то дальше и т.п. Требуется смоделировать (формализовать) возможные ситуации в векторной форме. Дать решение задачи на языке “Калькулятор”.

2. Определить длину отрезка в векторной форме, аналитически и на языке “Калькулятор”.

Ответить: Как ставятся оптимизационные задачи? Что такое метод ЗПП в начертательной геометрии? Как формируются данные, цикл в системе “Вектор”? Что такое рекурсия? Какие регистры используются для вещественных, целых и типа точка данных. Как происходит сравнение и выбор? В каком регистре находится минимум?
 

Ответы по билету № 16

 Условие на минимум суммы расстояний
 |p1-p|+|p2-p|+|p3-p| -> min
 Компромиссное условие можно записать:
 |p1-p|->|p2-p|->|p3-p|-> const
 Многокритериальное
 F = {|p1-p|->min
 |p2-p|-> min
 |p3-p|-> max}
 В первом случае задача обычная - стоится функция ЦФ минимум которой и даст искомое решение( минимум суммы расстояний и искомую точку р. Во втором случае графически означает надо построить три ЧЦФ (будет три плоскости) пересечение которых в одной точке определит искомую точку. В третьем случае также ищем ЧЦФ, которые определят точки Парето, в области которых решение (выбор местоположения) хоть и будет лучше, на все равно принимается на основе других критерий. Структуризация (перебор) точек в области треугольника осуществляется
 р91=(1.-s1)*p1+s*p3
 р92=(1.-s2)*p2+s*p3
 р=(1.-s2)*p91+s2*p92
Решений задачи на языке “Калькулятор” заключается в организации задания исходных данных, организации циклов перебора точек на пря-мой, вычислении расстояний (s1,s2,s3) до точек (р), сравнении этих расстояний или их суммы, построении ЦФ, нахождении минимума этой ЦФ и фиксирования текущей - искомой точки. Минимум ЦФ и покажет искомую точку.

<date.mac>
: p1=30.0,10.0 р2=240.,25.0, 40  р3=160.,150.
cikl:  s=0.0 s99=1000.0
<cik1.mac>
s1 > 1.0 ? exit
 р91=(1.-s1)*p1+s*p3
 р92=(1.-s2)*p2+s*p3
cikl2: s2=0.0
cikl: s1=s1+0.1
<cik12.mac>
s2 > 1.0 ? exit
p=(1.0-s2)*p91+s2*p92
s11=$sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1))
s12=$sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2))
s13=$sqrt((x-x3)*(x-x3)+(y-y3)*(y-y3))
s4=s11+s12+s13
s4 < s99 ? s99=s4
otrezok: p101=p91 p102=x,s4
n50=s99*1000.
n50 <>  s4min  ? exit $  выход при достижении минимума
cikl2: s2=s2+0.1 р91=р102
При первой запуске МК минимум будет в s99. Перед вторым ставим условие при достижении s4 минимального (в s99) работу макрокоманды закончить, что позволит узнать координаты искомого местоположения завода. При этом вещественное число, лежащее в s99 переводим в целое (n50)  с учетом знаков в s99 после запятой умножаем его на 1000. С учетом этого n50 сравниваем с этим целым числом.

2.  Н.в. отрезка является гипотенузой прямоугольного треугольника, у которого один катет проекция на горизонтальную плоскость, а другой разность высот. Из этого же определения длина отрезка определяется гипотенузой прямоугольного треугольника, к которого катеты разность широт и глубин для треугольника на горизонтальной плоскости и разность высот для прямоугольного треугольника в пространстве. Отсюда: s=|p2-p1|- векторная запись длины отрезка. Аналитически длина вычисляется корнем квадратный из суммы квадратов разницы координат начала и конца. На языке “Калькулятор” корень квадратный вычисляется через базовую программу sqrt (перед МК и базовыми программами начинающих с букв s, x,y,z.p,n ставится доллар (без пробела)).
s=$sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+ (z2-z1)*(z2-z1))
 


Зачетно-экзаменационный билет № 17

1. Алгоритмизация. Оптимизационные задачи, связанные со скоростью. По скошенному лугу (из т. р1) путник движется 6 км в час по нескошенному 4 км/час. Определить оптимальный путь из р1 в р2. Дать решение задачи на языке “Калькулятор”.

2. Определить натуральную величину треугольника двумя способами графически - методом ЗПП и на языке “Калькулятор”. Треугольник занимает горизонтально-проецирующее положение.

Ответить: Как ставятся оптимизационные задачи? Что такое метод ЗПП в начертательной геометрии? Как формируются данные, цикл в системе “Вектор”? Что такое рекурсия? Какие регистры используются для вещественных, целых и типа точка данных. Как происходит сравнение и выбор? В каком регистре находится минимум?
 

Ответы по билету № 17

 В задаче поиска движения путника по скошенному и не скошенному лугу требуется оптимизировать время.
 F=t1+t2-> min
 Скорость v движения объекта определяется расстояние деленное на время: s/t, откуда время t = s/v. Отсюда:
 F =s1/v1+s2/v2-> min   или
 F = |p1-p|/v1+|p2-p|/v2 -> min   (1)
 В (1) неизвестный параметр р, который можно определить:
 p=(1.-s)*p11+s*p2  ( 0. <s< 1.)

Решений задачи на языке “Калькулятор” заключается в организации задания исходных данных, цикла перебора точек на прямой p11-p12, вычислении расстояний (s1,s2) от р1 и  р2 до р, вычислении сумм затраченного времени, сравнении его и выбора минимального, построении гра-фика ЦФ  (F(p)), нахождении минимума этой ЦФ и фиксирования текущей - искомой точки p.

<date.mac>
: р1=50.,160 p2=200.0,10.0
: р11=50.0, 100.0  р21=200.0,100.0
: s1=7. s2=4.  $ скорость пешехода по скошенному и не скошенному лугам
cikl:  s=0.0 s99=1000.0

<сik1.mac>
s > 1.0 ? exit
p=(1.0-s)*p11+s*p21
s11=$sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1))
s12=$sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2))
s21= s1/s11     $   время затраченное по скошенному лугу
s22= s2/s12      $   время затраченное по нескошенному лугу
s5=s21+s22 $  разница затраченного времени
s5 < s99 ? s99=s5   $ сравнение и выбор
otrezok: p101=p90  p102=x, s5 $ построение графика s5(x)
p90=p102
n50=s99*1000.
n50 <>  s5min  ? exit $  выход при достижении минимума
cikl: s=s+0.1

При первой запуске МК минимум будет в s99. Перед вторым ставим условие при достижении s5 минимального (в s99) работу макрокоманды закончить, что позволит узнать координаты искомой точки p на границе скошенного и нескошенного луга. При этом вещественное число, лежащее в s99 переводим в целое (n50) с учетом знаков в s99 после запятой умножаем его на 1000. С учетом этого n50 сравниваем с этим целым числом

2.0.  На рисунке представлена горизонтально-проецирующая плоскость своей вырожденной проекцией.
Новая плоскость построенная параллельно вырожденной проекции даст возможность построить натуральную величину любой плоской фигуры лежащей в ней, в частности, искомого треугольника р1-р2-р3. Известно, что плоскость треугольника определяется корнем квадратным из произведения полупериметра треугольника на произведение разностей между полупериметром и длиной каждой стороны: s=sqrt((s10*(s10-s1)*(s10-s2)*(s10-s3)),
где: s10=(s1+s2+s3)/2.
Длина сторон при этом вычисляется:
s1=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+(z2-z1)*(z2-z1))
s2=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1)+(z3-z1)*(z3-z1))
s3=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3)+(z2-z3)*(z2-z3))
Вычисление на языке “Калькулятор” проводятся по тем же формулам, за исключением того, что перед sqrt (без пробела) ставится знак $ (см. описание языка “Калькулятор”).

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


Зачетно-экзаменационный билет № 18

1. Алгоритмизация. Задачи, связанные со скоростью. Судно р1 движется в направлении второго судна р2 (р2 идет в направлении р21). Р1 стремится идти так, чтобы встретится с р2 в какой-то точке р. Определить эту точку и соответственно направление движения судна р1. Скорость первого судна больше чем у второго, в противном случае оно может не догнать второе судно. Дать решение задачи на языке “Калькулятор”.

2. На примере с точкой объясните метод замены плоскостей проекций (ЗПП). В качестве примера преобразуйте методом ЗПП прямую общего положения (р1-р2) в проецирующую. Смоделируйте ситуацию на комплексном чертеже. Как определить длину отрезка аналитически и на языке “Калькулятор”.

Ответить: Как ставятся оптимизационные задачи? Что такое метод ЗПП в начертательной геометрии? Как формируются данные, цикл в системе “Вектор”? Что такое рекурсия? Какие регистры используются для вещественных, целых и типа точка данных. Как происходит сравнение и выбор? В каком регистре находится минимум?

Ответы по билету № 18

 В задаче 1 требуется так подобрать направление движения первого судна, чтобы через некоторое время оба судна (р1 и р2) оказались в одной точке р. На языке математике можно сказать, что время затраченное дли прохождения пути до точке встречи должно быть затрачено тем и другим судном одинаковое.
 t1=t2
 или их разность должна стремиться к нулю:
 F = t1-t2 -> 0.0
 Скорость v движения объекта определяется расстояние на время s/t, откуда время t = s/v.
 Распишем
 F=t1-t2=s1/v1-s2/v2 = |p1-p|/v1-|p2-p|/v2 -> min -> 0.
 Неизвестным является точка р, которую можно определить как:
 p=(1.-s)*p11+s*p12  при (0.<s<1.).
Решение: строится ЦФ (F=t1-t1, в зависимости от р или ее координаты х). Минимум ЦФ и даст искомое решение - точку р к которой должно двигаться судно р1.
Решение на языке “Калькулятор” заключается в организации задания исходных данных, организации цикла перебора точек на прямой p2-p21, вычислении расстояний (s1,s2) от р1 и р2 до р, вычислении затраченного времени, сравнении времен затрачиваемых судами, или то же самое поиска минимума разности затрачиваемых времен,  построении ЦФ, нахождении минимума этой ЦФ и фиксирования текущей - искомой точки.

<date.mac>
print$on
: p1=70.,10.0  p2=10.0,140.0  p21=260.0,100.0
: s1=14.0 s2=10.0
otrezok: p101=p2 p102=p21
cikl:  s=0.0 s99=1000.0

<cik1.mac>
s > 1.01? exit   $ условие выхода
p=(1.-s)*p2+s*p21  $ перебор точек - возможных встреч
otrezok: p101=p1 p102=p $ возможные движения судна 1
s11=$sqrt((x1-x)*(x1-x)+(y1-y)*(y1-y))
s12=$sqrt((x2-x)*(x2-x)+(y2-y)*(y2-y))
s21=s11/s1   $ время затрачиваемое 1-м судном
s22=s12/s2   $ время затрачиваемое 2-м судном
s5=$sqrt((s22-s21)*(s22-s21)) $  модуль разницы времен
s5 < s99 ? s99=s5  $ сравнение и выбор (min в  s99)
otrezok : p101=p3 p102=x,s5 $ построение графика
p3=p102     $ запоминаем конец отрезка в р3
n50=s99*1000000.  $ перевод s99 в целое
n50 <> 901004 ? exit   $ выход при достижении минимума
cikl: s=s+0.1   $ рекурсия - вызов МК самой себя
При первой запуске МК минимум будет в s99. Перед вторым ставим условие при достижении s5 минимального (в s99) значения (оно будет 0,901004) работу макрокоманды закончить, что позволит узнать координаты места встречи судов. При этом вещественное число, лежащее в s99 переводим в це-лое (n50) с учетом знаков после запятой умножаем его на 1000000. С уче-том этого n50 сравниваем с этим целым числом равному 901004, выполняем выход. Текущая точка будет в р.

2. На рисунке дан алгоритм метода ЗПП и дано преобразование прямой в проецирующее положение. Чтобы прямую преобразовать в точку, сначала на-до ее сделать линией уровня (1-я замена), а затем проецирующей (x2 строится перпендикулярно р1”-p2”).
Длина отрезка является модулем заданного отрезка и записывается: s=|p2-p1|
Аналитически это будет корень квадратный из суммы квадратов разницы координат начала и конца. На языке “Калькулятор” корень квадратный вычисляется через базовую программу sqrt (перед МК и базовыми программами начинающих с букв s, x,y,z.p,n ставится знак доллара (без пробела)).
s=$sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+ (z2-z1)*(z2-z1))


Зачетно-экзаменационный билет № 19

1. Алгоритмизация. Задачи, связанные со скоростью. Судно р1 движется по направлению к пункту р2. Со спутника получено сообщение, что по курсу имеется морское течение, направление, которого р1-р11. Капитан принимает решение часть пути двигаться по течению (р1-р). Требуется определить точку р в которой судно должно свернуть в направлении р2. Пусть ско-рость судна v1=17 миль в час, а течения v2=8. Дать решение задачи на языке “Калькулятор”.

2. Оптимизация. Найти расстояние от точки до плоскости, если из-вестно, что плоскость горизонтально-проецирующая. Смоделируйте ситуа-цию на комплексном чертеже. Написать МК решения задачи.

Ответить: Как ставятся оптимизационные задачи? Что такое метод ЗПП в начертательной геометрии? Как формируются данные, цикл в системе “Вектор”? Что такое рекурсия? Какие регистры используются для вещественных, целых и типа точка данных. Как происходит сравнение и выбор? В каком регистре находится минимум?
 

Ответы по билету № 18

 Чтобы быстрее добраться из точки р1 в р2, надо часть пути двигаться по те-чению. Скорость судна по течению будет складываться из течения плюс скоро-сти судна. Время по течению будет: t1=s1/(v1+v2), время не по течению: t2= s2/v1. Отсюда общее время будет:
 T = t1+t2 -> min  или
 T=s1/(v1+v2) + s2/v1 -> min
 Неизвестными величинами являются s1 и s2, точнее точка p (см. рису-нок), которая определяется из уравнения
 р=(1.-s)*p1+s*p11 в зависимости переменной величины s (0.<s< 1.)
 Таким образом ЦФ (суммарно-затраченное время) будет зависит от точки р (точнее параметра s). График ЦФ t(p) (в точке его минимума) даст искомую точку.
Решений первой задачи на языке “Калькулятор” заключается в органи-зации задания исходных данных, организации цикла перебора точек на прямой p1-p11, вычислении расстояний (s1,s2) от р до р1 и р2, вычисле-нии затраченного времени на этих отрезках пути, сравнении сумм этого времени и выбора наименьшей, построении ЦФ, нахождении минимума этой ЦФ и фиксирования текущей - искомой точки р.
 

<dateship.mac>
: p1=60.,25.0 p11=170.,125.0  p2=260.,65.
: s1=8.0 s2=5.0    $ скорости судна и воды
rekship:  s=0.0 s99=1000.0

<rekship.mac>
s > 1.0 ? exit
p=(1.0-s)*p1+s*p11
s21=$sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1))
s22=$sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2))
s11= s1/(s1+s2)          $  время по течению
s12= s2/s2   $ время вне течения (s2/v1
s5=s11+s12   $ общее затрач. время
s5 < s99 ? s99=s5  $ сравнение и выбор минимума
otrezok: p101=p90  p102=x, s5  $ строим график s5(x)
p90=p102   $ конец в начала
n50=s99*1000.
n50 <>  s5min  ? exit $  выход при достижении минимума
rekship: s=s+0.1

При первой запуске МК минимум будет в s99. Перед вторым ставим условие при достижении s5 минимального (в s99) работу макрокоманды закончить, что позволит узнать координаты точки р поворота судна.  При этом вещественное число, лежащее в s99 переводим в целое (n50)  с учетом знаков после запятой числа в s99 умножаем его на 1000. n50 сравниваем с этим целым числом.

2. На рисунке представлена горизонтально-проецирующая плоскость Т своей вырожденной проекцией Т’, и дана точка р4. Перпендикуляр опущенный из р4’ на вырожденную проекцию плоскости T’ будет искомым решением. На фронтальной плоскости искомый перпендикуляр р4-р изображается параллельно оси Ох.
В теории оптимизации задачу можно сформулировать следующим образом:
|p4-p| -> min
где р можно определить: p=(1.-s)*p1+s*p3   (0. < s <1.)
Формирование МК решения задачи сводится к задаче определения рас-стояния от точки до прямой, например в цикле.
<rekur.mac>  МК перебора расстояний от точки до прямой
s > 1. ? exit    $ условие выхода
p=(1.-s)*p1+s*p3   $ вычисление точки на прямой
otrezok: p101=p p102=p4  $ перебор отрезков-расстояний
s1=$sqrt((x4-x)*(x4-x)+(y4-y)*(y4-y)+(z4-z)*(z4-z))
otrezok: p101=p93 p102=x,s1  $ график ЦФ s1(x) отрезками
s1 < s99 ? s99=s1  $ сравнить и выбрать минимум s1 (в s99)
rekur: s=s+0.1 p93=p102
Данные формируются в отдельной МК или при обращении к rekur.


Зачетно-экзаменационный билет № 20

1. Алгоритмизация. Статистика, метод наименьших квадратов. За три эксперимента определили, что в зависимости от температуры (t1, t2, t3) длина стержня имеет разную длину (y1,y2,y3). При измерении длины могли и ошибиться. Требуется найти зависимость по которой можно было при любом t определить длину стержня. Дать решение задачи на языке “Калькулятор”.

2. Найти расстояние от точки до плоскости, если известно, что плоскость фронтально-проецирующая. Смоделируйте ситуацию на комплексном чертеже.

Ответить: Как ставятся оптимизационные задачи? Что такое метод ЗПП в начертательной геометрии? Как формируются данные, цикл в системе “Вектор”? Что такое рекурсия? Какие регистры используются для вещественных, целых и типа точка данных. Как происходит сравнение и выбор? В каком регистре находится минимум?

Ответы по билету № 20

 В задаче статанализа требуется подобрать такую функцию, которая наилучшим образом описывал поставленный эксперимент и от этого могла бы наилучшим образом предсказать будущее (прошлое, настоящее). В качестве такой функции в самом простом варианте можно предложить уравнение (y=at) прямой, проходящей через начала системы координат и наилучшим образом проходит к точкам эксперимента. Математически означает, что погрешности между точками эксперимента и точками на прямой при тех же переменных (х) должны быть минимальными.
 d1+d2+d3 -> min
 F= (y1-a*t1)+(y2-a*t2)+(y3-a*t3) -> min
 ЦФ зависит от одной переменной a, который в уравнении y=a*t является угловым коэффициентом. Построив график зависимости ЦФ - суммы отклонений стремящихся к минимуму в зависимости от a получим график, минимум которого даст минимальное значение функции и покажет в какой точке этот минимум получен. Абсцисса этой точки и пока-жет значение коэффициента a в уравнении прямой y=a*t.
Решений первой задачи на языке “Калькулятор” заключается в органи-зации задания исходных данных, организации цикла перебора воз-можных значений коэффициента, вычислений сумм погрешностей, сравнении этих сумм, построения графика ЦФ, нахождении минимума ЦФ и фиксирования текущей абсциссы - как искомой коэффициента.

<date.mac>
: p1=15.,55.0  p2=70.,80.0  p3=145.,120. s9=1000.0
cikl:  s=0.0 s99=1000.0

<cik1.mac>
s > 1.25 ? exit
s1=(y1-s*x1)* (y1-s*x1)    $ 1-я погрешность (в квадрате)
s2=(y2-s*x2)* (y2-s*x2)  $ 2-я погрешность (в квадрате)
s3=(y3-s*x3)* (y3-s*x3)  $ 3-я погрешность (в квадрате)
s123=s1+s2+s3    $ сумма погрешностей
s123 < s99 ? s99=s123       $ меньшая погрешность в s99
otrezok: p101=p11 p102=x, s123  $ график s123(x) строим отрезками
p11=p102
n50=s99*1000.
n50 <>  s123min  ? exit  $ выход при достижении минимума
cikl: s=s+0.1

При первой запуске МК минимум будет в s99. Перед вторым ставим условие при достижении s123 минимального (в s99) работу макрокоманды за-кончить, что позволит узнать искомый коэффициент а (в МК s). При этом вещественное число, лежащее в s99 переводим в целое (n50) с учетом знаков в s99 после запятой и умножаем его на 1000. С учетом этого n50 сравниваем с этим целым числом. Минимум будет при s=0,95. Отсюда уравнение: y=0,95*x (или y=0,95*t)

2. Расстояние от точки р4 до плоскости определяется перпендикуляром на фронтальной проекции до вырожденной ее проекции, т.к. известно, что плоскость - проецирующая. На рисунке плоскость T представлена своей вырожденной проекцией T” на v. Дана т. р4. Перпендикуляр опущенный из р4” на вырожденную проекцию T” плоскости T будет решением. На горизонтальной плоскости H искомый перпендикуляр p4-p будет изображаться параллельно оси х.
В теории оптимизации задачу можно сформулировать как
|p4-p| -> min
p=(1.-s)*p1+s*p3
или
x=(1.-s)*x1+s*x3
z=(1.-s)*z1+s*z3
Формирование МК решения задачи сводится к задаче определения расстояния от точки до прямой с учетом того что вместо координаты y будет координата z.