您所在位置: 网站首页 / 计算机语言与程序设计 (14).ppt / 文档详情
计算机语言与程序设计 (14).ppt 立即下载
2024-08-16
约4.4千字
约32页
0
130KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

计算机语言与程序设计 (14).ppt

计算机语言与程序设计(14).ppt

预览

免费试读已结束,剩余 27 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第十四讲编程例题求定积分2、改进:将区间b-a划分成2n等分。用变步长的梯形法,定义Tn为将积分区间n等分时求出的近似面积。4(1)为按公式算出的面积的二分之一;
(2)为等分中线的函数值f(x1+h/2)与h的乘积,得出面积的二分之一。(3)代表面积3、用辛普生公式计算积分的近似值#include<stdio.h>	//预编译命令
#include<math.h>	//预编译命令,数学函数
doublef(doublex);	//定义被调用函数f

voidmain()			//主函数
{				//主程序开始
intk,n=1;			//声明整型变量k,n,并初始化n
doublex,x1=0,x2=2;	//声明双精度变量x,和x1,x2
doubles,h,tn,t2n,In,I2n;//声明计算中使用的中间变量
constdoubleeps=1e-6;//声明双精度变量eps作为阈值

//计算n=1时的tn和In,为便于编程
//分别将它们赋给t2n和I2n
h=x2-x1;
t2n=I2n=(h*(f(x1)+f(x2)))/2;
printf("第一次近似计算梯形面积值为%lf\n",t2n);
In=0;while(fabs(I2n-In)>=eps)//当型循环,精度未达要求则继续
{				//循环体开始,
		//将上一次计算结果转存入tn和In
		tn=t2n;	
		In=I2n;	

		//计算k从0至n-1,f(x1+(k+0.5)*h)的和
		s=0.0;				//求和变量s清零
		for(k=0;k<n;k=k+1)	//循环求和
		{				//循环体开始
			x=x1+(k+0.5)*h;
			s=s+f(x);	
		}				//循环体结束

		//计算t2n和I2n
		t2n=(tn+h*s)/2.0;
		I2n=(4*t2n-tn)/3.0;		//更新n和h,用于下一次计算
		n=2*n;
		h=h/2;
	}			//循环体结束

printf("积分值为%lf\n",I2n);	//输出结果
}							//主函数结束
	
doublef(doublex)	//被调用函数f,用于计算积分项
{					//函数体开始
	//计算并返回积分项
	return((exp(x)+x*x)/(1+x*x*x));
}					//函数体结束
说明:
1、要产生随机数需要在预编译中加入库函数#include<stdlib.h>
2、rand()是产生随机数的函数,它可生成0至32767的整数
3、最大随机数为RAND_MAX,值为32767
4、产生随机数需要设置种子	srand((unsigned)time(NULL));因为时间每分每秒不同,第一个随机数就不会固定。你可以做试验,如去掉这条,产生十个随机数,每次都会是一样的。产生的随机数:
	41
	18467
	6334
	26500
	19169
	15724
	11478
	29358
	26962
	24464

加上这条之后,你再观察,每一次出的十个数都不同。
#include<stdio.h>		//预编译命令
#include<math.h>		//预编译命令
#include<stdlib.h>		//预编译命令

voidmain(void)			//主函数
{					//主函数开始
intk;				//定义整型变量k
srand((unsigned)time(NULL));	//设置
for(k=0;k<10;k=k+1)//循环
{
	//输出随机小数
	printf(“%f\n",(float)rand()/RAND_MAX);
}
//输出最大随机数
printf("最大随机数为%d\n",RAND_MAX);
}					//主函数结束1、用rand()/RAND_MAX来产生大于0而小于1的小数。
2、因为rand()是整型数,RAND_MAX是整型常数,两者相除,如不作特殊处理得不出小数,只能为0。因为被除数小于除数。因此需要强制转换数据类型,在除式前加(float),即	(float)rand()/RAND_MAX例:求π的近似值。
如右图,正方形的面积A=1;1/4圆的面积B=π/4。我们想象有一个容器在正方形中夹有一个极薄的圆弧隔板。下小雨时搬至屋外,经一定时间后,称1/4圆的容器内的水重C,与作为一个整体的正方形中的水重D。C与D之比应该等于B与A之比,
即

可得我们让计算机产生伪随机数x和y,让x的值的范围在0~1之间;让y的值的范围也在0~1之间,模拟雨点落在正方形中,当然会有的雨点落在1/4圆中,数以百万计雨点可以累计得到C和D,从而上述公式算出π的
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

计算机语言与程序设计 (14)

文档大小:130KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用