using System; using static System.Math; using static System.Console; class main{ static void Main(){ int calls=0; double a=0,b=1,acc=1e-3,eps=1e-3; { Func f=delegate(double x){calls++;return Sqrt(x);}; WriteLine($"∫_{a}^{b} Sqrt(x) dx, acc={acc} eps={eps}"); double exact=2.0/3; double[] q=quad.adapt4(f,a,b,acc,eps,limit:100); double Q=q[0],err=q[1],aerr=Abs(Q-exact),tol=acc+eps*Abs(Q); WriteLine($"result={Q}, calls={calls}"); WriteLine($"exact ={exact}"); WriteLine($"tilerance ={tol}"); WriteLine($"estimated error ={err}"); WriteLine($"actual error ={aerr}"); if(aerr f=delegate(double x){ calls++;return 4*Sqrt(1-(1-x)*(1-x));}; WriteLine($"∫_{a}^{b} 4*Sqrt(1-(1-x)²) dx, acc={acc} eps={eps}"); double exact=PI; double[] q=quad.adapt4(f,a,b,acc,eps,limit:100); double Q=q[0],err=q[1],aerr=Abs(Q-exact),tol=acc+eps*Abs(Q); WriteLine($"result={Q}, calls={calls}"); WriteLine($"exact ={exact}"); WriteLine($"tilerance ={tol}"); WriteLine($"estimated error ={err}"); WriteLine($"actual error ={aerr}"); if(aerr