18.1.2
Shchukoprogram nl_18_1_2; //Задаём имя программы
function arcsin(a:real):real; //Объявляем функцию вычисления арксинуса числа
begin //Начало тела функции
//Ветвление программы для ограничения области определения функции арксинус
if abs(a)<=1 then //Если модуль числа меньше 1, то:
if a = 1 then //Защита от деления на ноль
arcsin:=pi/2 //arcsin(1)
else //В противном случае
if a = -1 then //Защита от деления на ноль
arcsin:=-pi/2 //arcsin(-1)
else //В противном случае
arcsin:=arctan(a/sqrt(1-sqr(a))); //Вычисление арксинуса через арктангенс числа
end; //конец тела функции
var x, y:real; //Объявляем переменные
begin //Начало тела программы
writeln('Введите x, y:'); //Вывод сообщения для пользователя
readln(x,y); //Ввод x и y
if abs(x+y)>1 then //Если модуль числа больше 1, то
writeln('ERROR') //Вывод "ERROR"
else //В противном случае
writeln('z = ',arcsin(x+y):0:10); //Вывод значения функции z(x;y)
end. //Конец тела программы