2019年秋二级FORTRAN90上机试卷参考答案(试卷代号F04)一、改错题(20分)【题目】哥德巴赫猜想说“任一大于8的偶数都可以
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示成两个素数之和”。这种表示方式有多种。按照以下方法可表示成数值上最接近的两素数之和:首先将要验证的偶数n取半为m,若m是偶数,则检验m-1和n-m+1是否素数;若m是奇数,则检验m和n-m是否素数。两者均是素数时停止。若检验结果不符要求,就不断检验减2(另一部分加2)后的奇数是否均为素数。!outputresults!1175717+1175963=2351680!1575991+1576321=3152312!2083957+2083957=4167914!2593651+2593891=5187542!4990981+4991383=9982364!PROGRAMMainIMPLICITNONEINTEGER::k,m,i,number=5INTEGER,ALLOCATABLE,DIMENSION(:)::nCHARACTER(len=45)::fmt='(I7,"+",I7,"=",I7)'OPEN(1,FILE='myf1.out')ALLOCATED(n(number))!/*ALLOCATE(n(number))*/n=(/2351680,3152312,4167914,5187542,9982364/)out:DOi=1,numberk=n(i)/2;IF(MOD(k,2)/=0)k=k-1;m=0!/*MOD(k,2)==0*/DOWHILE(m<n(i))m=n(i)-kIF(prime(k).OR.prime(m))THEN!/*prime(k).AND.prime(m)*/WRITE(*,fmt)k,m,k+m;WRITE(1,fmt)k,m,k+mCYCLEoutELSEIF(.NOT.prime(k).OR..NOT.prime(m))THENk=k-2ENDIFENDDOENDDOoutCONTAINSFUNCTIONprime(n)RESULT(p)LOGICAL::pINTEGER::n,kk=1DOk=k+2IF(k**2<=n)THENIF(MOD(n,k)/=0)CYCLEp=.FALSE.;EXITELSEp=.TRUE.;EXITENDIFENDDOENDFUNCTIONprimeENDPROGRAMMain二、编程题(20分)【题目】函数f(x)的展开式如下:,其中。事实上,。计算所用的数据存放在文件MYF2.DAT中,从该文件输入的x的值分别为:0.58870.68520.78740.9988-0.7874-0.6852-0.5887!OUTPUTDATA!x=0.5887f(x)=0.741114g(x)=0.741114!x=0.6852f(x)=1.034485g(x)=1.034485!x=0.7874f(x)=1.427682g(x)=1.427682!x=0.9988f(x)=3.039949g(x)=3.039950!x=-0.7874f(x)=-1.427682g(x)=-1.427682!x=-0.6852f(x)=-1.034485g(x)=-1.034485!x=-0.5887f(x)=-0.741114g(x)=-0.741114!FUNCTIONf(x)RESULT(s)IMPLICITNONEREAL(4)::n,x,xsqr,sum,s,un,eps=1E-15xsqr=x**2n=1un=xsqr/24sum=0.0DOWHILE(ABS(un)>=eps)sum=sum+unun=un*((2*n+1)**2/((2*n+3)*(2*n+4)))*xsqrn=n+1ENDDOs=2*(1-SQRT(1-x**2))+x**2*(1+2*sum)IF(x<0)s=-sENDFUNCTIONf!PROGRAMMainIMPLICITNONEREAL::x,f,y,zINTEGER::iCHARACTER(len=50)::fmtfmt='("x=",F7.4,"f(x)=",F9.6,"g(x)=",F9.6)'OPEN(1,FILE='myf2.dat')OPEN(2,FILE='myf2.out')DOi=1,7READ(1,*)xy=f(x)z=x*acos(1-2*x**2)WRITE(2,fmt)x,y,z;WRITE(*,fmt)x,y,zENDDOENDPROGRAMMain2010qf04-1_1234567891.unknown_1234567892.unknown_1234567893.unknown_1234567890.unknown