高一数学 算法初步
2(12 x),8 x≤12.
程序:
INPUT “x=”;x IF x>=0 and x<=4 THEN y=2*x ELSE IF x<=8 THEN y=8 ELSE y=2*(12-x) END IF END IF PRINT y END
程序框图如下图所示:
专题三 循环结构及其应用
算法中的逻辑结构是根据指定条件决定是否重复执行一条或 多条指令的控制结构.由于计算机的运算速度快,最适宜做 重复性的工作,因此循环是计算机解题的一个重要特征,正 因为如此,在算法的三种逻辑结构中,循环结构是最重要、最 常用的一种,也是学者在应用中感到最为困惑的一种.本文 进一步探析循环结构及其应用.
分析:依题意知,砌第20层时剩余砖为a20=1块,砌第19层时剩 余砖为a19=(1+1)×2=4块,砌第18层时剩余砖为 a18=(4+1)×2=10块,…,砌第n层时剩余砖为 an=(an+1+1)×2块,所以递推公式为 a20=1,an=2(an+1+1),n=1,2,…,19.故本题可用循环结构实现 算法.
例3
:已知函数y
x(x 0) (x 1)2 (x≥0)
,
输入任意一个实数x,
求相应的函数值,画出程序框图,写出程序.
分析:根据输入的x确定x的范围,从而确定代入哪一个表 达式.故采用条件语句,可先画出程序框图,再写程序.
解:程序框图如下图所示:
程序如下:
INPUT x IF x<0 THEN y=x ELSE y=(x+1)*(x+1) END IF PRINT y END
例4:如右图,在边长为4的正方形ABCD的边上有一点P,沿着 折线BCDA由点B(起点)向点A(终点)运动.设点P运动的路 程为x,△APB的面积为y,求y与x之间的函数关系式,画出程 序框图,写出程序.
分析:按照题意,根据x的变化,写出分段函数的解析式.
2x, 0≤x≤4, 解 :函数关系式为y 8, 4 x≤8,
入5 kg油瓶中,这时5 kg油瓶中有4 kg油,8 kg油瓶中也有4 kg油.
上述各步可用下图表示:
点评:以上给出了该问题的一种算法,当然其算法不是唯一的, 同学们可思考其他的算法,并比较它们的优劣.
专题二 程序框图及其画法
程序框图是用规定的图形和指向线来准确、直观、形象地表示 算法的图形.画程序框图之前应先对问题设计出合理有效 的算法,然后分析算法的逻辑结构,根据逻辑结构画出相应 的程序框图.
到5 kg油瓶中. 第二步,用8 kg油瓶中剩余的油装满3 kg油瓶,再用这3 kg油
瓶中的油装满5 kg油瓶,这时3 kg油瓶中剩1 kg油. 第三步,将5 kg油瓶中的油(5 kg)倒入8 kg油瓶中,然后将3 kg
油瓶中的1 kg油倒入5 kg油瓶中. 第四步,用8 kg油瓶中的油装满3 kg油瓶,然后将该3 kg油倒
2.要注意不同进制的数之间的转换方法.k进制数化为十进制 数的方法是把k进制数写成各位上数字与k幂的乘积之和的 形式,再按十进制数的运算规则计算出结果;十进制数化为 k进制的方法是用k连续去除十进制数与所得的商,直到商 为零为止,然后把各步得到的余数倒写就是相应的k进制数
专题探究 专题一 算法设计
1 1
6
1
6
值的算法程序,并画出相应的程序框图.
分析 : 本题显然是一个迭加问题,故可用循环语句设计算法.
利用循环结构实现算法需搞清初始值是谁,
本题中初始值可定为a1
1 6
,
第一次循环得到a
2
1 6 1
1 6 a1
,
6
第二次循环得到a3
6
1 a2
,, a7
6
1 a6
, 共循环了6次.
解:程序框图为:
程序:
x1 6
i=1 WHILE i <=6 x 1
6 x i=i+1 WEND PRINT x END
2.用于递推运算
例6:用砖砌一堵墙,第一层用了全部砖的一半还多一块,第二 层用了剩下的砖的一半还多一块,以后每一层都用了剩余 砖的一半还多一块,到第20层时恰好剩下1块砖,问这堵墙 一共用了多少块砖?试编写程序,解决这个问题.
第一章 算法初步 本章回顾
知识结构
重点知识回顾 一、算法与程序框图
1.解决问题的步骤就是算法.
任何一个能够利用计算机解决问题的算法必须具备以下5个 特性:
(1)可执行性;(2)确定性;(3)有穷性;(4)有输入信息的说明;(5) 有输出结果的步骤.
在书写算法时,为了得到易读、易懂、易修改扩充的算法,应做 到以下几点:
1 2
3
1,
y0
0 2
2
1,得AB的中点N 1,1.
第二步, 计算k1
20 3 (1)
1 2
, 得AB的斜率.
第三步,计算k 1 2,得AB垂直平分线的斜率. k1
第四步, 得直线AB垂直平分线的方程, 输出.
点评:该算法步骤的设计依据了解析几何中求线段垂直平分 线的一般方法.同学们还可以思考:如果把已知的两点坐标 改为A(x1,y1),B(x2,y2).算法设计将会发生怎样的变化呢?
一、循环结构的两种基本类型
二、用循环结构的关键点 (1)确定循环变量和初始值;(2)确定算法中反复执行的部分,即
循环体;(3)确定循环的终止条件.循环结构有两种——直到 型(UNTIL)和当型(WHILE).
三、循环结构的应用 1.用于迭加运算
例5
:
设计用循环语句描述求
6
6
6
1 1 1 1
6 6
(1)利用自上而下的方法设计算法; (2)利用顺序结构、条件结构、循环结构这3种基本逻辑结构来
设计算法; (3)要有优美的算法表达风格.
2.程序框图是用一些图形符号表示各种操作,它直观形象,易 于理解,便于人们之间的交流与合作.学习这部分内容时,我 们要掌握基本的图形符号,在书写算法或画流程图时,要熟 练地运用顺序结构、条件结构、循环结构这3种基本逻辑结 构来表达算法.
二、基本算法语句 本章介绍了输入语句、输出语句、赋值语句、条件语句、循环语
句,通过这些语句,我们可以编写出计算机能够读懂的程序.
三、算法案例 1.用辗转相除法与更相减损术求两个数的最大公约数时,一定
要弄清每一次除法和减法中的被除数、除数和被减数、减数, 同时要掌握两种方法中除法和减法分别应在何种情况下停 止运算,得出结果.
段AB的垂直平分线方程的一个算法.
分析:线段AB的垂直平分线是指经过线段AB的中点且与直线
AB垂直的直线,故可先由中点坐标公式求出线段AB的中
点N(1,1),然后计算直线AB的斜率
k1
20 3 (1)
1 2
.
由垂直关系可知AB垂直平分线的斜率是k=-2,最后由点斜式
写出直线方程.
解 : 第一步, 计算x0
例2:一个大油瓶装了8 kg油,还有两个空油瓶,一个能装5 kg 油,另一个能装3 kg油.请设计一种算法,将这8 kg油平均分 成两份.
分析:这是一个非数值计算性问题的算法设计,应考虑首先建 立过程模型.此问题中要充分利用好两个空油瓶,用它们起 到称量的作用.
解:算法步骤如下: 第一步,用8 kg油瓶中的油将3 kg油瓶倒满,再将3 kg油倒入
解:程序:
m=1 n=1 WHILE n<20 m=2*(m+1) n=n+1 WEND PRINT m END
算法设计与一般意义上的解决问题不同,它是对一类问题的 一般解法的抽象与概括,它要借助一般的问题解决方法,又 要包含这类问题的所有可能情形.它往往是把问题的解法 划分为若干个可执行的步骤,有时有些甚至是重复多次,但 最终都必须在有限个步骤之内完成.
例1:已知平面直角坐标系中的两点A(-1,0),B(3,2),写出求线