12013-2014学年第一学期“计算力学程序设计”试卷A(工程力学2010级,1学分)班级学号姓名成绩(本考题不限定用何种计算机语言完成)1(15’)如果在程序中需要一个数组A存储n个整数(n是变量),写出A的声明语句。//C++int*A=newint[n];2(15’)写一个函数,将上题数组A的初值设为0.voidzero1d(int*A,constintn){for(inti=0;in;i++)A[i]=0;}3(15’)写一个函数,求两个n维向量A,B的数量积AB.//两个n维向量的数量积doubleAB(constdouble*A,constdouble*B,constintn){doubleC=0;for(inti=0;in;i++)C+=A[i]*B[i];returnC;}24(15’)对平面4节点等参元写一个函数,求局部坐标为r,s处的[P]矩阵sNsNsNsNrNrNrNrNP43214321][voidshapedfun2d(constdoubler,constdoubles,doubledfun[]){intnp=4;intRi[8]={-1,1,1,-1};intSi[8]={-1,-1,1,1};for(inti=0;inp;i++){dfun[i]=Ri[i]*(1+s*Si[i])/4;dfun[np+i]=(1+r*Ri[i])*Si[i]/4;}5(15’)已知平面4节点等参元的节点位移向量是De,写一个函数(或者子程序),计算局部坐标为r,s处的位移d(其中De有8个分量,d有2个分量,形如voidDrs(doubler,doubles,double*De,double*d)或者subroutineDrs(r,s,De,d)。voidDrs(doubler,doubles,double*De,double*d){intnp=4;intRi[8]={-1,1,1,-1};intSi[8]={-1,-1,1,1};for(inti=0;i2;i++){for(intj=0;j4;i++){d[i]+=De[2j+i]*(1+Ri[j]*r)*(1+Si[j]*s)/4}}}6(25’)简述一个弹性力学有限元程序的组成部分,谈谈你的认识程度和课程设计的体会。