uses crt;
var n: integer;
a, b, e, eps, x, y, z: real;
function f(x: real): real;
var t: real;
begin
t := x + 1;
f := ln(x) + t * t * t
end;
begin
clrscr();
write('a b ε: ');
readln(a, b, eps);
x := (a+b) * 0.5;
y := x + 1e-4;
for n := 1 to 1000 do
begin
z := (y - x) * f(y) / (f(y) - f(x));
n := n + 1;
x := y;
y := y - z;
writeln(n: 3, y: 22: 15, f(y):28);
if abs(z) < eps then break
end
end.

Нули функции f(x)=x-cos(x) находятся аналогично, надо только в функции f так и написать: f:=x-cos(x); а переменную t оттуда лучше тогда вообще убрать. С этой функцией результат такой:

Единственные нули обоих функций находятся в промежутке (0;1), поэтому такие a и b и вводятся, однако в методе секущих лучше вводить два начальных приближённых значения х, а не концы промежутка - это же не метод хорд!