(一)1.1 第1课时 算法的概念
- 格式:doc
- 大小:99.00 KB
- 文档页数:6
教材章节:§1.1.1课题:算法的概念教学目标:1.学问与力量:(1)体会算法思想,感悟算法含义.(2)了解算法的主要特点:有限性、确定性、程序性、普适性.(3)能用自然语言写出简洁问题的算法.(4)培育同学严密的规律思维力量,建立数学与算法思想的联系,提升同学的数学素养和算法意识.2.过程与方法:本节课突出重点突破难点的关键是重在对案例的算法的分析,案例的选择也主要从算法的典型性、与已往学问的连续性和可接受性的角度动身,使同学能够通过案例的学习理解算法的本质.依据本课时内容特点,教学中接受:小组争辩,合作探究的方式,促进学问的“动态生成”.3.情态与价值:培育同学独立思考、合作沟通的意识;增加同学算法意识.重点:体会算法思想,感悟算法含义,把握算法的主要特点.难点:用自然语言写出算法过程.教学过程:一、本意引言算法是数学及其应用的重要组成部分,是计算科学的重要基础.算法在科学技术、社会进展中发挥着越来越大的作用,并日益融入社会生活的很多方面,算法思想也正在成为一般公民的常识,成为现代人应具备的一种基本数学素养.中国古代数学在世界数学史上一度居于领先地位.它留意实际问题的解决,以算法为中心,寓理于算,其中蕴涵了丰富的算法思想.计算机是20世纪最宏大的创造,它把人类社会带进了信息技术时代,而算法是计算机科学的重要基础,有算法计算机才能正常工作.要想了解计算机的工作原理,算法的学习是一个开头.二、导入新课同学们肯定都会使用计算机吧?会.会用计算机干什么?上网、玩玩耍、查资料、听音乐、看电影……这些只是计算机的使用.那么计算机是依据什么工作的?我们是怎样和计算机沟通的?依据计算机程序运行的.真正会用计算机是要会编写计算机程序来把握、指挥计算机工作.如设计玩耍软件.如何编写计算机程序?算法正是编程的初步和基础.从今日开头我们就来学习第一章算法初步.通过这一章的学习我们将学会用自然语言描述算法、画出程序框图、进一步编写出计算机程序.三、算法的概念实际问题:一个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡1个大人或两个小孩,他们三人都会划船,但都不会游泳.试问他们怎样渡过河去?请你分步写出一个渡河方案.第一步,两个小孩同船过河去;其次步,一个小孩划船回来;第三步,一个大人划船过河去;第四步,对岸的小孩划船回来;第五步,两个小孩同船渡过河去.1.算法概念的探究一:探究1:解下面的二元一次方程组2121x yx y-=-⎧⎨+=⎩需要什么样的步骤?解:第一步,①+②×2,得51x=③;其次步,解③得15x=;第三步,②-①×2,得53y=④;第四步,解④,得35y=.第五步,得到方程组的解为1535xy⎧=⎪⎪⎨⎪=⎪⎩同学也可能使用加减消元法、代入消元法,也有可能先用加减消元法后用代入消元法.不管使用那一种方法,只需强调依据肯定规章解决问题的这些步骤就构成了解二元一次方程组的一个“算法”.思考:写出解一般的二元一次方程组()1111221222(1)(2)a xb y ca b a ba xb y c+=⎧-≠⎨+=⎩的具体步骤.这五个步骤就构成了解一般的二元一次方程组的一个“算法”.我们再依据这一算法编制计算机程序,就可以让计算机来解全部满足条件1221a b a b-≠的二元一次方程组(只需转变其中的111222,,,,,a b c a b c值)了.这样的算法就具有了肯定得普遍适用性,不是为解决一个问题而设计算法,而是为了解决一类问题,这才是算法的真正价值.小结:在数学中,依据肯定规章解决某一类问题的明确和有限的步骤称为算法.现代意义上的算法是可以用计算机来解决的某一类问题的程序或步骤.老师:你能举一个用算法解决问题的例子吗?对于好的例子可以作为后续学习、争辩的课题.老师:其实算法并不奇特,就在我们的身边,生活中处处体现算法的思想,算法使我们的生活更高效、更有条理.2.算法概念的探究二:探究2:设计一个算法,推断7是否为质数. 第一步,用2除7,得到余数1,所以2不能整除7; 其次步,用3除7,得到余数1,所以3不能整除7; 第三步,用4除7,得到余数3,所以4不能整除7; 第四步,用5除7,得到余数2,所以5不能整除7; 第五步,用6除7,得到余数1,所以6不能整除7; 因此,7是质数.变式一:设计一个算法,推断1997是否为质数.分析:用2~1996逐一去除1997求余数,需要1995个步骤,这些步骤基本是重复操作,我们可以按下面的思路优化这个算法,削减算法的步骤.(1)用i 表示2~1996中的任意一个整数,并从2开头取数;(2)用i 除1997,得到余数r .若r=0,则1997不是质数;若r≠0,将i 的值增加1,再执行同样的操作;(3)这个操作始终进行到i 取1996为止.老师可以在同学相互补充的基础上做点睛的指导优化算法,着重解决如下难点: (1)重复的操作应当怎样处理? (2)给一个什么样的条件结束算法?变式二:推断一个大于2的整数n 是否为质数的算法步骤如何设计? 第一步,给定一个n ;其次步,令i=2. 大于2的整数n . 第三步,用i 除n ,得到余数r .第四步,推断“0r =”是否成立.若是,则n 不是质数,结束算法;否则,将i 增加1,仍用i 表示; 第五步,推断“(1)i n >-”是否成立.若是,则n 是质数,结束算法;否则返回第三步.老师:对于反复操作的问题只需给一个循环操作的条件,不管多么简单都可以交给计算机去完成,这样的一类问题都得到了解决,意义是不行估量的如:数列求和问题、筛选问题、排序问题等等.算法的普适性,数学的强大工具性得到了完善体现.小结:算法最重要的特征是什么?普适性:能解决一类问题,具有普遍适用的特点.明确性:算法中的每一个步骤必需是有明确的定义的,不允许有模棱两可的解析,也不允许有多义性.有限性:算法必需能在有限步完成.程序性:算法是有肯定规律次序的步骤序列,编制成计算机程序后是可以执行的. 3.应用举例例1.(见教材P3 例1(2))例2.(见教材P4 例2)写出用“二分法”求方程220x -=(0)x >的近似解的算法. 解:详见教材例3.写出一个求有限整数列中的最大值的算法。
第一章 算法初步第一课时 1.1.1 算法的概念教学要求:了解算法的含义,体会算法的思想;能够用自然语言叙述算法;掌握正确的算法应满足的要求;会写出解线性方程(组)的算法、判断一个数为质数的算法、用二分法求方程近似根的算法.教学重点:解二元一次方程组等几个典型的的算法设计.教学难点:算法的含义、把自然语言转化为算法语言.教学过程:一、复习准备:1. 提问:我们古代的计算工具?近代计算手段?(算筹与算盘→计算器与计算机,见章头图)2. 提问:①小学四则运算的规则?(先乘除,后加减) ②初中解二元一次方程组的方法?(消元法) ③高中二分法求方程近似解的步骤? (给定精度ε,二分法求方程根近似值步骤如下:A .确定区间[,]a b ,验证()()0f a f b <,给定精度ε;B. 求区间(,)a b 的中点1x ;C. 计算1()f x : 若1()0f x =,则1x 就是函数的零点; 若1()()0f a f x <,则令1b x =(此时零点01(,)x a x ∈); 若1()()0f x f b <,则令1a x =(此时零点01(,)x x b ∈);D. 判断是否达到精度ε;即若||a b ε-<,则得到零点零点值a (或b );否则重复步骤2~4.二、讲授新课:1. 教学算法的含义:① 出示例:写出解二元一次方程组22(1)24(2)x y x y -=⎧⎨+=⎩的具体步骤. 先具体解方程组,学生说解答,教师写解法 → 针对解答过程分析具体步骤,构成其算法第一步:②-①×2,得5y =0 ③; 第二步:解③得y =0; 第三步:将y =0代入①,得x =2.② 理解算法: 12世纪时,指用阿拉伯数字进行算术运算的过程. 现代意义上的算法是可以用计算机来解决的某一类问题的程序或步骤,程序和步骤必须是明确和有效的,且能在有限步完成. 广义的算法是指做某一件事的步骤或程序. 算法特点:确定性;有限性;顺序性;正确性;普遍性.举例生活中的算法:菜谱是做菜肴的算法;洗衣机的使用说明书是操作洗衣机的算法;歌谱是一首歌曲的算法;渡河问题.③ 练习:写出解方程组()1111221222(1)0(2)a x b y c a b a b a x b y c +=⎧-≠⎨+=⎩的算法.2. 教学几个典型的算法:① 出示例1:任意给定一个大于1的整数n ,试设计一个程序或步骤对n 是否为质数做出判断.提问:什么叫质数?如何判断一个数是否质数? → 写出算法.分析:此算法是用自然语言的形式描述的. 设计算法要求:写出的算法必须能解决一类问题,并且能够重复使用. 要使算法尽量简单、步骤尽量少. 要保证算法正确,且计算机能够执行.② 出示例2:用二分法设计一个求方程230x -=的近似根的算法.提问:二分法的思想及步骤?如何求方程近似解→写出算法.③练习:举例更多的算法例子;→对比一般解决问题的过程,讨论算法的主要特征.3. 小结:算法含义与特征;两类算法问题(数值型、非数值型);算法的自然语言表示.三、巩固练习:1. 写出下列算法:解方程x2-2x-3=0;求1×3×5×7×9×11的值2. 有蓝和黑两个墨水瓶,但现在却错把蓝墨水装在了黑墨水瓶中,黑墨水错装在了蓝墨水瓶中,要求将其互换,请你设计算法解决这一问题.3. 根据教材P6 的框图表示,使用程序框表示以上算法.4. 作业:教材P4 1、2题.第二课时 1.1.2 程序框图(一)教学要求:掌握程序框图的概念;会用通用的图形符号表示算法,掌握算法的三个基本逻辑结构. 掌握画程序框图的基本规则,能正确画出程序框图. 通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程;学会灵活、正确地画程序框图.教学重点:程序框图的基本概念、基本图形符号和3种基本逻辑结构.教学难点:综合运用框图知识正确地画出程序框图教学过程:一、复习准备:1. 写出算法:给定一个正整数n,判定n是否偶数.2. 用二分法设计一个求方程320x-=的近似根的算法.二、讲授新课:1. 教学程序框图的认识:①讨论:如何形象直观的表示算法?→图形方法.教师给出一个流程图(上面1题),学生说说理解的算法步骤.②定义程序框图:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.③④阅读教材P5的程序框图. →讨论:输入35后,框图的运行流程,讨论:最大的I值.2. 教学算法的基本逻辑结构:①讨论:P5的程序框图,感觉上可以如何大致分块?流程再现出一些什么结构特征?→教师指出:顺序结构、条件结构、循环结构.②试用一般的框图表示三种逻辑结构. (见下图)③出示例3:已知一个三角形的三边分别为4,5,6,利用海伦公式设计一个算法,求出它的面积,并画出算法的程序框图. (学生用自然语言表示算法→师生共写程序框图→讨论:结构特征)④出示例4:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图. (学生分析算法→写出程序框图→试验结果→讨论结构)⑤出示例5:设计一个计算1+2+3+…+1000的值的算法,并画出程序框图. (学生分析算法→写出程序框图→给出另一种循环结构的框图→对比两种循环结构)3. 小结:程序框图的基本知识;三种基本逻辑结构;画程序框图要注意:流程线的前头;判断框后边的流程线应根据情况标注“是”或“否”;循环结构中要设计合理的计数或累加变量等.三、巩固练习:1.练习:把复习准备题②的算法写成框图. 2. 作业:P12 A组1、2题.第三课时 1.1.2 程序框图(二)教学要求:更进一步理解算法,掌握算法的三个基本逻辑结构. 掌握画程序框图的基本规则,能正确画出程序框图.学会灵活、正确地画程序框图.教学重点:灵活、正确地画程序框图.教学难点:运用程序框图解决实际问题.教学过程:一、复习准备:1.2.顺序结构条件结构循环结构程序框图结构说明按照语句的先后顺序,从上而下依次执行这些语句. 不具备控制流程的作用. 是任何一个算法都离不开的基本结构根据某种条件是否满足来选择程序的走向.当条件满足时,运行“是”的分支,不满足时,运行“否”的分支.从某处开始,按照一定的条件,反复执行某一处理步骤的情况. 用来处理一些反复进行操作的问题二、讲授新课:1. 教学程序框图①出示例1:任意给定3个正实数,判断其是否构成三角形,若构成三角形,则根据海伦公式计算其面积. 画出解答此问题算法的程序框图.(学生试写→共同订正→对比教材P7 例3、4 →试验结果)②设计一个计算2+4+6+…+100的值的算法,并画出程序框图.(学生试写→共同订正→对比教材P9 例5 →另一种循环结构)③循环语句的两种类型:当型和直到型.当型循环语句先对条件判断,根据结果决定是否执行循环体;直到型循环语句先执行一次循环体,再对一些条件进行判断,决定是否继续执行循环体. 两种循环语句的语句结构及框图如右.说明:“循环体”是由语句组成的程序段,能够完成一项工作.注意两种循环语句的区别及循环内部改变循环的条件.④练习:用两种循环结构,写出求100所有正约数的算法程序框图.2. 教学“鸡兔同笼”趣题:①“鸡兔同笼”,我国古代著名数学趣题之一,大约在1500年以前,《孙子算经》中记载了这个有趣的问题,书中描述为:今有雏兔同笼,上有三十五头,下有九十四足,问雏兔各几何?②学生分析其数学解法. (“站立法”,命令所有的兔子都站起来;或用二元一次方程组解答.)③欣赏古代解法:“砍足法”,假如砍去每只鸡、每只兔一半的脚,则“独脚鸡”,“双脚兔”. 则脚的总数47只;与总头数35的差,就是兔子的只数,即47-35=12(只).鸡35-12=23(只).④试用算法的程序框图解答此经典问题. (算法:鸡的头数为x,则兔的头数为35-x,结合循环语句与条件语句,判断鸡兔脚数2x+4(35-x)是否等于94.)三、巩固练习:1. 练习:100个和尚吃100个馒头,大和尚一人吃3个,小和尚3人吃一个,求大、小和尚各多少个?分析其算法,写出程序框图. 2. 作业:教材P12 A组1题.第一课时 1.2.1 输入语句、输出语句和赋值语句教学要求:正确理解输入语句、输出语句、赋值语句的结构. 让学生充分地感知、体验应用计算机解决数学问题的方法;并能初步操作、模仿. 通过实例使学生理解3种基本的算法语句(输入语句、输出语句和赋值语句)的表示方法、结构和用法,能用这三种基本的算法语句表示算法,进一步体会算法的基本思想. 教学重点:会用输入语句、输出语句、赋值语句.教学难点:正确理解输入语句、输出语句、赋值语句的作用.教学过程:一、新课导入:1. 提问:学习了哪些算法的表示形式?(自然语言或程序框图描述)算法中的三种基本的逻辑结构?(顺序结构、条件结构和循环结构)2. 导入:我们用自然语言或程序框图描述的算法,计算机是无法“看得懂,听得见”的. 因此还需要将算法用计算机能够理解的程序设计语言翻译成计算机程序. 程序设计语言有很多种. 如BASIC,Foxbase,C语言,C++,J++,VB,VC,JB 等.各种程序设计语言中都包含下列基本的算法语句:输入语句、输出语句、赋值语句条件语句和循环语句.今天,我们一起用类BASIC语言学习输入语句、输出语句、赋值语句. 基本上对应于算法中的顺序结构.二、讲授新课:1. 教学三种语句的格式及功能:①出示例1:编写程序,计算一个学生数学、语文、英语三门课的平均成绩.(分析算法→框图表示→教师给出程序,学生试说说对各语句的理解.)①出示例2:用描点法作函数y=x3+3x2-24x+30的图象时,需要求出自变量和函数的一组对应值. 编写程序,分别计算当x=-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值②出示例3:给一个变量重复赋值. (程序见P16)③出示例4:交换两个变量A和B的值,并输出交换前后的值.(教法:先分析算法→画出框图→编写程序→分析各语句→变式→小结:先写算法,再编程)3. 小结:输入、输出和赋值语句的格式;赋值“=”及表达式;编写简单程序解决数学问题.三、巩固练习:1. 练习:教材P16 1、2题 2. 作业:P16 3、4题.第二课时 1.2.2 条件语句教学要求:正确理解条件语句的概念,并掌握其结构. 会应用条件语句编写程序. 教学重点:条件语句的步骤、结构及功能.教学难点:会编写程序中的条件语句.教学过程:一、复习准备:1. 提问:算法的三种逻辑结构?条件结构的框图模式?2. 提问:输入语句、输出语句和赋值语句的格式与功能?3. 一次招生考试中,测试三门课程,如果三门课程的总成绩在200分及以上,则被录取. 请对解决此问题的算法分析,画出程序框图. (变题:…总成绩在200分以下,则不被录取)二、讲授新课:1. 教学条件语句的格式与功能:①分析:复习题③中的两种条件结构的框图模式?②给出复习题③的程序,试读懂程序,说说新的语句的结构及含义.③条件语句的一般有两种:IF—THEN语句;IF—THEN—ELSE语句. 语句格式及框图如下.分析语句执行流程,并说明:①“条件”是由一个关系表达式或逻辑表达式构成,其一般形式为“<表达式><关系运算符><表达式>”,常用的运算符有“>”(大于)、“<”(小于)、“>=”(大于或等于)、“<=”(小于或等于),“<>”(不等于). 关系表达式的结果可取两个值,以“真”或“假”来表示,“真”表示条件满足,“假”则条件不满足. ②“语句”是由程序语言中所有语句构成的程序段,即可以是语句组. ③条件语句可以嵌套,即条件语句的THEN 或ELSE后面还可以跟条件语句,嵌套时注意内外分层,避免逻辑混乱.2. 教学典型例题:②出示例5:编写程序,输入一元二次方程ax2+bx+c=0的系数,输出它的实数根.(算法分析→画程序框图→编写程序→给出系数的一组值,分析框图与程序各步结果)注意:解方程之前,先由判别式的符号判断方程根的情况. 函数SQR()的功能及格式.②讨论:例5程序中为何要用到条件语句?条件语句一般用在什么情况下?答:一般用在需要对条件进行判断的算法设计中,如判断一个数的正负,确定两个数的大小等问题,还有求分段函数的函数值等,往往要用条件语句,有时甚至要用到条件语句的嵌套③练习:编写程序,使得任意输入的2个实数从小到大排列.④出示例6:编写程序,使得任意输入的3个实数从小到大排列.(讨论:先用什么语句?→用具体的数值给a、b、c,分析计算机如何排列这些数?→写出程序→画出框图→说说算法→变式:如果是4个实数呢?3. 小结:条件语句的格式与功能及对应框图. 编程的一般步骤:①算法分析:根据提供的问题,利用数学及相关学科的知识,设计出解决问题的算法. ②画程序框图:依据算法分析,画出程序框图. ③写出程序:根据程序框图中的算法步骤,逐步写出相应的程序语句.三、巩固练习: 1. 练习:教材P22 1、2题.2. 试编写程序进行印刷品邮资的计算. (前100g 0.7元,以后每100g 0.4元)3. 作业:P22 3、4题.第三课时 1.2.3 循环语句教学要求:正确理解循环语句的概念,并掌握其结构. 会应用循环语句编写程序. 教学重点:两种循环语句的表示方法、结构和用法,用循环语句表示算法.教学难点:理解循环语句的表示方法、结构和用法,会编写程序中的循环语句. 教学过程:一、复习准备:1. 设计一个计算1+2+3+……+10的算法,并画出程序框图.2. 循环结构有哪两种模式?有何区别?相应框图如何表示?答:当型(while 型)和直到型(until 型). 当型循环语句先对条件判断,根据结果决定是否执行循环体,可能一次也不执行循环体,也称为“前测试型”循环;直到型循环语句先执行一次循环体,再对一些条件进行判断,决定是否继续执行循环体.二、讲授新课:1. 教学两种循环语句的格式与功能:① 给出复习题①的两种循环语句的程序,试读懂程序,说说新的语句的结构及含义.② 两种循环语句的语句结构及框图如下.说明:“循环体”是由语句组成的程序段,能够完成一项工作. 当使用WHIL 语句时,循环内部应当有改变循环的条件,否则会产生无限循环. 学习时注意两种循环语句的区别.③ 讨论:两种循环语句的区别?当型循环先判断后执行,直到型循环先执行后判断,则:在WHILE 语句中,是当条件满足时执行循环体;在UNTIL 语句中,先执行循环体,再当条件不满足时再执行循环体.2. 教学例题:① 出示例:编写程序,计算1+2+3+……+99+100的值.(分析:实现累加的算法 → 分别用两种循环语句编写 → 变题:计算20以内偶数的积.② 给出下列一段程序,试读懂程序,说说各语句的作用,分析程序的功能. (见教材P24)(读,找疑问 → 说各语句 → 分析功能)③ 练习:用描点法作函数y =x 3+3x 2-24x +30的图象时,需要求出自变量和函数的一组对应值. 编写程序,分别计算当x =-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值. ④ 分析右边所给出程序:当n=10时,结果是多少?程序INPUT “n=”;ni =1 a =0 WHILE i <= n a = a +(i +1)/i i = i+1WENDPRINT “…”;aEND实现功能?3. 小结:① 循环语句的两种不同形式:WHILE 语句和UNTIL 语句(还可补充了For 语句),掌握它们的一般格式.② 在用WHILE 语句和UNTIL 语句编写程序解决问题时,一定要注意它们的格式及条件的表述方法. WHILE 语句中是当条件满足时执行循环体,而UNTIL 语句中是当条件不满足时执行循环体.③ 循环语句主要用来实现算法中的循环结构,在处理一些需要反复执行的运算任务. 如累加求和,累乘求积等问题中常用到.三、巩固练习: 1. 练习:教材P24 1题.2. 编写程序,实现输出1000以内能被3和5整除的所有整数. (算术运算:5 MOD 3 =2)3. 作业:P24 2、3题.第一课时 1.3.1 算法案例---辗转相除法与更相减损术教学要求:理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析; 基本能根据算法语句与程序框图的知识设计出辗转相除法与更相减损术完整的程序框图并写出它们的算法程序.教学重点:理解辗转相除法与更相减损术求最大公约数的方法.教学难点:把辗转相除法与更相减损术的方法转换成程序框图与程序语言. 教学过程:一、复习准备:1. 回顾算法的三种表述:自然语言、程序框图(三种逻辑结构)、程序语言(五种基本语句).2. 提问:①小学学过的求两个数最大公约数的方法?(先用两个公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数连乘起来.)口算出36和64的最大公约数. ②除了用这种方法外还有没有其它方法?6436128=⨯+,36∴和28的最大公约数就是64和36的最大公约数,反复进行这个步骤,直至842=⨯,得出4即是36和64的最大公约数.二、讲授新课:1. 教学辗转相除法:例1:求两个正数1424和801的最大公约数.分析:可以利用除法将大数化小,然后逐步找出两数的最大公约数. (适用于两数较大时)①以上我们求最大公约数的方法就是辗转相除法,也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的. 利用辗转相除法求最大公约数的步骤如下:(1)用较大的数m 除以较小的数n 得到一个商0S 和一个余数0R ;(2)若0R =0,则n 为m ,n 的最大公约数;若0R ≠0,则用除数n 除以余数0R 得到一个商1S 和一个余数1R ;(3)若1R =0,则1R 为m ,n 的最大公约数;若1R ≠0,则用除数0R 除以余数1R 得到一个商2S 和一个余数2R ;……依次计算直至n R =0,此时所得到的1n R -即为所求的最大公约数.②由上述步骤可以看出,辗转相除法中的除法是一个反复执行的步骤,且执行次数由余数是否等于0来决定,所以我们可以把它看成一个循环体,它的程序框图如右图:(师生共析,写出辗转相除法完整的程序框图和程序语言)练习:求两个正数8251和2146的最大公约数. (乘法格式、除法格式)2. 教学更相减损术:我国早期也有求最大公约数问题的算法,就是更相减损术. 在《九章算术》中有更相减损术求最大公约数的步骤:可半者半之,不可半者,副置分母•子之数,以少减多,更相减损,求其等也,以等数约之.翻译为:(1)任意给出两个正数;判断它们是否都是偶数. 若是,用2约简;若不是,执行第二步.(2)以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数. 继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数.例2:用更相减损术求91和49的最大公约数.分析:更相减损术是利用减法将大数化小,直到所得数相等时,这个数(等数)就是所求的最大公约数. (反思:辗转相除法与更相减损术是否存在相通的地方) 练习:用更相减损术求72和168的最大公约数.3. 小结:辗转相除法与更相减损术及比较①都是求最大公约数的方法,辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少;②结果上,辗转相除法体现结果是以相除余数为0得到,而更相减损术则以减数与差相等而得到.三、巩固练习:1、练习:教材P35第1题 2、作业:教材P38第1题 第二课时 1.3.2 算法案例---秦九韶算法教学要求:了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数、提高计算效率的实质;理解数学算法与计算机算法的区别,理解计算机对数学的辅助作用.教学重点:秦九韶算法的特点及其程序设计.教学难点:秦九韶算法的先进性理解及其程序设计.教学过程:一、复习准备:1. 分别用辗转相除法和更相减损术求出两个正数623和1513的最大公约数.2. 设计一个求多项式5432()254367f x x x x x x =--+-+当5x =时的值的算法. (学生自己提出一般的解决方案:将5x =代入多项式进行计算即可)提问:上述算法在计算时共用了多少次乘法运算?多少次加法运算?此方案有何优缺点?(上述算法一共做了5+4+3+2+1=15次乘法运算,5次加法运算. 优点是简单、易懂;缺点是不通用,不能解决任意多项式的求值问题,而且计算效率不高.)二、讲授新课:1. 教学秦九韶算法:① 提问:在计算x 的幂值时,可以利用前面的计算结果,以减少计算量,即先计算2x ,然后依次计算2x x ⋅,2()x x x ⋅⋅,2(())x x x x ⋅⋅⋅的值,这样计算上述多项式的值,一共需要多少次乘法,多少次加法?(上述算法一共做了4次乘法运算,5次加法运算)② 结论:第二种做法与第一种做法相比,乘法的运算次数减少了,因而能提高运算效率,而且对于计算机来说,做一次乘法所需的运算时间比做一次加法要长得多,因此第二种做法能更快地得到结果.③ 更有效的一种算法是:将多项式变形为:5432()254367f x x x x x x =--+-+=,依次计算2555⨯-=,55421⨯-=,2153108⨯+=,10856534⨯-=,534572677⨯+=故(5)2677f =. ――这种算法就是“秦九韶算法”. (注意变形,强调格式) ④ 练习:用秦九韶算法求多项式432()2351f x x x x x =+-++当4x =时的值. (学生板书→师生共评→教师提问:上述算法共需多少次乘法运算?多少次加法运算?)⑤ 如何用秦九韶算法完成一般多项式1110()n n n n f x a x a x a x a --=++++的求值问题?改写:11101210()(()))n n n n n n n f x a x a x a x a a x a x a x a x a ----=++++=+++++. 首先计算最内层括号内一次多项式的值,即11n n v a x a -=+,然后由内向外逐层计算一次多项式的值,即212n v v x a -=+,323n v v x a -=+,,10n n v v x a -=+. ⑥ 结论:秦九韶算法将求n 次多项式的值转化为求n 个一次多项式的值,整个过程只需n 次乘法运算和n 次加法运算;观察上述n 个一次式,可发出k v 的计算要用到1k v -的值,若令0n v a =,可得到下列递推公式:01,(1,2,,)n k k n k v a v v x a k n --=⎧⎨=+=⎩.这是一个反复执行的步骤,因此可用循环结构来实现.⑦ 练习:用秦九韶算法求多项式5432()52 3.5 2.6 1.70.8f x x x x x x =++-+-当5x =时的值并画出程序框图.2. 小结:秦九韶算法的特点及其程序设计三、巩固练习:1、练习:教材P35第2题 2、作业:教材P36第2题 第三课时 1.3.3 算法案例---进位制教学要求:了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换;学习各种进位制转换成十进制的计算方法,研究十进制转换为各种进位制的除k 去余法,并理解其中的数学规律. 教学重点:各种进位制之间的互化.教学难点:除k 取余法的理解以及各进位制之间转换的程序框图及其程序的设计.教学过程:一、复习准备:1. 试用秦九韶算法求多项式52()42f x x x =-+当3x =时的值,分析此过程共需多少次乘法运算?多少次加法运算?2. 提问:生活中我们常见的数字都是十进制的,但是并不是生活中的每一种数字都是十进制的.比如时间和角度的单位用六十进位制,电子计算机用的是二进制,旧式的秤是十六进制的,计算一打数值时是12进制的......那么什么是进位制?不同的进位制之间又有什么联系呢?二、讲授新课:1. 教学进位制的概念:① 进位制是人们为了计数和运算方便而约定的记数系统,“满几进一”就是几进制,几进制的基数就是几. 如:“满十进一”就是十进制,“满二进一”就是二进制. 同一个数可以用不同的进位制来表示,比如:十进数57,可以用二进制表示为111001,也可以用八进制表示为71、用十六进制表示为39,它们所代表的数值都是一样的. 表示各种进位制数一般在数字右下脚加注来表示,如上例中:(2)(8)(16)1110017139==② 一般地,任意一个k 进制数都可以表示成不同位上数字与基数的幂的乘积之和的形式,即1110()1...(0,n n n n k n n n n a a a a a k a a a k a k a ka k a k ----<<≤<=⨯+⨯+⨯+⨯.如:把(2)110011化为十进制数,(2)110011=1⨯25+1⨯24+0⨯23+0⨯22+1⨯21+1⨯20=32+16+2+1=51.把八进制数(8)7348化为十进制数,3210(8)7348783848883816=⨯+⨯+⨯+⨯=.2. 教学进位制之间的互化:①例1:把二进制数(2)1001101化为十进制数.(学生板书→教师点评→师生共同总结将非十进制转为十进制数的方法) 分析此过程的算法过程,编写过程的程序语言. 见P34②练习:将(5)2341、(3)121转化成十进制数.③例2、把89化为二进制数.分析:根据进位制的定义,二进制就是“满二进一”,可以用2连续去除89或所得商,然后取余数. (教师板书)上述方法也可以推广为把十进制化为k 进制数的算法,这种算法成为除k 取余法. ④练习:用除k 取余法将89化为四进制数、六进制数.⑤例3、把二进制数(2)11011.101化为十进制数.解:4(211-=⨯. (小数也可利用上述方法化进行不同进位制之间的互化. )变式:化为八进制→方法:进制互化3. 小结:进位制的定义;进位制之间的互化.三、巩固练习:1、练习:教材P35第3题 2、作业:教材P38第3题 第四课时 1.3.4 生活中的算法实例教学要求:通过生活实例进一步了解算法思想.教学重点:生活实例的算法分析.教学难点:算法思想的理解.教学过程:一、复习准备:1. 前面学习了哪几种算法案例?每种算法的作用及操作方法是怎样的?2. 算法思想在我们的生活中无处不在,如何利用我们所学习的知识解决生活中的实际问题?二、讲授新课:1. 霍奇森算法:提问:同学们经常会面对一个共同的问题,就是有时有太多的事情要做. 例如,你可能要面临好几门课的作业的最后期限,你如何合理安排以确保每门课的作业都能如期完成?如果根本不可能全部按期完成,你该怎么办?(霍奇森算法可以。
新人教版高中数学必修三教案(全册)第一章算法初步1.1算法与程序框图1.1 算法与程序框图(共3课时)1.1.1算法的概念(第1课时)【课程标准】通过对解决具体问题过程与步骤的分析(如二元一次方程组求解等问题),体会算法的思想,了解算法的含义.【教学目标】1.理解算法的概念与特点;2.学会用自然语言描述算法,体会算法思想;3.培养学生逻辑思维能力与表达能力.【教学重点】算法概念以及用自然语言描述算法【教学难点】用自然语言描述算法【教学过程】一、序言算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础. 在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具. 听音乐、看电影、玩游戏、打字、画卡通画、处理数据,计算机几乎渗透到了人们生活的所有领域. 那么,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始. 同时,算法有利于发展有条理的思考与表达的能力,提高逻辑思维能力.在以前的学习中,虽然没有出现算法这个名词,但实际上在数学教学中已经渗透了大量的算法思想,如四则运算的过程、求解方程的步骤等等,完成这些工作都需要一系列程序化的步骤,这就是算法的思想.二、实例分析例1:写出你在家里烧开水过程的一个算法.解:第一步:把水注入电锅;第二步:打开电源把水烧开;第三步:把烧开的水注入热水瓶.(以上算法是解决某一问题的程序或步骤)例2:给出求1+2+3+4+5的一个算法.解:算法1 按照逐一相加的程序进行第一步:计算1+2,得到3;第二步:将第一步中的运算结果3与3相加,得到6; 第三步:将第二步中的运算结果6与4相加,得到10; 第四步:将第三步中的运算结果10与5相加,得到15.算法2 可以运用公式1+2+3+…+错误!未找到引用源。
=错误!未找到引用源。
直接计算 第一步:取错误!未找到引用源。
=5;第二步:计算错误!未找到引用源。
; 第三步:输出运算结果.(说明算法不唯一)例3:(课本第2页,解二元一次方程组的步骤)(可推广到解一般的二元一次方程组,说明算法的普遍性) 例4:用“待定系数法”求圆的方程的大致步骤是: 第一步:根据题意,选择标准方程或一般方程;第二步:根据条件列出关于错误!未找到引用源。
初中信息技术《算法基础知识(1)》教案、教学设计《算法基础知识》教学设计课型:新授课课时:⼀课时教学⽬标:1、知识与技能⽬标:了解算法的概念和发展历史。
2、过程与⽅法⽬标:学会分析问题,提取问题形成算法描述。
掌握流程图的概念与制作⽅法。
3、情感、态度与价值观⽬标:通过对问题的研究和分析,设计算法对问题进⾏求解,提⾼分析问题和解决问题的能⼒,体会算法分析的魅⼒。
教学重点、难点:算法的理解,算法的表⽰⽅法。
通过对问题的研究和分析,体会算法分析的魅⼒。
教具:电⼦教室、教学课件教学⽅法:⾃主探究任务驱动教学过程:⼀、创设情境,激发兴趣⼀位农夫要带⼀只狼、⼀只⽺和⼀棵⽩菜过河,如果没有农夫看管,狼就要吃⽺,⽺要吃⽩菜,但是船很⼩,只够农夫带⼀样东西过河。
问农夫该如何解此难题?⼆、⾃主探究,合作交流(⼀)算法的概念1. 算法的概念⼈们把进⾏某⼀⼯作的⽅法和步骤称为算法。
2. 解决问题的⼀般⽅法⾸先对问题进⾏观察、分析、细化,同时收集必要的信息,然后根据已有的知识、经验进⾏判断和推理,尝试按照⼀定的⽅法和步骤去解决问题。
想⼀想:如果你是农夫,你应该怎样将狼、⽺、⽩菜安全地运过河去呢?⾸先利⽤动画“no ng f ugu o he.sw f”来寻找解决⽅案,然后⽤语⾔描述:第⼀步:农夫把⽺先带过河,⾃⼰返回。
第⼆步:再把⽩菜带过河,同时把⽺带回来。
第三步:把⽺放下,然后把狼带过河,⾃⼰回来。
第四步:最后把⽺带过河。
在这⾥,我们使⽤了语⾔描述解决问题的过程,这种⽅法称为⾃然语⾔描述算法。
三、实践创作,展⽰评价流程图(flow chart)是描述我们进⾏某⼀项活动所遵循顺序的⼀种图⽰⽅法。
流程图表⽰“农夫过河”:⽤计算机语⾔描述算法:E 语⾔使⽤汉语⾔进⾏编程的开发⼯具。
全中⽂⽀持,⽆需跨越英语门槛。
全可视化编程,⽀持所见即所得程序界⾯设计和程序流程编码。
中⽂语句快速录⼊。
提供多种内嵌专⽤输⼊法,彻底解决中⽂语句输⼊速度慢的问题。
算法的概念教案教案:算法的概念一、教学内容本节课的教学内容选自人教版小学数学四年级上册第五单元《算法与程序设计》的第一课时,主要介绍算法的概念和特点。
教材通过丰富的实例,让学生初步理解算法是指解决问题的步骤,并且能够简单描述一些基本的算法。
具体内容包括:1. 算法的定义:通过实例让学生理解算法是解决问题的一系列步骤。
2. 算法的特点:引导学生分析算法具有的目的性、顺序性、重复性等特点。
3. 简单算法的描述:让学生学会用自然语言描述一些简单的算法。
二、教学目标1. 让学生了解算法的概念,理解算法是解决问题的一系列步骤。
2. 培养学生分析问题、解决问题的能力,提高学生的逻辑思维能力。
3. 培养学生学会用自然语言描述算法,培养学生的表达能力和合作意识。
三、教学难点与重点重点:算法的概念和特点,简单算法的描述。
难点:理解算法具有的目的性、顺序性、重复性等特点,用自然语言描述算法。
四、教具与学具准备教具:多媒体课件、黑板、粉笔。
学具:课本、练习本、文具。
五、教学过程1. 实践情景引入(5分钟)教师通过一个生活中的实际问题,如“如何计算班级中学生的平均身高?”引发学生思考,引导学生认识到解决问题需要一系列的步骤。
2. 算法的定义(10分钟)(1)教师引导学生讨论:解决问题需要哪些步骤?3. 算法的特点(10分钟)(2)教师通过讲解,让学生理解算法具有这些特点的原因。
4. 简单算法的描述(10分钟)(1)教师引导学生尝试用自然语言描述教材中的实例算法。
(2)教师给出一些简单的算法,让学生用自然语言描述。
5. 随堂练习(5分钟)教师给出一些简单的算法题目,让学生独立完成,检查学生对算法概念的理解。
六、板书设计算法的概念1. 算法是解决问题的一系列步骤。
2. 算法具有目的性、顺序性、重复性等特点。
3. 简单算法的描述。
七、作业设计(1)计算班级中学生的平均身高。
(2)计算一组数据的平均数。
答案:(1)计算班级中学生的平均身高:先测量每个学生的身高,将所有学生的身高相加,除以学生人数。
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 )。
课下能力提升(一)一、题组对点训练对点练一 算法的含义及特征1.下列关于算法的说法错误的是( )A .一个算法的步骤是可逆的B .描述算法可以有不同的方式C .设计算法要本着简单方便的原则D .一个算法不可以无止境地运算下去解析:选A 由算法定义可知B 、C 、D 对,A 错.2.下列语句表达的是算法的有( )①拨本地电话的过程为:1提起话筒;2拨号;3等通话信号;4开始通话或挂机;5结束通话;②利用公式V =Sh 计算底面积为3,高为4的三棱柱的体积;③x 2-2x -3=0;④求所有能被3整除的正数,即3,6,9,12,….A .①②B .①②③C .①②④D .①②③④解析:选A 算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.①②都各表达了一种算法;③只是一个纯数学问题,不是一个明确步骤;④的步骤是无穷的,与算法的有穷性矛盾.3.下列各式中S 的值不可以用算法求解的是( )A .S =1+2+3+4B .S =12+22+32+…+1002C .S =1+12+…+110 000D .S =1+2+3+4+…解析:选D D 中的求和不符合算法步骤的有限性,所以它不可以用算法求解,故选D. 对点练二 算法设计4.给出下面一个算法:第一步,给出三个数x ,y ,z .第二步,计算M =x +y +z .第三步,计算N =13M . 第四步,得出每次计算结果.则上述算法是( )A .求和B .求余数C .求平均数D .先求和再求平均数解析:选D 由算法过程知,M 为三数之和,N 为这三数的平均数.5.一个算法步骤如下:S 1,S 取值0,i 取值1;S 2,如果i ≤10,则执行S 3,否则执行S 6;S 3,计算S +i 并将结果代替S ;S 4,用i +2的值代替i ;S 5,转去执行S 2;S 6,输出S .运行以上步骤后输出的结果S =( )A .16B .25C .36D .以上均不对解析:选B 由以上计算可知:S =1+3+5+7+9=25,★答案★为B.6.给出下面的算法,它解决的是( )第一步,输入x .第二步,如果x <0,则y =x 2;否则执行下一步.第三步,如果x =0,则y =2;否则y =-x 2.第四步,输出y .A .求函数y =⎩⎪⎨⎪⎧x 2(x <0),-x 2(x ≥0)的函数值 B .求函数y =⎩⎪⎨⎪⎧ x 2(x <0),2(x =0),-x 2(x >0)的函数值 C .求函数y =⎩⎪⎨⎪⎧ x 2(x >0),2(x =0),-x 2(x <0)的函数值D .以上都不正确 解析:选B 由算法知,当x <0时,y =x 2;当x =0时,y =2;当x >0时,y =-x 2.故选B.7.下面给出一个问题的算法:第一步,输入x .第二步,若x ≥4,则执行第三步;否则,执行第四步.第三步,输出y =2x -1.第四步,输出y =x 2-2x +3.则这个算法解决的问题是________________,当输入的x =______时,输出的数值最小. 解析:这个算法解决的问题是求分段函数y =⎩⎪⎨⎪⎧2x -1,x ≥4,x 2-2x +3,x <4的函数值的问题. 当x ≥4时,y =2x -1≥7;当x <4时,y =x 2-2x +3=(x -1)2+2≥2.所以y min =2,此时x =1.所以当输入的x 的值为1时,输出的数值最小.★答案★:求分段函数y =⎩⎪⎨⎪⎧2x -1,x ≥4,x 2-2x +3,x <4的函数值 1 8.从古印度的汉诺塔传说中演变了一个汉诺塔游戏:(1)有三根杆子A ,B ,C ,A 杆上有三个碟子(大小不等,自上到下,由小到大),如图;(2)每次移动一个碟子,小的只能叠在大的上面;(3)把所有碟子从A 杆移到C 杆上.试设计一个算法,完成上述游戏.解:第一步,将A 杆最上面碟子移到C 杆.第二步,将A 杆最上面碟子移到B 杆.第三步,将C 杆上的碟子移到B 杆.第四步,将A 杆上的碟子移到C 杆.第五步,将B 杆最上面的碟子移到A 杆.第六步,将B 杆上的碟子移到C 杆.第七步,将A 杆上的碟子移到C 杆.对点练三 算法的实际应用9.国际奥委会宣布2020年夏季奥运会主办城市为日本的东京.据《中国体育报》报道:对参与竞选的5个夏季奥林匹克运动会申办城市进行表决的操作程序是:首先进行第一轮投票,如果有一个城市得票数超过总票数的一半,那么该城市将获得举办权;如果所有申办城市得票数都不超过总票数的一半,则将得票最少的城市淘汰,然后进行第二轮投票;如果第二轮投票仍没选出主办城市,将进行第三轮投票,如此重复投票,直到选出一个主办城市为止,写出投票过程的算法.解:算法如下:第一步,投票.第二步,统计票数,如果一个城市得票数超过总票数的一半,那么该城市就获得主办权,否则淘汰得票数最少的城市并转第一步.第三步,宣布主办城市.二、综合过关训练1.小明中午放学回家自己煮面条吃,有下面几道工序:①洗锅、盛水2分钟;②洗菜6分钟;③准备面条及佐料2分钟;④用锅把水烧开10分钟;⑤煮面条和菜共3分钟.以上各道工序,除了④之外,一次只能进行一道工序.小明要将面条煮好,最少要用() A.13分钟B.14分钟C.15分钟D.23分钟解析:选C①洗锅、盛水2分钟+④用锅把水烧开10分钟(同时②洗菜6分钟+③准备面条及佐料2分钟)+⑤煮面条和菜共3分钟=15分钟.解决一个问题的算法不是唯一的,但在设计时要综合考虑各个方面的因素,选择一种较好的算法.2.下列描述不是解决问题的算法的是()A.从中山到北京先坐汽车,再坐火车B.解一元一次方程的步骤是去分母、去括号、移项、合并同类项、化系数为1C.方程x2-4x+3=0有两个不等的实根D.解不等式ax+3>0时,第一步移项,第二步讨论解析:选C A项,从中山到北京,先坐汽车,再坐火车,解决了怎样去的问题,所以A 不符合题意;B项,解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1,解决了怎样解一元一次方程的问题,所以B不符合题意;D项,解不等式ax+3>0时,第一步移项化为:ax>-3,第二步讨论a的符号,进而根据不等式的基本性质,解出不等式的解集,解决了怎样求不等式解集的问题,所以D不符合题意.3.结合下面的算法:第一步,输入x.第二步,判断x是否小于0,若是,则输出x+2,否则执行第三步.第三步,输出x-1.当输入的x的值为-1,0,1时,输出的结果分别为()A.-1,0,1 B.-1,1,0C.1,-1,0 D.0,-1,1解析:选C根据x值与0的关系选择执行不同的步骤.4.有如下算法:第一步,输入不小于2的正整数n.第二步,判断n是否为2.若n=2,则n满足条件;若n>2,则执行第三步.第三步,依次从2到n -1检验能不能整除n ,若不能整除,则n 满足条件.则上述算法满足条件的n 是( )A .质数B .奇数C .偶数D .合数解析:选A 根据质数、奇数、偶数、合数的定义可知,满足条件的n 是质数.5.输入一个x 值,利用y =|x -1|求函数值的算法如下,请将所缺部分补充完整: 第一步:输入x ;第二步:________;第三步:当x <1时,计算y =1-x ;第四步:输出y .解析:以x -1与0的大小关系为分类准则知第二步应填当x ≥1时,计算y =x -1. ★答案★:当x ≥1时,计算y =x -16.已知一个算法如下:第一步,令m =a .第二步,如果b <m ,则m =b .第三步,如果c <m ,则m =c .第四步,输出m .如果a =3,b =6,c =2,则执行这个算法的结果是________.解析:这个算法是求a ,b ,c 三个数中的最小值,故这个算法的结果是2.★答案★:27.下面给出了一个问题的算法:第一步,输入a .第二步,如果a ≥4,则y =2a -1;否则,y =a 2-2a +3.第三步,输出y 的值.问:(1)这个算法解决的是什么问题?(2)当输入的a 的值为多少时,输出的数值最小?最小值是多少?解:(1)这个算法解决的是求分段函数y =⎩⎪⎨⎪⎧2a -1,a ≥4,a 2-2a +3,a <4的函数值的问题. (2)当a ≥4时,y =2a -1≥7;当a <4时,y =a 2-2a +3=(a -1)2+2≥2,∵当a =1时,y 取得最小值2.∴当输入的a 值为1时,输出的数值最小为2.8.“韩信点兵”问题:韩信是汉高祖手下的大将,他英勇善战,谋略超群,为汉朝的建立立下了不朽功勋.据说他在一次点兵的时候,为保住军事秘密,不让敌人知道自己部队的军事实力,采用下述点兵方法:①先令士兵从1~3报数,结果最后一个士兵报2;②又令士兵从1~5报数,结果最后一个士兵报3;③又令士兵从1~7报数,结果最后一个士兵报4.这样韩信很快算出自己部队里士兵的总数.请设计一个算法,求出士兵至少有多少人.解:第一步,首先确定最小的满足除以3余2的正整数:2.第二步,依次加3就得到所有除以3余2的正整数:2,5,8,11,14,17,20,….第三步,在上列数中确定最小的满足除以5余3的正整数:8.第四步,然后在自然数内在8的基础上依次加上15,得到8,23,38,53,….第五步,在上列数中确定最小的满足除以7余4的正整数:53.即士兵至少有53人.。