A) Алгоритм такой: Ввод начальных матриц A(4; 4); B(3; 3) Цикл по i от 1 до 4 для матрицы A(4; 4) Вызов процедуры замены элементов матрицы с параметром i. Конец цикла Цикл по i от 1 до 3 для матрицы B(3; 3) Вызов процедуры замены элементов матрицы с параметром i. Конец цикла Вывод обоих матриц Конец основной программы
Процедура замены для матрицы M(k; k) Ввод номера текущей строки n Q = M(n; n) M(n; n) = M(n; k-n+1) M(n; k-n+1) = Q // Здесь i - это текущая строка, k - количество строк в матрице. // Конец процедуры.
b) Алгоритм такой: Ввод начальных векторов G = (g1; g2; g3; g4); D = (d1; d2; d3; d4) Вызов процедуры вычисления длины вектора S1 = P(|G|) Вызов процедуры вычисления длины вектора S2 = P(|D|) S = (S1 + S2)/2 Вывод результата S Конец основной программы
Процедура вычисления длины вектора A(a1; a2; a3; a4) P = sqrt(a1^2 + a2^2 + a3^2 + a4^2) Конец процедуры
c) Алгоритм такой: c = 1,23 Цикл по а от 2 до 8 // так удобнее, чем цикл от 0,2 до 0,8 с шагом 0,1 // x = COS ( (0.1*a + c)/3.178) y = 0.7*COS (0.1*a - 1.27) x1 = Arcsin(x) y1 = Arcsin(y) xy1 = Arcsin(x + y) // Здесь Arcsin (t) - это пользовательская функция, которую мы сами определяем в отдельной процедуре. // z = x1 = y1 + LOG (ABS (xy1)) Вывод очередного значения z Конец цикла по а Конец основной программы
Процедура вычисления Arcsin (t) // Дальше сложность, потому что в языках программирования очень редко встречается функция arcsin(x), обычно только sin(x), cos(x), atan(x). // // Поэтому вспоминаем тригонометрию. arcsin t = arctg ( t/√(1-t^2) ) Arcsin (t) = ATAN (t / SQRT (1 - t*t)) Конец процедуры
begin var c:=1.23; Writeln(' a x y z'); for var i:=2 to 8 do begin var a:=i/10; var x:=cos((a+c)/3.178); var y:=0.7*cos(a-1.27); var z:=ArcSin(x)+ArcSin(y)+Ln(Abs(ArcSin(x+y))); Writeln(a:3:1,x:11:8,y:11:8,z:11:8) end end.
<u>Результат</u> a x y z 0.2 0.90046079 0.33608696 NaN 0.3 0.88633142 0.39570967 NaN 0.4 0.87132454 0.45137858 NaN 0.5 0.85545501 0.50253747 NaN 0.6 0.83873853 0.54867517 NaN 0.7 0.82119166 0.58933068 NaN 0.8 0.80283178 0.62409780 NaN
<em>В задании в) данные подобраны некорректно: x+y>1, поэтому аргумент арксинуса в формуле для z принимает недопустимое значение.</em>