材料力学上机作业 第一题
一个力作用下的任意截面的弯矩,挠度 源程序为:
#include
double Fi,ai,bi,l,E,I,x,M,v;
printf(\请输入: Fi,ai,bi,E,I,x:\\n\
scanf(\ l=ai+bi;
if((x>=0) && (x<=ai)) {
M=Fi*bi*x/l;
v=-Fi*bi*x*(l*l-x*x-bi*bi)/(6*E*I*l); printf(\ }
if((x>ai) && (x<=l)) {
M=Fi*ai*(l-x)/l;
v=-Fi*bi*(l*(x-ai)*(x-ai)*(x-ai)/bi+(l*l-bi*bi)*x-x*x*x)/(6*E*I*l); printf(\计算结果为:M=%lf,v=%lf\\n\ }
if((x<0) || (x>l)) {
printf(\有错误!\\n\ } }
4
Fi=300N,ai=60m,bi=200m,E=200000000000Pa,I=0.0001m,x=80m,程序运行结果为: v
材料力学上机作业 第二题
1一个力偶作用下的任意截面的弯矩,挠度 #include
double Mk,ak,bk,l,E,I,x,M,v;
printf(\请输入 Mk,ak,bk,E,I,x:\\n\
scanf(\ l=ak+bk;
if((x>=0) && (x<=ak)) {
M=-Mk*x/l;
v=Mk*x*(l*l-3*bk*bk-x*x)/(6*E*I*l); printf(\ }
if((x>ak) && (x<=l)) {
M=Mk*(1-x/l);
v=-Mk*(-x*x*x+3*l*(x-ak)*(x-ak)+(l*l-3*bk*bk)*x)/(6*E*I*l); printf(\ }
if((x<0) || (x>l)) {
printf(\错误!\\n\
} }
4
令Mk=200N·m,ak=100m,bk=100m,E=200000000000Pa,I=0.0001m,x=100m,程序运行结果为:
2一段分布力作用下的任意截面的弯矩,挠度 源程序为:
#include
double q,ai,bi,ci,l,E,I,x,M,v; double Fa,Fb,c1,c2,c3,d3;
printf(\请输入: q,ai,bi,ci,E,I,x:\\n\
scanf(\ l=ai+bi+ci;
Fa=(q*ci*(ci+2*bi))/(2*l); Fb=(q*ci*(ci+2*ai))/(2*l);
c3=(Fa*pow((ai+ci),3))/(3*l)-(q*ai*pow(ci,3))/(6*l)-(q*pow(ci,4))/(8*l)+(Fb*pow(bi,2))/2-(Fb*pow(bi,3))/(3*l);
c2=c3-(Fb*pow(bi,2))/2-(Fa*pow((ai+ci),2))/2+(q*pow(ci,3))/6; c1=c2; d3=-c3*l;
if((x>=0) && (x<=ai)) {
M=Fa*x;
v=((Fa*pow(x,3))/6+c1*x)/(E*I);