《江苏地区高二数学选修11算法初步复习课件 苏教》由会员分享,可在线阅读,更多相关《江苏地区高二数学选修11算法初步复习课件 苏教(56页珍藏版)》请在金锄头文库上搜索。
1、算法初步复习,江苏省清江中学张阳,一、基础知识梳理,一、算法初步主要内容与结构, 内容,算法的含义流程图基本算法语句算法案例, 结构,第1节 算法的含义, 算法的含义,(广义)完成某项工作的方法和步骤,(计算科学)可以用计算机来解决的一类问题的程序和步骤,(教材)有限性、确定性(其他)输入、输出、可行性、一般性, 算法的特点,(教材)对一类问题的机械的、统一的求解方法, 关于例1,例1 给出求1 + 2 +3 + 4 + 5的一个算法 算法1 按照逐一相加的程序进行 第一步 计算1 + 2,得到3; 第二步 将第一步中的运算结果3与3相加,得到6; 第三步 将第二步中的运算结果6与4相加,得到
2、10; 第四步 将第三步中的运算结果10与5相加,得到15,算法2 可以运用公式1 + 2 + + n = 直接计算。 第一步 取n = 5; 第二步 计算 ; 第三步 输出运算结果。,第1节 算法的含义,算法3?, 四种图框类型,第2节 流程图, N-S结构化流程图(1973年由美国学者INassi和BShneiderman提出,N和S是这两位学者英文姓名的第一个字母), 三种基本算法结构,i) 顺序结构,ii) 选择结构,第2节 流程图, 三种基本算法结构,iii) 循环结构,第2节 流程图,(直到型),(当型), 循环结构示例,第2节 流程图,引例, 循环结构,第2节 流程图,例4 (P
3、12)求12345。,算法2 S1 T1; S2 I2; S3 TT I; S4 II + 1 S5 如果I不大于5,重新执行 S3、S4、S5;否则算法结束, 直到型与当型的转换,第2节 流程图,例4,第2节 流程图,学习流程图时学生可能出现的错误:,(1)关于输入框,输入n 3,(2)关于处理框,px,yp,xy,(3)循环结构判断框中的条件, 赋值语句,第3节 基本算法语句, 伪代码, Excel VBA,例1 交换两个变量 x、y 的值,p xx yy p,p = xx = yy = p, 赋值号, x、y、p的值各是多少?, 输入输出语句, 伪代码, Excel VBA,例2 输入一
4、个数,输出这个数的绝对值。,Read ax | a |Print x,a = Inputbox(请输入一个数)x = Abs(a)Msgbox x, 其他输入、输出语句input,output 英语单词的处理,第3节 基本算法语句, 条件语句单行, 伪代码, Excel VBA,例3 输入三个数,输出最大数。,Read a, b, cx aIf b x Then x bIf c x Then x cPrint x,a = InputBox(输入a)b = InputBox(输入b) c = InputBox(输入c) x = aIf b x Then x = bIf c x Then x =
5、cMsgBox 最大数 & x,第3节 基本算法语句, 算法的实现条理化、逻辑化、精微化的过程,a = InputBox(输入a): b = InputBox(输入b) c = InputBox(输入c) x = aIf b x Then x = b: If c x Then x = cMsgBox 最大数为 & x, 分别输入a = 12,b = 9,c = 5时,为什么输出最大数为9?, 条件语句块, 伪代码, Excel VBA,例4 输入x,计算 y = 的值。,Read xIf x0 Then y x2Else y sin xEnd IfPrint y,x = InputBox(输入
6、一个数)If x =0 Then y = x2Else y = sin(x)End IfMsgBox y,第3节 基本算法语句, 条件语句嵌套, 伪代码, Excel VBA,例5(P19)输入x,计算 y = 的值。,Read xIf x 0 Then y 1Else If x = 0 Then y 0Else y -1End IfPrint y,x = InputBox(输入一个数)If x 0 Then y = 1ElseIf x = 0 Then y = 0Else y = -1End IfMsgBox y,第3节 基本算法语句, 循环语句For, 伪代码, Excel VBA,例6(
7、P21)计算1 3 5 7 99。,S 1For I From 3 To 99 Step 2 S S IEnd ForPrint S,S = 1For I = 3 To 99 Step 2 S = S*INext IMsgBox S,第3节 基本算法语句, 循环语句While, 伪代码1,例7(P21)求最小的奇数I,使 1 3 5 7 I 10 000。,S 1I 3 While S10 000 S S I I I + 2 End WhilePrint I,S 1I 1 While S10 000 I I + 2 S S IEnd WhilePrint I, 伪代码2,第3节 基本算法语句,
8、 Excel VBA-1,例7(P21)求最小的奇数I,使 1 3 5 7 I 10 000。,S = 1I = 1 While S = 10000 I = I + 2 S = S*I WendMsgBox I, Excel VBA-2,S = 1I = 1 Do I = I + 2 S = S*I Loop Until S10000 MsgBox I, 循环语句While,第3节 基本算法语句,二、延伸与拓展,一、算法的意义,1、感知算法的三个基本特征,二、顺序结构,1、识别流程图的通用画法和三种基本的算法结构,掌握顺序结构流程图的画法,养成良好的逻辑思维习惯,2、例题选择(1)取整函数 i
9、nt(x) 返回x的整数部分.如int(3.5)=3 。若x表示一个三位数,则int() 表示的百位数字。设计一个算法,求一个三位数x的十位数字。,三、选择结构,1、尝试选择结构流程图的画法,对较简单的问题能设计出合理的分类层次,增强分类讨论的意识。,2、例题选择,(1)写出求函数y=ax+1(a为常数且a不为0), x-2,2的值域的一个算法,(2)已知, 设计一个算法,计算的值。,(3)已知某商品的价格为每件100元,若购买量低于50件,则价格不优惠,若购买量不低于50件且低于100件,则价格优惠10;若购买量不低于100件,则价格优惠20,试设计算法,输入购买量x,输出总价钱y,并画出其
10、流程图。,(4)国内投寄信函,假设每封信不超过20g付邮资80分,超过20g而不超过40g付邮资160分,试写出一封x g (0x60) 的信函应付邮资y的一个算法。,四、循环结构,1、明白循环结构的意义,会作循环结构流程图,在算法设计中体会递推思想方法。,2、例题选择,(1)根据下面给出的算法,写出其运算结果,并画出流程图, S1 T1; S2 I3; S3 TT*I; S4 II+2; S5 如果I不大于9,返回重新执行S3、S4及 S5,否则,输出T的值,运算结束。,(2)设计一个算法,输出自然数1到100中能被7整除的数。,(3)已知 , 写出求 的值的一个算法,并画出循环结构 流程图
11、。,五、赋值语句和输入输出语句,1、体会赋值语句和输入、输出语句所表示的算法,能用这些语句表示简单的算法。,2、例题选择,(1)阅读下面的伪代码,并指出计算结果。 x (8+2)/5 s 1 y 3x z 2 s s+ +5y+z print s 结果为_,(2)阅读下列伪代码,并指出当a=3 ,b=-5 时的计算结果: read a,b read a,b read a,b x a+b a a+b a a+b y a-b b a-b b a-b a (x+y)/2 a (a+b)/2 b (a-b)/2 b (x-y)/2 b (a-b)/2 a (a+b)/2 print a,b print
12、 a,b print a,b a=_,b=_ a=_,b=_ a=_,b=_,六、条件语句,1、掌握条件语句的语法规则,感知条件语句所表达的算法,体会框图对于编写伪代码的作用。,2、例题选择,(1)设计一个算法,判断任给的一个数是奇数还是偶数。,(2)市话话费计费方式为:自接通起,3分钟内(含3分钟)0.2元,超过3分钟的部分每分钟0.1元(不足1分钟按1分钟计)。输入一个正数作为通话时长,用条件语句描述通话话费。,七、循环语句,1、感知for和while表示循环的异同,能正确选用循环语句表示循环结构的运算过程。,2、例题选择,(1)某电视机厂年2003全年生产电视机50万台,计划从2004年
13、开始每年的产量比上一年增长20。设计一个算法,计算从哪一年开始,该厂的电视机年产量超过200万台,并写出伪代码。,(2)定义为n的阶乘,记作n!,设计一个求n!的算法, 并写出伪代码。,(3)已知一列数a1,a2,a3,. an满足 ai=2i-10(i=1,2,3 .n),设计求 S= 的一个算法。,(4)把316分解为两自然数之和,其中一数能被11整除,一数能被13整除,写出求这两个数的伪代码。,八、算法案例,1、从实际问题中提炼出本质的数学特征, 并用算法表达出来。,2、例题选择,(1)下面一段伪代码的目的是什么?这样设计效率高吗?能否用更简洁的语句表示? I=0 For n from
14、1 to 100 If int(n/7)=n/7 then I=I+1 End If End For Print I,(2)与下列伪代码对应的数学表达式是 Read n e 0 s 1 For I from 1to n s s * I e e+1/s Next I Print e End For,九、本章小结,1、总结算法解题的一般思路,即算法分析画出程序框图按框图编写伪代码,通过本章学习增强解题的规范性。,2、例题选择,(1)已知钱数x(不足10元),要把它用1元、5角、1角、1分的硬币表示,若要用尽量少的硬币个数表示x,设计一个算法,求各硬币的个数。,(2)设计一个算法,使得对任意的常数a
15、,输出二次函数f(x)=x2-2ax+2 在闭区间上1,3的最小值。,(3)下面的伪代码输出的结果是_ I=1 For n from 1 to 11 step 2 I 2*I+1 If I20 then I I-20 End If End For Print I,(4)写出求22x+3y=200的正整数解的一个算法,并写出伪代码.,(5)一个三位数,如果各位数字的立方和和等于它自身,则称之为“水仙花数”。设计一个算法,找出所有的水仙花数,用伪代码表示。,(6)(李白买酒)“无事街上走,提壶去买酒,遇店加一倍,见花喝一斗,三遇店和花,喝光壶中酒。”设计求酒壶中原有多少酒的一个算法并写出伪代码。,