Считаем, что в нашей реализации языка Pascal нет готовой функции для арксинуса и опишем арксинус на основе известного тригонометрического соотношения: Тогда Область допустимых значений: |c|<1, a≠0
function arcsin(x: real): real; begin arcsin := arctan(x / sqrt(1 - sqr(x))) end;
var a, b, c, x: real;
begin Write('Введите через пробел значения a,b,c: '); Readln(a, b, c); if (c >= 1) then Writeln('Решения нет, c>=1') else if a = 0 then Writeln('Решения нет, a=0)') else Writeln('x=', arcsin(c) / sqrt(1 - sqr(x)):0:5) end.
Тестовое решение:
Введите через пробел значения a,b,c: 3.25 -1.7 0.146 x=0.14652
// PascalABC.NET 3.3, сборка 1573 от 04.11.2017 // Внимание! Если программа не работает, обновите версию!
begin var k:=3; Writeln('*** Исходный массив ***'); var a:=MatrRandom(k,6,-20,20); a.Println(4); Writeln(4*a.ColCount*'-'); var n:=ReadInteger('Какую строку удалить (1-'+k+')?'); Assert(n.Between(1,k),'Введено неверное значение'); var r:=a.Row(k-1); // последняя строка SetLength(a,k-1,a.ColCount); // теперь строк на одну меньше if n<k then begin for var i:=n-1 to k-3 do a.SetRow(i,a.Row(i+1)); a.SetRow(k-2,r) end; Writeln(4*a.ColCount*'-'); a.Println(4) end.
Большинство компьютерных экспертов сходятся в том, что история развития принтера началась почти двести лет назад, когда в 1822 году англичанин Бэббидж начал разработку «большой разностной машины», которая должна была делать расчёты и тут же печатать в виде таблиц их результаты. К 1834 году машина так и не была создана, хотя на её разработку ушло 23 тысячи фунтов, однако, работа над ней была прервана, а 1842 году проект Бэббиджа перестал финансироваться британским правительством. Большая разностная машина умерла, так и не родившись.Любопытно, что через 150 лет сотрудники Лондонского научного музея по сохранившимся чертежам смогли воссоздать этот уникальный прибор, являющийся фактически, механической вычислительной машиной. В него входили более 8 тысяч деталей, а весил данный «калькулятор» 5 тонн. Но самое главное – машина на самом деле могла решать простейшие уравнения и печатать на бумаге результаты! Поэтому Бэббиджа с определённой натяжкой можно назвать тем человеком, кто изобрел принтер.
Тогда
Область допустимых значений: |c|<1, a≠0
function arcsin(x: real): real;
begin
arcsin := arctan(x / sqrt(1 - sqr(x)))
end;
var
a, b, c, x: real;
begin
Write('Введите через пробел значения a,b,c: ');
Readln(a, b, c);
if (c >= 1) then Writeln('Решения нет, c>=1')
else if a = 0 then Writeln('Решения нет, a=0)')
else Writeln('x=', arcsin(c) / sqrt(1 - sqr(x)):0:5)
end.
Тестовое решение:
Введите через пробел значения a,b,c: 3.25 -1.7 0.146
x=0.14652