实验八数组
实验八 数组
一、实验目的
1.掌握一维、二维数组的定义、赋值和输入输出的方法。
2.学习用数组实现相关的算法(如排序、求最大和最小值、对有序数组的插入等)。
3.掌握C语言中字符数组和字符串处理函数的使用。
4、熟悉TC集成环境的调试数组的方法。
二. 预习知识
1. 有关数组的定义、初始化和数组元素的引用
2. 一维数组、二维数组的概念、用法
3. 数组的相关算法及在实际问题中的应用
4. 字符数组的概念定义及初始化
5. 字符串处理函数的使用
6. 字符串处理函数在实际问题中的应用
三、实验内容及步骤
1.调试下列程序,使之具有如下功能:输入10个整数,按每行3个数输出这些整数,最后输出10个整数
的平均值。写出调试过程。
main( )
{ int i,n,a[10],av;
for(i=0;i
for(i=0;i
if(i%3==0)
printf("\n");
}
for(i=0;i!=n;i++)
av+=a[i];
printf("av=%f\n",av);
}
上面给出的程序是完全可以运行的,但是运行结果是完全错误的。调试时请注意变量的初值问题、输出
格式问题等。请使用前面实验所掌握的调试工具,判断程序中的错误并改正。在程序运行过程中,可以使
用
2.调试下列程序,使之具有如下功能:任意输入两个字符串(如:"abc 123"和"china"),并存放在a,b两个
数组中。然后把较短的字符串放在a数组,较长的字符串放在b数组。并输出。
main()
{ char a[10],b[10];
int c,d,k;
scanf("%s",&a);
scanf("%s",&b);
printf("a=%s,b=%s\n",a,b);
c=strlen(a);
d=strlen(b);
if(c>d)
for(k=0;k
printf("a=%s\n",a);
printf("b=%s\n",b);
}
程序中的strlen是库函数,功能是求字符串的长度,它的原型保存在头文件"string.h"中。调试时注意库
函数的调用方法,不同的字符串输入方法,通过错误提示发现程序中的错误。
3.编写程序,任意输入10个整数的数列,先将整数按照从大到小的顺序进行排序,然后输入一个整数
插入到数列中,使数列保持从大到小的顺序。
4.输入4×4的数组,编写程序实现:
⑴ 求出对角线上各元素的和;
⑵ 求出对角线上行、列下标均为偶数的各元素的积;
⑶ 找出对角线上其值最大的元素和它在数组中的位置。
5.编写程序,输入任意一个含有空格的字符串(至少10个字符),删除指定位置的字符后输出该字符串。如:
输入"BEIJING123"和删除位置3,则输出:"BEIING123"。
四、实验要求
1.复习数组的定义、引用和相关算法的程序设计。
2.编写程序,运行程序并记录运行结果。
3.将源程序、目标文件、可执行文件和实验报告存在软盘上。
c程序设计实验参考答案
main( )
{ float a,b,c;
float s,v;
scanf("%f,%f,%f,%f",&a,&b,&c);
s=a+b+c;
v=s/3.0;
printf("\n%7.1f,%7.1f",s,v);
}
实验五参考答案
一.1、a=10,b=30,c=10
}
2、main()
{int i;
double m=100000,n,s;
n=0.01;
s=0;
for(i=1;i<=30;i++)
{s+=n;
n=n*2;
}
printf("%f %f\n",s,m*30 );
}
实验八参考答案:
一.1、s=12345
2、7,
5,
3,
3、<1,2>=6
二.1、% for(j=k;j>0;j--)
第4行改为scanf("%d",&a[i]);
第12行改为printf("av=%d\n",av);
四.1、分析:C中数组长度必须是确定大小,即指定N的值。排序的方法有多种,取出其中两种作为参考。
方法一:起泡排序
从第一个数开始依次对相邻两数进行比较,如次序对则不做任何操作;如次序不对则使这两个数交换位置。第一遍的(N-1)次比
{ case 10:
case 9: ch='A'; break;
case 8: ch='B'; break;
实验教程八---zstack操作系统原理之任务调度实验
无线传感器网络实验教程
精简OS中与任务调度相关的数据结构
任务---事件映射表
任务事件对应位由用户程序自己定义; 例如: #define TEST_EVENT_EVT 0x0001 #define TEST_TIMER_EVT 0x0002
精简OS中与任务调度相关的函数API
void OS_IntTasks( void )
参数:
精简OS中与任务调度相关的函数API
void OS_Scan( void );
功能:该函数执行一些扫描任务,例如按键,LED 等
精简OS中与任务调度相关的函数API
void OS_Start( void );
功能:OS的主循环
源代码分析
精简OS中与任务调度相关的数据结构
任务ID
uint8 taskId;
这个声明引入了 OSEventHandle类型 uint8 testOSTaskID 作为函数指针的同义 字,该函数有两个 当前系统中的任务数 uint8、uint16类型的参 const uint8 TaskCont; 数以及一个 uint16类 型的返回值。 任务---处理函数映射表
OSAL的主要功能
任务的登记,加载, 初始化及启动任务调 度 任务之间的信息传递 任务同步 中断操作 定时器功能 内存单元管理
实验八_LCM1602液晶显示实验
实验九 LCM1602液晶显示实验一、实验目的1.掌握keil C51软件与protues软件联合仿真调试的方法;2.掌握LCM1602液晶模块显示西文的原理及使用方法;3.掌握用8位数据模式驱动LCM1602液晶的C语言编程方法;二、实验内容1.用protues设计一LCM1602液晶显示接口电路。
要求利用P0接LCM1602液晶的数据端,P2.0~P2.2做LCM1602液晶的控制信号输入端。
P3.0~P3.4口扩展4个功能键K1~K4,电路如下2.编写程序,实现字符的静态和动态显示,字符为第一行“姓名全拼”第二行“专业全拼+学号”。
液晶的初始化,字符显示程序可参考官网的程序文件。
3.编写程序,利用功能键实现字符的纵向滚动和横向滚动等效果显示,主程序静态显示“My Informatiom”,显示字符如下:1.姓名全拼2.专业全拼+学号3.MCS-51 EXP84.LCD DISPLAY ”三.实验步骤1.用Protues设计1602液晶显示接口电路;2.在Keil51中编写液晶显示控制程序,编译通过后,与Protues联合调试;3.按功能键,观察字符及效果是否正确显示;四.实验电路2五.实验程序1静态#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar code table[]="1.wanglin"; uchar code table1[]="2.tongxin 517"; sbit lcden=P2^2;sbit lcdrs=P2^0;uchar num;void delay(uint z){ uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void write_com(uchar com){ lcdrs=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;}void write_data(uchar date) { lcdrs=1;P0=date;delay(5);lcden=1;delay(5);lcden=0;}void init(){ lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80+0x1);}void main(){ init();while(1){write_com(0x80);for(num=0;num<10;num++){write_data(table[num]);delay(300);}write_com(2);write_com(0x80+0x40);for(num=0;num<13;num++){write_data(table1[num]);delay(300);}}}1动态#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar code table[]="1.wanglin"; uchar code table1[]="2.tongxin 517"; sbit lcden=P2^2;sbit lcdrs=P2^0;uchar num;void delay(uint z){ uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void write_com(uchar com){ lcdrs=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;}void write_data(uchar date){ lcdrs=1;P0=date;delay(5);lcden=1;delay(5);lcden=0;}void init(){ lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80+0x1);}void main(){ init();while(1){write_com(0x80);for(num=0;num<10;num++){write_data(table[num]);delay(300);}write_com(2);write_com(0x80+0x40);for(num=0;num<13;num++){write_data(table1[num]);delay(300);}write_com(1);}}2#include<reg51.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intsbit lcden=P2^2;sbit lcdrs=P2^0;sbit lcdrw=P2^1;sbit busy=P0^7;sbit K1=P3^0;sbit K2=P3^1;bit flag1,flag2,flag3,flag4;uchar num,i;uchar code tab[]="My information!"; uchar code tab1[]="1.wanglin";uchar code tab2[]="2.tongxin 517"; uchar code tab3[]="3.MCS-51 EXP8"; uchar code tab4[]="4.LCD DISPLAY";void LCD_check_busy() {while(1){lcden=0;lcdrs=0;lcdrw=1;P0=0xff;lcden=1;if(busy==0) break;}lcden=0;}void delay(uint x){while(x--);}void delay_ms(uint x){int a,b;for(a=x;a>0;a--)for(b=110;b>0;b--);}void write_com(uchar com) {LCD_check_busy();lcdrs=0;lcden=0;lcdrw=0;P0=com;lcden=1;lcden=0;}void write_dat(uchar dat) {LCD_check_busy();lcdrs=1;P0=dat;delay(5); lcdrw=0;lcden=1;lcden=0;}void lcd_init(){lcden=0;write_com(0x38);write_com(0x0f);write_com(0x06);}void write_str(uchar *str){while(*str!='\0'){while(flag3);if(flag4){ write_com(0x01); break; } write_dat(*str) ;str++;delay_ms(50);}}void main(){uchar *ptr=tab;uchar*p=tab1,*q=tab2,*m=tab3,*n=tab4;TMOD=0x00;TH0=(65536-20000)/256;TL0=(65536-20000)%256;TR0=1;ET0=1;EX0=1;EX1=1;IT0=IT1=1;EA=1;PX1=1;lcd_init();while(1){write_com(01);write_com(0x80+0x00);for(i=0;i<15;i++){if(flag1|flag2) break;write_dat(tab[i]);delay_ms(100);}while(flag1==1){write_com(0x01);write_com(0x80+0x00);write_str(p);if(flag4){ flag4=0; break;}write_com(0xc0+0x00);write_str(q);if(flag4){ flag4=0; break;}delay_ms(800);write_com(0x01);write_com(0x80+0x00);write_str(q);if(flag4){ flag4=0; break;}write_com(0xc0+0x00);write_str(m);if(flag4){ flag4=0; break;}delay_ms(800);write_com(0x01);write_com(0x80+0x00);write_str(m);if(flag4){flag4=0; break;}write_com(0xc0+0x00);write_str(n);if(flag4){flag4=0; break;}delay_ms(800);write_com(0x01);write_com(0x80+0x00);write_str(n);if(flag4){ flag4=0; break;}write_com(0xc0+0x00);write_str(p);if(flag4){ flag4=0; break;}delay_ms(800);}while(flag2==1){write_com(0x01); write_com(0x80+0x00);write_str(p);if(flag4){ flag4=0; break;} write_com(0x80+0x15);write_str(q);if(flag4){ flag4=0; break;} write_com(0xc0+0x00);write_str(m);if(flag4){ flag4=0; break;} write_com(0xc0+0x15);write_str(n);if(flag4){ flag4=0; break;}while(flag2==1){write_com(0x1c);delay_ms(300);while(flag3);}}}}void key12() interrupt 1{TH0=(65536-20000)/256;TL0=(65536-20000)%256;if(K1==0)delay_ms(5);if(K1==0&&flag2==0){TR0=0;flag1=1;}if(K2==0)delay_ms(5);if(K2==0&&flag1==0){TR0=0;flag2=1;}}void key3() interrupt 0{EX1=0; delay_ms(5); EX1=1;if(flag1|flag2==1)flag3=~flag3;}void key4() interrupt 2{EX1=0; delay_ms(5); EX1=1;flag4=1;if(flag1==1|flag2==1){flag1=flag2=flag3=0;TR0=1;}}六、实验总结1. 1602动态显示的原理即先写入要显示的字符,然后写入滚动的命令,从而实现不同的动态效果。
VB实验--------所有实验题目
实验题目总体要求:本学期的所有的实验题目,希望同学们按如下步骤认真做,(1)先画出处理界面(窗体);(2)再给出处理步骤,(3)写出程序代码:可参考下面的例题:例如:设计程序,求1+2+3+...+N 的和值。
其处理过程是:(一)设计界面(在纸上画出界面,并注明各控件的名称):(二)处理步骤:单击命令按钮,按以下步骤处理(1)定义3个变量:N ,s ,x ,分别用于存放:输入的数值,和值,控制循环(2)将文本框1的值,提供给变量N ;(3)s=0(累加前,将变量s 初始化为0);(4)X=1(设置循环的开始值)(5) 当X<=N 时 重复执行S=s+xX=X+1(5)在文本框2中显示和值S(三)编写有关的代码:Private Sub Command1_Click()Dim n%,s%,x%N=val(text1.text)S=0X=1Do while x<=nS=s+xX=x+1LoopText2=sEnd Sub文本框1:TEXT1 文本框2:TEXT21:Command1标签1:Label1 标签2:实验一:用语言或流程图描述处理步骤(1次)1.判定一个数X是否是偶数的处理步骤;2.写出求5的阶乘的计算步骤;3.写出求1+2+3+...... +100的计算过程;4.写出计算1!+2!+3!+4!+......+20!的计算步骤;5.写出求一元二次方程解的处理步骤;6.给出将三个整数A,B,C按从小到大的顺序排列的处理步骤;实验二:表达式及其运算的实现(1次)1.设计一个程序,完成利用文本框输入任意两个数的乘法运算,并显示计算结果。
2.进一步完善程序,完成利用文本框输入任意两个数的加法、减法、乘法、除法运算,并显示计算结果,3.再进一步,改进,完成,利用随机函数,产生任意两个100到200之间的整数,并完成两个数的加法、减法、乘法、除法运算,并显示计算结果。
4.求方程AX+B=0的解。
C Program+实验八
上海电力学院实验报告课程名称 C 语言程序设计 实验项目 实验8 函数姓名 阮世纪 学号 20182170 班级 2018271 专业 经济学同组人姓名 无 指导教师姓名 张超 实验日期 2019年 1 月 10 日 一、 实验目的1、掌握定义函数的方法;2、掌握函数实参与形参的对应关系以及“值传递”、“地址传递”的方式;3、掌握函数的嵌套调用和递归调用的方法;4、掌握全局变量和局部变量动态变量、静态变量的概念和使用方法。
二、实验内容和步骤1、 填空题目(1)下面程序c8-1.c 的功能是:计算)!!*(!n m n m C nm -=的值。
请在程序中的横线上填入适当的内容,将程序补充完整。
例如:输入:5,3 输出:C(5,3)=10/* c8-1.c */ (源代码)#include<stdio.h> long int jf(int n) {int i;long int t=1;for(i=1;i<=n;i++) t*=i;return t; }long int cmn(int m,int n) {return(jf(m)/(jf(n)*jf(m-n))); }int main() {int m,n;printf("Please enter m and n"); scanf("%d %d",&m,&n);printf("cmn is %ld",cmn(m,n)); return 0;}(运行结果截图)(2)程序c8-2.c求两个正整数m,n之间的非素数之和(包含m和n)。
例如:如果m=2,n=20,则程序的输出应为:Sum is: 132。
请把程序补充完整。
/* c8-2.c */(源代码)#include<stdio.h>#include<math.h>int prime(int m){int i,j,k;k=sqrt(m);for(j=2;j<=k;j++)if(m%j==0)break;if(j<=k)return 0;elsereturn 1;}int main(){int m=2,n=20,i,j,k,s;s=0;for(i=m;i<=n;i++)if(prime(i)==0)s+=i;printf("Sum is %d",s);return 0;}(运行结果截图)(3)程序c8-3.c求一维数组a中既不能被3整除也不能被5整除的元素之和。
c语言作业
1、用下面的scanf函数输入数据,使a=10, b=20, c1='A', c2='a', x=1.5, y=-3.75, z=67.8,请问在键盘上如何输入数据?scanf("%5d%5d%c%c%f%f%*f,%f", &a,&b,&c1,&c2,&x,&y,&z);2、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
用scanf函数输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字第三次作业1、有3个整数a,b,c,由键盘输入,输出其中最大的数。
2、有一个函数:x x<1y= 2x-1 1<=x<103x-11 x>=10写一段程序,输入x,输出y的值。
3、给出一百分制成绩,要求输出成绩等级A、B、C、D、E。
90分以上为A,80-89分为B,70-79为C,60-69为D,60分以下为E。
4、给一个不多于5位的正整数,输出这个数是几位数。
第四次作业1、给一个不多于5位的正整数,要求:a.求出它是几位数;+b.分别输出每一位数字;c.按逆序输出各位数字,例如:原数为321,应输出123。
2、教材P112页第5.8题(if语句解法创建一个独立文件,switch语句解法创建一个独立文件第五次作业1、输入两个正整数m和n,求其最大公约数和最小公倍数。
(经典题)2、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数,并输出。
3、求s=a+aa+aaa+aaaa+....+(a...a)之值,其中a是一个数字,n表示a的位数。
1、输入两个字符串,使用指针p将两个字符串按次序复制到数组c中。
例:输入“zhe"和"jiang",将"zhejiang"保存在数组c中。
高级语言程序设计实验
创新源于实践《高级语言程序设计》课程实验教学手册高级语言程序设计课程组实验手册使用及要求实验操作是教学过程中理论联系实际的重要环节,而实验报告的撰写又是知识系统化的吸收和升华过程,因此,实验报告应该体现完整性、规范性、正确性、有效性。
现将实验报告撰写的有关内容说明如下:1、实验前按实验要求手写程序或程序填空,并走查代码,有疑问处标记,上机时在C语言集成开发环境下输入并调试手写程序,分析运行结果。
2、实验结束后填写通过后的源程序和对实验的总结。
3、通过后的源程序可以手写也可以打印粘贴。
实验项目一览表学号:姓名:成绩:实验一熟悉C语言编程环境实验目的:1.熟悉C语言编程环境(VC++、Cfree、Turboc2.0等)2.了解C程序的基本框架3.理解程序调试的思想,能找出并改正C程序中的错误实验内容:1.1 建立自己的文件夹:在磁盘上建立一个文件夹,用于存放自己的C程序1.2 编程示例在屏幕上显示一个短句“Programming in C is fun!”(教师示例,学生模仿并创新,如输出汉字、特除字符等。
学会使用编程环境VC++,启动、编辑、编译、运行、保存、关闭、打开)1.3 编程在屏幕上显示如下网格。
+---+---+| | || | |+---+---+# include <stdio.h>int main(){printf("+---+---+\n");printf("| | |\n");7printf("| | |\n");printf("+---+---+\n");return 0;1.4 调试示例改正下列程序中的错误,在屏幕上显示“Welcome to You !”。
(掌握找错、改错的方法)源程序:# include <stdio.h>int mian(void)//mian改为main{printf(Welcome to You! \n")//括号后加”getchar();return 0;}注:需要修改的语句直接在程序上标注并修改实验总结:学号:姓名:成绩:实验二用C语言编写简单程序实验目的:1.掌握算术表达式和赋值表达式的使用2.掌握基本输出函数的使用3.能够自己编程实现简单的数据处理4. 熟练掌握简单if语句使用5. 熟练掌握for语句的使用6. 掌握简单C程序的查错方法、单步调试实验内容:2.1 调试以下程序,求华氏温度对应的摄氏温度。
快速排序算法实验报告
快速排序算法实验报告快速排序一、问题描述在操作系统中,我们总是希望以最短的时间处理完所有的任务。
但事情总是要一件件地做,任务也要操作系统一件件地处理。
当操作系统处理一件任务时,其他待处理的任务就需要等待。
虽然所有任务的处理时间不能降低,但我们可以安排它们的处理顺序,将耗时少的任务先处理,耗时多的任务后处理,这样就可以使所有任务等待的时间和最小。
只需要将n 件任务按用时去从小到大排序,就可以得到任务依次的处理顺序。
当有 n 件任务同时来临时,每件任务需要用时ni,求让所有任务等待的时间和最小的任务处理顺序。
二、需求分析1. 输入事件件数n,分别随机产生做完n件事所需要的时间;2. 对n件事所需的时间使用快速排序法,进行排序输出。
排序时,要求轴值随机产生。
3. 输入输出格式:输入:第一行是一个整数n,代表任务的件数。
接下来一行,有n个正整数,代表每件任务所用的时间。
输出:输出有n行,每行一个正整数,从第一行到最后一行依次代表着操作系统要处理的任务所用的时间。
按此顺序进行,则使得所有任务等待时间最小。
4. 测试数据:输入 95 3 4 26 1 57 3 输出1 2 3 3 4 5 5 6 7三、概要设计抽象数据类型因为此题不需要存储复杂的信息,故只需一个整型数组就可以了。
算法的基本思想对一个给定的进行快速排序,首先需要选择一个轴值,假设输入的数组中有k个小于轴值的数,于是这些数被放在数组最左边的k个位置上,而大于周知的结点被放在数组右边的n-k个位置上。
k也是轴值的下标。
这样k把数组分成了两个子数组。
分别对两个子数组,进行类似的操作,便能得到正确的排序结果。
程序的流程输入事件件数n-->随机产生做完没个事件所需时间-->对n个时间进行排序-->输出结果快速排序方法:初始状态 72 6 57 88 85 42 l r第一趟循环 72 6 57 88 85 42 l r 第一次交换 6 72 57 88 85 42 l r 第二趟循环 6 72 57 88 85 42 r l 第二次交换 72 6 57 88 85 42 r l反转交换 6 72 57 88 85 42 r l这就是依靠轴值,将数组分成两部分的实例。
c语言课程设计数组
c语言课程设计数组一、教学目标本章节的教学目标是使学生掌握C语言中数组的概念、声明、初始化、访问以及数组排序等基本操作。
1.理解数组的概念和作用。
2.掌握数组的声明和初始化。
3.学会使用循环语句访问数组元素。
4.掌握数组的排序算法。
5.能够正确声明和使用一维数组。
6.能够对一维数组进行排序。
7.能够使用循环语句遍历数组并打印元素。
情感态度价值观目标:1.培养学生的逻辑思维能力。
2.培养学生的问题解决能力。
3.培养学生的团队合作意识。
二、教学内容本章节的教学内容主要包括数组的概念、声明、初始化、访问以及数组排序。
1.数组的概念和作用。
2.数组的声明和初始化,包括一维数组和多维数组。
3.数组的访问,包括使用循环语句遍历数组并打印元素。
4.数组的排序算法,包括冒泡排序和选择排序。
三、教学方法为了达到本章节的教学目标,将采用以下教学方法:1.讲授法:用于讲解数组的概念、声明、初始化、访问以及数组排序的基本原理。
2.案例分析法:通过分析实际案例,让学生更好地理解数组的应用。
3.实验法:让学生通过编写程序实践数组的操作,提高学生的实际编程能力。
四、教学资源为了支持本章节的教学内容和教学方法的实施,将准备以下教学资源:1.教材:《C语言程序设计》。
2.参考书:《C语言编程思想》。
3.多媒体资料:PPT课件、视频教程。
4.实验设备:计算机、编程环境。
五、教学评估为了全面、公正地评估学生在数组学习方面的掌握情况,将采用以下评估方式:1.平时表现:通过课堂提问、讨论和实验操作等环节,评估学生的参与度和理解程度。
2.作业:布置与数组相关的编程作业,评估学生对数组操作的掌握情况。
3.考试:包括期中考试和期末考试,题目将涵盖数组的概念、声明、初始化、访问以及数组排序等知识点。
4.平时表现:积极参与课堂活动,回答问题准确,讨论中能提出自己的见解。
5.作业:编程作业要求正确实现数组相关功能,代码规范,注释清晰。
6.考试:满分100分,60分为及格。
zucc科学计算实验八实验报告
zucc科学计算实验⼋实验报告浙江⼤学城市学院实验报告课程名称科学计算实验项⽬名称数值积分实验成绩指导⽼师(签名)⽇期 2013/12/12⼀. 实验⽬的和要求1.⽤Matlab 软件掌握梯形公式、⾟普森公式和⾼斯公式计算数值积分; 2.通过实例学习⽤数值积分解决实际问题。
⼆. 实验内容和原理分析应⽤题2-1,2-2,2-3要求将问题的分析过程、Matlab 源程序和运⾏结果和结果的解释、算法的分析写在实验报告上。
2-1 分析应⽤题⽤复合左(右)矩形、复合梯形、复合Simpson 三种积分公式计算由下表数据给出的积分1.50.3()y x dx ?。
k1 2 3 4 5 6 7 k x0.30.50.70.91.11.31.5其中函数()y x 为sin3xy x =+,将计算值与精确值作⽐较。
2-2⽤以下⼏种数值积分公式计算积分20sin x dx π,对区间[0,]2π进⾏2等分,使⽤Simpson 积分公式,并在该区间上使⽤两点和三点Gauss 积分公式,输出它们的数值结果,并与精确值作⽐较,说明理由。
提⽰:两点Gauss 积分公式为()((222bab a b a b a f x dx f f -++??≈-++三点Gauss 积分公式为585()(()(2929292bab a b a b a b a f x dx f f f ??-+++≈++使⽤两点guass 公式计算出的结果2-3分析应⽤题⼀辆汽车⽤84s 的时间驶完跑道的⼀圈。
汽车的速度每隔6s ⽤雷达测速仪确定,并从开始以ft / s 在下表中的各项给出。
求跑道有多长?注:可从数值积分的⾓度来求解。
2-1分析应⽤题⽤复合左(右)矩形、复合梯形、复合Simpson 三种积分公式计算由下表数据给出的积分1.50.3()y x dx ?。
k1 2 3 4 5 6 7 k x0.30.50.70.91.11.31.5其中函数()y x 为sin3xy x =+,将计算值与精确值作⽐较。
