高中数学新课标必修教材
- 格式:doc
- 大小:194.00 KB
- 文档页数:16
高中数学新课标必修教材算法初步(试验稿)合肥北大附属试验学校高中数学新课标教改课题组编写者查建敏张益福康永久王亚东2004.11.10算法初步(约12课时)1 算法的含义、程序框图1.1 算法的意义1课时1.2 程序框图3课时2 基本算法语句2.1 输入语句、输出语句、赋值语句2课时2.2 条件语句、循环语句2课时综合算法语句应用1课时3 阅读材料:中国古代算法案例2课时1 算法的含义、程序框图1.1算法的意义在初中我们学过解一元一次方程,它的解法一般步骤是:去分母、去括号、移项、合并同类项、方程两边同除以未知数的系数。
我们还学过解二元一次方程组,如解方程组: (Ⅰ) 62=-y x ①43=+y x ②回顾用代入消元的解法。
方程①化为; y=2x-6 ③ 将③式代入② 消出y 得 3x +(2x-6)=4 解得 x=2 将x=2代入③得 y=-2 所以 x=2., y= -2 是此方程组的解。
一般地,用消元法解二元一次方程: (Ⅱ)111c y b x a =+ ①222c y b x a =+ ②的解法是;第一步 由方程①化出 一个未知数用另一个未知数表示地式子③; 第二步 将式③代入方程②消去一个未知数,解出另一个未知数的值; 第三步 将所解出的值代入③,求出第二个未知数的值; 第四步 写出方程的解。
上述解法也可以用框图表示;或用下面的框图表示:上面解一元一次方程、二元一次方程组的解法都是按步骤的解决问题的方法,也可以叫做解一元一次方程、二元一次方程组的算法。
一般地,人们把进行某一工作的方法和步骤称为算法。
生活中,电器说明书是使用该电器的算法,歌谱是唱一首歌曲的算法,课程表是上课的算法,…等等。
在本章中,我们主要研究数学中的一些问题的算法,特别是讨论计算机能实现的算法。
你能说出加减消元法解二元一次方程组(Ⅰ)的算法吗?并且试用框图表示它。
练习1. 举出一些生活中算法的例子,与同伴交流一下。
2 说出解不等式 3x-7>5 的算法。
3. 写出解方程组 1143-=-y x ①53=+y x ②的一种算法。
习题11、 写出解不等式组:2x+3>7 ①3x-5<10 ②的算法。
2、写出画函数y=2x-6的图象的算法。
3、写出解一元二次方程02=++c bx ax 的算法。
4、写出加减消元法解二元一次方程组(Ⅱ)的算法,并用框图表示它。
1.2程序框图通过前面的学习我们已经知道了可用框图来表示二元一次方程组的解法。
这种框图称为程序框图。
程序框图又称流程图,是一种用规定的图形、指向线及文字说明来表示算法的图形。
这些图形符号的意义见下表:图形符号 名称起、止框 流程图的开始或结束输入、输出框 数据的输入或结果的输出处理框(执行框) 赋值、计算、结果的传送判断框 根据给定条件判断流程线 流程进行的方向起、止框是任何流程不可缺少的,它表明程序开始和结束,输入和输出可用在算法中任何需要输入、输出的位置。
算法中间要处理数据或计算,可分别写在不同的处理框内。
当算法中需要对两个不同的结果进行判断时,此时的判断条件要写在判断框内。
一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;另一种则有多个分支判断,有几种不同的结果。
程序框图用来直观地描述解决问题的算法过程,将算法步骤清晰地表达出来,因而能帮助我们编写解决问题的程序。
下面我们分别学习程序框图的三种基本逻辑结构:顺序结构、选择结构、循环结构。
1.2.1 顺序结构顺序结构算法的操作顺序是按照书写顺序执行的,这是任何一个算法必有的基本结构,是最简单的算法结构。
例1 写出求方程ax+b=c (a≠0,a 、b 、c 为常数)的解的算法及程序框图。
解: 它的算法是:第一步:输入a,b,c第二步:将常数b 移到方程右边 第三步:计算c-b第四步:方程两边同除以a ,得x=(c-b )/a 第五步:输出x 的值。
功能像这样的算法就是一个顺序结构的算法,只要按照书写顺序完成以上五个步骤,就能得出方程解的值x 。
例2.已知三角形面积公式为s=))()((c p b p a p p ---,其中a,b,c 为三角形三边。
P=(a+b+c )/2,用顺序结构的算法求当a=2,b=3,c=4时的面积。
解:它的算法是:第一步:输入a :=2,b :=3,c :=4 第二步:计算p=(a+b+c )/2 第三步:计算三角形的面积s=))()((c p b p a p p ---第四步:输出练习:1. 2. 画出由梯形两底3.2 选择结构我们已经学习了一元一次不等式ax>b (a ≠0)的解法。
如何写出解这个不等式的算法呢?因为在a>0与a<0时的解法不同,在写出顺序结构时,就要选择其中的一种进行运算,在计算机执行运算时,常先判定a 的符号,如是否a>0?当输入的a 为正数时,则选择程序中“是”的路径运行,当输入a 的值为负数时,则选择“否”的路径运行,其框图为:注:此选择结构的框图可概括为:上面虚线框中的结构即为选择结构。
选择结构的算法是根据指定条件进行判断,由判断的结果决定选取执行两条分支路径中的一条,然后继续执行后面的操作。
例2.对于任意给定的三个整数x,y,z,设计求出其最大值的算法。
分析:首先在三个数中任意选定两个数,如x 与y 比较大小。
当x.>y 时,则再由x 与y 比较大小:当x ≤y 时,则再由y 与z 比较大小。
在x 与y 大小两种关系中,就要选择一种路径执行。
解:算法为:1 输入变量:x,y,z ;2 b :=x3 比较b 与y :如果b<y ,则b :=y ;4 比较b 与z :如果b<z ,则b :=z ;5 输出b 。
在这个算法中,我们根据最大值赋值为变量b 比较不同的结果,以决定后面的操作。
上面算法的程序框图为:否是否是注:在这个问题的算法中两次运用了选择结构。
练习:1 写出求实系数一元二次方程ax 2+bx+c=0(a ≠0,a,b,c 为常数)的根的算法。
2x+3 x ≤c2 编写出求函数y= (a,b,c 为常数去)的值的算法中的选择结构。
x 2+1 x>c3 循环结构前面我们学习了算法中的顺序结构,下面我们研究求s=1+2+3+……+100的算法。
分析:如果按照逐个相加方法计算,需要运算99次和,这样既不方便书写,也不便于阅读,能否找到一种简捷的算法呢?我们可以给定一个初始值i=1与s=s+i ,随i 的值每次按1递增,s 的值也逐渐增大。
在条件i ≤100时,可采取循环方式增加s 的值,直到i>100时,终止求和运算,输出s 的值,这样只要用一个循环方式就可表示出求和过程。
其算法如下:上述框图中的虚线所示的结构即为循环结构。
例1.求100个数中的最大数的算法。
解:记这100个不同的数分别为a1,a2,a3……a100。
其算法步骤为:1.比较a1与a2,将较大的数记作b;2.将b与a3进行比较,将较大的数记作b;3.将b与a4进行比较,将较大的数记作b;……99.将b 与a100进行比较,将较大的数记作b;100.输出b(b的值即为所求的最大数)。
这里的第2步至第99步是重复进行的可以用循环的方式表示,此算法的程序框图是:你能指出其中的循环结构吗?在许多程序设计中需要用到循环控制,例如,要输入某个班级所有同学成绩;求若干个数之和等等。
循环结构是算法的三种基本结构之一,它和顺序结构、选择结构共同作为各种复杂程序的基本结构单元。
因此,认识和掌握循环结构是进行程序设计的最基本的需要。
循环结构的算法是根据是否满足所需的条件以决定是否继续执行循环体中的操作。
练习:1.下面是求方程f(x)=0的近似解的算法框图。
请指出其中的循环结构。
否是注:其中ε的表示预先约定的精确度为ε=0.01,它可以根据实际问题的需要而设定。
2.当x值由1开始,每次增加0.1,直到2。
试编写求y=ax2+bx+c的值的程序框图。
习题1.21.已知三角形的一边a和这条边上的高h,写出求其面积算法的顺序结构,并画出框图。
2.写出作一次函数y=2x+1的图象算法的顺序结构及程序框图。
3.按照历法的规定,如果某一年为闰年,那么或者这一年的年数能被4 整除,但不能被100整除,或者能被400整除。
试写出判断某一年份是否为闰年的程序框图,并指出其中的选择结构。
x2,x∈(0,+∞)4.画出求函数f(x)= 1/2 ,x=0-x+1,x∈(-∞,0)的值的程序框图。
5.已知s=1+1/2+1/3+……+1/n+……试编写出用循环结构求前n项s刚好大于100的项数的程序框图。
6.一球从100米的高度自由落下,每次落地后又反跳到原来高度的一半,在落下,求它在第10次落地时,共经过多少米?第10次反弹多高?试编写求解过程中的循环结构。
2 算法基本语句在前面的学习中,解决问题的算法和程序框图来体现算法的基本过程,而这些过程是有许多语句组成,归纳起来有输入、输出语句;赋值语句,条件语句和循环语句。
这些语句就是设计算法让计算机可执行操作的基本语句。
当然,也是程序框图中的基本语句。
2.1 输入、输出语句和赋值语句不论多么简单的算法,都有开始和结束。
开始时首先就要有给入一些初始的信息,这就是输入语句。
它可以输入一些字母、n 个方程或不等式,…等等。
总之,它是计算机开始工作首先执行的语句(命令)。
如解方程ax+b=0中;首先输入:方程系数a 、b 。
又如比较实数x,y,z 的大小,首先输入变量x,y,z 。
一般地,算法语言开始后首先要输入的一些数据,变量、等信息的语句叫做输入语句。
另外在程序结束前也要有一个输出结果的语句(如打印语句),表示计算机工作将要结束,它也是和输入语句前后呼应的。
一般在程序框图中用在计算机开始工作后,首先完成了输入语句,它只能代表计算机将要执行哪一种程序而无法去完成这一程序,而要完成它。
首先还要对输入语句中的参变量赋值,或者让计算机按要求进行计算、建立某种函数等语句叫赋值语句。
它可以赋一些常量、变量、算术表达式、函数…。
一般框图中用如比较三个实数的大小,开始赋值:x ,y ,z 的值就必须是常量。
而程序执行过程后又赋值,max=x (或max=y ),则是给变量赋值。
又如:解方程ax+b=0开始对参量变量a ,b 赋值应是常量赋值(解方程2x+1=0,就赋值a=2,b=1)而赋值:x=-b/a (a ≠0)这一赋值语句就称为算术表达式赋值。
例1 指出下面解一元二次方程ax 2+bx+c=0(a ≠0)的程序框图的输入、输出语句,赋值语句:解:输入语句:输入a,b,c 输出语句:输出:x 赋值语句:(1)△ =b 2-4ac (2)x :无实根(3)x= -b/2a(4)x=(-b ±√△)/2a 。