第1章 算法初步
[巩固层·知识整合]
[提升层·题型探究]
|
算法设计
|
【例1】 已知平面直角坐标系中两点A(-1,0),B(3,2),写出求线段AB的垂直平分线方程的一个算法.
[解] 第一步,计算x0==1,y0==1,得AB的中点N(1,1).
第二步,计算k1==,得AB斜率.
第三步,计算k=-=-2,得AB垂直平分线的斜率.
第四步,由点斜式得直线AB的垂直平分线的方程,并输出.
算法设计时应注意的问题
(1)与解决问题的一般方法有联系,从中提炼出算法;
(2)将解决问题的过程分为若干个可执行步骤;
(3)引入有关的参数或变量对算法步骤加以表达;
(4)用最简练的语言将各个步骤表达出来;
(5)算法的执行要在有限步内完成.
1.求两底面直径分别为2和4,且高为4的圆台的表面积及体积,写出解决该问题的算法.
[解] 算法如下:
第一步,取r1=1,r2=2,h=4.
第二步,计算l=.
第三步,计算S=πr+πr+π(r1+r2)l与V=π(r+r+r1r2)h.
第四步,输出计算结果.]
|
画程序框图
|
【例2】 画出一个计算1×3×5×…×99的程序框图.
[解] 法一:当型循环结构程序框图如图(1)所示.
法二:直到型循环结构程序框图如图(2)所示.
程序框图的画法
对于一个具体的问题,首先设计自然语言描述的算法,这是画框图的基础,其次将算法步骤转化为对应框图.起止框是每个程序框图所不可缺少的,各个框之间用流程线连接,需要断开的地方连接点不可缺少.对于每种框图的功能需要明确,处理框用于数据的处理以及变量的赋值,输入、输出框用于数据的输入与输出,判断框需要填写的是需要进行判断的内容,每个程序框只有一个箭头指向它,并且只能伸出一条流程线(判断框除外).