data a;
start=1;
end=2;
do until(range(start,end) le 0.0001);
y1=log(start)+start-1.5;
temp=(start+end)/2;
y2=log(temp)+temp-1.5;
y3=log(end)+end-1.5;
if y1*y2<0 then do;
end=temp;
end;
else if y1*y3<0 then do;/*有赋值语句时最好使用do组*/
start=temp;
end;
put y1=;
put y2=;
put y3=;
put start=;
put temp=;
put end=;
end;
final_value=(start+end)/2;
put start=;
put end=;
put final_value;
run;