第一章算法初步
算法初步1课件PPT

数学 必修3
第一章 算法初步
知能整合提升 热点考点例析 阶段质量评估
(4)当型循环是当条件满足时执行循环体,而直到型循环是当条件不满足时 执行循环体.
(5)在解决一些需要反复执行的任务时,如累加求和、累乘求积通常都用循 环语句来实现,要注意循环变量的控制条件.
(6)在循环语句中嵌套条件语句时,有时会在条件语句中添加“ELSE”语句, 添加后,如果没有语句需要执行,就会造成错误.
数学 必修3
第一章 算法初步
知能整合提升 热点考点例析 阶段质量评估
2.秦九韶算法是多项式求值的优秀算法,秦九韶算法的特点是: (1)化高次多项式求值为一次多项式求值. (2)减少了运算次数,提高了运算效率. (3)步骤重复执行,容易用计算机实现.利用秦九韶算法计算多项式的值的关 键是能正确地将所给多项式改写,然后由内向外逐次计算,由于后项计算用到前 项的结果,故应认真、细心,确保中间结果的准确性.若在多项式中有几项不存 在时,可将这些项的系数看成 0,即把这些项看作 0×xn.
第一章 算法初步
知能整合提升 热点考点例析 阶段质量评估
4.条件语句有两种,一种是 IF—THEN—ELSE,其格式是:
IF 条件 语句1
ELSE 语句2
END IF
THEN
数学 必修3
第一章 算法初步
对应的框图为:
知能整合提升 热点考点例析 阶段质量评估
另一种是 IF—THEN 语句,其格式是:
继续上述操作(大数减去小数),直到产生一对相等的数为止,那么这个数(等数) 即是所求的最大公约数.
数学 必修3
第一章 算法初步
知能整合提升 热点考点例析 阶段质量评估
(2)辗转相除法 辗转相除法(即欧几里得算法)就是给定两个正整数,用较大的数除以较小的 数,若余数不为零,则将较小的数和余数继续上面的除法,直到余数为零,此时 的除数就是所求的最大公约数. (3)二者的区别与联系 辗转相除法进行的是除法运算,即辗转相除,而更相减损术进行的是减法运 算,即辗转相减,但实质都是一个递归过程.
第一章 算法初步 本章整合(共32张PPT)

10 2 6 12
数,n=3×3+1=10,i=3+1=4,n=10=5 否,n=10 不是奇
应用 2 执行下列程序后输出的结果是 n=5 S=0 WHILE S<10 S=S+n n=n-1 WEND PRINT n END 提示:本题中输出的是 n 的值,而不是 S 的值.
知识点总结第一章算法初步

知识点总结第一章算法初步
1.1算法的基本定义
算法(algorithm)定义为一组使机器可以达到特定目标的指令,它是计算机程序的一种基础。
它可以是通过演绎的过程创建出来的,也可以是通过纯粹的归纳的方法创建出来的。
一个典型的算法由不同步骤组成,每个步骤都有一定的功能和有效的设计思想。
1.2算法的实现
算法的实现通常需要使用一定的编程语言进行编程,比如C语言、Java等。
编程语言提供了许多有效的指令,可以用来实现不同的算法。
一般来说,实现算法的步骤有:设计,即把算法的概念写出来;编写,即把设计好的算法代码写出来;测试,即测试程序的正确性;调试,即改正程序中的缺陷。
1.3算法的分析
对于一个算法来说,它执行的时间和空间都是有限的,可以通过空间复杂度和时间复杂度来衡量一个算法的优劣。
一般来说,时间复杂度和空间复杂度可以分别衡量算法中计算和存储资源的消耗情况。
另外,为了使算法的运行效率更好,还可以使用存储技术、排序技术、技术等技术来改进算法的性能。
1.4实例
为了更好的理解算法,下面给出一个实例:输出1到100内的所有自然数。
解法一:使用循环语句,将1到100分别赋值给变量i。
一章算法初步-PPT课件

算法步骤: 第一步:依次以2~(n-1)为除数去除n,判定余数是否 为0,若是,则n是因数;若不是,则不是n的因数。 第二步:在n的因数中加入1 和n。 第三步:输出n的所有因数。
开始
输入半径r
s=3.14*r^2输出s求 Nhomakorabea的面积的程序
结束
开始 输入n flag=1 否 n>2 是 d=2
否 d整除n?
是
flag=0 是 d=d+1
d<=n-1且flag=1?
否 否 flag=1?
是
判 断 质 数 程 序
n是质数
n不是质数
结束
x2 2 0
三、具体数学问题的算法实例
例2、用二分法设计一个求方程 的算法。
x 2 0
2
的近似根
3
;
归纳得一般的二元一次方程组 a1 x b1 y c1
1 代入①,解得 x 5 5
a2 x b2 y c2
也可以按照上述步骤来求解.这些步骤就构成了解二 元一次方程组的算法.
二、算法的含义
1、“算法”通常是指可以用计算机来解决的某一类问 题的程序或步骤,这些程序或步骤必须是明确的和有 效的,且能够在有限步内完成。
第四步:判断︳a-b︳<0.005是否成立?若是,则a或b为 满足条件的近似根;若否,则返回第二步。
开始 x1=1 x2=2 f(x)=x2-2
m=(x1+x2)/2 y f (m)=0 n f(x1)f(m)>0 y x1=m x2=m n x1=m x2=m
n
|x1-x2|<0.005 y m=(x1+x2)/2
二 分 法 解 方 程
输出所求的近似根m 结束
第一章算法的初步

1.1.1算法的概念
例1 设计一个算法,判断1997是否为质数. 第一步,令i=2. 第二步,用i除1997.得到余数r. 第三步,若r=0,则1997不是质数,算法结束,否则给r增加 1仍用i表示. 第四步,判断i>1996是否成立,若是,则1997是质数,算法 结束,否则返回第二步.
1.1.1算法的概念
(1) (2)
的求解步骤
第一步, 1 b2 2 b1,得 a1b2 a2b1 x b2c1 b1c2 . 第二步,解(3)得 x b2c1 b1c2 .
a1b2 a2b1
(3)
第三步, 2 a1 1 a2 , 得 a b a b y a c a c . 1 2 2 1 1 2 2 1
例1 设计一个算法,判断1997是否为质数. 第一步,用2除1997,得到余数1,因为余数不为0,所以2不 能整除1997. 第二步,用3除1997,得到余数1,因为余数不为0,所以3不 能整除1997.
第三步,用4除1997,得余数3,因为余数不为0,所以4不能 整除1997.
…… 第四步,用 5除1997,得到余数2,因为余数不为0,所以5不 能整除1997. 第一九九五步,用1996除1997,得到余数1,因为余数不为0, 所以1996不能整除1997.因此1997是质数.
你能写出“判断整数n(n>2)是否为质数”的算法吗? 第一步,给定一个大于2的整数n 第二步,令i=2 第三步,用i除n,得到余数r 第四步,判断“r=0”是否成立.若是,则n不是质数, 结束算法;否则,将i的值增加1,仍用i表示. 第五步,判断“i>(n-1)”是否成立.若是,则n是质数, 结束算法;否则返回第三步.
7 ,得到余数3.因为余数不为0,所以4不能整除 7 第三步,用4除 35 35. 第四步,用5除 35 ,得到余数2 .因为余数 不 为0,所以5 不 能整除35 0 7. 因此,35不是质数 第五步,用 6除7,得到余数1.因为余数不为0,所以6不能整除7. 因此,7是质数.
第一章 算法初步

