实验六 数 组(二)
- 格式:doc
- 大小:49.00 KB
- 文档页数:6
第四章曲线运动实验六探究向心力大小与半径、角速度、质量的关系“探究向心力大小与半径、角速度、质量的关系”实验是课标新增实验,该实验主要考查学生理解知识的能力,能切实地将科学探究的素养落到实处.往年高考对该实验的考查力度不是很大,却在2023年浙江1月卷中进行了考查,可见,高考命题开始加大对该新增实验的考查力度,预计2025年高考该实验出现的概率相对较大.1.实验目的探究向心力大小与半径、角速度、质量的关系.2.实验原理如图所示,当转动手柄1时,变速塔轮2和3就随之转动,放在长槽4和短槽5中的球A 和B都随之做圆周运动.球由于惯性而滚到横臂的两个短臂6挡板处,短臂挡板就推压球,向球提供了做圆周运动所需的向心力.由于杠杆作用,短臂向外时,长臂就压缩塔轮转轴上的测力部分的弹簧,使弹簧测力套筒7上方露出标尺8上的格数,便显示出了两球所需向心力之比.向心力演示器3.实验器材向心力演示器、质量不等的小球.4.实验步骤(1)分别将两个质量相等的小球放在实验仪器的两个小槽中,且小球到转轴(即圆心)距离相同即圆周运动半径相同.将皮带放置在适当位置使两转盘转动,记录不同角速度下的向心力大小(格数).(2)分别将两个质量相等的小球放在实验仪器的长槽和短槽两个小槽中,将皮带放置在适当位置使两转盘转动角速度相等、小球到转轴(即圆心)距离不同即圆周运动半径不等,记录不同半径的向心力大小(格数).(3)分别将两个质量不相等的小球放在实验仪器的两个小槽中,且小球到转轴(即圆心)距离相同即圆周运动半径相等,将皮带放置在适当位置使两转盘转动角速度相等,记录不同质量下的向心力大小(格数).5.数据处理分别作出F n-ω2、F n-r、F n-m的图像,分析向心力大小与角速度、半径、质量之间的关系,并得出结论.6.注意事项(1)实验前应将横臂紧固,螺钉旋紧,以防球和其他部件飞出造成事故.(2)实验时,不宜使标尺露出格数太多,以免由于球沿槽外移引起过大的误差.(3)摇动手柄时,应使小球缓慢加速,速度增加均匀.(4)皮带跟塔轮之间要拉紧.命题点1教材基础实验1.[实验原理与操作/2023浙江1月]“探究向心力大小的表达式”实验装置如图所示.(1)采用的实验方法是A.A.控制变量法B.等效法C.模拟法(2)在小球质量和转动半径相同的情况下,逐渐加速转动手柄到一定速度后保持匀速转动.此时左右标尺露出的红白相间等分标记的比值等于两小球的角速度平方之比(选填“线速度大小”“角速度平方”或“周期平方”);在加速转动手柄过程中,左右标尺露出红白相间等分标记的比值不变(选填“不变”“变大”或“变小”).解析(1)探究向心力大小的表达式时采用的实验方法是控制变量法,A正确,BC错误.(2)由向心力公式F=m v 2R 、F=mω2R、F=m4π2T2R可知,左右标尺露出的红白相间等分标记的比值等于两小球的线速度平方之比、角速度平方之比或周期平方的反比;在加速转动手柄的过程,由于左右两塔轮的角速度之比不变,因此左右标尺露出红白相间等分标记的比值不变.2.[数据处理]一物理兴趣小组利用学校实验室的数字实验系统“探究物体做圆周运动时向心力与角速度、半径的关系”.在保证重物的质量m和做圆周运动的角速度ω不变的情况下,改变重物做圆周运动的半径r,得到几组向心力F与半径r的数据,记录到表1中.表1向心力F与半径r的测量数据次数12345半径r/mm5060708090向心力F/N 5.46 6.557.648.749.83在保证重物的质量m和做圆周运动的半径r不变的情况下,改变重物做圆周运动的角速度ω,得到几组向心力F和角速度ω的数据,记录到表2中.表2向心力F与角速度ω的测量数据次数12345角速度ω/(rad·s-1) 6.589.311.014.421.8向心力F/N0.09830.22660.28210.4583 1.0807(1)根据上面的测量结果,分别在图甲和图乙中作出F-r图线和F-ω图线.(2)若作出的F-ω图线不是直线,可以尝试作F-ω2图线,试在图丙中作出F-ω2图线.(3)通过以上实验探究可知,向心力与转动半径成正比,与角速度的平方成正比.答案(1)(2)解析在坐标系中描点作图可得F-r的图线为过原点的直线,则F与r成正比,F-ω图线不是直线,但F-ω2图线为过原点的直线,则F与ω2成正比.命题点2 创新设计实验3.[实验原理创新]某同学做验证向心力与线速度关系的实验.装置如图所示,一轻质细线上端固定在力传感器上,下端悬挂一小钢球.钢球静止时刚好位于光电门中央.主要实验步骤如下:①用游标卡尺测出钢球直径d ;②将钢球悬挂静止不动,此时力传感器示数为F 1,用米尺量出线长L ;③将钢球拉到适当的高度处由静止释放,光电门计时器测出钢球的遮光时间为t ,力传感器示数的最大值为F 2.已知当地的重力加速度大小为g ,请用上述测得的物理量表示:(1)钢球经过光电门时的线速度表达式v = d t,向心力表达式F 向=m v 2R=F 1d 2gt 2(L +d 2);(2)钢球经过光电门时所受合力的表达式F 合= F 2-F 1 ;(3)若在实验误差允许的范围内F 向=F 合,则验证了向心力与线速度的关系.该实验可能的误差有 摆线的长度测量有误差 .(写出一条即可)解析 (1)钢球的直径为d ,遮光时间为t ,所以钢球通过光电门的线速度v =d t,根据题意知,钢球做圆周运动的半径为R =L +d2,钢球的质量m =F 1g ,则向心力表达式F 向=m v 2R =F 1d 2gt 2(L +d 2).(2)钢球经过光电门时只受重力和细线的拉力,由分析可知,钢球通过光电门时,细线的拉力最大,大小为F 2,故所受合力为F 合=F 2-F 1.(3)根据向心力表达式知,可能在测量摆线长度时存在误差.4.[实验目的创新]如图甲所示,某同学为了比较不同物体与转盘间动摩擦因数的大小设计了该装置.已知固定于转轴上的角速度传感器和力传感器与电脑连接,通过一不可伸长的细绳连接物块,细绳刚好拉直,物块随转盘缓慢加速.在电脑上记录如图乙所示图像.换用形状和大小相同但材料不同的物块重复实验,得到物块a 、b 、c 分别对应的三条直线,发现a 与c 的纵截距相同,b 与c 的横截距相同,且符合一定的数量关系.回答下列问题:(1)物块没有看作质点对实验是否有影响? 否 (选填“是”或“否”).(2)物块a 、b 、c 的密度之比为 2:2:1 .(3)物块a 、b 、c 与转盘之间的动摩擦因数之比为 1:2:2 .解析(1)物块的形状和大小相同,做圆周运动的半径相同,所以物块没有看作质点对实验没有影响.(2)当物块随转盘缓慢加速过程中,物块所需的向心力先由静摩擦力提供,当达到最大静摩擦力后由绳子的拉力和最大静摩擦力的合力提供,即F向=F+μmg=mrω2,所以有F=mrω2-μmg,题图乙中图线的斜率为mr,在纵轴的截距为-μmg,根据题图乙知a的斜率k a=m a r=1kg·m,b的斜率k b=m b r=1kg·m,c的斜率k c=m c r=12kg·m,所以a、b、c的质量之比为2:2:1,因为体积相同,所以物块a、b、c的密度之比为2:2:1.(3)由题图乙知a的纵轴截距-μa m a g=-1N,b的纵轴截距-μb m b g=-2N,c的纵轴截距-μc m c g=-1N,结合质量之比得到物块a、b、c与转盘之间的动摩擦因数之比为1:2:2.方法点拨创新实验目的由探究向心力大小与半径、角速度、质量的关系的实验,迁移为测向心加速度和重力加速度的实验由探究向心力大小与半径、角速度、质量的关系的实验,迁移为测角速度大小的实验创新实验器材由力传感器和光电门替代向心力演示器,探究影响向心力大小的因素,使实验数据获取更便捷,数据处理和分析更准确创新数据处理方法采用控制变量法,利用力传感器和速度传感器记录数据,根据F-v2图线分析数据1.某同学利用如图所示的向心力演示器定量探究匀速圆周运动所需向心力大小F跟小球质量m、转速n和运动半径r之间的关系.(1)为了单独探究向心力大小跟小球质量的关系,必须用控制变量法.(2)转动手柄可以使长槽和短槽分别随变速塔轮匀速转动,槽内的球随之做匀速圆周运动.这时我们可以看到弹簧测力套筒上露出标尺,通过标尺上露出的红白相间等分格数,即可求得两个球所需的向心力大小之比.(3)该同学通过实验得到如下表的数据:次数球的质量m/g转动半径r/cm转速n/(r·s-1)向心力大小F/红格数114.015.0012228.015.0014314.015.0028414.030.0014根据以上数据,可归纳概括出向心力大小F跟小球质量m、转速n和运动半径r之间的关系是向心力大小F跟小球质量m成正比,跟转速n的平方成正比,跟运动半径r成正比(或向心力大小F跟小球质量m、转速n的平方、运动半径r的乘积成正比)(文字表述).(4)实验中遇到的问题有难以保证小球做匀速圆周运动,转速难按比例调节或露出格子数(或力的读数)不稳定,难定量化(写出一点即可).2.[实验装置创新/2024重庆八中校考]某物理兴趣小组利用传感器探究向心力大小与半径、角速度的关系,实验装置如图甲所示.装置中水平直槽能随竖直转轴一起转动,将滑块套在水平直槽上,用细线将滑块与固定的力传感器连接.当滑块随水平直槽一起匀速转动时,细线的拉力大小可以通过力传感器测得,滑块转动的角速度可以通过角速度传感器测得.(1)使相同滑块分别以半径r为0.14m、0.12m、0.10m、0.08m、0.06m做匀速圆周运动,在同一坐标系中分别得到图乙中①、②、③、④、⑤五条F-ω图线,则图线①对应的半径为0.14m,各图线不过坐标原点的原因是受到摩擦力作用.(2)对5条F-ω图线进行比较分析,欲探究ω一定时,F与r的关系.请你简要说明方法:在F-ω图像中找到同一个ω对应的向心力,根据5组向心力F与半径r的数据,在F-r坐标系中描点作图,即可根据F-r图像探究F与r的关系.解析 (1)由受力分析可知,摩擦力及细线的弹力的合力提供滑块做匀速圆周运动的向心力,即F +f =mω2r ,根据二次函数的知识可以判断mr 越大,抛物线开口越小,所以图线①对应的半径为0.14m.由以上分析可知,各图线不过原点的原因为滑块受到摩擦力作用.(2)探究F 与r 的关系时,要先控制m 和ω不变,因此可在F -ω图像中找到同一个ω对应的向心力,根据5组向心力F 与半径r 的数据,在F -r 坐标系中描点作图,即可根据F -r 图像探究F 与r 的关系.3.[数据处理创新/2024山西运城模拟]某同学用如图所示装置探究物体做圆周运动时向心力与角速度的关系,力传感器固定在竖直杆上的A 点,质量为m 的磁性小球用细线a 、b 连接,细线a 的另一端连接在竖直杆上的O 点,细线b 的另一端连接在力传感器上,拉动小球,当a 、b 两细线都伸直时,细线b 水平,测得OA 间的距离为L 1,小球到A 点距离为L 2,磁传感器可以记录接收到n 次强磁场信号所用的时间,重力加速度为g .(1)实验时,保持杆竖直,使小球在细线b 伸直且水平的条件下绕杆做匀速圆周运动,将接收到的第一个强磁场信号记为1,并开始计时,测得磁传感器接收到n 次强磁场信号所用时间为t ,则小球做圆周运动的角速度ω= 2π(n -1)t,测得力传感器的示数为F ,则小球做圆周运动的向心力F n =mgL 2L 1+F (此空用含F 的式子表示).(2)多次改变小球做圆周运动的角速度(每次细线b 均伸直且水平),测得多组力传感器示数F 及磁传感器接收到n 次强磁场信号所用的时间t ,作出F -1t 2图像.如果图像是一条倾斜直线,图像与纵轴的截距为 -mgL 2L 1,图像的斜率为 4π2(n -1)2mL 2 ,则表明,小球做匀速圆周运动时,在质量、半径一定的条件下,向心力大小与 角速度的平方 (填“角速度”或“角速度的平方”)成正比.解析 (1)将接收到的第一个强磁场信号记为1,并开始计时,测得磁传感器接收到n 次强磁场信号所用时间为t ,则小球做圆周运动的周期为T =t n -1,小球做圆周运动的角速度为ω=2πT =2π(n -1)t.设细线a 与竖直方向夹角为θ,则竖直方向上有F 1cos θ=mg ,水平方向上有F n =F 1sin θ+F ,又tan θ=L2L 1,联立解得F n =mgL 2L 1+F .(2)由于F n =mω2L 2=m 4π2(n -1)2t 2L 2,与上式联立解得F =4π2(n -1)2mL 2·1t 2-mgL 2L 1,所以F -1t 2图像是一条倾斜直线,图像与纵轴的截距为b =-mgL 2L 1,图像的斜率为k =4π2(n -1)2mL 2,可知小球做匀速圆周运动时,在质量、半径一定的条件下,向心力大小与角速度的平方成正比.。
上:二孔为空白,三孔四孔为第五小组,五孔六孔为第四小组,七孔为第二小组 下:二孔为空白,三四五孔为第一小组,六七孔为第三小组
实验六:动物基因组DNA 的提取实验结果:
一孔为marker 二三孔为第一小组,四五孔为第二小组,六孔为第四小组,七孔为第三小组,八九孔为第五小组
酶切。
胶回收(实验三四)
第二大组双酶切检验结果上面三四孔第五小组回收胶结果一孔Maker,二孔第五小组第二小组,一孔为Maker,二孔为未酶切质粒。
三孔第二小组,四孔第一小组,五孔第二小组
右下图:一孔marker二孔第三小组,四孔第四小组
回收检验目的基因一孔Marker,二孔第一小组,三四孔第二小组(2,1)五孔第五小组六孔第三小组,八孔第四小组。
一孔marker ,二、三孔第一小组,四孔第二小组,五孔第三小组,六孔第四小组,七八孔第五小组(实验一:质粒DNA 提取实验结果参考第一大组)。
计算方法教案新疆医科大学数学教研室张利萍一、课程基本信息1、课程英文名称:Numerical Analysis2、课程类别:专业基础课程3、课程学时:总学时544、学分:45、先修课程:《高等数学》、《线性代数》、《Matlab 语言》二、课程的目的与任务:计算方法是信息管理与信息系统专业的重要理论基础课程,是现代数学的一个重要分支。
其主要任务是介绍进行科学计算的理论方法,即在计算机上对来自科学研究和工程实际中的数学问题进行数值计算和分析的理论和方法。
通过本课程的学习,不仅使学生初步掌握数值分析的基本理论知识,而且使学生具备一定的科学计算的能力、分析问题和解决问题的能力,为学习后继课程以及将来从事科学计算、计算机应用和科学研究等工作奠定必要的数学基础。
三、课程的基本要求:1.掌握计算方法的常用的基本的数值计算方法2.掌握计算方法的基本理论、分析方法和原理3.能利用计算机解决科学和工程中的某些数值计算应用问题,增强学生综合运用知识的能力4.了解科学计算的发展方向和应用前景四、教学内容、要求及学时分配:(一) 理论教学:引论(2学时)第一讲(1-2节)1.教学内容:计算方法(数值分析)这门课程的形成背景及主要研究内容、研究方法、主要特点;算法的有关概念及要求;误差的来源、意义、及其有关概念。
数值计算中应注意的一些问题。
2.重点难点:算法设计及其表达法;误差的基本概念。
数值计算中应注意的一些问题。
3.教学目标:了解数值分析的基本概念;掌握误差的基本概念:误差、相对误差、误差限、相对误差限、有效数字;理解有效数字与误差的关系。
学会选用相对较好的数值计算方法。
A 算法B 误差第二讲典型例题第二章线性方程组的直接法(4学时)第三讲1.教学内容:线性方程组的消去法、Gauss消去法及其Gauss列主元素消去法的计算过程;三种消去法的程序设计。
2.重点难点:约当消去法,Gauss消去法,Gauss列主元素消去法3.教学目标:了解线性方程组的解法;掌握约当消去法、Gauss消去法、Gauss列主元素消去的基本思想;能利用这三种消去法对线性方程组进行求解,并编制相应的应用程序。
活动化教学是一种旨在提高学生学习效率、培养学生自主学习能力的教学方法,它通过多样化的教学手段和游戏化的教学形式,创造出一个轻松、自由的学习环境,吸引学生积极参与,在活动中不知不觉地获得知识。
而在数学教育中,活动化教学也一直是教学者们广泛采用的方法之一。
本文将从活动化教学的角度出发,探讨一种适用于大班数学教育的教案——《6的组成》。
一、教案概述为了让学生对数字6有深入的理解,打牢对数字学的认识,本教案从6的分解、加减法的练习等多个角度入手,通过丰富多样的游戏活动,让学生在游戏中掌握有关数字6的知识和技能,并能够在实际应用中运用所学知识。
二、教案流程1.引入环节(1)教师把一个六位数卡片贴在黑板上,让学生环顾六位数各数位,并询问学生“这个数字什么?它由哪些数字组成?”(2)然后教师宣布今天的课程主题为“6的组成”。
2.分解环节(1)教师准备一副由大量数字6组成的数字卡片,并向学生介绍这些卡片能以不同的方式组成数字6。
(2)教师根据学生实际情况,选择针对数字6的分解方式。
例如,有些学生可能还不太了解将数字6变成两个数字的和的方式,那么教师可以从这个方面着手,让学生通过拼图或画图等形式,将6分解成不同的组合。
3.加减环节(1)教师可以准备一些6个单位的物品(如小球),让学生进行加减练习。
(2)在加法环节中,教师会让学生使用这些小球,在规定的公共区域内合理组合,问学生能否从中组合出6个单元的集合,并难易程度逐渐增加。
(3)而在减法环节中,教师会引导学生使用小球模拟实际生活中的场景,比如一个箱子里有6个物品,如果已经拿走了3个,那么箱子里还剩下几个物品呢?4.游戏环节在巩固学生数字6的掌握的基础上,教师可以通过一些游戏的形式来活跃课堂气氛,比如通过观察图片找出数字6的个数或找规律等。
5.总结环节教师可以由学生把自己完成的拼图、画图、计算等粘贴在黑板上或在其他地方展示出来,学生彼此之间可留言或评论,表达对作品的欣赏和提出改进建议。
实验六数据库的完整性定义与检查实验目的:1.充分理解关系数据库中关于数据库完整性的概念。
2.掌握实体完整性的定义和检查方法。
3.掌握参照完整性的定义和检查方法。
4.掌握用户自定义完整性的定义和检查方法。
实验内容:一、在企业管理器中定义以下数据表中各字段的完整性约束(包括实体完整性、参照完整性和用户定义完整性)。
1.Student表。
记录学生基本信息。
表1-1 Student 表结构[Sno] [char](9)PRIMARY KEY,[Sname] [char](8)NOT NULL,[Ssex] [char](2)CHECK(Ssex IN('女','男')),[Sage] SMALLINT CHECK(Sage>=15 AND Sage<=45),[Sdept] [char](20)default('计算机'))2.Course表。
记录课程信息。
表1-2 Course 表结构[Cno] [char](10)PRIMARY KEY,[Cname] [char](20)NOT NULL,[Ccredit] SMALLINT CHECK(Ccredit>0),[Semester] SMALLINT CHECK(Semester>0),[Period] SMALLINT CHECK(Period>0),)3.Sc表。
记录学生选修课程的信息。
表1-3 Sc 表结构[Sno] [char](9)NOT NULL,[Cno] [char](10)NOT NULL,[Grade]SMALLINT CHECK(Grade>=0 and Grade<=100),PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno)REFERENCES Student(Sno),FOREIGN KEY(Cno)REFERENCES Course(Cno))二、在查询编辑器中,写出创建表的语句同时写出设置实体完整性、参照完整性和用户自定义完整性的语句。
社会心理学实验二实验六成就需要一、原理介绍成就需要理论是心理学家麦克里兰经过长期研究提出。
他认为在生存需要基本得到满足的前提下,人的最主要的需要有成就需要、相互关系需要和合群需要三种,其中成就需要的高低对人的成长和发展起到特别重要的作用。
人们的需要是分层次的,不同的人有不同的需要。
人们有了某种强烈的需要后,在心理上总会产生某种倾向性。
成就需要是指个人对于自己认为重要的或有价值的事,力求达成的欲望。
所谓成就是相对的,是个人完成一件工作后与他人或自己的既定标准相比较所得出的结果。
成就需要包含的内容很多,如对于地位、名誉、声望等的需要,对于实力、绩效、优势等的需要。
研究表明,人们的成就需要不仅内容不同,而且其强度也因人而异,有些人的成就需要强烈,有些人的成就需要很弱。
成就需要是后天学习的结果,下列条件将会激发人们的成就需要:(1)能让个人独立负起责任来解决问题的那种环境气氛。
(2)能制订出中等成就目标并接受“可预测风险”的倾向。
(3)有关他们工作进展情况的详细而具体的及时反馈。
成就需要指追求优越感的驱动力,或者参照某种标准去追求成就感、寻求成功的欲望。
成就需要高的人具有以下几个特点:(1)有较强的责任感。
他们不仅仅把工作看做是对组织的贡献,而且希望从工作中来实现和体现个人的价值,因此对工作有较高的投入。
(2)喜欢能够得到及时的反馈,看到自己工作的绩效和评价结果,因为这是产生成就感的重要方式。
(3)倾向于选择适度的风险。
他们既不甘于去做那些过于轻松、简单而无价值的事,也不愿意冒太大的风险去做不太可能做到的事,因为如果失败就无法体验到成就感。
高成就需要者在创造性的活动中更容易获得成功。
使用代表不同场合下不同表现的照片,让被试凭自己的想象分析照片中心人物的要求等的心理研究方法称为主题测验法。
麦克里兰等人进行过一系列与下述实验类似的研究,结果曾出现几种答案:其一,这是一位学生在写论文,他进修了高级课程,收集了丰富的资料,想用最新颖的笔法写出来;其二,这个学生可能由于某种原因,对老师询问的问题不会回答,感到失望;其三,他怀疑学习的内容是否有价值,他正在考虑是否继续学习下去,还是另找别的事做。
1 / 8数值分析实验六:解线性方程组的迭代法2016113 张威震1 病态线性方程组的求解1.1 问题描述理论的分析表明,求解病态的线性方程组是困难的。
实际情况是否如此,会出现怎样的现象呢?实验内容:考虑方程组Hx=b 的求解,其中系数矩阵H 为Hilbert 矩阵,,,1(),,,1,2,,1i j n n i j H h h i j n i j ⨯===+-这是一个著名的病态问题。
通过首先给定解(例如取为各个分量均为1)再计算出右端b 的办法给出确定的问题。
实验要求:(1)选择问题的维数为6,分别用Gauss 消去法、列主元Gauss 消去法、J 迭代法、GS 迭代法和SOR 迭代法求解方程组,其各自的结果如何?将计算结果与问题的解比较,结论如何?(2)逐步增大问题的维数(至少到100),仍然用上述的方法来解它们,计算的结果如何?计算的结果说明了什么?(3)讨论病态问题求解的算法1.2 算法设计首先编写各种求解方法的函数,Gauss 消去法和列主元高斯消去法使用实验5中编写的函数myGauss.m 即可,Jacobi 迭代法函数文件为myJacobi.m ,GS 迭代法函数文件为myGS.m ,SOR 方法的函数文件为mySOR.m 。
1.3 实验结果1.3.1 不同迭代法球求解方程组的结果比较选择H 为6*6方阵,方程组的精确解为x* = (1, 1, 1, 1, 1, 1)T ,然后用矩阵乘法计算得到b ,再使用Gauss 顺序消去法、Gauss 列主元消去法、Jacobi 迭代法、G-S 迭代法和SOR 方法分别计算得到数值解x1、x2、x3、x4,并计算出各数值解与精确解之间的无穷范数。
Matlab 脚本文件为Experiment6_1.m 。
迭代法的初始解x 0 = (0, 0, 0, 0, 0, 0)T ,收敛准则为||x(k+1)-x(k)||∞<eps=1e-6,SOR方法的松弛因子选择为w=1.3,计算结果如表1。
实验六数组(二)一、实验目的1.掌握一维数组和二维数组的定义、赋值和初始化的方法2.掌握字符数组的使用3.熟练掌握与数组相关的各种算法二、实验任务1.阅读、调试、运行程序,比较阅读的结果和运行的结果。
(1)#include<stdio.h>void main(){ char ch[7]={"12ab56"};int i,s=0;for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)s=10*s+ch[i]-'0';printf("%d\n",s);}(2)运行下面程序时,输入ab<CR>c<CR>def<CR>#include<stdio.h>#define N 6void main(){ char c[N];int i=0;for( ;i<N;c[i]=getchar(),i++);for(i=0;i<N;i++) putchar(c[i]);}(3)#include<stdio.h>void main(){ int a[10]={1,2,2,3,4,3,4,5,1,5};int n=0,i,j,c,k;for(i=0;i<10-n;i++){ c=a[i];for(j=i+1;j<10-n;j++)if(a[j]==c){ for(k=j;k<10-n;k++)a[k]=a[k+1];n++;}}for(i=0;i<(10-n);i++)printf("%d",a[i]);}(4)#include <stdio.h>void main(){ int i;char a[]="Time",b[]="Tom";for(i=0;a[i]!='\0'&&b[i]!='\0';i++)if(a[i]==b[i])if(a[i]>='a'&&a[i]<='z')printf("%c",a[i]-32);elseprintf("%c",a[i]+32);else printf("*");}(5)#include<stdio.h>#define LEN 4void main(){ int j,c;static char n[2][LEN+1]={"8980","9198"};for(j=LEN-1;j>=0;j--){c=n[0][j]+n[1][j]-2*'0';n[0][j]=c%10+'0';}for(j=0;j<=1;j++) puts(n[j]);}2. 完善程序,并调试运行(1)以下程序的功能是删除一个字符串中的所有数字字符。
#include "stdio.h"void delnum(char *s){int i,j;for(i=0,j=0; (1) '\0' ;i++)if(s[i]<'0' (2) s[i]>'9'){ (3) ;j++;}s[j]='\0';}下面程序的功能是:对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。
例如:输入的两个字符串分别为abcdefg和abceef,则输出为-1。
#include <stdio.h>void main ( ){ char str1[100],str2[100];int i,s;printf("\n Input string 1:\n");gets(str1);printf(“\n Input string 2:\n”);gets(str2);i= (1) ;while((str1[i]==str2[i])&&(str1[i]!= (2) ))i++;s= (3) ;printf("%d\n",s);}(3)下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变;#include “stdio.h”#include <string.h>void main(){ char a[]=”clanguage”,t;int i,j,k;k=strlen(a);for(i=0;i<=k-2;i+=2)for(j=i+2;j<=k; (1) )if( (2) ){ t=a[i];a[i]=a[j];a[j]=t;}puts(a);printf(“\n”);}(4)下例程序的功能是生成数列 1 6 4 9 7 12 10 15 13 18。
#include <stdio.h>void main(){int a[10]={1};int i;for( (1) ;i<10;i++)if(i%2!=0) a[i]= (2) +5;else a[i]=a[i-1]-2;for(i=0;i<10;i++)printf("%d ", (3) );}将一维数组各元素循环左移一次。
#include <stdio.h>void main(){int a[10],i,t;for(i=0;i<10;i++)scanf("%d", (1) );t= (2) ;for(i=1;i<10;i++)a[i-1]= (3) ;a[9]=t;for(i=0;i<10;i++)printf("%d ",a[i]);}(6)用“顺序查找“法查找在一组数找一个数。
#include <stdio.h>#define N 10void main(){int (1) ,i,k;for(i=0;i<N;i++)scanf("%d",&a[i]);scanf("%d",&k);i=0;while(i<N&& (2) )i++;if( (3) )printf("find");elseprintf("not find");}3. 修正程序,并调试运行(1)以下程序的功能是统计一个字符串中的字母、数字、空格、和其它字符的个数。
#include "stdio.h"void main (){char s[80];int a[4]={0};int k,i;gets(s1);for (i=0;s[i]!='\0';i++)if ('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z') b[0]++;/**********found**********/else if (0<=s[i]&&s[i]<=9) b[1]++;else if (s[i]==' ') b[2]++;else b[3]++;puts(s1);for(k=0;k<4;k++)/**********found**********/printf("%4c",a[k]);}}(2)有十个字符串,在每个字符串找出最大字符,按一一对应的顺序放入一维数组a中,即第i 个字符串的最大字符放入a[i]中。
输出每个字符串的最大字符。
#include <stdio.h>void main(){char s[10][20];/**********found**********/int a[10];int i,j;for(i=0;i<10;i++)/**********found**********/puts(s[i]);for(i=0;i<10;i++){a[i]=s[i][0];for(j=1;s[i][j]!='\0';j++)if(a[i]<s[i][j]) a[i]= s[i][j];}for(i=0;i<10;i++) printf("%d,%c",i, a[i]);}(3)以下程序的功能是统计一个字符串中的字母、数字、空格、和其它字符的个数。
#include "stdio.h"void main (){char s[80];int a[4]={0};int k,i;gets(s1);for (i=0;s[i]!='\0';i++)if ('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z') b[0]++;/**********found**********/else if (0<=s[i]&&s[i]<=9) b[1]++;else if (s[i]==' ') b[2]++;else b[3]++;puts(s1);for(k=0;k<4;k++)/**********found**********/printf("%4c",a[k]);}}(4)下面程序的功能是检查一个二维数组是否对称(即:对所有i和j都有a[i][j]=a[j][i])。
#include <stdio.h>void main(){int a[4][4]={1,2,3,4,2,2,5,6,3,5,3,7,4,6,7,4};int i,j,found=0;for(j=0;j<4;j++)/************found************/for(i=j+1;i<=4;i++)if(a[j][i] != a[i][j])/************found************/{found=1;continue;}if(found) printf("no");else printf("yes");}4.编写程序,并调试运行(1)用“折半”查找法,在一组按降序排列的数中查找一个值为K的元素。