Программирование в среде Турбо Паскаль. Закутский С.Н - 52 стр.

UptoLike

52
i1:=i-1;
ya:=y[i1]+(y[i1+1]-y[i1])*(xa-x[i1])/(x[i1+1]-x[i1])
End
End
End;
{--------------------------------------------}
{Основная (вызывающая) программа}
Var xx,yy,xint,yint : mas;
lxy,lxint,i : byte;
BEGIN {Начало основной программы}
ClrScr;
Write('lxy, lxint = '); ReadLn(lxy, lxint);
{Ввод рабочего размера аргумента (x) и функции(y)}
WriteLn('x, y = '); {Ввод значений аргумента и функции}
For i:=1 to lxy do
Read(xx[i], yy[i]);
WriteLn;
Write('xint = '); {Ввод значений аргумента, при которых находятся}
For i:=1 to lxint do
Read(xint[i]); {Интерполированные значения функции}
WriteLn;
For i:=1 to lxint do
IntLn(xx,yy,lxy,xint[i],yint[i]); {Обращение к процедуре IntLn}
{Переменные, указанные в скобках это фактические параметры;
значения xx, yy, lxy, xint передаются в процедуру; значение yint
получается из процедуры}
WriteLn('xint, yint = '); {Вывод заголовка результатов}
For i:=1 to lxint do
Write(i,' ',xint[i]:5:2,' ',yint[i]:5:2,'**'); {Вывод xint, yint}
ReadLn;
END.
ЗАДАНИЯ
Вариант 1
Заданы четыре вектора : X = {x
1
, x
2
, x
3
}, Y = {y
1
, y
2
, y
3
}, Z = {z
1
, z
2
, z
3
,
z
4
}, P = {p
1
, p
2
, p
3
, p
4
}. Логической переменной a присвоить значение
true
,
если скалярное произведение векторов X и Y больше скалярного произве-
дения Z и P , значение
false
в противном случае. Скалярное произведение
двух векторов (например, f
и e) вычисляется по формуле
(f·e) = f
1
·e
1
+f
2
·e
2
+f
3
·e
3
+ Вычисление скалярного произведения оформить в
виде подпрограммы.
При отладке программы рекомендуется использовать следующие ис -
ходные данные: X = {1, 2, 3}, Y = {2.5, 6, 3.2}, Z = {3.7, 1.2, 6.4, 5.3},
P = {1, 4, 1, 2}.