第一章算法初步1.1.1算法的概念1、算法概念:在数学上,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题是程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.2. 算法的特点:(1)有限性:一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限的.(2)确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可.(3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题.(4)不唯一性:求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法.(5)普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决.1.1.2程序框图1、程序框图基本概念:(一)程序构图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。
一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要文字说明。
(二)构成程序框的图形符号及其作用程序框名称功能表示一个算法的起始和结束,是任何流程图起止框不可少的。
表示一个算法输入和输出的信息,可用在算输入、输出框法中任何需要输入、输出的位置。
赋值、计算,算法中处理数据需要的算式、处理框公式等分别写在不同的用以处理数据的处理框内。
判断框判断某一条件是否成立,成立时在出口处标明“是”或“Y ”;不成立时标明“否”或“N ”。
学习这部分知识的时候,要掌握各个图形的形状、作用及使用规则,画程序框图的规则如下: 1、使用标准的图形符号。
2、框图一般按从上到下、从左到右的方向画。
3、除判断框外,大多数流程图符号只有一个进入点和一个退出点。
判断框具有超过一个退出点的唯一符号。
4、判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果。
第一章算法初步复习总结

第一章算法初步全章小结1、算法概念:在数学上,算法通常是指可以解决的一类问题是程序或步骤,这些程序或步骤必须是,而且能够在。
.2、程序框图基本概念:(1)程序构图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。
(2)构成程序框的图形符号及其作用(3)、算法的三种基本逻辑结构◇:描述的是最简单的算法结构,语句与语句之间,框与框之间按从上到下的顺序进行。
例:◇:是依据指定条件选择执行不同指令的控制结构。
例:◇:根据指定条件决定是否重复执行一条或多条指令的控制结构。
例:3、基本算法语句◇:用来表明赋给某一个变量一个具体的确定的语句叫做赋值语句。
一般格式:变量名=表达式。
注意:赋值号左边只能是变量名字,而不是表达式;如:2=X是错误的。
赋值号左右不能对换;如“A=B”“B=A”的含义运行结果是不同。
不能利用赋值语句进行代数式的演算;(如化简、因式分解、解方程等)赋值号与数学中的等号意义不同。
◇:一般格式:input“提示内容”;变量◇:一般格式:print“提示内容”;表达式◆ :处理条件分支逻辑结构的算法语句。
◆:处理算法中的循环结构。
(1)WHILE 语句的一般格式是(2)UNTIL语句的一般格式是4、算法案例(1)辗转相除法,更相减损之术(求两个正整数最大公约数的算法) 例题1:用两种方法求161与253的最大公约数. 【解析】方法一:辗转相除法253=161×1+92, 161=92×1+69, 92=69×1+23, 69=23×3+0.∴161与253的最大公约数为23.方法二:更相减损术253-161=92, 161-92=69, 92-69=23, 69-23=46, 46-23=23.∴161与253的最大公约数为23.(2)秦九韶算法:求多项式的值时,首先计算最内层括号内依次多项式的值,然后由内向外逐层计算一次多项式的值例题2:已知一个5次多项式为14325)(2345-+-++=x x x x x x f ,用秦九韶算法求这个多项式当x=2时的值.5:进位制例题3:把二进制数234(2),转化为五进制数(先转化为十进制数)。
第一章 算法初步全章教案

第一章 算法初步第一课时 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. 霍奇森算法:提问:同学们经常会面对一个共同的问题,就是有时有太多的事情要做. 例如,你可能要面临好几门课的作业的最后期限,你如何合理安排以确保每门课的作业都能如期完成?如果根本不可能全部按期完成,你该怎么办?(霍奇森算法可以。
第一章算法初步-PPT精选

设给定的两个正整数为m和n,求它们的最大 公约数的步骤为:
(1)以m除以n,令所得的余数为r(r必小于n);
(2)若r=0,则输出结果n,算法结束;否则,继续步骤(3)
(3)令m=n,n=r,并返回步骤(1)继续进行。
3)有穷性(finiteness)
算法的有穷性是指算法必须能在有限的时 间内执行完,即算法必须能在执行有限个步骤 之后终止。数学中的无穷级数,在实际计算时 只能取有限项,即计算无穷级数的过程只能是 有穷的。因此,一个数的无穷级数的表示只是 一种计算公式,而根据精度要求确定的计算过 程才是有穷的算法。
算法的描述:自然语言
用自然语言表达问题容易理解,但往往 不严格,易出现“歧义性”,即对于同 一段文字,不同的人可能会有不同的理 解。例如请同学们理解“这个人连老张 也不认识。”这句话的含义。
新课引入
为了使算法的程序或步骤表达得更为直观,且不 容易出现歧异,我们更经常地用图形方式来表 达它.
例如上一节“例1.任意给定一个大于1的整 数n,试设计一个程序或步骤对n是否为质数做 出判定”的算法可以用以下形式来表达.
例如,某计算工具具有七位有效数字(如
FORTRAN中的单精度运算),在计算下列三个
( ) 量 A=101,2 B=1,C= 1012的和时,如果采
用不同的运算顺序,就会得到不同的结果,即
( ) A+B+C =1012+1+ 1012 =0 ( ) A+C十B =1012+ 1012+1=1
而在数学上,A +B +C与A+C+B是完全等价的。 这可知,算法和计算公式是有差别的。
第1章算法初步章末优化总结课件人教新课标

栏目 导引
第一章 算法初步
4.用秦九韶算法求f(x)=x3-3x2+3x+2当x=2时的值,并探 索有无更简便算法.
解:(1)由已知f(x)=((x-3)x+3)x+2, 按从内到外的顺序,依次计算一次多项式当x=2时的值. v0=1, v1=1×2-3=-1, v2=(-1)×2+3=1, v3=1×2+2=4, 所以当x=2时多项式的值为4. (2)探索:由于x=2时多项式的值为4, 所以13=(x-1)3=x3-3x2+3x-1. 所以有(x3-3x2+3x-1)+3=1+3=4. 即当x=2时,多项式的值为4.
栏目 导引
第一章 算法初步
栏目 导引
第一章 算法初步
栏目 导引
第一章 算法初步
本部分内容讲授结束
按ESC键退出全屏播放
栏目 导引
A.0个
B.1个
C.2个
D.3个
解析:对于(1)赋值语句中“=”左、右不能互换,即不能给常
量赋值,左边必须为变量,右边必须是表达式,若改写为A=2
就正确了;(2)赋值语句不能给一个表达式赋值,所以(2)是错误
的;同理(3)也是错误的,这四种说法中只有(4)是正确的.
栏目 导引
2.(2014·高考课标全国卷Ⅱ)执行如 图所示的程序框图,如果输入的 x, t 均为 2,则输出的 S=( D ) A.4 B.5 C.6 D.7
即 y-1=-2(x-1).
栏目 导引
第一章 算法初步
程序框图的画法
程序框图是用规定的程序框、流程线及文字说明来准确、直 观形象地表示算法的图形,画程序框图前,应先对问题设计 出合理的算法,然后分析算法的逻辑结构,画出相应的程序 框图.在画循环结构的程序框图时应注意选择合理的循环变 量及判断框内的条件.
高中数学第一章算法初步-程序框图课件人教版必修三

s p(p - a)(p - b)(p - c)
第四步,输出s
输出s 结束
练习1:任意给定一种正实数,设计一种算法求以 这个数为半径旳圆旳面积,并画出程序框图表达.
解:算法环节为:
程序框图:
开始
第一步,输入圆旳半径 r .
第二步,计算s r2
输入r
第三步,输出s.
计算 s r 2
输出s
结束
例2、写出下列程序框图旳运营成果:
开始 输入a,b
a=2 b=4
S=a/b+b/a
输出S
(1)图中输出S= ;
结束
5/2
练习2:写出下列算法旳功能。
开始
输入a,b
d=a2+b2
c= d
输出c 结束
左图算法旳功能
求两数平方和
是 旳 算术平方根 ;
三、课时小结:
1、掌握程序框旳画法和功能。
2、了解什么是程序框图,懂得学习 程序框图旳意义。
(B)2. 下图形符号表达输入输出框旳是(B )
(C)矩形框
(B) 平行四边形框
(D)(C) 圆角矩形框 (D) 菱形框
(E)3.下图形符号表达处理数据或计算框旳是 A ()
(F)矩形框
(B) 平行四边形框
(G)(C) 圆角矩形框 (D) 菱形框
顺序构 造
开始 输入n
i=2
求n除以i旳余数
循环构造
输入n i=2
求n除以i旳余数
第三步,用i除n,得到余数r.
第四步,判断“r=0”是否成 立.若是,则n不是质数,结束算 法;不然将i旳值增长1,仍用i 表达.
第五步,判断“i>(n-1)”是否 成立.若是,则n是质数,结束算 法;不然返回第三步.
《第一章 算法初步》试卷及答案_高中数学必修3_人教B版_2024-2025学年

《第一章算法初步》试卷(答案在后面)一、单选题(本大题有8小题,每小题5分,共40分)1、一个算法正确的执行是算法执行过程中每一步的操作都满足:A、有穷性B、确定性C、可行性D、输入输出的确定性2、一个算法的正确性可以用以下哪个指标来衡量?A、算法的效率B、算法的易懂性C、算法的简洁性D、算法的正确性3、下列语句表示的是一种算法,那么这个算法的功能是 ( )A、输入一个数据B、输出一个数据C、输入并输出一个数据D、先输入一个数据,进行运算后再输出结果4、下面哪个是算法的特征?A. 计算规律简单B. 只能用标准的计算器步骤C. 需要多个步骤完成D. 步骤随机改变5、在以下选项中,不属于算法四大特点的是()A、有穷性B、确定性C、可扩展性D、可行性6、下列算法执行后的输出结果是()A. 12B. 24C. 36D. 487、若编程实现下列算法:第一步:设定初始值 a = 5, b = 10;第二步:if (a > b) then a = a - 2 else b = b + 3; 第三步:输出 a 和 b 的值;则程序的输出结果是:A. a = 3, b = 13B. a = 3, b = 10C. a = 5, b = 13D. a = 5, b = 108、阅读下面的算法语句,执行后输出的S值为多少?S = 0 I = 1 While I <= 10 S = S + I I = I + 2 Wend Print SA、25B、26C、50D、55二、多选题(本大题有3小题,每小题6分,共18分)1、在算法设计中,以下是哪些算法分类属于算法设计的基本方法?()A、分治法B、动态规划C、贪心法D、回溯法E、分支限界法2、已知算法A的步骤如下:(1)输入一个正整数n;(2)计算n的阶乘;(3)输出结果。
请从以下选项中选择正确的算法描述:A. 递归算法B. 非递归算法C. 算法A是求阶乘的正确方法D. 算法A不是求阶乘的正确方法E. 上述选项均正确3、以下关于算法的功能描述,哪些是正确的?()A、算法可以简化问题解的计算过程B、算法一定能找到解决问题的所有可能解C、算法能够被计算机程序化实现D、算法的步骤必须是明确的,不能含糊其辞三、填空题(本大题有3小题,每小题5分,共15分)1、在算法设计中,一个基本操作序列可以表示为______ ,其中n为基本操作重复执行的次数。
第一章 算法初步 1.1.1

第一章算法初步1.1.1算法的概念课时目标通过分析解决具体问题的过程与步骤,体会算法的思想,了解算法的含义,能用自然语言描述解决具体问题的算法.计算机解决任何问题都要依赖于算法,只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题.一、选择题1.下面四种叙述能称为算法的是()A.在家里一般是妈妈做饭B.做米饭需要刷锅、淘米、添水、加热这些步骤C.在野外做饭叫野炊D.做饭必须要有米答案 B解析算法是解决一类问题的程序或步骤,A、C、D均不符合.2.下列对算法的理解不正确的是()A.算法有一个共同特点就是对一类问题都有效(而不是个别问题)B.算法要求是一步步执行,每一步都能得到唯一的结果C.算法一般是机械的,有时要进行大量重复计算,它的优点是一种通法D.任何问题都可以用算法来解决答案 D3.下列关于算法的描述正确的是()A.算法与求解一个问题的方法相同B.算法只能解决一个问题,不能重复使用C.算法过程要一步一步执行,每步执行的操作必须确切D.有的算法执行完后,可能无结果答案 C解析算法与求解一个问题的方法既有区别又有联系,故A不对;算法能重复使用,故B不对;每个算法执行后必须有结果,故D不对;由算法的有序性和确定性可知C 正确.4.计算下列各式中S的值,能设计算法求解的是()①S =12+14+18+…+12100 ②S =12+14+18+…+12100+… ③S =12+14+18+…+12n (n ≥1且n ∈N *) A .①② B .①③ C .②③ D .①②③答案 B解析 因为算法的步骤是有限的,所以②不能设计算法求解.5.关于一元二次方程x 2-5x +6=0的求根问题,下列说法正确的是( )A .只能设计一种算法B .可以设计两种算法C .不能设计算法D .不能根据解题过程设计算法答案 B解析 算法具有不唯一性,对于一个问题,我们可以设计不同的算法.6.对于算法:第一步,输入n .第二步,判断n 是否等于2,若n =2,则n 满足条件;若n >2,则执行第三步.第三步,依次从2到(n -1)检验能不能整除n ,若不能整除n ,则执行第四步;若能整除n ,则执行第一步.第四步,输出n .满足条件的n 是( )A .质数B .奇数C .偶数D .约数答案 A解析 此题首先要理解质数,只能被1和自身整除的大于1的整数叫质数.2是最小的质数,这个算法通过对2到(n -1)一一验证,看是否有其他约数,来判断其是否为质数.二、填空题7.已知直角三角形两条直角边长分别为a ,b .写出求斜边长c 的算法如下:第一步,输入两直角边长a ,b 的值.第二步,计算c =a 2+b 2的值.第三步,________________.将算法补充完整,横线处应填____________.答案 输出斜边长c 的值8.下面给出了解决问题的算法:第一步:输入x .第二步:若x ≤1,则y =2x -1,否则y =x 2+3.第三步:输出y .(1)这个算法解决的问题是________;(2)当输入的x 值为________时,输入值与输出值相等.答案 (1)求分段函数y =⎩⎪⎨⎪⎧2x -1(x ≤1),x 2+3(x >1)的函数值 (2)1 9.求1×3×5×7×9×11的值的一个算法是:第一步,求1×3得到结果3;第二步,将第一步所得结果3乘5,得到结果15;第三步,____________________;第四步,再将105乘9得到945;第五步,再将945乘11,得到10 395,即为最后结果.答案 将第二步所得的结果15乘7,得结果105三、解答题10.已知某梯形的底边长A B =a ,CD =b ,高为h ,写出一个求这个梯形面积S 的算法. 解 第一步,输入梯形的底边长a 和b ,以及高h .第二步,计算a +b 的值.第三步,计算(a +b )×h 的值.第四步,计算S =(a +b )×h 2的值. 第五步,输出结果S .11.函数y =⎩⎪⎨⎪⎧ -x +1 (x >0)0 (x =0)x +1 (x <0),写出给定自变量x ,求函数值的算法.解 算法如下:第一步,输入x .第二步,若x >0,则令y =-x +1后执行第五步,否则执行第三步.第三步,若x =0,则令y =0后执行第五步,否则执行第四步.第四步,令y =x +1;第五步,输出y 的值. 能力提升12.某铁路部门规定甲、乙两地之间旅客托运行李的费用为:c =⎩⎪⎨⎪⎧0.53×ω, ω≤50,50×0.53+(ω-50)×0.85, ω>50. 其中ω(单位:kg)为行李的质量,如何设计计算托运费用c (单位:元)的算法. 解 第一步,输入行李的质量ω.第二步,如果ω≤50,则令c =0.53×ω,否则执行第三步.第三步,c =50×0.53+(ω-50)×0.85.第四步,输出托运费c .13.从古印度的汉诺塔传说中演变了一个汉诺塔游戏:(1)有三根杆子A ,B ,C ,B 杆上有三个碟子(大小不等,自上到下,由小到大),如图.(2)每次移动一个碟子,小的只能叠在大的上面.(3)把所有碟子从A 杆移到C 杆上.试设计一个算法,完成上述游戏.解 第一步,将A 杆最上面碟子移到C 杆.第二步,将A 杆最上面碟子移到B 杆.第三步,将C 杆上的碟子移到B 杆.第四步,将A 杆上的碟子移到C 杆.第五步,将B杆最上面碟子移到B杆.第六步,将B杆上的碟子移到C杆.第七步,将A杆上的碟子移到C杆.1.算法的特点(1)有限性:一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限的.(2)确定性:算法中的每一步应该是确定的并且能有效地执行且能得到确定的结果,而不应当是模棱两可的.(3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题.(4)不唯一性:求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法.(5)普遍性:很多具体的问题,都可以设计合理的算法去解决.2.算法与数学问题解法的区别与联系(1)联系算法与解法是一般与特殊的关系,也是抽象与具体的关系.(2)区别算法是解决某一类问题所需要的程序和步骤的统称,也可理解为数学中的“通法通解”;而解法是解决某一个具体问题的过程和步骤,是具体的解题过程.。
第一章 算法初步全章教案

第一章 算法初步1.1 算法与程序框图 1.1.1 算法的概念整体设计教学分析算法在中学数学课程中是一个新的概念,但没有一个精确化的定义,教科书只对它作了如下描述:“在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.”为了让学生更好理解这一概念,教科书先从分析一个具体的二元一次方程组的求解过程出发,归纳出了二元一次方程组的求解步骤,这些步骤就构成了解二元一次方程组的算法.教学中,应从学生非常熟悉的例子引出算法,再通过例题加以巩固. 三维目标1.正确理解算法的概念,掌握算法的基本特点.2.通过例题教学,使学生体会设计算法的基本思路.3.通过有趣的实例使学生了解算法这一概念的同时,激发学生学习数学的兴趣. 重点难点教学重点:算法的含义及应用.教学难点:写出解决一类问题的算法. 课时安排 1课时教学过程导入新课思路1(情境导入)一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃羚羊.该人如何将动物转移过河?请同学们写出解决问题的步骤,解决这一问题将要用到我们今天学习的内容——算法. 思路2(情境导入)大家都看过赵本山与宋丹丹演的小品吧,宋丹丹说了一个笑话,把大象装进冰箱总共分几步?答案:分三步,第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上. 上述步骤构成了把大象装进冰箱的算法,今天我们开始学习算法的概念. 思路3(直接导入)算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础.在现代社会里,计算机已成为人们日常生活和工作中不可缺少的工具.听音乐、看电影、玩游戏、打字、画卡通画、处理数据,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始. 推进新课 新知探究 提出问题(1)解二元一次方程组有几种方法?(2)结合教材实例⎩⎨⎧=+-=-)2(,12)1(,12y x y x 总结用加减消元法解二元一次方程组的步骤.(3)结合教材实例⎩⎨⎧=+-=-)2(,12)1(,12y x y x 总结用代入消元法解二元一次方程组的步骤.(4)请写出解一般二元一次方程组的步骤. (5)根据上述实例谈谈你对算法的理解. (6)请同学们总结算法的特征. (7)请思考我们学习算法的意义. 讨论结果:(1)代入消元法和加减消元法. (2)回顾二元一次方程组⎩⎨⎧=+-=-)2(,12)1(,12y x y x 的求解过程,我们可以归纳出以下步骤: 第一步,①+②×2,得5x=1.③ 第二步,解③,得x=51. 第三步,②-①×2,得5y=3.④ 第四步,解④,得y=53. 第五步,得到方程组的解为⎪⎪⎩⎪⎪⎨⎧==.53,51y x(3)用代入消元法解二元一次方程组⎩⎨⎧=+-=-)2(,12)1(,12y x y x 我们可以归纳出以下步骤: 第一步,由①得x=2y -1.③第二步,把③代入②,得2(2y -1)+y=1.④ 第三步,解④得y=53.⑤ 第四步,把⑤代入③,得x=2×53-1=51. 第五步,得到方程组的解为⎪⎪⎩⎪⎪⎨⎧==.53,51y x(4)对于一般的二元一次方程组⎩⎨⎧=+=+)2(,)1(,222111c y b x a c y b x a其中a 1b 2-a 2b 1≠0,可以写出类似的求解步骤:第一步,①×b 2-②×b 1,得 (a 1b 2-a 2b 1)x=b 2c 1-b 1c 2.③ 第二步,解③,得x=12212112b a b a c b c b --.第三步,②×a 1-①×a 2,得(a 1b 2-a 2b 1)y=a 1c 2-a 2c 1.④ 第四步,解④,得y=12211221b a b a c a c a --.第五步,得到方程组的解为⎪⎪⎩⎪⎪⎨⎧--=--=.,1221122112212112b a b a c a c a y b a b a c b c b x(5)算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等.在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤. 现在,算法通常可以编成计算机程序,让计算机执行并解决问题.(6)算法的特征:①确定性:算法的每一步都应当做到准确无误、不重不漏.“不重”是指不是可有可无的,甚至无用的步骤,“不漏” 是指缺少哪一步都无法完成任务.②逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提, “后一步”是“前一步”的继续.③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制地持续进行.(7)在解决某些问题时,需要设计出一系列可操作或可计算的步骤来解决问题,这些步骤称为解决这些问题的算法.也就是说,算法实际上就是解决问题的一种程序性方法.算法一般是机械的,有时需进行大量重复的计算,它的优点是一种通法,只要按部就班地去做,总能得到结果.因此算法是计算科学的重要基础. 应用示例思路1例1 (1)设计一个算法,判断7是否为质数. (2)设计一个算法,判断35是否为质数. 算法分析:(1)根据质数的定义,可以这样判断:依次用2—6除7,如果它们中有一个能整除7,则7不是质数,否则7是质数. 算法如下:(1)第一步,用2除7,得到余数1.因为余数不为0,所以2不能整除7. 第二步,用3除7,得到余数1.因为余数不为0,所以3不能整除7. 第三步,用4除7,得到余数3.因为余数不为0,所以4不能整除7. 第四步,用5除7,得到余数2.因为余数不为0,所以5不能整除7.第五步,用6除7,得到余数1.因为余数不为0,所以6不能整除7.因此,7是质数. (2)类似地,可写出“判断35是否为质数”的算法:第一步,用2除35,得到余数1.因为余数不为0,所以2不能整除35.第二步,用3除35,得到余数2.因为余数不为0,所以3不能整除35. 第三步,用4除35,得到余数3.因为余数不为0,所以4不能整除35.第四步,用5除35,得到余数0.因为余数为0,所以5能整除35.因此,35不是质数. 点评:上述算法有很大的局限性,用上述算法判断35是否为质数还可以,如果判断1997是否为质数就麻烦了,因此,我们需要寻找普适性的算法步骤. 变式训练请写出判断n(n>2)是否为质数的算法.分析:对于任意的整数n(n>2),若用i 表示2—(n-1)中的任意整数,则“判断n 是否为质数”的算法包含下面的重复操作:用i除n,得到余数r.判断余数r是否为0,若是,则不是质数;否则,将i的值增加1,再执行同样的操作.这个操作一直要进行到i的值等于(n-1)为止.算法如下:第一步,给定大于2的整数n.第二步,令i=2.第三步,用i除n,得到余数r.第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.第五步,判断“i>(n-1)”是否成立.若是,则n是质数,结束算法;否则,返回第三步.例2 写出用“二分法”求方程x2-2=0 (x>0)的近似解的算法.分析:令f(x)=x2-2,则方程x2-2=0 (x>0)的解就是函数f(x)的零点.“二分法”的基本思想是:把函数f(x)的零点所在的区间[a,b](满足f(a)·f(b)<0)“一分为二”,得到[a,m]和[m,b].根据“f(a)·f(m)<0”是否成立,取出零点所在的区间[a,m]或[m,b],仍记为[a,b].对所得的区间[a,b]重复上述步骤,直到包含零点的区间[a,b]“足够小”,则[a,b]内的数可以作为方程的近似解.解:第一步,令f(x)=x2-2,给定精确度d.第二步,确定区间[a,b],满足f(a)·f(b)<0.第三步,取区间中点m=2ba.第四步,若f(a)·f(m)<0,则含零点的区间为[a,m];否则,含零点的区间为[m,b].将新得到的含零点的区间仍记为[a,b].第五步,判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.于是,开区间(1.414 062 5,1.417 968 75)中的实数都是当精确度为0.005时的原方程的近似解.实际上,上述步骤也是求2的近似值的一个算法.点评:算法一般是机械的,有时需要进行大量的重复计算,只要按部就班地去做,总能算出结果,通常把算法过程称为“数学机械化”.数学机械化的最大优点是它可以借助计算机来完成,实际上处理任何问题都需要算法.如:中国象棋有中国象棋的棋谱、走法、胜负的评判准则;而国际象棋有国际象棋的棋谱、走法、胜负的评判准则;再比如申请出国有一系列的先后手续,购买物品也有相关的手续……思路2例1 一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量就会吃羚羊.该人如何将动物转移过河?请设计算法.分析:任何动物同船不用考虑动物的争斗但需考虑承载的数量,还应考虑到两岸的动物都得保证狼的数量要小于羚羊的数量,故在算法的构造过程中尽可能保证船里面有狼,这样才能使得两岸的羚羊数量占到优势.解:具体算法如下:算法步骤:第一步:人带两只狼过河,并自己返回.第二步:人带一只狼过河,自己返回.第三步:人带两只羚羊过河,并带两只狼返回.第四步:人带一只羊过河,自己返回.第五步:人带两只狼过河.点评:算法是解决某一类问题的精确描述,有些问题使用形式化、程序化的刻画是最恰当的.这就要求我们在写算法时应精练、简练、清晰地表达,要善于分析任何可能出现的情况,体现思维的严密性和完整性.本题型解决问题的算法中某些步骤重复进行多次才能解决,在现实生活中,很多较复杂的情境经常遇到这样的问题,设计算法的时候,如果能够合适地利用某些步骤的重复,不但可以使得问题变得简单,而且可以提高工作效率.例2 喝一杯茶需要这样几个步骤:洗刷水壶、烧水、洗刷茶具、沏茶.问:如何安排这几个步骤?并给出两种算法,再加以比较.分析:本例主要为加深对算法概念的理解,可结合生活常识对问题进行分析,然后解决问题.解:算法一:第一步,洗刷水壶.第二步,烧水.第三步,洗刷茶具.第四步,沏茶.算法二:第一步,洗刷水壶.第二步,烧水,烧水的过程当中洗刷茶具.第三步,沏茶.点评:解决一个问题可有多个算法,可以选择其中最优的、最简单的、步骤尽量少的算法.上面的两种算法都符合题意,但是算法二运用了统筹方法的原理,因此这个算法要比算法一更科学.例3 写出通过尺轨作图确定线段AB一个5等分点的算法.分析:我们借助于平行线定理,把位置的比例关系变成已知的比例关系,只要按照规则一步一步去做就能完成任务.解:算法分析:第一步,从已知线段的左端点A出发,任意作一条与AB不平行的射线AP.第二步,在射线上任取一个不同于端点A的点C,得到线段AC.第三步,在射线上沿AC的方向截取线段CE=AC.第四步,在射线上沿AC的方向截取线段EF=AC.第五步,在射线上沿AC的方向截取线段FG=AC.第六步,在射线上沿AC的方向截取线段GD=AC,那么线段AD=5AC.第七步,连结DB.第八步,过C 作BD 的平行线,交线段AB 于M ,这样点M 就是线段AB 的一个5等分点. 点评:用算法解决几何问题能很好地训练学生的思维能力,并能帮助我们得到解决几何问题的一般方法,可谓一举多得,应多加训练. 知能训练设计算法判断一元二次方程ax 2+bx+c=0是否有实数根. 解:算法步骤如下:第一步,输入一元二次方程的系数:a ,b ,c.第二步,计算Δ=b 2-4ac 的值.第三步,判断Δ≥0是否成立.若Δ≥0成立,输出“方程有实根”;否则输出“方程无实根”,结束算法.点评:用算法解决问题的特点是:具有很好的程序性,是一种通法.并且具有确定性、逻辑性、有穷性.让我们结合例题仔细体会算法的特点. 拓展提升中国网通规定:拨打市内电话时,如果不超过3分钟,则收取话费0.22元;如果通话时间超过3分钟,则超出部分按每分钟0.1元收取通话费,不足一分钟按一分钟计算.设通话时间为t (分钟),通话费用y (元),如何设计一个程序,计算通话的费用. 解:算法分析:数学模型实际上为:y 关于t 的分段函数. 关系式如下:y=⎪⎩⎪⎨⎧∉>+-+∈>-+≤<).,3(),1]3([1.022.0),,3(),3(1.022.0),30(,22.0Z t T T Z t t t t 其中[t -3]表示取不大于t -3的整数部分. 算法步骤如下:第一步,输入通话时间t.第二步,如果t≤3,那么y=0.22;否则判断t∈Z 是否成立,若成立执行 y=0.2+0.1×(t-3);否则执行y=0.2+0.1×([t -3]+1). 第三步,输出通话费用c. 课堂小结(1)正确理解算法这一概念.(2)结合例题掌握算法的特点,能够写出常见问题的算法. 作业课本本节练习1、2.设计感想本节的引入精彩独特,让学生在感兴趣的故事里进入本节的学习.算法是本章的重点也是本章的基础,是一个较难理解的概念.为了让学生正确理解这一概念,本节设置了大量学生熟悉的事例,让学生仔细体会反复训练.本节的事例有古老的经典算法,有几何算法等,因此这是一节很好的课例.1.1.2 程序框图与算法的基本逻辑结构整体设计教学分析用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不准确.因此,本节有必要探究使算法表达得更加直观、准确的方法.程序框图用图形的方式表达算法,使算法的结构更清楚、步骤更直观也更精确.为了更好地学好程序框图,我们需要掌握程序框的功能和作用,需要熟练掌握三种基本逻辑结构.三维目标1.熟悉各种程序框及流程线的功能和作用.2.通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程.在具体问题的解决过程中,理解程序框图的三种基本逻辑结构:顺序结构、条件结构、循环结构.3.通过比较体会程序框图的直观性、准确性.重点难点数学重点:程序框图的画法.数学难点:程序框图的画法.课时安排4课时教学过程第1课时程序框图及顺序结构导入新课思路1(情境导入)我们都喜欢外出旅游,优美的风景美不胜收,如果迷了路就不好玩了,问路有时还听不明白,真是急死人,有的同学说买张旅游图不就好了吗,所以外出旅游先要准备好旅游图.旅游图看起来直观、准确,本节将探究使算法表达得更加直观、准确的方法.今天我们开始学习程序框图.思路2(直接导入)用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不准确.因此,本节有必要探究使算法表达得更加直观、准确的方法.今天开始学习程序框图.推进新课新知探究提出问题(1)什么是程序框图?(2)说出终端框(起止框)的图形符号与功能.(3)说出输入、输出框的图形符号与功能.(4)说出处理框(执行框)的图形符号与功能.(5)说出判断框的图形符号与功能.(6)说出流程线的图形符号与功能.(7)说出连接点的图形符号与功能.(8)总结几个基本的程序框、流程线和它们表示的功能.(9)什么是顺序结构?讨论结果:(1)程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.(2)椭圆形框:表示程序的开始和结束,称为终端框(起止框).表示开始时只有一个出口;表示结束时只有一个入口.(3)平行四边形框:表示一个算法输入和输出的信息,又称为输入、输出框,它有一个入口和一个出口.(4)矩形框:表示计算、赋值等处理操作,又称为处理框(执行框),它有一个入口和一个出口.(5)菱形框:是用来判断给出的条件是否成立,根据判断结果来决定程序的流向,称为判断框,它有一个入口和两个出口.(6)流程线:表示程序的流向.(7)圆圈:连接点.表示相关两框的连接处,圆圈内的数字相同的含义表示相连接在一起.图形符号(9)很明显,顺序结构是由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构.三种逻辑结构可以用如下程序框图表示:顺序结构条件结构循环结构应用示例例1 请用程序框图表示前面讲过的“判断整数n(n>2)是否为质数”的算法.解:程序框图如下:点评:程序框图是用图形的方式表达算法,使算法的结构更清楚,步骤更直观也更精确.这里只是让同学们初步了解程序框图的特点,感受它的优点,暂不要求掌握它的画法. 变式训练观察下面的程序框图,指出该算法解决的问题.解:这是一个累加求和问题,共99项相加,该算法是求100991431321211⨯++⨯+⨯+⨯ 的值.例2 已知一个三角形三条边的边长分别为a ,b ,c ,利用海伦—秦九韶公式设计一个计算三角形面积的算法,并画出程序框图表示.(已知三角形三边边长分别为a,b,c ,则三角形的面积为S=))()((c p b p a p p ---),其中p=2cb a ++.这个公式被称为海伦—秦九韶公式)算法分析:这是一个简单的问题,只需先算出p 的值,再将它代入分式,最后输出结果.因此只用顺序结构应能表达出算法. 算法步骤如下:第一步,输入三角形三条边的边长a,b,c. 第二步,计算p=2cb a ++. 第三步,计算S=))()((c p b p a p p ---.第四步,输出S.程序框图如下:点评:很明显,顺序结构是由若干个依次执行的步骤组成的,它是最简单的逻辑结构,它是任何一个算法都离不开的基本结构.变式训练下图所示的是一个算法的流程图,已知a1=3,输出的b=7,求a2的值.解:根据题意221aa=7,∵a1=3,∴a2=11.即a2的值为11.例3 写出通过尺轨作图确定线段AB的一个5等分点的程序框图.解:利用我们学过的顺序结构得程序框图如下:点评:这个算法步骤具有一般性,对于任意自然数n,都可以按照这个算法的思想,设计出确定线段的n 等分点的步骤,解决问题,通过本题学习可以巩固顺序结构的应用. 知能训练有关专家建议,在未来几年内,中国的通货膨胀率保持在3%左右,这将对我国经济的稳定有利无害.所谓通货膨胀率为3%,指的是每年消费品的价格增长率为3%.在这种情况下,某种品牌的钢琴2004年的价格是10 000元,请用流程图描述这种钢琴今后四年的价格变化情况,并输出四年后的价格.解:用P 表示钢琴的价格,不难看出如下算法步骤:2005年P=10 000×(1+3%)=10 300;2006年P=10 300×(1+3%)=10 609;2007年P=10 609×(1+3%)=10 927.27;2008年P=10 927.27×(1+3%)=11 255.09; 年份2004 2005 2006 2007 2008 钢琴的价格10 000 10 300 10 609 10 927.27 11 255.09点评:顺序结构只需严格按照传统的解决数学问题的解题思路,将问题解决掉.最后将解题步骤 “细化”就可以.“细化”指的是写出算法步骤、画出程序框图.拓展提升如下给出的是计算201614121++++ 的值的一个流程图,其中判断框内应填入的条件是______________.答案:i>10.课堂小结(1)掌握程序框的画法和功能.(2)了解什么是程序框图,知道学习程序框图的意义.(3)掌握顺序结构的应用,并能解决与顺序结构有关的程序框图的画法.作业习题1.1A 1.设计感想首先,本节的引入新颖独特,旅游图的故事阐明了学习程序框图的意义.通过丰富有趣的事例让学生了解了什么是程序框图,进而激发学生学习程序框图的兴趣.本节设计题目难度适中,逐步把学生带入知识的殿堂,是一节好的课例.第2课时条件结构导入新课思路1(情境导入)我们以前听过这样一个故事,野兽与鸟发生了一场战争,蝙蝠来了,野兽们喊道:你有牙齿是我们一伙的,鸟们喊道:你有翅膀是我们一伙的,蝙蝠一时没了主意.过了一会儿蝙蝠有了一个好办法,如果野兽赢了,就加入野兽这一伙,否则加入另一伙,事实上蝙蝠用了分类讨论思想,在算法和程序框图中也经常用到这一思想方法,今天我们开始学习新的逻辑结构——条件结构.思路2(直接导入)前面我们学习了顺序结构,顺序结构像是一条没有分支的河流,奔流到海不复回,事实上多数河流是有分支的,今天我们开始学习有分支的逻辑结构——条件结构.推进新课新知探究提出问题(1)举例说明什么是分类讨论思想?(2)什么是条件结构?(3)试用程序框图表示条件结构.(4)指出条件结构的两种形式的区别.讨论结果:(1)例如解不等式ax>8(a≠0),不等式两边需要同除a,需要明确知道a的符号,但条件没有给出,因此需要进行分类讨论,这就是分类讨论思想.(2)在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.(3)用程序框图表示条件结构如下.条件结构:先根据条件作出判断,再决定执行哪一种操作的结构就称为条件结构(或分支结构),如图1所示.执行过程如下:条件成立,则执行A框;不成立,则执行B框.图1 图2注:无论条件是否成立,只能执行A、B之一,不可能两个框都执行.A、B两个框中,可以有一个是空的,即不执行任何操作,如图2.(4)一种是在两个“分支”中均包含算法的步骤,符合条件就执行“步骤A”,否则执行“步骤B”;另一种是在一个“分支”中均包含算法的步骤A,而在另一个“分支”上不包含算法的任何步骤,符合条件就执行“步骤A”,否则执行这个条件结构后的步骤.应用示例例1 任意给定3个正实数,设计一个算法,判断以这3个正实数为三边边长的三角形是否存在,并画出这个算法的程序框图.算法分析:判断以3个任意给定的正实数为三条边边长的三角形是否存在,只需验证这3个数中任意两个数的和是否大于第3个数.这个验证需要用到条件结构.算法步骤如下:第一步,输入3个正实数a,b,c.第二步,判断a+b>c,b+c>a,c+a>b是否同时成立.若是,则存在这样的三角形;否则,不存在这样的三角形.程序框图如右图:点评:根据构成三角形的条件,判断是否满足任意两边之和大于第三边,如果满足则存在这样的三角形,如果不满足则不存在这样的三角形.这种分类讨论思想是高中的重点,在画程序框图时,常常遇到需要讨论的问题,这时要用到条件结构.例2 设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示.算法分析:我们知道,若判别式Δ=b 2-4ac>0,则原方程有两个不相等的实数根x 1=a b 2∆+-,x 2=ab 2∆--; 若Δ=0,则原方程有两个相等的实数根x 1=x 2=ab 2-; 若Δ<0,则原方程没有实数根.也就是说,在求解方程之前,可以先判断判别式的符号,根据判断的结果执行不同的步骤,这个过程可以用条件结构实现.又因为方程的两个根有相同的部分,为了避免重复计算,可以在计算x 1和x 2之前,先计算p=ab 2-,q=a 2∆. 解决这一问题的算法步骤如下:第一步,输入3个系数a ,b ,c.第二步,计算Δ=b 2-4ac.第三步,判断Δ≥0是否成立.若是,则计算p=ab 2-,q=a 2∆;否则,输出“方程没有实数根”,结束算法.第四步,判断Δ=0是否成立.若是,则输出x 1=x 2=p ;否则,计算x 1=p+q ,x 2=p-q ,并输出x 1,x 2.程序框图如下:例3 设计算法判断一元二次方程ax 2+bx+c=0是否有实数根,并画出相应的程序框图. 解:算法步骤如下:第一步,输入3个系数:a ,b ,c.第二步,计算Δ=b 2-4ac.第三步,判断Δ≥0是否成立.若是,则输出“方程有实根”;否则,输出“方程无实根”.结束算法.相应的程序框图如右:点评:根据一元二次方程的意义,需要计算判别式Δ=b 2-4ac 的值.再分成两种情况处理:(1)当Δ≥0时,一元二次方程有实数根;(2)当Δ<0时,一元二次方程无实数根.该问题实际上是一个分类讨论问题,根据一元二次方程系数的不同情况,最后结果就不同.因而当给出一个一元二次方程时,必须先确定判别式的值,然后再用判别式的值的取值情况确定方程是否有解.该例仅用顺序结构是办不到的,要对判别式的值进行判断,需要用到条件结构.例4 (1)设计算法,求ax+b=0的解,并画出流程图.解:对于方程ax+b=0来讲,应该分情况讨论方程的解.我们要对一次项系数a 和常数项b 的取值情况进行分类,分类如下: (1)当a≠0时,方程有唯一的实数解是ab -; (2)当a=0,b=0时,全体实数都是方程的解;(3)当a=0,b≠0时,方程无解.联想数学中的分类讨论的处理方式,可得如下算法步骤:第一步,判断a≠0是否成立.若成立,输出结果“解为ab -”. 第二步,判断a=0,b=0是否同时成立.若成立,输出结果“解集为R ”.第三步,判断a=0,b≠0是否同时成立.若成立,输出结果“方程无解”,结束算法. 程序框图如下:点评:这是条件结构叠加问题,条件结构叠加,程序执行时需依次对“条件1”“条件2”“条件3”……都进行判断,只有遇到能满足的条件才执行该条件对应的操作. 知能训练。
第一章算法初步

第一章算法初步一、算法与程序框图1、算法的概念:在数学中,算法通常指按照一定规则解决某一类...问题明确的...和有限的...步骤。
注意:(1)算法不等同于....某个具体问题的解题过程,它必须能解决一类问题。
(2)解决某类问题的算法不是唯一的。
2、算法的特征:(1)确定性:指一个算法中每一步操作都是明确的,不能模糊或有歧义,算法执行后一定产生明确的结果;(2)有穷性:指一个算法必须能够在有限个步骤之内把问题解决,不能无限的执行下去;(3)可行性:指一个算法对于某一类问题的解决都必须是有效的,切实可行的,并且能够重复使用.3、程序框图定义:程序框图又称流程图,是一种用规定的程序框、流程线及文字说明来准确、直观地表示算法的图形。
程序框名称功能起止框表示一个算法的起始和结束,是任何流程图不可少的。
输入、输出框表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置。
处理框赋值、计算,算法中处理数据需要的算式、公式等分别写在不同的用以处理数据的处理框内。
判断框判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”。
流程线连接程序框连接点连接程序框图的两部分(此表重点掌握)二、算法的三种基本逻辑结构与算法语句(重点)1、顺序结构与输入语句、输出语句、赋值语句顺序结构:由若干个依次执行的步骤组成的算法结构。
输入语句对应输入框;输出语句对应输出框;赋值语句对应处理框。
程序框图:算法语句:注意:(1)输入语句输入的值只能是具体的常数。
(2)赋值语句中的“=”称为赋值号。
(3)赋值语句右边必须是一个数据、常量和算式,左边必须是变量,不能为表达式。
一个赋值语句只能给一个变量赋值;不能连续赋值。
2、条件结构与条件语句条件结构:在算法中通过对条件的判断,根据条件是否成立有不同流向的算法结构。
条件语句中的条件对应程序框图中的条件框。
程序框图: 算法语句:注意:(1)IF 与END IF 要配对使用.(2)END IF 是结束条件语句,END 则是结束整个程序.3、循环结构与循环语句循环结构:需要重复执行某一操作的算法结构。
第一章算法初步 .doc

第一章算法初步一、课标要求:1、本章的课标要求包括算法的含义、程序框图、基本算法语句,通过阅读中国古代教学中的算法案例,体会中国古代数学世界数学发展的贡献。
2、算法就是解决问题的步骤,算法也是数学及其应用的重要组成部分,是计算机科学的基础,利用计算机解决问需要算法,在日常生活中做任何事情也都有算法,当然我们更关心的是计算机的算法,计算机可以解决多类信息处理问题,但人们必须事先用计算机熟悉的语言,也就是计算能够理解的语言(即程序设计语言)来详细描述解决问题的步骤,即首先设计程序,对稍复杂一些的问题,直接写出解决该问题的程序是困难的,因此,我们要首先研究解决问题的算法,再把算法转化为程序,所以算法设计是使用计算机解决具体问题的一个极为重要的环节。
3、通过对解决具体问题的过程与步骤的分析(如二元一次方程组的求解等问题),体会算法的思想,了解算法的含义。
理解程序框图的三种基本逻辑结构:顺序结构、条件结构、循环结构。
理解并掌握几种基本的算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句。
进一步体会算法的基本思想。
4、本章的重点是体会算法的思想,了解算法的含义,通过模仿、操作、探索,经过通过设计程序框图解决问题的过程。
点是在具体问题的解决过程中,理解三种基本逻辑结构,经历将具体问题的程序框图转化为程序语句的过程,理解几种基本的算法语句。
二、编写意图与特色:算法是数学及其应用的重要组成部分,是计算科学的重要基础。
随着现代信息技术飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并日益融入社会生活的许多方面,算法思想已经成为现代人应具备的一种数学素养。
需要特别指出的是,中国古代数学中蕴涵了丰富的算法思想。
在本模块中,学生将在义务教育阶段初步感受算法思想的基础上,结合对具体数学实例的分析,体验程序框图在解决问题中的作用;通过模仿、操作、探索,学习设计程序框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章 算法初步1.1 算法与程序框图 1.1.1 算法的概念1.下面四种叙述能称为算法的是( ) A.在家里一般是妈妈做饭B.做米饭需要刷锅、淘米、添水、加热这些步骤C.在野外做饭叫野炊D.做饭必须要有米2.下列关于算法的描述正确的是( ) A.算法与求解一个问题的方法相同B.算法只能解决一个问题,不能重复使用C.算法过程要一步一步执行,每步执行的操作必须确切D.有的算法执行完后,可能无结果3.对“求1+2+3+4+5的和”,下列说法正确的是( ) A.只能设计一个算法 B.可以设计两种算法 C.不能设计算法D.设计的算法可以不包含输出 4.阅读下面的算法:第一步,输入两个实数a ,b .第二步,若a <b ,则交换a ,b 的值. 第三步,输出a .这个算法输出的是( )A.a ,b 中的较大数B.a ,b 中的较小数C.原来的a 的值D.原来的b 的值5.写出解方程2x +3=0的算法步骤:第一步,________________________________________________________________. 第二步,________________________________________________________________. 第三步,________________________________________________________________.6.写出求解方程组⎩⎪⎨⎪⎧2x +y =7, ①4x +5y =11 ②的一个算法.7.已知直线l 的倾斜角是α(α≠90°),且直线l 过点P (x 0,y 0),请完成求直线l 的方程的一个算法:第一步,设直线l 的方程为y -y 0=k (x -x 0). 第二步,___________________________________________________________________. 第三步,___________________________________________________________________.8.有5个小球,其中4个的重量相同,仅有一个较重,打算用天平(不用砝码)找出那个重的小球.下面设计了一种用最少的测量次数测出那个重的小球的算法:第一步,将5个小球分成A,B,C三组,每组分别有2,2,1个.第二步,将A,B两组的小球分别放在天平的两侧,若____________________,则________________,然后执行第三步;若______________________,则C组的小球为那个重的小球.第三步,将含那个重的小球的一组的两个小球分别放在天平的两侧,则较重的球为那个重的小球.(1)将上述算法补充完整;(2)若80个小球中含有1个较重的小球,请仿照上述算法设计一个算法,找出那个重的小球.1.1.2程序框图和顺序结构1.下列框图是判断框的是()2.下列是程序框图的一部分,表示恰当的是()A. B.C. D.3.在程序框图中,算法中间要处理数据或计算,可分别写在不同的()A.处理框内B.判断框内C.输入、输出框内D.终端框内4.下列关于程序框图的说法,正确的有()①程序框图只有一个入口,也只有一个出口;②程序框图中的每一部分都应有一条从入口到出口的路径通过它;③程序框图中的循环可以是无限的循环.A.①②③B.②③C.①③D.①②5.如图1-1-4,该算法的功能是计算长方体的()图1-1-4A.体积B.面对角线的长C.体对角线的长D.表面积6.如图1-1-5所示的框图的输出结果为------------图1-1-57已知三角形边长为a ,b ,c ,计算其面积公式为S =p (p -a )(p -b )(p -c ) ⎝⎛⎭⎫其中p =a +b +c 2.如图1-1-6所示的框图是表示求三角形面积的一个算法,但缺少了两个框图,缺少的是______________、____________.图1-1-68.如图1-1-7所示的程序框图的功能是求一个数的相反数,则 内应填____________.图1-1-79.已知小张的期末考语文成绩为102分,数学成绩为120分,英语成绩为116分,求他的总分和平均分的算法为:第一步,输入A =102,B =120,C =116. 第二步,计算A +B +C .第三步,计算A +B +C3.第四步,得出总分和平均分. 请用程序框图表示这个算法.10. 已知直角三角形的两直角边长分别为a ,b ,设计一个求该三角形周长的算法,并画出相应的程序框图.1.1.3 条件结构和循环结构1.下列说法不正确的是( )A.顺序结构是由若干个依次执行的处理步骤组成的,每一个算法都离不开顺序结构B.循环结构中一定包含条件结构C.循环结构中不一定包含条件结构D.循环结构中反复执行的步骤叫做循环体2.如果一个算法的程序框图中有◇,那么表示该算法中一定有( ) A.循环结构和条件结构 B.条件结构 C.循环结构 D.无法确定3.图1-1-16是描述求一元二次方程ax 2+bx +c =0的根的过程的程序框图,则虚线框内是________结构.图1-1-164.(2014年广东茂名一模)某程序框图如图1-1-17,现输入如下四个函数,则可以输出的函数是( )图1-1-17A.f (x )=x 2B.f (x )=1xC.f (x )=e xD.f (x )=sin x 5.阅读图1-1-18,运行相应程序,则输出的i 值为( )A.3B.4C.5D.6图1-1-186.6.如图1-1-20,该程序框图所表示的算法的功能是( )图1-1-20A.比较a ,b ,c 三个数的大小B.求a ,b ,c 三个数中的最大数C.求a ,b ,c 三个数中的最小数D.求a ,b ,c 三个数的和 7.如果执行如图1-1-21所示的程序框图后,输出的S =2550,那么判断框内应填( )A.k <50?B.k ≤50?C.k ≤49?D.k <49?图1-1-218下面是求10的所有正约数的一个算法,请完成这个算法. 第一步,n =1.第二步,若n ≤10,则判断10n是否为整数,若是,则____________,若不是,则执行第三步;若n >10,则执行第四步.第三步,将n用n+1代替,返回____________.第四步,结束.9.(2013年广东)执行如图1-1-19所示的程序框图,若输入n的值为4,则输出s的值为________.图1-1-1910.(创新题)阅读图1-1-22所示的程序框图,试说明它解决的是什么问题.图1-1-2211.(2012年全国)如果执行图1-1-23的程序框图,输入正整数N(N≥2)和实数a1,a2,…,a N,输出A,B,则()图1-1-23 A.A+B为a1+a2+…+a N的和B.A+B2为a1,a2,…,a N的算术平均数C.A和B分别是a1,a2,…,a N中最大的数和最小的数D.A和B分别是a1,a2,…,a N中最小的数和最大的数1.2基本算法语句1.2.1输入语句、输出语句和赋值语句1.下列给出的赋值语句中不正确的是A.x=-x B.x=x-3C.x=x2+1 D.4=x2.执行“PRINT 3+2=”,则输出的结果是()A.3+2=3+2 B.3+2=5C.5=3+2 D.53.下面程序运行的结果是()M=1M=M+1M=M+2PRINT MENDA.2B.3C.4D.54.“x=3×5”,“x=x+1”是某一程序中的先后相邻的两个语句,那么下列说法正确的是()①x=3×5的意思是x=3×5=15,此式与算术中的式子是一样的;②x=3×5的意思是将数值15赋给x;③x=3×5可以写成3×5=x;④x=x+1语句在执行时“=”右边x的值是15,执行后左边x的值是16.A.①③B.②④C.①④D.②③5.在程序语言中,下列符号分别表示什么运算:*____________;/____________;∧______________;SQR()_____________;ABS()___________.6.写出下列各语句描述的算法的输出结果.(1)______________;(2)________________.a=5b=3c=(a+b)/2d=c*cPRINT“d=”;d END a=1b=2c=a+bb=a+c-bPRINT“a,b,c=”;a,b,c END7.下列程序若输出的结果为3,则输入的x值可能是________.INPUT“x=”;xy=x*x+2*xPRINT yEND8.已知函数f(x)=x2+3x+1,编写一个程序计算f(4)的值.9.给出下列程序,此程序的功能为()INPUT“实数”;x1,y1,x2,y2a=x1-x2b=y1-y2m=a∧2n=b∧2S=m+nPRINT SQR(S)ENDA.求点到直线的距离B.求两点之间的距离C.求一个多项式的值D.求输入值的平方根1.2.2 条件语句1.下列关于条件语句的说法正确的是( ) A.条件语句中必须有ELSE 和END IF B.条件语句中可以没有END IFC.条件语句中可以没有ELSE ,但是必须有END IFD.条件语句中可以没有END IF ,但是必须有ELSE2.如下表示的程序,当输入a ,b 的值分别为2,3时,最后输出的值是( ) INPUT a ,b IF a>b THEN m =a ELSEm =b END IF PRINT m ENDA.2B.3C.2或3D.53.已知函数y =⎩⎪⎨⎪⎧x ,x ≥0,-x ,x <0,计算y 的值的程序是( )INPUT “x =”;x IF x =0 THEN y =xEND IF PRINT y END INPUT “x =”;x IF x>=0 THEN y =xELSE y =-x END IF PRINT yENDA BINPUT “x =”;xIF x>=0 THENx =yEND IFPRINT yENDINPUT “x =”;xIF x>=0 THENy =xELSE y =-xPRINT yENDC D4.为了使运行下面程序之后输出y =9,键盘输入应为( )INPUT “x =”;x IF x>=0 THEN y =(x +1)*(x +1)ELSEy =(x -1)*(x -1)END IF PRINT y ENDA.x =-2B.x =-4C.x =-2或x =2D.x =-4或x =45.写出下列程序的运行结果:若x =6,则P =________;若x =20,则P =________.6.函数“MOD”表示求余数,如3MOD2=1(3除以2,余数为1),将下列程序补充完整: INPUT x m =xMOD2IF THEN PRINT “x 是奇数”ELSEPRINT “x 是偶数”END IF END7.对于函数y =⎩⎪⎨⎪⎧x (0<x ≤10),2x -11 (x >10),请补全下面的算法程序(其中x >0).INPUT xIF x>0 AND x<=10 THEN ELSEEND IF PRINT y END8.已知在a,b,c三个实数中,有且只有一个正数,设计一个程序(用算法语句表示),筛选出这个正数.9.铁路部门托运行李的收费方法如下:y是收费额(单位:元),x是行李重量(单位:kg).当0<x≤20时,按0.35元/kg收费;当x>20时,20 kg的部分按0.35元/kg,超出20 kg 的部分,则按0.65元/kg收费.请根据上述收费方法编写程序.1.2.3循环语句1.循环语句有WHILE和UNTIL语句两种,下面说法错误的是()A.WHILE语句和UNTIL语句之间可以相互转化B.当计算机遇到WHILE语句时,先判断条件真假,如果条件符合,就执行WHILE和WEND之间的循环体C.当计算机遇到UNTIL语句时,先执行一次DO和UNTIL之间的循环体,再对UNTIL 后的条件进行判断D.WHILE语句与UNTIL语句之间不可以相互转化2.下面程序执行后,输出的结果是()n=5s=0WHILE s<15s=s+nn=n-1WENDPRINT nENDA.-1B.0C.1D.23.阅读下面程序,该程序是哪个和式的计算?()i=1S=0WHILE i<=10S=S+ii=i+1WENDPRINT SENDA. B.1+2+3+…+11C.1+2+3+…+9D.1+2+3+…+104.以下给出的程序的功能是___________________________.i=1S=1WHILE S<=5000S=S*ii=i+1WENDi=i-2PRINT iEND5.下面是求30个数的平均数的程序,则在横线上应补充语句为()A.i>30B.i<30C.i>=30D.i<=306.把求n!的程序补充完整[注:n!=1×2×…×(n-1)×n]:7.设计一个计算5×7×…×99的算法,并写出相应的算法程序.8.下面程序输出的n值是____________.j =1n=0WHILE j<=11j=j+1IFjMOD 4=0THENn=n+1END IFj=j+1WENDPRINT nEND9.读程序:甲乙i=1S=0WHILE i<=1000 S=S+ii=i+1WENDPRINT SEND i=1000S=0DOS=S+ii=i-1LOOP UNTIL i<1 PRINT SEND对甲、乙程序和输出结果判断正确的是()A.程序不同,结果不同B.程序不同,结果相同C.程序相同,结果不同D.程序相同,结果相同10.设计一个程序,求立方小于等于1000的所有正整数.1.3算法案例1.整数108与84的最大公约数是()A.6B.8C.12D.242.用秦九韶算法求多项式f(x)=7x6+6x5+3x2+2当x=4时的值,先算的是()A.4×4=16B.7×4=28C.4×4×4=64D.7×4+6=343.用秦九韶算法计算多项式f(x)=x7-5x5+2x4+4x3+7x2+9x+2当x=2时的值时,需要做乘法和加法运算的次数分别是()A.7,7B.7,6C.6,7D.6,6.4 根据如图1-3-1所示的求公约数方法的程序框图,输入m=2146,n=1813,则输出的实数m的值为()图1-3-1A.36B.37C.38D.395.将下面的八进制数化为十进制数.(1)24(8);(2)1357(8).6 用秦九韶算法计算多项式x4+x3+x2+x+1的值时,其表达式应写成________________.7.若六进制数13a 502(6)转化为十进制数后,等于12 710,求数字a的值(要求用两种方法解答).8用辗转相除法求210与162的最大公约数,并用更相减损术检验.9..用秦九韶算法求多项式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x当x=3时的值.参考答案第一章 算法初步 1.1 算法与程序框图 1.1.1 算法的概念 【课后巩固提升】1.B 2.C 3.B 4.A 5.D6.移项,得2x =-3 系数化为1,得x =-32输出x =-327.-2x <-3 x >328.解:用加减消元法解这个方程组,其算法步骤是: 第一步,①×2-②,得-3y =3. ③ 第二步,解③,得y =-1.第三步,①×5-②,得6x =24. ④(或第三步,将y =-1代入①,得2x -1=7. ④) 第四步,解④,得x =4.第五步,方程组的解为⎩⎪⎨⎪⎧x =4,y =-1.9.第二步,求k 值,k =tan α第三步,把k =tan α代入直线l 的方程得y -y 0=tan α(x -x 0)10.解:(1)天平不平衡 那个重的小球在较重的一组中 天平平衡 (2)算法如下:第一步,将全部小球分成A ,B ,C 三组,使A ,B 两组的球一样多,且比C 组多一个球.第二步,将A ,B 两组的小球分别放在天平的两侧,若天平不平衡,则那个重的小球在较重的一组中,执行第三步;若天平平衡,则那个重的小球在C 组中;第三步,对含那个重的小球的一组,重复第一步、第二步的操作直至找出那个重的小球为止.这样至多测量4次就可找出那个重的小球.1.1.2 程序框图和顺序结构 【课后巩固提升】 1.D 2.A 3.A4.D 解析:程序框图有且仅有一个入口和一个出口,其中每一部分都应有一条从入口到出口的路径通过它.程序框图的循环必须在有限步骤内完成,无限的循环被称为死循环,在程序框图中是禁止出现的.5.C6.B 解析:本框图是一个赋值语句.先把y 的值2赋给x ,即x =2;然后再把z 的值3赋给y ,即y =3;最后把x 的值2赋给z ,即z =2.∴输出的x ,y ,z 的值分别为2,3,2.7. 8.解:如图D4.图D4 9.y=-x10.解:算法步骤如下:第一步,输入实数a,b.第二步,计算a2+b2,并将结果赋给c.第三步,计算l=a+b+c.第四步,输出l.程序框图如图D5.图D5 11.解:算法步骤如下:第一步,人带两只狼过河.第二步,人自己返回.第三步,人带一只羚羊过河.第四步,人带两只狼返回.第五步,人带两只羚羊过河.第六步,人自己返回.第七步,人带两只狼过河.第八步,人自己返回.第九步,人带一只狼过河.程序框图如图D6.图D61.1.3条件结构和循环结构【课后巩固提升】1.C 2.B 3.条件 4.D5.B解析:列表依照循环执行过程可得出结果.6.输出n第二步7.7解析:根据题意,该算法的功能为第一步:i=1,s=1+(1-1)=1,i=2;第二步:i=2,s=1+(2-1)=2,i=3;第三步:i=3,s=2+(3-1)=4,i=4;第四步:i=4,s=4+(4-1)=7,i=5.5>4,此时退出程序,输出s=7.8.B9.B解析:因为S=2+4+6+…+100=2550,故k=50,故判断框内填“k≤50?”.10.解:本题为当型循环结构,先执行i≤n?,再循环.i=1是奇数,执行循环体时,i均取奇数,M是所有奇数的3次幂之和,即计算13+33+53+…+n3的值.11.C1.2基本算法语句1.2.1输入语句、输出语句和赋值语句【课后巩固提升】1.D 2.B 3.D 4.D5.乘除乘方求算术平方根求绝对值6.C7.(1)16(2)1,2,38.1或-39.B10.解:程序如下:INPUT“x=”;xx=4y=x∧2+3*x+1PRINT“f(4)=”;yEND11.B1.2.2 条件语句 【课后巩固提升】1.C 2.B 3.B 4.a 是否为0 5.2.1 10.5解析:求分段函数P =⎩⎪⎨⎪⎧0.35x (x ≤10),3.5+0.7(x -10) (x >10)的值.6.m<>0 7.C8.y =x y =2*x -119.解:由题意,得y =⎩⎪⎨⎪⎧0.35x (0<x ≤20),0.35×20+0.65(x -20) (x >20),该函数是一个分段函数,需要对行李的重量作出判断,因此,这个过程可以用算法中的条件结构来实现.程序如下:10.解:程序框图如图D10,程序如下:INPUT a ,b ,c IF a>0 THENPRINT “正数”;a ELSEIF b>0 THENPRINT “正数”;b ELSEPRINT “正数”;c END IF END IF END图D101.2.3 循环语句 【课后巩固提升】 1.D2.B 解析:试运行程序,n =5,s =0;s =5,n =4;s =9,n =3;s =12,n =2;s =14,n =1;s =15,n =0.输出n =0.3.D4.求使1×2×3×…×i ≤5000成立的最大正整数 5.A6.INPUT WHILE WEND 7.解:算法如下: 第一步,令S =5,i =7. 第二步,S =S ×i ,i =i +2.第三步,判断i>99是否成立,若成立,则执行下一步;否则,返回第二步.第四步,输出S,结束.程序如下:S=5i=7DOS=S*ii=i+2LOOP UNTIL i>99PRINT SEND8.3解析:试运行程序,j=1,n=0;j=2,j=3;j=4,n=1,j=5;j=6,j=7;j =8,n=2,j=9;j=10,j=11;j=12,n=3,j=13,输出n=3.9.B解析:甲、乙都是计算1+2+3+…+1000的值.10.解:程序如下:i=0DOi=i+1m=i*i*iLOOP UNTIL m>1000PRINT iEND1.3算法案例【课后巩固提升】1.C 2.153.D解析:因为f(x)=a n x n+a n-1x n-1+…+a1x+a0=(…((a n x+a n-1)x+a n-1)x+…+a1)x+a0,所以用秦九韶算法求多项式f(x)=7x6+6x5+3x2+2当x=4时的值,先算的是7×4+6=34.4.x(x(x(x+1)+1)+1)+15.A解析:此n次多项式的最高次项系数为1且含有系数为0的项,但仍需进行n 次乘法运算和n次加法运算.6.解:(1)24(8)=2×8+4=20.(2)1357(8)=1×83+3×82+5×8+7=751.7.解:210=162×1+48,162=48×3+18,48=18×2+12,18=12×1+6,12=6×2+0.所以210与162的最大公约数为6.检验:因为210与162都是偶数,可同时除以2,即取105与81的最大公约数后再乘2,105-81=24,81-24=57,57-24=33,33-24=9,24-9=15,15-9=6,9-6=3,6-3=3.所以210与162的最大公约数为3×2=6.8.B解析:算法的功能是利用辗转相除法求2146与1813的最大公约数,2146=1813+333;1813=5×333+148;333=2×148+37;148=4×37+0,最大公约数是37.故选B.9.解:方法一:将六进制数转化为十进制数.13a 502(6)=1×65+3×64+a×63+5×62+0×6+2=12 710(10).即7776+3888+216a+180+0+2=12 710,216a=864,a=4.∴a的值为4.方法二:将十进制数12 710(10)化成六进制数.∴12 710(10)=134 502(6),故a=4.10.解:原多项式可化为:f(x)=((((((7x+6)x+5)x+4)x+3)x+2)x+1)x.v0=7,v1=7×3+6=27,v2=27×3+5=86,v3=86×3+4=262,v4=262×3+3=789,v5=789×3+2=2369,v6=2369×3+1=7108,v7=7108×3+0=21 324.所以当x=3时,f(3)=21 324.。