1) Точность вычисления в программе не задается. Указано только количество цифр дробной части (3), которое требуется вывести на экран.
var x,y,a:real;
begin
write('x = ');
readln(x);
write('y = ');
readln(y);
if x*x-x-4>=0 then
begin
a:=((x*y)/(x+y))/(1+sqrt(x*x-x-4));
writeln('a = ',a:5:3);
end
else writeln('Корень из отрицательного числа');
end.
2)
var a,b,c,d:real;
begin
writeln('Введите a, b, c, d:');
readln(a,b,c,d);
if (a=d)
then if (c=b) then writeln('Бесконечно много решений')
else writeln('Решения нет')
else writeln('x = ',(c-b)/(a-d));
end.
Пример:
Введите a, b, c, d:
2 1 4 3
x = -3