PascalABC.NET не считает логарифм
Скорей всего он просто выдал тебе приближенное значение и нужно его округлить, потому что в переменной у тебя хранится не 1. 
       Еще раз проверь что у тебя хранится в переменной, если не поможет, то скинь код программы я посмотрю.
       К примеру приведенный ниже код выдает 0var i: double;
begin
  i:=1;
  writeln(Ln(i));	
end.
///Возвращает интеграл
function Integral(var x: integer; n: integer): real;
var
  tng, temp: real;
  n1, n2: real;
begin
  if n = 1 then
  begin
    n1 := (Pi / 4);
    n2 := (x / 2);
    tng := tan(n1 + n2);
    temp := ln(tng);
    integral := temp;
    //компилятор неверно считает логарифм!!!
  end;
  if n = 0 then
    
    integral := x;
  if n >= 2 then
    integral := ((1 / n - 1) * (sin(x)) / power(cos(x), n - 1)) + (((n - 2) / (n - 1)) * integral(x, n - 2))
else
  
  
end;

//Разобраться со ссылками на параметры

var
  x: integer;
  n: integer;

begin
  writeln('read(x)');
  read(x);
  writeln('readln(n)');
  readln(n);
  
  //writeln('Интеграл dx/(cos', x, ')^', n, '=', integral(x, n));
end.
Там задача простая. Интеграл посчитать. Кажется, если подать n=1, то он должен выдать логарифм, а так как для теста я выбрал значения x=0 n=1, то программа должна вернуть 0, но....увы.