Написать программу в паскале: 1.дано целое число. вычислить, если возможно, натуральный логарифм этого числа и вывести его на экран. в противном случае вывести сообщение об ошибке.
Как я понял, вам необходимо было исправить ошибки в коде. Если это так, то Program ddd; var tg, f:real; x:integer; begin readln (x); tg := sin(x)/cos(x); if x<=-3.14 then f:=ln(cos(5*x)-2*x)+1; if x>-3.14 then f:=0.35*tg*(0.1*x)-exp(ln(2*2.7)*(-0.1*x)); writeln (f); end.
Обратите внимание, что вещественные числа указываются посредством точки, а не запятой (не "0,1", а "0.1"). Функция cos должна принимать какой-либо аргумент, ибо сама по себе она не представляет никакого значения (f:=ln(cos*(5*x)-2*x)+1; -- здесь вы cos * на выражение, что неверно). Приравнивать переменные одих типов к значению других -- ошибка (f:integer; - значение типа интеджер. ln(cos(5*x)-2*x)+1; - функция ln возвращает значение типа real. Следовательно, f не может присвоить возвращаемое значение функции ln).
Поэтому напишем такую программу:
var x:integer;
BEGIN
writeln('Введите число');
readln(x);
if x<=0 then
writeln('Логарифм этого числа не существует')
else write('ln=',ln(x))
END.