2017算法设计与应用作业
算法课程设计资料
吉林财经大学课程设计报告课程名称:算法课程设计设计题目:插棒游戏所在院系:管理科学与信息工程学院计算机科学与技术指导教师:职称:副教授提交时间: 2017年4月目录一、题目描述与设计要求 (1)1 题目描述与设计要求 (1)二、问题分析 (1)1 解空间 (1)2 解空间结构 (2)3 剪枝 (2)4 回溯法的基本思想 (2)5 回溯法的适用条件 (3)6 回溯法的空间树 (4)7 回溯法的基本步骤 (4)三、算法设计 (5)1 伪代码 (5)四、复杂性分析 (6)1 时间复杂度 (6)2 空间复杂度该 (6)五、样本测试、分析与总结 (6)1 样本测试 (6)2 分析 (7)2.1、数据类型 (7)2.2 主要函数思路 (7)2.3 回溯 (8)3 总结 (8)参考文献 (9)附录 (10)一、题目描述与设计要求1 题目描述与设计要求这个类似谜题的游戏在等边三角形的板上布置了 15 个孔。
在初始时候,如下图所示,除了一个孔,所有孔都插上了插棒。
一个插棒可以跳过它的直接邻居,移到一个空白的位置上。
这一跳会把被跳过的邻居从板上移走。
设计并实现一个回溯算法,求解该谜题的下列版本:a.已知空孔的位置,求出消去 13 个插棒的最短步骤,对剩下的插棒的最终位置不限。
b.已知空孔的位置,求出消去 13 个插棒的最短步骤,剩下的插棒最终要落在最初的空孔上。
图1二、问题分析1 解空间由于棋盘的对称性,棋盘在变化的过程中会形成多个同构的状态。
例如初始状态时,空孔只有一个,共有15种基本状态。
如图2 所示,任意状态与空孔位置在其它的与该空孔颜色相同的点处的状态是同构的,它们可以通过沿中位线翻转和旋转60o 互相转换。
也就是说,空孔所在位置的颜色相同的个状态是同构的。
如空孔位置在顶点处的三个状态,他们仅通过旋转60o的操作即可互相转换。
图2同构的状态要么都无解,要么有相同数量的解,且他们的解可以根据同构对应变化得到。
南阳理工算法设计与分析期末试题成教专升本
南阳理工学院2017级清考2课程:算法设计与分析(专升本)总时长:120分钟1. (单选题) 下面程序段的运行结果是()。
int n=0;while (n++<=2);printf(“%d”,n);(本题2.5分)A、 2B、 3C、 4D、有语法错误学生答案: A标准答案:C解析:得分: 02. (单选题) 若i为整型变量,则以下循环执行次数是()。
for(i=2;i= =0) printf(“%d”,i- -);(本题2.5分)A、无限次B、0次C、1次D、2次学生答案: B标准答案:B解析:得分: 2.53. (单选题) 对下述程序段描述正确的是()。
int k=0:while (k=1)k++;(本题2.5分)A、有语法错误,不能执行B、循环是无限循环C、循环体语句一次也不执行D、程序体语句执行一次学生答案: A标准答案:B解析:得分: 04. (单选题) 下面有关for循环的正确描述是()。
(本题2.5分)A、for循环只能用于循环次已经确定的情况B、for循环是先执行循环体语句,后判断表达式C、在for循环中,不能用break语句跳出循环体D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来学生答案: D标准答案:D解析:得分: 2.55. (单选题) C语言中while和do-while循环的主要区别是()。
(本题2.5分)A、do-while的循环至少无条件执行一次B、while的循环控制条件比do-while循环控制条件更严格C、do-while允许从外部到循环体内D、do-while的循环体不能是复合语句学生答案: A标准答案:A解析:得分: 2.56. (单选题) 下面程序段的描述,正确的是()。
x=-1; do{x=x*x;}while(!x);(本题2.5分)A、是死循环B、循环执行两次C、循环执行一次D、有语法错误学生答案: C标准答案:C解析:得分: 2.57. (单选题) 下面程序运行的结果是()。
《操作系统原理》3(2017)在线作业参考资料
《操作系统原理》3(2017)在线作业参考资料一、单选题(共30 道试题,共60 分。
)V1. 下面关于设备属性的论述中,正确的是()。
A. 字符设备的基本特征是可寻址到字节,即能指定输入的源地址或输出的目标地址B. 共享设备必须是可寻址的和可随机访问的设备C. 共享设备是指同一时间内允许多个进程同时访问的设备D. 在分配共享设备和独占设备时都可能引起进程死锁正确答案:B 满分:2 分2. 从静态角度看,进程由程序、数据和()三部分组成。
A. JCBB. DCBC. PCBD. PMT正确答案:C 满分:2 分3. 在操作系统中,进程是一个()概念,而程序是一个静态的概念。
A. 组合态B. 关联态C. 运行态D. 动态正确答案:D 满分:2 分4. 通常,文件的逻辑结构可以分为两大类:无结构的()和有结构的记录式文件。
A. 堆文件B. 流式文件D. 直接(Hash)文件正确答案:B 满分:2 分5. 在请求调页系统中有着多种置换算法:选择自某时刻开始以来,访问次数最少的页面予以淘汰的算法称为()。
A. FIFO算法B. OPT算法C. LRU算法D. LFU算法正确答案:D 满分:2 分6. 使用户所编制的程序与实际使用的物理设备无关是由()功能实现的。
A. 设备分配B. 缓冲管理C. 设备管理D. 设备独立性正确答案:D 满分:2 分7. 通道具有()能力。
A. 执行I/O指令集B. 执行CPU指令集C. 传输I/O命令D. 运行I/O进程正确答案:A 满分:2 分8. 在请求调页系统中有着多种置换算法:选择自上次访问以来所经历时间最长的页面予以淘汰的算法称为()。
A. FIFO算法C. LRU算法D. NRU算法正确答案:C 满分:2 分9. 下列第()项不是文件系统的功能?A. 文件系统实现对文件的按名存取B. 负责实现数据的逻辑结构到物理结构的转换C. 提高磁盘的读写速度D. 提供对文件的存取方法和对文件的操作正确答案:C 满分:2 分10. 实现CPU和外部设备并行工作的硬件支持是:()。
吉林大学2017第二学期大作业CADCAM (1)
2016-2017学年第二学期期末考试《CAD/CAM》大作业一、简答题(每小题10分,共100分)1. CAD/CAM系统组成有哪些?(1)计算机(主机):是CAD/CAE/CAM的核心部分。
注塑模设计的全过程是一个信息转变的过程,同时生成大量的图形信息、分析计算结果信息等。
因此要求有一台高性能的计算机。
计算机主要由中央处理器(CPU)、内存储器(内存)和输入/输出(I/O)接口组成。
CPU由控制单元和算术逻辑单元组成,用于控制系统中所有部件的工作并进行数据的算术逻辑运算。
内存为计算机本身的一部分,并直接与CPU相连,主要用于存放系统软件、用户程序及数据。
而I/O接口是主机与外部设备连接的逻辑控制部件。
(2)外存储器(外存):又叫辅助存储器,主要用于存放数据和程序,存放内存存放不下的数据和程序。
外存主要有硬磁盘、软磁盘、磁带、光盘和光磁盘等几种形式。
(3)输入设备:它是将程序和数据输入计算机,并将信息送至内存或CPU。
常用的输入设备有键盘、鼠标、字符终端、图形终端等。
(4)输出设备:其作用是把主机经过程序运算和数据处理的信息输出到指定位置。
常用的输出设备有图形显示器、绘图机、打印机等。
(5)生产设备:当设计完成后,需要由生产设备将设计付诸实施,让图样变为实体,完成这个工作的生产设备主要有数控机床、机器人、自动测试装置、搬运机械等。
(6)网络:是用通信线路和通信设备将分散在不同地点并具有独立功能的各个硬件连接在一起,以实现一定程度的硬、软件资源共享,并实现与上位机或另外计算机网络进行通信。
计算机网络通常包括广域网和局域网两种。
2.什么是CAD技术?利用计算机及其图形设备帮助设计人员进行设计工作。
简称CAD。
在工程和产品设计中,计算机可以帮助设计人员担负计算、信息存储和制图等项工作。
3.CAD/CAM 系统软、硬件选择的总体原则。
在CAD/CAM系统选型中应把握趋势、区分差异、合理配置、兼顾发展。
浙江省杭州市萧山区2017年高考模拟命题比赛技术试卷13含答案
2017年高考模拟试卷 信息技术卷命题双向细目表2017年高考模拟试卷信息技术卷总分:50分考试时间:45分钟一、选择题(本大题共12小题,每小题2分,共24分。
每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)1.【原创】2016年,韩国围棋高手李世石挑战机器人“AlphaGo”以1:3失利。
今年四月份,在浙江乌镇将进行一场当今围棋第一人柯洁与“AlphaGo”的较量。
机器人“AlphaGo”挑战人类围棋高手,这主要体现了下列哪种技术( )A. 光电子技术B.人工智能技术C.多媒体通讯技术D.遥感技术难度0.85 区分度0.30 信度0.82参考答案:B命题意图与解析:本题考核信息技术发展及其应用。
机器人“AlphaGo”跟人对战,具有分析棋谱的能力,这属于人工智能范畴。
2.【根据高分直通车信息技术统一考试复习题改编】利用OCR光学字符识别软件可以快速地从图像中识别出字符,从而得到文本文件。
那么OCR软件能识别下列哪些文件( )①example.tif ②example.avi ③example.wav ④example.bmpA.②④B. ①③C. ②③D. ①④难度0.80 区分度0.38 信度0.83参考答案:D命题意图与解析:本题综合考核OCR的应用与文件类型的识记。
OCR软件识别的是图像文件,此题要求学生能对题中给出的四种文件类型能区分识别,找出图像文件。
3.【根据2016.4浙江省学考题改编】电子邮件从发送方传送到接收方的基本流程如图所示。
邮件从“发送方邮件服务器”传送到“接收方邮件服务器”(如图所示步骤④)的过程中使用的协议是( )A.SMTP B.POP3 C.HTTP D.HTML难度0.75 区分度0.35 信度0.78 参考答案:A命题意图与解析:本题考核电子邮件的协议。
简单邮件传输协议(SMTP)的作用是把电子邮件从发件人那里送到收件人那里,故此题选A。
本科专业认证《程序设计、算法与数据结构(一)》教学大纲
《程序设计、算法与数据结构(一)》教学大纲课程编号:0812000217课程名称:程序设计、算法与数据结构(一)英文名称:Programming,Algorithm and Data Structure I学分:3 课程性质:必修总学时:48 其中,讲授48学时,实验0学时,上机0学时,实训0学时适用专业:网络工程建议开设学期: 1先修课程:无开课单位:计算机与通信工程学院一、课程简介《程序设计、算法与数据结构(一)》是计算机科学与技术、软件工程、网络工程、通信工程专业基础课程,是课程群的启蒙课,也是学生进入大学后的第一门程序设计类课程,其目的是以C语言程序设计为基础,使学生熟悉C程序设计的基本语法,通过大量的编程练习,引导学生进入程序设计的殿堂,培养学生基本的数据结构和算法分析能力,为后续课程的学习打下基础。
二、课程目标与毕业要求依据2017培养方案中的毕业要求,考虑本课程与专业毕业要求的支撑关系,制定本课程学习目标。
课程目标1:通过程序三种基本控制结构,函数等知识点的学习,要求学生掌握结构化程序设计的基本思想,深入领会自顶向下、逐步求精的设计方法,识别网络工程项目的设计与开发过程中功能模块划分的问题。
(支持毕业要求 2.1能运用数学、自然科学及网络工程的基本原理,识别和判断网络工程问题的关键环节。
)课程目标2:在程序设计C语言后阶段学习过程中,针对成绩管理信息系统大作业的要求,将同学分组了解系统功能与应用背景,对具体的开发任务进行分工联调并编程实现。
通过系统实现强化个体的角色意识和团队意识。
(支撑毕业要求9.1:能够理解多学科背景下的团队中每个角色的定位与责任,具有团队合作意识,能够胜任个体、团队成员的角色任务。
)课程目标3:通过学习标准的C语言程序设计语法,运用函数、线性表、字符串、链表等基本知识,通过学习算法的描述方法,使学生能将实际问题转换成计算机描述的算法问题,培养学生运用程序算法的描述方法进行交流的能力。
普通高中信息技术课程标准(2017年版)解读
精心整理普通高中信息技术课程标准解读一、课程性质与基本理念(一)课程性质旧课程标准突出综合实践性,新课程标准突出信息技术是一门基础课程。
新课程标准强调构建具有时代特征的学习内容,兼重理论学习和实践应用,将知识建构、技能培养与思维发展融入到运用数字化工具解决问题和完成任务的过程中,让学生参与到信息技术支持的沟通、共享、合作与协(二)1.2.3.4.移到与之相关的其他问题解决中;数字化学习与创新是指将信息技术作为工具,去学习和创新;信息社会责任是指信息社会中的个体在文化修养、道德规范和行为自律等方面应尽的责任。
新旧共同点是总目标是提升学生的信息素养。
新课程目标旨在全面提升全体高中学生的信息素养,强调了全面性和全体性。
课程通过提供丰富的资源,帮助学生掌握概念,了解原理,认识价值,学会分析问题,形成多元理解能力,成为合格时代公民。
三、课程结构方面在设计依据上,以立德树人为指导思想,紧扣课程方案设置结构,参考国际标准突出前瞻性、体现学科自身发展特性,使得课程结构更为科学合理、有针对性。
课程结构由原来的必修和选修两类课程的6个模块改为必修、选择性必修和选修三类课程共10个模块。
具体来说,新课标中必修课程分2个模块,分别为数据与计算、信息系统与社会,学分由原来的2学分改为3学分,每学分18课时,共54课时,以此作为学科学业水平合格性考试的依据。
新增选择性必修课程,共6个模块,每个模块2学分,每学分18课时,需36课时。
作为必修课程的拓展与加深,学生可在修满必修学分的基础上,根据能力、发展需要选学。
其中数据与数职业选同时,学业质量水平的高低是阶段性评价、学业水平合格性考试和学业水平等级性考试命题的重要依据,其中学业质量水平2是高中毕业生在本学科应达到的合格要求,而学业质量水平4则作为学业水平等级性考试的命题依据。
六、实施建议实施建议主要从教学与评价建议、水平等级考试命题建议、教材编写建议及课程实施建议四个方面展开。
西安交大计算方法B2017大作业
计算方法B上机报告某某:学号:班级:学院:任课教师:2017年12月29日题目一:1.1题目内容某通信公司在一次施工中,需要在水面宽度为20米的河沟底部沿直线走向铺设一条沟底光缆。
在铺设光缆之前需要对沟底的地形进展初步探测,从而估计所需光缆的长度,为工程预算提供依据。
已探测到一组等分点位置的深度数据(单位:米)如下表所示:(1)请用适宜的曲线拟合所测数据点;(2)估算所需光缆长度的近似值,并作出铺设河底光缆的曲线图;1.2 实现题目的思想与算法依据首先在题目〔1〕中要实现的是数据的拟合,显然用到的是我们在第三章中数据近似的知识内容。
多项式插值时,这里有21个数据点,如此是一个20次的多项式,但是多项式插值随着数据点的增多,会导致误差也会随之增大,插值结果会出现龙格现象,所以不适用于该题目中点数较多的情况。
为了防止结果出现大的误差,同时又希望尽可能多地使用所提供的数据点,提高数据点的有效使用率,这里选择分段插值方法进展数据拟合。
分段插值又可分为分段线性插值、分段二次插值和三次样条插值。
由于题目中所求光缆的现实意义,而前两者在节点处的光滑性较差,因此在这里选择使用三次样条插值。
根据课本SPLINEM 算法和TSS 算法,采用第三种真正的自然边界条件,在选定边界条件和选定插值点等距分布后,可以先将数据点的二阶差商求出并赋值给右端向量d ,再根据TSS 解法求解三对角线线性方程组从而解得M 值。
求出M 后,对区间进展加密,计算200个点以便于绘图以与光缆长度计算。
对于问题〔2〕,使用以下的公式:20=()L f x ds ⎰20(f x =⎰191(k kk f x +==∑⎰1.3 算法结构1.For n i ,,2,1,0⋅⋅⋅=1.1 i i M y ⇒2. For 2,1=k2.1 For k n n i ,,1, -=2.1.1 i k i i i i M x x M M ⇒----)/()(13. 101h x x ⇒-4. For 1-,,2,1n i =4.1 11++⇒-i i i h x x4.2 b a c c h h h i i i i i i ⇒⇒-⇒+++2;1;)/(11 4.3 i i d M ⇒+165. 0000;;c M d M d n n ⇒⇒⇒λn n n b a b ⇒⇒⇒2;;20μ6. 1111,γμ⇒⇒d b7. For m k ,,3,2 =! 获取M 的矩阵元素个数,存入m7.1 k k k l a ⇒-1/μ 7.2 k k k k c l b μ⇒⋅-1- 7.3 k k k k l d γγ⇒⋅-1- 8. m m m M ⇒μγ/9. For 1,,2,1 --=m m k9.1 k k k k k M M c ⇒⋅-+μγ/)(1 10. k ⇒1! 获取x 的元素个数存入s 11. For 1,,2,1-=s i11.1 if i x x ≤~ then k i ⇒;breakelse k i ⇒+112. xx x x x x h x x k k k k ˆ~;~;11⇒-⇒-⇒--- y h x h M y x h M y x M x M k k k k k k ~/]ˆ)6()6(6ˆ6[2211331⇒-+-++---1.4 matlab 源程序n=20; x=0:n;y=[9.01 8.96 7.96 7.97 8.02 9.05 10.13 11.18 12.26 13.28 13.32 12.61 11.29 10.22 9.15 7.90 7.95 8.86 9.81 10.80 10.93];M=y; %用于存放差商,此时为零阶差商 h=zeros(1,n+1); c=zeros(1,n+1); d=zeros(1,n+1); a=zeros(1,n+1); b=2*ones(1,n+1); h(2)=x(2)-x(1);for i=2:n %书本110页算法SPLINEM h(i+1)=x(i+1)-x(i); c(i)=h(i+1)/(h(i)+h(i+1)); a(i)=1-c(i); enda(n+1)=-2; %计算边界条件c(0),a(n+1),采用的是第三类边界条件 c(1)=-2;for k=1:3 %计算k 阶差商for i=n+1:-1:k+1M(i)=(M(i)-M(i-1))/(x(i)-x(i-k));endif(k==2) %计算2阶差商d(2:n)=6*M(3:n+1); %给d赋值endif(k==3)d(1)=(-12)*h(2)*M(4); %计算边界条件d(0),d(n),采用的是第三类边界条件 d(n+1)=12*h(n+1)*M(n+1);endendl=zeros(1,n+1);r=zeros(1,n+1);u=zeros(1,n+1);q=zeros(1,n+1);u(1)=b(1);r(1)=c(1);q(1)=d(1);for k=2:n+1 %利用书本49页算法TSS求解三对角线性方程组r(k)=c(k);l(k)=a(k)/u(k-1);u(k)=b(k)-l(k)*r(k-1);q(k)=d(k)-l(k)*q(k-1);endp(n+1)=q(n+1)/u(n+1);for k=n:-1:1p(k)=(q(k)-r(k)*p(k+1))/u(k);endfprintf('三对角线性方程组的解为:');disp(p);%求拟合曲线x1=0:0.1:20; %首先对区间进展加密,增加插值点n1=10*n;x2=zeros(1,n1+1);x3=zeros(1,n1+1);s=zeros(1,n1+1);for i=1:n1+1for j=1:nif x1(i)>=x(j)&&x1(i)<=x(j+1) %利用书本111页算法EVASPLINE求解拟合曲线s(x)h(j+1)=x(j+1)-x(j);x2(i)=x(j+1)-x1(i);x3(i)=x1(i)-x(j);s(i)=(p(j).*(x2(i)).^3/6+p(j+1).*(x3(i)).^3/6+(y(j)-p(j).*((h(j+1)).^2/6)).*x2( i)+...(y(j+1)-p(j+1).*(h(j+1)).^2/6).*x3(i))/h(j+1);endendendplot(x,-y,'x') %画出插值点hold onplot(x1,-s) %画出三次样条插值拟合曲线hold ontitle('三次样条插值法拟合电缆曲线');xlabel('河流宽度/m');ylabel('河流深度/m');Length=0;for i=1:n1L=sqrt((x1(i+1)-x1(i))^2+(s(i+1)-s(i))^2); %计算电缆长度 Length=Length+L;endfprintf('电缆长度(m)=');disp(Length);1.5 结果与说明由上图可以看出,所得到的曲线光滑,能够较好得反映实际的河沟底部地势形貌。
2017年计算机统考408答案及解析
2017年全国硕士研究生入学统一考试计算机科学与技术学科联考计算机学科专业基础综合试题一、单项选择题:第1~40小题,每小题2分,共80分。
下列每题给出的四个选项中,只有一个选项最符合试题要求。
1.下列函数的时间复杂度是。
int func(int n){int i=0, sum=0;while(sum < n) sum += ++i;return i;}A.O(logn) B.O(n1/2) C.O(n) D.O(nlogn)2.下列关于栈的叙述中,错误的是。
Ⅰ.采用非递归方式重写递归程序时必须使用栈Ⅱ.函数调用时,系统要用栈保存必要的信息Ⅲ.只要确定了入桟次序,即可确定出栈次序Ⅳ.栈是一种受限的线性表,允许在其两端进行操作A.仅I B.仅I、Ⅱ、ⅢC.仅I、Ⅲ、ⅣD.仅Ⅱ、Ⅲ、Ⅳ3.适用于压缩存储稀疏矩阵的两种存储结构是。
A.三元组表和十字链表B.三元组表和邻接矩阵C.十字链表和二叉链表D.邻接矩阵和十字链表4.要使一棵非空二叉树的先序序列与中序序列相同,其所有非叶结点须满足的条件是。
A.只有左子树B.只有右子树C.结点的度均为1 D.结点的度均为25.已知一棵二叉树的树形如下图所示,其后序序列为e,a,c,b,d,g,f,树中与结点a同层的结点是。
A.c B.d C.f D.g6.已知字符集{a,b,c,d,e,f,g,h},若各字符的哈夫曼编码依次是0100,10, 0000, 0101,001, 011,11,0001,则编码序列0100011001001011110101的译码结果是。
A.a c g a b f h B.a d b a g b bC.a f b e a g d D.a f e e f g d7.已知无向图G含有16条边,其中度为4的顶点个数为3,度为3的顶点个数为4,其他顶点的度均小于3。
图G所含的顶点个数至少是。
A.10 B.11 C.13 D.158.下列二叉树中,可能成为折半查找判定树(不含外部结点)的是。
《算法分析与设计试卷2016-2017》
《算法分析与设计》试卷(A)(时间90分钟满分100分)B )。
A、分支界限法B、动态规划法C、贪心法D、回溯法2.在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是( B ).A.回溯法B.分支限界法C.回溯法和分支限界法D.回溯法求解子集树问题3.实现最大子段和利用的算法是( B )。
A、分治策略B、动态规划法C、贪心法D、回溯法4..广度优先是( A )的一搜索方式。
A、分支界限法B、动态规划法C、贪心法D、回溯法5.衡量一个算法好坏的标准是( C )。
A 运行速度快B 占用空间少C 时间复杂度低D 代码短6.Strassen矩阵乘法是利用( A)实现的算法。
A、分治策略B、动态规划法C、贪心法D、回溯法7. 使用分治法求解不需要满足的条件是( A )。
A 子问题必须是一样的B 子问题不能够重复C 子问题的解可以合并D 原问题和子问题使用相同的方法解8.用动态规划算法解决最大字段和问题,其时间复杂性为( B ).A.lognB.nC.n2D.nlogn9.解决活动安排问题,最好用( B )算法A.分治B.贪心C.动态规划D.穷举10.下面哪种函数是回溯法中为避免无效搜索采取的策略( B )A.递归函数 B.剪枝函数C。
随机数函数 D.搜索函数11. 从活结点表中选择下一个扩展结点的不同方式将导致不同的分支限界法,以下除( C )之外都是最常见的方式.A.队列式分支限界法B.优先队列式分支限界法C.栈式分支限界法D.FIFO分支限界法12. .回溯算法和分支限界法的问题的解空间树不会是( D ).A.有序树B.子集树C.排列树D.无序树13.优先队列式分支限界法选取扩展结点的原则是( C )。
A、先进先出B、后进先出C、结点的优先级D、随机14.下面是贪心算法的基本要素的是( C )。
A、重叠子问题B、构造最优解C、贪心选择性质D、定义最优解15.回溯法在解空间树T上的搜索方式是( A ).A.深度优先B.广度优先C.最小耗费优先D.活结点优先二、填空题(20分,每空1分)。
普通高中信息技术课程标准(2017年版)解读
普通高中信息技术课程标准解读一、课程性质与基本理念(一)课程性质旧课程标准突出综合实践性,新课程标准突出信息技术是一门基础课程。
新课程标准强调构建具有时代特征的学习内容,兼重理论学习和实践应用,将知识建构、技能培养与思维发展融入到运用数字化工具解决问题和完成任务的过程中,让学生参与到信息技术支持的沟通、共享、合作与协商中,体验知识的社会性建构,从而成为具有较高信息素养的中国公民。
(二)基本理念新旧都是5个基本理念,新旧不同体现在以下4个方面:1。
首次提出立德树人的价值观,帮助学生有效利用信息、媒体、工具,优化自己的学习和生活,提高服务社会的能力。
帮助学生成长为有效的技术使用者、创新的技术设计者和理性的技术反思者.2。
课程结构由选修和必修两个模块,调整为必修,选择性必修,选修三个模块,满足学生的多元需求。
3.强调以学习为中心的教与学关系,在问题解决过程中提升信息素养,激发学生开放、合作、协商的行动意识,鼓励运用计算思维形成解决问题的方案。
4.构建基于学科核心素养的评价体系.课程评价以学科核心素养的分级体系为依据,注重情境中评价和整体性评价,评价方式促进基于项目的学习,完善标准化纸笔测试和上机测试相结合的学业评价。
二、学科核心素养与课程目标新课标详细阐述了什么是学科核心素养,从四个核心要素进行了具体描述,分别是信息意识、计算思维、数字化学习与创新、信息社会责任.其中,信息意识是指个体对信息的敏感度和对信息价值的判断力;计算思维是采用计算机方式界定问题,运用合理的算法形成解决问题的方案,并迁移到与之相关的其他问题解决中;数字化学习与创新是指将信息技术作为工具,去学习和创新;信息社会责任是指信息社会中的个体在文化修养、道德规范和行为自律等方面应尽的责任。
新旧共同点是总目标是提升学生的信息素养.新课程目标旨在全面提升全体高中学生的信息素养,强调了全面性和全体性。
课程通过提供丰富的资源,帮助学生掌握概念,了解原理,认识价值,学会分析问题,形成多元理解能力,成为合格时代公民.三、课程结构方面在设计依据上,以立德树人为指导思想,紧扣课程方案设置结构,参考国际标准突出前瞻性、体现学科自身发展特性,使得课程结构更为科学合理、有针对性。
《算法设计与分析基础》课件-3.蛮力法
if A[j] < A[min] min j
swap A[i] and A[min]
7
2017/12/31
例题:对序列 {89,45,68,90,29,34,17}用选择排序 算法进行排序
• 第1遍: {89,45,68,90,29,34,17} //求最小元素 {17,45,68,90,29,34,89} //交换
• 第5遍: {17,29,34,45,90,68,89} {17,29,34,45,68,90,89}
• 第6遍: {17,29,34,45,68,90,89} {17,29,34,45,68,89,90} //排序结束
8
CHD
(本动画中,参与排序的是R[1]到R[n],R[0]作为交换中转的空 间;变量j对应前面算法中的变量min)
2017/12/31
ALGORITHM BubbleSort(A[0,…,n – 1]) // 冒泡排序算法在数组上的应用 // 输入:数组A,数组中的元素属于某偏序集 // 输出:按升序排列的数组A for i 0 to n – 2 do
for j 0 to n – 2 – i do if A[j+1] < A[j] swap(A[j], A[j+1])
CHD
(4)对解决一些小规模的问题实例仍然有效
(5)可作为衡量其他算法的参照。
2
2017/12/31
Brute Force Examples:
1. Computing an (a > 0, n a nonnegative integer)
2. Computing n!
3. Multiplying two matrices
17春北理工《实用数据结构与算法》在线作业
2017秋17春北理工《实用数据结构与算法》在线作业一、单选题(共20 道试题,共40 分。
)1. 具有2000个结点的二叉树,其高度至少为()。
A. 9B. 10C. 11D. 12正确答案:2. 含4个结点(元素值均不相同)的二叉搜索树有()种。
A. 12B. 14C. 5D. 15正确答案:3. 当两个元素比较出现反序时就相互交换位置的排序方法称为()。
A. 归并排序B. 选择排序C. 交换排序D. 插入排序正确答案:4. 对线性表进行二分查找时,要求线性表必须()。
A. 以顺序方式存储B. 以链接方式存储C. 以顺序方式存储,且结点按关键字有序排列D. 以链接方式存储,且结点按关键字有序排列正确答案:5. 设有50行60列的二维数组A[50][60],其元素长度为4字节,按行优先顺序存储,基地址为200,则元素A[18][25]的存储地址为()。
A. 3700B. 4376C. 3900D. 4620正确答案:6. 一棵高度(假定树根结点为第0层)为4的完全二叉树中的结点数最少为()。
A. 15B. 16C. 17D. 31正确答案:7. 根据二叉树的定义可知二叉树共有()种不同的形态。
A. 4B. 5C. 6D. 7正确答案:8. 对哈希(HASH)函数H(k)= k MOD m, 一般来说,m应取()。
A. 素数B. 很大的数C. 偶数D. 奇数正确答案:9. 一个数组第一个元素的存储地址是100,每个数组元素的长度为2,则第5个元素的地址是()。
A. 110B. 108C. 100D. 120正确答案:10. 用链接方式存储的队列,在进行插入运算时()。
A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D. 头、尾指针可能都要修改正确答案:11. 一个栈的入栈序列是abcde,则栈的不可能的输出序列是()。
A. edcbaB. decbaC. dceabD. abcde正确答案:12. 图的存储结构不包括()A. 数组表示B. 邻接表C. 邻接多重表D. 孩子兄弟表示正确答案:13. 有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当采用折半查找值为82的节点时,()次比较后查找成功。
交叉耦合算法在龙门进给系统中的应用分析
交叉耦合算法在龙门进给系统中的应用分析刘康;舒志兵;曹海笑【摘要】Gantry feeding system is widely used in various production lines and machining centers. Especially,it is important to achieve precise synchronization between master axis and slave axis. So,based on the brand new and advanced System One CM with cross coupling control algorithm from LTI Motion,gantry feeding system was designed. The structure of machinery and control,analysis of algorithm,software program,parameter configuration and research were presented. Test from the experiment platform shows that the design is feasible,which improve the accuracy of the feeding system and has extensive application value.%龙门进给系统广泛应用于各种生产线、加工中心.其中,主轴与从轴之间达到精确的同步是关键.为此,使用带交叉耦合控制算法的路斯特最新高端伺服驱动系统System One CM设计出一套龙门进给系统.给出了该系统的机械与控制结构、算法原理分析、软件程序、参数设置及实验验证等.在实验平台上测试表明:该设计思路是可行的,提高了龙门进给系统的精度,具有广泛的应用价值.【期刊名称】《电气传动》【年(卷),期】2017(047)006【总页数】4页(P56-59)【关键词】交叉耦合算法;龙门进给系统;伺服控制【作者】刘康;舒志兵;曹海笑【作者单位】南京工业大学电气工程与控制科学学院,江苏南京 211816;南京工业大学电气工程与控制科学学院,江苏南京 211816;路斯特运动控制技术(上海)有限公司,上海 200137【正文语种】中文【中图分类】TP273龙门进给系统可以非常方便地用作各种自动化设备,特别适用于多品种,大批量的柔性化作业,对于稳定地提高产品质量,提升劳动生产率,改善劳动条件和产品的快速更新换代起着十分重要的作用。
2017年上半年多媒体应用设计师考试计算机与多媒体应用基础知识真题
2017年上半年多媒体应用设计师考试计算机与多媒体应用基础知识真题(总分:75.00,做题时间:150分钟)一、单项选择题(总题数:75,分数:75.00)1.CPU执行算术运算或者逻辑运算时,常将源操作数和结果暂存在()中。
(分数:1.00)A.程序计数器(PC)B.累加器(AC)√C.指令寄存器(IR)D.地址寄存器(AR)解析:2.要判断字长为16位的整数a的低四位是否全为0,则()。
(分数:1.00)A.将a与OxOOOF进行“逻辑与”运算,然后判断运算结果是否等于0 √B.将a与OxOOOF进行“逻辑或”运算,然后判断运算结果是否等于FC.将a与OxFFFO进行“逻辑异或”运算,然后判断运算结果是否等于0D.将a与OxFFFO进行“逻辑与”运算,然后判断运算结果是否等于F解析:3.计算机系统中常用的输入/输出控制方式有无条件传送、中断、程序查询和DMA方式等。
当采用()方式时,不需要CPU执行程序指令来传送数据。
(分数:1.00)A.中断B.程序查询C.无条件传送D.DMA √解析:4.某系统由下图所示的冗余部件构成。
若每个部件的千小时可靠度都为R,则该系统的千小时可靠度为()。
(分数:1.00)A.(1-R3)(1-R2)B.(1-(1-R)3)(1-(1-R)2)√C.(1-R3)+(1-R2)D.(1-(1-R)3)+(1-(1-R)2)解析:5.已知数据信息为16位,最少应附加()位校验位,才能实现海明码纠错。
(分数:1.00)A.3B.4C.5 √D.6解析:6.以下关于Cache(高速缓冲存储器)的叙述中,不正确的是()。
(分数:1.00)A.Cache的设置扩大了主存的容量√B.Cache的内容是主存部分内容的拷贝C.Cache的命中率并不随其容量增大线性地提高D.Cache位于主存与CPU之间解析:7.HTTPS使用()协议对报文进行封装。
(分数:1.00)A.SSHB.SSL √C.SHA-1D.SET解析:8.以下加密算法中适合对大量的明文消息进行加密传输的是()。
2017-2018学年高一数学必修3全册同步课时作业含解析【人教B版】
2017-2018学年高一数学必修3全册同步课时作业目录1.1.1算法的概念1.1.2程序框图1.1.3算法的三种基本逻辑结构和框图表示1 1.1.2程序框图1.1.3算法的三种基本逻辑结构和框图表示2 1.1.2程序框图1.1.3算法的三种基本逻辑结构和框图表示3 1.2.1赋值输入和输出语句1.2.2条件语句1.2.3循环语句1.3中国古代数学中的算法案例2.1.1简单随机抽样2.1.2系统抽样2.1.3分层抽样2.1.4数据的收集2.2.1用样本的频率分布估计总体2.2.2用样本的数字特征估计总体2.3.1变量间的相关关系2.3.2两个变量的线性相关3.1.1随机现象3.1.2事件与基本事件空间3.1.3频率与3.1.4 的加法公式3.2.1古典概型3.2.2 的一般加法公式选学3.3.1几何概型3.3.2随机数的含义与应用3.4概率的应用第一章 1.1 1.1.1算法的概念A 级 基础巩固一、选择题1.下列语句中是算法的是导学号 95064017( A )A .解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1B .吃饭C .做饭D .写作业[解析] 选项A 是解一元一次方程的具体步骤,故它是算法,而B 、C 、D 是说的三个事实,不是算法.2.计算下列各式中的S 值,能设计算法求解的是导学号 95064018( B ) ①S =1+2+3+…+100; ②S =1+2+3+…+100+…;③S =1+2+3+…+n (n ≥1,且n ∈N ). A .①② B .①③ C .②D .②③[解析] 由算法的确定性、有限性知选B .3.早上从起床到出门需要洗脸、刷牙(5 min),刷水壶(2 min),烧水(8 min),泡面(3 min),吃饭(10 min),听广播(8 min)几个过程,下列选项中最好的一种算法是导学号 95064019( C )A .第一步,洗脸刷牙;第二步,刷水壶;第三步,烧水;第四步,泡面;第五步,吃饭;第六步,听广播B .第一步,刷水壶;第二步,烧水同时洗脸刷牙;第三步,泡面;第四步,吃饭;第五步,听广播C .第一步,刷水壶;第二步,烧水同时洗脸刷牙;第三步,泡面;第四步,吃饭同时听广播D .第一步,吃饭同时听广播;第二步,泡面;第三步,烧水同时洗脸刷牙;第四步,刷水壶[解析] 因为A 选项共用时36 min ,B 选项共有时31 min ,C 选项共用时23 min ,选项D 的算法步骤不符合常理,所以最好的一种算法为C 选项.4.对于一般的二元一次方程组⎩⎪⎨⎪⎧a 1x +b 1y =c 1a 2x +b 2y =c 2,在写求此方程组解的算法时,需要我们注意的是导学号 95064020( C )A.a1≠0B.a2≠0C.a1b2-a2b1≠0D.a1b1-a2b2≠0[解析]由二元一次方程组的公式算法即知C正确.5.下面是对高斯消去法的理解:①它是解方程的一种方法;②它只能用来解二元一次方程组;③它可以用来解多元一次方程组;④用它来解方程组时,有些方程组的答案可能不准确.其中正确的是导学号 95064021( A )A.①②B.②④C.①③D.②③[解析]高斯消去法是只能用来解二元一次方程组的一种方法,故①②正确.6.一个算法步骤如下:S1 S取值0,i取值2;S2 如果i≤10,则执行S3,否则执行S6;S3 计算S+i并将结果代替S;S4 用i+2的值代替;S5 转去执行S2;S6 输出S.运行以上步骤输出的结果为导学号 95064022( B )A.25 B.30C.35 D.40[解析]按算法步骤一步一步地循环计算替换,该算法作用为求和S=2+4+6+8+10=30.二、填空题7.已知直角三角形两条直角边长分别为a、b,求斜边长c的算法如下:导学号 95064023S1 输入两直角边长a、b的值.S2 计算c=a2+b2的值;S3 ____________.将算法补充完整,横线处应填__输出斜边长c的值__.[解析]算法要有输出,故S3应为输出c的值.8.一个算法步骤如下:导学号 95064024S1 S取值0,i取值1;S2 如果i≤12,则执行S3,否则执行S6;S3 计算S+i并将结果代替S;S4 用i+3的值代替i;S5 转去执行S2;S6 输出S.运行以上步骤输出的结果为S=__22__.[解析]由以上算法可知:S=1+4+7+10=22.三、解答题9.某年青歌赛流行唱法个人组决赛中,某歌手以99.19分夺得金奖.青歌赛在计算选手最后得分时,要去掉所有评委对该选手所打分数中的最高分和最低分,试设计一个找出最高分的算法.导学号 95064025[解析]S1 先假定其中一个为“最高分”;S2 将第二个分数与“最高分”比较,如果它比“最高分”还高,就假定这个分数为“最高分”;否则“最高分”不变;S3 如果还有其他分数,重复S2;S4 一直到没有可比的分数为止,这时假定的“最高分”就是所有评委打分中的最高分.10.一个人带三只狼和三只羚羊过河,只有一条船,同船最多可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃掉羚羊.请设计过河的算法.导学号 95064026[解析]算法如下:S1 人带两只狼过河;S2 人自己返回;S3 人带一只羚羊过河;S4 人带两只狼返回;S5 人带两只羚羊过河;S6 人自己返回;S7 人带两只狼过河;S8 人自己返回;S9 人带一只狼过河.B级素养提升一、选择题1.算法:S1 输入n;S2 判断n是否是2.若n=2,则n满足条件;若n>2,则执行S3;S3 依次从2到n-1检验能不能整除n,若不能整除n,则满足条件.上述满足条件的数是导学号 95064027( A )A.质数B.奇数C.偶数D.4的倍数[解析]根据算法可知,如果n=2直接就是满足条件的数.n不是2时,验证从2到n -1有没有n的因数,如果没有就满足条件.显然,满足这个算法中条件的数是质数.故选A.2.现用若干张扑克牌进行扑克牌游戏.小明背对小亮,让小亮按下列四个步骤操作:第一步:分发左、中、右三堆牌,每堆牌不少于两张,且各堆牌的张数相同;第二步:从左边一堆拿出两张,放入中间一堆;第三步:从右边一堆拿出一张,放入中间一堆;第四步:左边一堆有几张牌,就从中间一堆拿出几张牌放入左边一堆.这时,小明准确地说出了中间一堆牌现有的张数,你认为中间一堆牌的张数是导学号 95064028( B )A.4 B.5C.6 D.8[解析]按各放3张,可以算出答案是5,各放x张答案也是一样的.二、填空题3.下面算法运行后输出结果为__720__.导学号 95064029S1 设i=1,P=1;S2 如果i≤6则执行S3,否则执行S5;S3 计算P×i,并将结果代替P的值;S4 用i+1的值代替i的值,转去执行S2;S5 输出P.[解析]该算法包含一个循环结构,计数变量i的初值为1,每次循环它的值增加1.由1变到6.P是一个累乘变量,每一次循环得到一个新的结果,并用新的结果替代原值.第一次循环i=1,P=1.第二次循环i=2,P=2.第三次循环i=3,P=6.第四次循环i=4,P =24.第五次循环i =5,P =120.第六次循环i =6,P =720.4.下面是解决一个问题的算法:导学号 95064030 S1 输入x ;S2 若x ≥4,转到S3;否则转到S4; S3 输出2x -1; S4 输出x 2-2x +3.当输入x 的值为__1__输出的数值最小值为__2__.[解析] 所给算法解决的问题是求分段函数f (x )=⎩⎪⎨⎪⎧2x -1 (x ≥4)x 2-2x +3 (x <4)的函数值的问题当x ≥4时,f (x )=2x -1≥2×4-1=7;当x <4时,f (x )=x 2-2x +3=(x -1)2+2≥2.所以f (x )min =2,此时x =1.即当输入x 的值为1时,输出的数值最小,且最小值是2.三、解答题5.设计一个算法,求表面积为16π的球的体积. 导学号 95064031 [解析] S1 取S =16π; S2 计算R =S4π(由于S =4πR 2);S3 计算V =43πR 3;S4 输出运算结果.6.设火车托运行李,当行李重量为m (kg)时,每千米的费用(单位:元)标准为y =⎩⎪⎨⎪⎧0.3m (m ≤30 kg )0.3×30+0.5(m -30)(m >30 kg),试写出当托运路程为S 千米时计算运费的算法.导学号 95064032[解析] 算法如下: S1 输入m ;S2 若m ≤30,则执行S3,若m >30,则执行S4; S3 输出0.3m ×S ;S4 输出[0.3×30+0.5(m -30)]×S .C 级 能力拔高1.已知函数y =⎩⎪⎨⎪⎧2x-1(x ≤-1)log 2(x +1)(-1<x <2)x 2(x ≥2),请设计一个算法,输入x 的值,求对应的函数值.导学号 95064033[解析] 算法如下: S1 输入x 的值;S2 当x ≤-1时,计算y =2x-1,否则执行S3; S3 当x <2时,计算y =log 2(x +1),否则执行S4; S4 计算y =x 2; S5 输出y .2.试描述判断圆(x -x 0)2+(y -y 0)2=r 2和直线Ax +By +C =0的位置关系的算法.导学号 95064034[解析] S1 输入圆心的坐标(x 0,y 0),直线方程的系数A ,B ,C 和半径r ; S2 计算z 1=Ax 0+By 0+C ; S3 计算z 2=A 2+B 2; S4 计算d =|z 1|z 2;S5 如果d >r ,则相离;如果d =r ,则相切;如果d <r ,则相交.1.1.2 程序框图 1.1.3 算法的三种基本逻辑结构和框图表示(1)A 级 基础巩固一、选择题1.任何一种算法都离不开的基本结构为导学号 95064050( D ) A .逻辑结构 B .条件结构 C .循环结构D .顺序结构[解析] 任何一种算法都离不开顺序结构.2.如图所示程序框图中,其中不含有的程序框是导学号 95064051( C )A .终端框B .输入、输出框C .判断框D .处理框[解析] 含有终端框,输入、输出框和处理框,不含有判断框. 3.如图所示的程序框图的运行结果是导学号 95064052( B )A .2B .2.5C .3.5D .4[解析] ∵a =2,b =4,∴S =a b +b a =12+2=2.5.二、填空题4.在如图所示的程序框图中,若输出的z 的值等于3,那么输入的x 的值为 19.导学号 95064053[解析] 当输出的z 的值为3时,z =y =3,∴y =9,由1x =9,得x =19,故输入的x的值为19.5.如图是求一个数的百分之几的程序框图,则(1)处应填__n =n ×m __.导学号 95064054[解析] 因为程序框图的作用是求一个数的百分之几,故(1)处应填输入的数n 与百分比m 的乘积所得数,再让它赋值给n .三、解答题6.已知球的半径为1,求其表面积和体积,画出其算法的程序框图.导学号 95064055 [解析] 如图所示:7.已知x =10,y =2,画出计算w =5x +8y 值的程序框图.导学号 95064056 [解析] 算法如下:S1 令x=10,y=2.S2 计算w=5x+8y.S3 输出w的值.其程序框图如图所示:B级素养提升一、选择题1.如图所示的程序框图中,要想使输入的值与输出的值相等,输入的a值应为导学号 95064057( D )A.1 B.3C.1或3 D.0或3[解析]本题实质是解方程a=-a2+4a,解得a=0或a=3.2.阅读如图所示的程序框图,若输入的a、b、c的值分别是21、32、75,则输出的a、b、c分别是导学号 95064058( A )A.75,21,32 B.21,32,75C.32,21,75 D.75,32,21[解析]输入21,32,75后,该程序框图的执行过程是:输入21,32,75.x=21.a=75.c=32.b=21.输出75,21,32.二、填空题3.如图所示的程序框图,输出的结果是S=7,则输入的A值为__3__.导学号 95064059[解析]该程序框图的功能是输入A,计算2A+1的值.由2A+1=7,解得A=3.4.如下图,程序框图的功能是__求五个数的和以及这五个数的平均数__. 导学号 95064060[解析]该程序框图表示的算法是首先输入5个数,然后计算这5个数的和,再求这5个数的算术平均数,最后输出它们的和与平均数.三、解答题5.已知一个圆柱的底面半径为R,高为h,求圆柱的体积.设计解决该问题的一个算法,并画出相应的程序框图.导学号 95064061[解析]算法如下:S1 输入R,h,S2 计算V=πR2h.S3 输出V.程序框图如图所示:6.已知两个单元分别存放了变量x 和y ,试变换两个变量的值,并输出x 和y ,请写出算法并画出程序框图.导学号 95064062[解析] 算法如下: S1 输入x ,y . S2 把x 的值赋给p . S3 把y 的值域给x . S4 把p 的值赋给y . S5 输出x ,y . 程序框图如下:C 级 能力拔高1.已知一个直角三角形的两条直角边长为a 、b ,斜边长为c ,写出它的外接圆和内切圆面积的算法,并画出程序框图.导学号 95064063[解析] 算法步骤如下: S1 输入a ,b . S2 计算c =a 2+b 2.S3 计算r =12(a +b +c ),R =c2.S4 计算内切圆面积S 1=πr 2,外接圆面积S 2=πR 2. S5 输出S 1、S 2,结束. 程序框图如图.2.已知函数y=2x+3,若给出函数图象上任一点的横坐标x(由键盘输入),设计一个算法,求该点到坐标原点的距离,并画出程序框图.导学号 95064064[解析]算法如下:S1 输入横坐标的值;S2 计算y=2x+3;S3 计算d=x2+y2;S4 输出d.程序框图如图:1.1.2 程序框图 1.1.3 算法的三种基本逻辑结构和框图表示(2)A 级 基础巩固一、选择题1.如图所示的程序框图中,输入x =2,则输出的结果是导学号 95064079( B )A .1B .2C .3D .4[解析] 输入x =2后,该程序框图的执行过程是: 输入x =2,x =2>1成立, y =2+2=2,输出y =2.2.要解决下面的四个问题,只用顺序结构画不出其算法框图的是导学号 95064080( C )A .利用公式1+2+…+n =n (n +1)2计算1+2+…+10的值B .当圆面积已知时,求圆的周长C .当给定一个数x 时,求其绝对值D .求函数f (x )=x 2-3x -5的函数值[解析] C 中要判断x 是大于等于0还是小于0,故选项C 只用顺序结构画不出其程序框图.3.已知a =212,b =log33,运算原理如图所示,则输出的值为导学号 95064081( D )A .22B . 2C .2-12D .2+12[解析] 由a =2<b =log33=lg3lg 3=2,知a >b 不成立,故输出a +1b =2+12.4.如图是计算函数y =⎩⎪⎨⎪⎧-x (x ≤-1)0(-1<x ≤2)x 2(x >2)的值的程序框图,在①、②、③处应分别填入的是导学号 95064082( A )A .y =-x ,y =0,y =x 2B .y =-x ,y =x 2,y =0 C .y =0,y =x 2,y =-xD .y =0,y =-x ,y =x 2[解析] ①处x 满足x ≤-1,则由函数的解析式知,①处应填入y =-x ; ②处x 满足-1<x ≤2,则由函数的解析式知,②处应填入y =0; ③处x 满足x >2,则由函数的解析式知,③处应填入y =x 2. 二、填空题5.某算法的程序框图如图所示,若输出结果为12,则输入的实数x 的值是导学号 95064083[解析] 当x ≤1时,y =x -1≤0, ∵输出结果为12,∴x >1,∴log 2x =12,∴x = 2.6.如图所示表示求函数f (x )=|x -3|的值的算法.请将程序框图补充完整.其中①处应填__x <3?(或x ≤3?)__,②处应填__y =x -3__.导学号 95064084三、解答题7.获得学习优良奖的条件如下:导学号 95064085 (1)所考五门课成绩总分超过460分; (2)每门课都在85分以上;(3)前三门(主课)每门成绩都在95分以上.输入一名学生的五门课的成绩,问他是否符合优良奖的条件,画出这一算法的程序框图. [解析] 我们设这名学生的五门课的成绩分别为a 、b 、c 、d 、e .设计算法如下: 第一步,输入学生五门课的成绩a 、b 、c 、d 、e ; 第二步,计算学生的总成绩S =a +b +c +d +e ; 第三步,若S ≥460,则执行第四步,否则执行第十步;第四步,若a ≥95,则执行第五步,否则执行第十步; 第五步,若b ≥95,则执行第六步,否则执行第十步; 第六步,若c ≥95,则执行第七步,否则执行第十步; 第七步,若d ≥85,则执行第八步,否则执行第十步; 第八步,若e ≥85,则执行第九步,否则执行第十步; 第九步,输出“该学生获得学习优良奖”; 第十步,输出“该学生不获得学习优良奖”. 程序框图如图:8.画出输入一个数x ,求分段函数y =⎩⎨⎧x (x ≥0)e x (x <0)的函数值的程序框图.导学号 95064086[解析] 程序框图如图所示:B级素养提升一、选择题1.某市出租车的起步价为8元(含3 km),超过3 km的里程每千米收2.6元,另外每车次超过3 km收燃油附加费1元(不考虑其他因素).相应的收费系统的程序框图如图所示(此处的x假定为整数),则(1)处应填导学号 95064087( D )A.y=8+2.6x B.y=9+2.6xC.y=8+2.6(x-3) D.y=9+2.6(x-3)[解析]当x>3时,y=8+2.6(x-3)+1=9+2.6(x-3),∴(1)处应填y=9+2.6(x-3).2.执行如图所示的程序框图,若输出的结果是8,则输入的数是导学号 95064088 ( A )A.2或-2 2 B.22或-2 2C .-2或-2 2D .2或2 2[解析] 当x 3=8时x =2,a =4,b =8,b >a ,输出8 当x 2=8时,x =±22,a =8,b =±62, 又a >b ,输出8, 所以x =-22,故选A . 二、填空题3.下列程序框图的运算结果为__5__.导学号 95064089[解析] ∵a =5,S =1,a ≥4, ∴S =1×5=5, ∴输出S 的值为5.4.已知函数y =⎩⎪⎨⎪⎧log 2x (x ≥2)2-x (x <2),下图中表示的是给定x 的值,求其对应的函数值y的程序框图.①处应填写__x <2?__;②处应填写__y =log 2x __.导学号 95064090[解析] 框图中的①就是分段函数解析式两种形式的判断条件,故填写“x <2?”.②就是该函数的另一段表达式y =log 2x .三、解答题5.在音乐唱片超市里,每张唱片售价25元,顾客如果购买5张以上(含5张)唱片,则按照九折收费;如果顾客购买10张以上(含10张)唱片,则按照八五折收费.请设计一个完成计费工作的算法,并画出程序框图.导学号 95064091[解析]算法如下:S1 输入a;S2 若a<5,则c=25a;否则,执行S3;S3 若a<10,则c=22.5a;否则(a≥10),c=21.25a.S4 输出c.程序框图如图所示:C级能力拔高1.某市劳动保障部门规定:某工种在法定工作时间内,工资为8元/h,加班工资为12元/h.已知某人在一周内工作60 h,其中加班20 h,他每周收入的10%要交纳税金.请设计一个算法,计算此人这周所得净收入,并画出相应的程序框图.导学号 95064092 [解析]此人一周在法定工作时间内工作40 h,加班20 h,他一周内的净收入等于(40×8+20×12)×(1-10%)元.算法步骤如下:第一步,令T=40,t=20.第二步,计算S=(8×T+12×t)×(1-10%).第三步,输出S.程序框图如图所示:2.阅读如图程序框图,并根据该框图回答以下问题.导学号 95064093(1)分别求f (-1),f (0),f (12),f (3)的值;(2)写出函数f (x )的表达式.[解析] (1)当x =-1时,满足x <0,故执行y =0, 即f (-1)=0,同样地,可得f (0)=1,f (12)=1,f (3)=3.(2)算法的功能是求下面函数的函数值:f (x )=⎩⎪⎨⎪⎧0(x <0)1(0≤x <1)x (x ≥1).1.1.2 程序框图 1.1.3 算法的三种基本逻辑结构和框图表示(3)A级基础巩固一、选择题1.算法共有三种逻辑结构,即顺序结构、条件结构、循环结构,下列说法正确的是导学号 95064111( D )A.一个算法只能含有一种逻辑结构B.一个算法最多可包含两种逻辑结构C.一个算法必须含有上述三种逻辑结构D.一个算法可以含有上述三种逻辑结构的任意组合[解析]一个算法可以含有一种逻辑结构,也可以含有两种逻辑结构,还可以含有三种逻辑结构,故选D.2.下列判断正确的是导学号 95064112( B )A.条件结构中必有循环结构B.循环结构中必有条件结构C.顺序结构中必有条件结构D.顺序结构中必有循环结构[解析]由循环结构的定义知B正确.3.下面关于当型循环结构和直到型循环结构的说法,不正确的是导学号 95064113 ( D )A.当型循环结构是先判断后循环,条件成立时执行循环体,条件不成立时结束循环B.直到型循环结构要先执行循环体再判断条件,条件成立时结束循环,条件不成立时执行循环体C.设计程序框图时,两种循环结构可以任选其中的一个,两种结构也可以相互转化D.设计循环结构的程序框图时只能选择这两种结构中的一种,除这两种结构外,再无其他循环结构[解析]循环结构的程序框中必须包含条件结构,故选项D的说法是错误的.4.(2015·福建文,4)阅读如图所示的程序框图,运行相应的程序,若输入x的值为1,则输出y的值为导学号 95064114( C )A .2B .7C .8D .128[解析] 由题意得,该程序是求分段函数y =⎩⎪⎨⎪⎧2x,x ≥29-x ,x <2的函数值,则f (1)=9-1=8,故选C .二、填空题5.执行下面的程序框图,若p =0.8,则输出的n =__4__.导学号 95064115[解析] 第一次循环后:S =12,n =2;第二次循环后:S =12+14=34,n =3;第三次循环后:S =12+14+18=78,n =4,此时循环结束.6.(2016·山东文)执行下面的程序框图,若输入n 的值为3,则输出的S 的值为__1__.导学号 95064116[解析]第一次运行,i=1,S=2-1;第二次运行,i=2,S=3-1;第三次运行,i=3,S=1,符合判断条件,故输出的S的值为1.三、解答题7.用直到型和当型两种循环结构写出求1+3+5+…+99的算法,并画出各自的算法流程图.导学号 95064938[解析]直到型循环算法:第一步,S=0.第二步,i=1.第三步,S=S+i.第四步,i=i+2.第五步,如果i不大于99,转第三步,否则,输出S.相应流程图如图①所示.当型循环算法如下:第一步,S=0.第二步,i=1.第三步,当i≤99时,转第四步,否则,输出S.第四步,S=S+i.第五步,i=i+2,并转入第三步.相应流程图如图②所示.8.设计一个算法,求1×22×33×…×100100的值,画出程序框图.导学号 95064117 [解析]算法步骤如下:S1 S=1;S2 i=1;S3 S=S×i i;S4 i=i+1;S5 判断i>100是否成立,若成立,则输出S,结束算出;否则,返回S3.该算法的程序框图如图所示:B级素养提升一、选择题1.阅读下边的程序框图,运行相应的程序,则输出S的值为导学号 95064118( B )A .-10B .6C .14D .18[解析] 输入S =20,i =1;i =2×1=2,S =20-2=18,2>5不成立; i =2×2=4,S =18-4=14,4>5不成立; i =2×4=8,S =14-8=6,8>5成立.输出6,故选B .2.(2017·山东文,6)执行如图所示的程序框图,当输入的x 的值为4时,输出的y 的值为2,则空白判断框中的条件可能为导学号 95064119( B )A .x >3B .x >4C .x ≤4D .x ≤5[解析] 输入x =4,若满足条件,则y =4+2=6,不合题意;若不满足条件,则y =log 24=2,符合题意,结合选项可知应填x >4,故选B .二、填空题3.执行下面的程序框图,若输入x =9,则输出y =299.导学号 95064120[解析] 输入x =9,则y =5,|y -x |=4>1,执行否,x =5,y =113,|y -x |=43>1,执行否,x =113,y =299,|y -x |=49<1,执行是,输出y =299.4.如图所示,程序框图中输出S 的值为__94__.导学号 95064121[解析] 该程序框图的运行过程是:i =1,S =1i =1+1=2 S =2×(1+1)=4 i =2>5不成立 i =2+1=3 S =2×(4+1)=10 i =3>5不成立 i =3+1=4 S =2×(10+1)=22 i =4>5不成立 i =4+1=5 S =2×(22+1)=46 i =5>5不成立 i =5+1=6S=2×(46+1)=94i=6>5成立,输出S=94.三、解答题5.经过市场调查分析得知,2017年第一季度内,北京市海淀区居民对某种商品的需求量为18 000件.为保证商品不脱销,商家在月初时将商品按相同数量投放市场.已知年初商品的库存量为50 000件,用K表示商品的库存量,请设计一个程序框图,求出第一季度结束时商品的库存量.导学号 95064122[解析]设置出判断框中的条件,再由第一季度每个月份结束时商品的库存量,确定判断框的“是”与“否”分支对应的操作,由此即可画出流程图,用循环结构实现这一算法.程序框图如下:C级能力拔高1.数学课上,老师为了提高同学们的兴趣,先让同学们从1到3循环报数,结果最后一个同学报2;再让同学们从1到5循环报数,最后一个同学报3;又让同学们从1到7循报数,最后一个同学报 4.请你设计一个算法,计算这个班至少有多少人,并画出程序框图.导学号 95064123[解析]算法如下:第一步,选择一个起始数x=7.第二步,判断这个数是否满足除以3余2.如果不满足,则加1后再判断,直至满足,转入第三步.第三步,判断第二步得到的数是否满足除以5余3.如果不满足,则加1后再转入第二步判断,直至满足,转入第四步.第四步,判断第三步得到的数是否满足除以7余4.如果不满足,则加1后再转入第二步判断,直至满足,转入第五步.第五步,输出第四步得到的数,即为所求的最小值.程序框图如图所示:2.某班共有学生50人,在一次数学测试中,要搜索出测试中及格(60分及以上)的成绩,画出解决此问题的程序框图.导学号 95064124[解析]程序框图如图所示.第一章 1.2 1.2.1赋值、输入和输出语句A级基础巩固一、选择题1.下列给出的赋值语句正确的是导学号 95064141( B )A.5=M B.x=-xC.B=A=3 D.x+y=0[解析]赋值号左边只能是变量,而不能是表达式,故选项A、D错误;在一个赋值语句中只能给一个变量赋值,不能出现两个或多个“=”,故C错.2.执行“print(%io(2),3+5)”的输出结果是导学号 95064142( C )A.3+5=3+5 B.3+5=8C.8 D.8=8[解析]输出语句有计算功能,∴3+5=8.3.下列输入、输出语句正确的是导学号 95064143( D )A.输入语句input a;b;cB.输入语句input x=3C.输出语句print A=4D.输出语句print(%io(2),x)[解析]A中,变量之间应用逗号“,”隔开;B中,input语句中只能是变量,而不能是表达式;C中,print语句中不能再用赋值号“=”;D中,print语句可以输出变量、表达式的值,故选D.4.将两个数A=9,B=15交换使得A=15,B=9,下列语句正确的一组是导学号 95064144( D )A=B B=A A=CC=BB=AB=AA=BC=BB=AA=CA B C D [解析]此语句功能是交换两个变量的值,要找一个中间变量来过渡.5.以下程序运行后输出结果是导学号 95064145( D )A.58 B.88C.13 D.85[解析]∵x=58,a为58除以10的整数商,∴a=5.又∵b为58除以10的余数,∴b=8.∴x=10×8+5=85.6.下列程序若输出的结果为3,则输入的x值可能是导学号 95064146( D )x=input(”x=”);y=x*x+2*x;print(%io(2),y);A.1 B.-3C.-1 D.1或-3[解析]依题意,得x2+2x=3,∴x=1或x=-3,即输入的x的值可能是1或-3.二、填空题7.下列程序的运行结果是__12,4__.导学号 95064147a=1;b=3;a=a+b;b=b*a;print(%io(2),a,b);[解析]∵a=1,b=3,∴a=a+b=4;b=b*a=3×4=12,故输出结果为12,4.8.执行下列程序:导学号 95064148A=20;B=15;A=A+B;B=A-B;A=A*B;B=A+B;print(%io(2),B);运行结果为__720__.[解析]∵A=20,B=15,∴A=A+B=35,B=A-B=20,∴A=A×B=35×20=700,∴B=A+B=700+20=720.故运行结果为720.三、解答题9.在一次数学考试中,小明、小亮、小强的成绩分别为a、b、c,后来发现统计错了.小亮的成绩记在了小明的名下,小强的成绩记在了小亮的名下,而小明的成绩记在小强的名下了.设计程序更正成绩单,并输出.导学号 95064149[解析]程序如下:a=input(“a=”);b=input(“b=”);c=input(“c=”);x=a;a=c;c=b;b=x;print(%io(2),a,b,c);10.求下列赋值语句各变量的值:a=2;b=5;c=a+b2;a=a+c;b=a+b.导学号 95064150[解析]c=a+b2,a为2,b为5,故c=27.a=a+c,a为2,c为27,故a=29.b=a+b,a为29,b为5,故b=34.故a、b、c的值为29、34、27.B级素养提升一、选择题1.给出下列程序:x1=input(“x1=”;)y1=input(“y1=”);x2=input(“x2=”);y2=input(“y2=”);a=x1-x2;m=a^2;b=y1-y2;n=b^2;s=m+n;d=sqrt(s);print(%io(2),d);此程序的功能为导学号 95064151( B )A.求点到直线的距离B.求两点之间的距离C.求一个多项式函数的值D.求输入的值的平方和[解析]输入的四个实数可作为两个点的坐标,程序中的a、b分别表示两个点的横、纵坐标之差,而m 、n 分别表示两点横、纵坐标之差的平方;s 是横、纵坐标之差的平方和,d 是平方和的算术平方根,即两点之间的距离,最后输出此距离.2.给出下面一个程序: A =5;B =8;X =A ;A =B ;B =X +A ;print(%io(2),A ,B);此程序运行的结果是导学号 95064152( C ) A .5,8 B .8,5 C .8,13D .5,13[解析] 先将A 的值赋给X ,此时X =5,再将B 的值8赋给A ,此时A =8,再将X +A (即5+8=13)的值赋给B ,此时B =13,最后出A 、B ,则A =8,B =13.二、填空题3.下列程序的运行结果是__10__.导学号 95064153a =2;b =3;c =4;a =b ;b =a +c ;c =b +a ;a =(a +b +c)/2;print(%io(2),a);[解析] ∵a =2,b =3,c =4, ∴a =b =3,b =a +c =7,c =b +a =10,a =a +b +c 2=3+7+102=10.故运行结果为10.4导学号 95064154[解析] 输入x 、输出y 分别转化为输入语句、输出语句,y =2x转化为赋值语句. 三、解答题5.编写一个程序,要求输入两个正数a 和b 的值,输出a b与b a的值.导学号 95064155 [解析] 解法一:程序为:a =input (“a =”);b =input (“b =”);A =a ^b ;B =b ^a ;print (%io(2),A);print(%io(2),B);解法二:程序为:a =input(“a=”);b =input(“b=”);A =a^b ;print(%io(2),A);x =a ;a =b ;b =x ;A =a^b ;print(%(2),A); C 级 能力拔高1.以下是用Scilab 语言编写的一个程序,解释每步程序的作用.导学号 95064156 x =input(“x=”);y =input(“y=”);print(%io(2),x/2);print(%io(2),3*y);x =x +1;y =y +1;print(%io(2),y ,x);[解析] x =input(“x=”)的作用是输入x 的值, y =input(“y=”)的作用是输入y 的值, print(%io(2),x/2)的作用是输出x2的值,print(%io(2),3*y)的作用是输出3y的值,x=x+1的作用是将x的值增加1,y=y+1的作用是将y的值增加1,print(%io(2),y,x)的作用是顺次输出x、y的值.2.编写一个程序,求用长度为l的细铁丝分别围成一个正方形和一个圆时所围成的正方形和圆的面积.要求输入l的值,输出正方形和圆的面积(π取3.14).导学号 95064157 [解析]程序如下:l=input(“l=”);S1=(l^2)/16;S2=(l^2)/(4*3.14);print(%io(2),S1);print(%io(2),S2);第一章 1.2 1.2.2条件语句A 级 基础巩固一、选择题1.对条件语句的描述正确的是导学号 95064172( C ) A .else 后面的语句不可以是条件语句 B .两个条件语句可以共用一个end C .条件语句可以没有else 后的语句D .条件语句中,if 和else 后的语句必须都有[解析] 如果作二次判断else 后的语句可以是条件语句,每一个条件语句都有自己的if 与end ,不可共用,else 后可以没有语句.2.当a =1,b =3时,执行完下面一段程序后x 的值是导学号 95064173( C ) if a<b x =a +b elsex =a -b end xA .1B .3C .4D .-2[解析] ∵1<3满足a <b ,∴x =1+3=4,故选C .3.给出以下四个问题:①输入一个数x ,输出它的相反数;②求面积为6的正方形的周长;③求三个数a 、b 、c 中的最大数;④求函数f (x )=⎩⎪⎨⎪⎧x -1(x ≥0)x +2(x <0)的函数值.其中不需要用条件语句来描述其算法的有导学号 95064174( B ) A .1个 B .2个 C .3个D .4个[解析] ①②直接用顺序结构即可,不需用条件语句;而③需要判断三个数的大小,④是分段函数求值问题,故需用到条件语句.4.若如图程序运行后的结果是3,那么输入的x 的值是导学号 95064175( C )。
201703考试批次《算法与数据分析》(结课作业)
201703考试批次《算法与数据分析》结课作业学生姓名徐前峰学习中心济宁奥鹏学号 201209338664专业计算机科学与技术年级层次转升本北京语言大学网络教育学院《算法与数据分析》结课作业注意:本学期所布置的结课作业,请同学一律按照以下要求执行:1) 结课作业提交起止时间:2017年1月21日--3月20日。
(届时平台自动关闭,逾期不予接收。
)2) 结课作业课程均需通过“离线作业”栏目提交电子版,学院不收取纸介的结课作业,以纸介回寄的作业一律视为无效;3)截止日期前可多次提交,平台只保留最后一次提交的文档,阅卷时以最后一次提交的结课作业为准,截止日期过后将关闭平台,逾期不交或科目提交错误者,按0分处理;4) 提交文档要求:提交的文档格式为doc、rar,大小10M以内;5) 必须严格按照每门课程的答题要求完成作业,没有按照学院要求来做的结课作业,将酌情扣分。
一. 论述题(本大题共5小题,请任选其中两道题作答,每小题25分,总分50分)1.分治法所能解决的问题一般具有哪些特征。
分治法所能解决的问题一般具有的几个特征是:(1)该问题的规模缩小到一定的程度就可以容易地解决;(2)该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质;(3)利用该问题分解出的子问题的解可以合并为该问题的解;(4)原问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。
2.分支限界法设计算法有哪些步骤。
用分支限界法设计算法的步骤是:(1)针对所给问题,定义问题的解空间(对解进行编码);(2)确定易于搜索的解空间结构(按树或图组织解);(3)以广度优先或以最小耗费(最大收益)优先的方式搜索解空间,并在搜索过程中用剪枝函数避免无效搜索。
3.常见的两种分支限界法的算法框架是什么?常见的两种分支限界法的算法框架(1)队列式(FIFO)分支限界法:按照队列先进先出(FIFO)原则选取下一个节点为扩展节点。
《算法设计与分析》实验二
14210501022017 3 281234121010 3201741112//枢轴元素t为数组最左侧的元素//i往右移动j往左移动当指向同一位置时扫描完成//如果右侧指针元素比轴测元素大,指针元素左移//确保i在j左边//当右侧指针元素比轴测元素小时,交换两指针指向数的位置//如果左侧指针元素比轴测元素小,指针元素右移//确保i在j左边//当左侧指针元素比轴测元素大时,交换两指针指向数的位置//对左边进行排序//对右边进行排序printf("\n");system("pause");getchar();}运行结果经验归纳结合以前学的数据结构及应用算法,较容易理解。
题目二:对用户输入的杂乱无序的数字序列按照由小到大的顺序排序:合并排序题目分析合并排序的基本思想是:将待排序的元素分成大小大相同的两个子集合,分别对两个子集合进行排序,最终将排序好的子集合合并成所要求的拍好序的集合。
算法构造核心代码来自书上:MergePass(Type x[],Type y[],int s,int n)//合并大小为s的相邻序列子数组Merge(Type c[],Type d[],int l,int m,int r) //合并c[l,m]和x[m+1,r]到y[l,r]算法实现//将a中的元素合并到数组b//将b中的元素合并到数组a//合并c[l,m]和x[m+1,r]到y[l,r]//合并大小为s的相邻序列子数组//合并大小为s的相邻2字段数组//合并x[i,i+s-1]和x[i+s,i+2*s-1]到y[i,i+2*s-1] //处理剩下的元素少于2sfor(int j=i;j<=n-1;j++)y[j]=x[j];}void main(){int a[100],i,n;printf("请输入要进行合并排序的数字的个数:\n");scanf_s("%d",&n);for( i=0;i<n;i++){printf("请输入要进行合并排序的第%d个数字:\n",i+1);scanf_s("%d",&a[i]);}MergeSort(a,n);printf("合并排序的结果:\n");for(i=0;i<n;i++)printf("%d,",a[i]);printf("\n");system("pause");}运行结果经验归纳结合以前学的数据结构及应用算法,用心理解还能明白。
2017上半年软件设计师上午试题
中级软件设计师2017上半年上午试题单项选择题1、CPU执行算术运算或者逻辑运算时,常将源操作数和结果暂存在( B )中。
A. 程序计数器(PC)B. 累加器(AC)C. 指令寄存器(IR)D. 地址寄存器(AR)【解析】本题考查计算机组成原理中的CPU构成。
答案应该是累加寄存器,用来暂时存放算术逻辑运算部件ALU运算的结果信息。
程序计数器(PC)是存放执行指令的地方,计算之前就要用到。
指令寄存器(IR)保存当前正在执行的一条指令。
地址寄存器(AR)用来保存当前CPU所要访同的内存単元的地址。
2、要判断宇长为16 位的整数a 的低四位是否全为0,则( A )A. 将a 与0x000F进行"逻辑与"运算,然后判断运算结果是否等于0B. 将a 与0x000F进行"逻辑或"运算,然后判断运算结果是否等于FC. 将a 与0x000F进行"逻辑异或"运算,然后判断运算结果是否等于0D. 将a 与0x000F进行"逻辑与"运算,然后判断运算结果是否等于F【解析】本题考查计算机组成原理中数据运算基础知识。
在逻辑运算中,设A和B为两个逻辑变量,当且仅当A和B的取值都为“真”时,A与B 的值为“真”;否则A与B的值为“假”。
当且仅当A和B的取值都为“假”时,A或B的值为“假”;否则A或B的值为“真”。
当且仅当A、B的值不同时,A异或B为“真”,否则A异或B为“假”。
对于16位二进制整数a,其与0000000000001111(即十六进制数000F)进行逻辑与运算后,结果的高12位都为0,低4位则保留a的低4位,因此,当a的低4位全为0时,上述逻辑与运算的结果等于0。
3、计算机系统中常用的输入/输出控制方式有无条件传送、中断、程序查询和DMA方式等。
当采用( D )方式时,不需要CPU 执行程序指令来传送数据。
A. 中断B. 程序查询C. 无条件传送D. DMA【解析】本题考查DMA方式的特点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1有52张牌,使它们全部正面朝上,第一轮是从第2张开始,凡是2的倍数位置上的牌翻成正面朝下;第二轮从第3张牌开始,凡是3的倍数位置上的牌,正面朝上的翻成正面朝下的,正面朝下的翻成正面朝上的;以此类推,直到翻得牌超过104张为止。
统计最后有几张牌正面朝上以及它们的位置号。
问题分析:52张牌都有一个初始状态,即全部朝上。
第一轮开始时,2的倍数位置改变,非2的倍数保持原样;第二轮开始时,3的奇数倍朝下,3的偶数倍朝上;第三轮开始时,4的倍数朝上,即2的偶数倍朝下,以此类推,直到牌数超过104,则进行状态统计。
算法设计:根据题意,首先对第一轮进行记录,算法则应该是依次对位置进行改变,用循环求解翻转问题。
算法分析:这个算法使用循环对牌进行逐层比较,算法复杂度为O(n+1),使用了52个空间的一维数组。
数据结构设计:用一维数组a[52]表示52张牌,设其初始状态为0。
计数小于104时,第一轮开始进行翻转,下一轮即n+1轮开始分情况进行翻转,用整型shang 进行朝上个数的统计,位置则由i来确定。
算法如下:#include <stdio.h>int main(){int a[52] = {0}; //用一维数组表示52张牌,0表示正面朝上int shang = 0; //正面朝上的个数int i = 0;int count= 0; //次数统计int n=1;while(count <=104){if(n == 1){for(i = n+1;i <=52;++i){if(i%(n+1) == 0){a[i-1] = 1;//front--;++count;}}n++;}elsefor(i = n+1;i <=52;++i){if(i%(n+1) == 0){if(a[i-1] == 0){ a[i] = 1;++count;}else{a[i] = 0;++count;}}}n++;}}for(i = 0;i < 52;++i){if(a[i] == 0){shang++;}}printf("正面朝上的扑克有:%d\n",shang); printf("它们的位置号为:\n");for(i = 0;i < 52; ++i)if(a[i] == 0){printf("%d\t",i);}}printf("\n");return 0;}运行结果如下:1.键盘输入n个正整数,把它们看作一个“数圈”,求其中连续4个数之和最大者。
问题分析:用数1到n表示键盘输入的数,把连续4个数之和同前后进行比较,求出和最大,可利用二重循环把所有情况进行列举。
算法设计:用1,2,3…n代表输入的数,其存储的值代表连续4个数之和。
第一层循环:范围从n到n+4;第二层循环:范围从1到n;最后对和进行比较,然后输出。
算法分析:算法效率为O(4n),存储空间上有些浪费,可根据实际情况进行空间分配。
数据结构设计:首先用一个一维数组表示键盘输入的数,定义一个最大数,设置其初始状态为0,把连续4个数的和用he表示,再同max进行比较,输出内容就是问题的解。
算法如下:#include<stdio.h>int main(void){int ch[120], n, i, j, he=0, max=0, maxi;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&ch[i]);for(i=n;i<n+4;i++)ch[i]=ch[i-n];for(i=0;i<n;i++){he=ch[i]+ch[i+1]+ch[i+2]+ch[i+3];if(he>max){max=he; maxi=i;}}i=maxi;printf("最大和=%d+%d+%d+%d=%d\n",ch[i],ch[(i+1)%n],ch[(i+2)%n],ch[(i+3)%n],he);return 0;}运行结果如下:2.有一堆棋子,2枚2枚地数,最后余1枚;3枚3枚地数,最后余2枚;5枚5枚地数,最后余4枚;6枚6枚地数,最后余5枚;7枚7枚地数,最后正好数完,编程完成这堆棋子最少有多少枚棋子。
问题分析:用n表示棋子数,要求可以7枚7枚的数,因此棋子数至少为7,问题可以用条件语句进行求解。
算法设计:用7到n表示棋子数,余数表示剩余的棋子数。
设置棋子数的范围,因为不知道具体有多少,所以尽可能的大一点,然后进行情况判别。
算法分析:算法比较简单,但由于预先不知道棋子数,因此效率比较差。
数据结构分析:首先预确定一个棋子数的范围,分别对2、3、5、7进行取余,符合情况则输出棋子数n,不符合则加1,继续进行判断,输出结构符合问题要求。
算法如下:#include<stdio.h>int main(void){int n=7;while(n<1000){if(n%2==1&&n%3==2&&n%5==4&&n%6==5&&n%7==0){printf("%d\n",n);break;}else n++;}return 0;}运行结果如下:3.利用分治法求一组数据中最大的两个数和最小的两个数。
问题分析:用n表示输入的数,最大的两个数和最小的两个数可用循环进行情况列举。
算法设计:用分治法可以用较少的比较次数解决上述问题。
问题可以简化为求最大值和最小值,再把这种情况除外,再求其最大值和最小值。
算法分析:算法中需要n-1次比较,才能得到第一个最大最小值,需要n-2次比较得到第二个最大最小值。
数据结构设计:把输入的数存入一维数组ch[],首先对两个数进行比较,然后大的数或者小的数同下一个比较,直到输出最大的数max1和最小的数min1;下一次继续进行循环比较,输出最大的数max2和最小的数min2。
算法如下:#include <stdio.h>int main(void){int ch[20], n,i,max1=0,max2=0,min1=0,min2=0;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&ch[i]);for(i=0;i<n;i++){if(ch[max1]<ch[i])max1=i;if(ch[min1]>ch[i])min1=i;}if(max1==0)max2=1;if(min1==0)min2=1;for(i=0;i<n;i++){if(i==max1||i==min1)continue;if(ch[max2]<ch[i])max2=i;if(ch[min2]>ch[i])min2=i;}printf("max1=%d max2=%d min1=%d min2=%d",ch[max1],ch[max2],ch[min1],ch[min2]);return 0;}4.等分液体,在一个瓶子中装有8N(N为偶数)升汽油,要平均分成两份,但只有一个装3(N/2-1)升的量杯和装5(N/2+1)升的量杯(都没有刻度)。
打印出所有把汽油分成两等份的操作过程。
若无解打印“NO”,否则打印操作过程。
问题分析:将8升汽油平分装入两个不同容量的容器,在没有刻度的情况下,一次就平分是不行的,需要利用容器的差异性多次进行最后达到平分,可以通过分析具体情况达到目的。
算法设计:利用深度优先算法进行搜索,不满足均分条件时则及时进行回溯,当满足问题的解则结束。
算法分析:这个算法比较简单,利用条件分支进行判断,来保证不漏判。
数据结构分析:将三个容器的容量定义为常量,在定义两个变量b和c来确定瓶中实际的重量。
根据确定量的不同情况进行分配,最后达到均分的效果。
算法如下:#include <stdio.h>int p=4;int main(){int a=8,y=3,z=5;void fen(int a,int y,int z);fen(a,y,z);fen(a,z,y);return 0;}void fen(int a,int y,int z){int b=0,c=0;printf("a:%d b:%d c:%d\n ",a,y,z,a,b,c); while(a!=p||b!=p&&c!=p){if(!b){a-=y;b=y;}elseif(c==z){a+=z;c=0;}elseif(b>z-c){b-=(z-c);c=z;}else{c+=b;b=0;}printf(" %5d %5d %5d\n",a,b,c); }}程序运行结果:。