= b-2.0*a/bР?End functionРEND PROGRAM MAINР2)编写另一个程序,从上述文档中提取出数据,然后找出这个函数的最大值ymax,和最大值所在的xmax,以及函数的最小值ymin,和最小值所在的xmin,从屏幕上输出。寻找最大值和最小值的算法要求用指针完成:设定一个最大值指针ymax和xmax,开始指向第一个y值和x值。然后提取下一个y值与指针指向的数值进行比较,如果更大,则令指针指向新的y值和对应的x值,如此扫描所有数据,指针指向的最后的数值,就是所求的数值。РProgram mainР?Integer iР?Real(8),pointer::pmaxy,pmaxx,pminx,pminyР?Real(8),target :: x(1002),y(1002) Р?open(1,file='data1.txt',form='formatted')Р?i=2Р?read(1,*)x(1),y(1)Р?pmaxx=>x(1)Р?pmaxy=>y(1)Р?pminx=>x(1)?Р?pminy=>y(1)Р?do while(io==0)Р read(1,*,iostat=io)x(i),y(i)Р if (io/=0)exitР if (y(i)>pmaxy) thenР pmaxy=>y(i)Р pmaxx=>x(i)Р end ifР if (y(i)<pminy) thenР pminy=>y(i)Р pminx=>x(i)Р end ifР i=i+1Р?end doР?write(*,*)pmaxx,pmaxyР?write(*,*)pminx,pminyР?close(1)РEnd program mainР选作:Р有n个人围成一圈,从第一个人开始报数(1-3报数),凡报到3退出圈子,问最后留下的是原来第几号位的,要求用单链表完成。