第一章算法初步
第一章算法初步
算法与程序框图
算法的概念
【知识目标导航】
,一个程序的算法应本着方便简捷的原则,在设计算法的过程中除注意
科学性外,还要把握五个特性:有穷性、确定性、可行性、有输入信息的说明、有输出信息的要求,另外我们设
计的算法还应具有通用性和灵活性,并且不唯一.
:
(1)用自然语言描述算法:指用英语、汉语、数学语言描述算法,对于数值性问题需建立数学模型或通过
固有的公式设计算法;对于非数值性问题要建立过程模型,通过过程模型来描述算法.
(2)用程序框图描述算法:用程序框图描述算法更加清楚简练、形象直观、流向清楚,而且更容易改写成
程序语言.
,具有不可逆性,每一步必须准确无误才能完成.
【经典例题精讲】
■例 1. 用两种方法写出解不等式 2 xx >+− 023 的算法.
分析:数值性问题的算法步骤只需把平时固定解法有条理的写出来即可.
方法一、算法步骤:
第一步:原不等式可化为 xx >−− 0)2)(1( ;
第二步: xx >−− 0)2)(1( 可以变为或;
第三步: 的解为 x > 2 , 的解为 x <1;
第四步:输出不等式的解集: xx > 2|{ 或 x < }1 .
方法二、算法步骤:
第一步:求出对应方程的根= , = ;
x1 1 x2 2
第二步:确定根= , = 的大小;
x1 1 x2 2
1
高中教材一点通
第三步:写出解集: xx > 2|{ 或 x < }1 .
思考:若不等式为一般形式 2 acbxax >>++ )0(0 ,应该怎样设计算法.
引申:(1)写出一个求解一元二次方程 2 cbxax =++ 0 的根的算法.
(2)写出一个求解二次函数 2 acbxaxy ≠++= )0( 的最值的算法.
■例 .
解:我们先假想用一个“匣子”装数,从而算法步骤为:
第一步:先任选一数放在一个匣子A中;
第二步:将第二个数与A匣子中的数比较,大者放入A匣子中;
第三步:再将第三个数与A匣子中的数相比,大者放入A匣子中;
第四步:重复上述步骤,最后将第十个数与A匣子中的数相比,大者放入A匣子中,此时A匣子中的数就是
最大的数.
点评:(1)任给有限个数,求其最大数、最小数的算法都可以用这种逐一比较的方法.
(2)如果要求比较的数较多,则可用一个变量来控制它,如编写一个程序,将 100 名学生中成绩在 60 分以
上(含分),即代表第一个学生的学号, 代表第个学生
60 ni n1 ni i
的学号; 代表第个学生的成绩,从而可设计如下算法:
gi i
第一步:使 i =1;
第二步:如果,则打印和;否则不打印;
ni gi
第三步:使 ii += 1;
第四步:如果,则返回到第二步,否则算法结束.
■例 ,试设计一个算法,求函数的任一函数值.
分析:由于分段函数在不同区间上的函数解析式不同,函数值与自变量的范围有关,因此必须讨论自变量与
2 的关系.
解:算法步骤
第一步:输入数 a ;
第二步:若,则执行第三步;若 a < 2 ,则执行第四步;
第三步:输出 2 aa +− 1;
第四步:输出 a +1 .
2
第一章算法初步
■,,
如果狼的数量不少于羚羊的数量就会吃掉羚羊.
(1) 设计安全渡河的算法;
(2) 思考每一步算法所遵循的相同原则是什么.
解:(1) 第一步:人带两只狼过河; 第二步:人自己返回;
第三步:人带一只狼过河; 第四步:人自己返回;
第五步:人带两只羚羊过河; 第六步:人带两只狼返回;
第七步:人带一只羊过河; 第八步:人自己返回;
第九步:人带两只狼过河.
(2) 在人运送动物过河的过程中,人离开岸边时必须保证每个岸边的羚羊数目要大于狼的数目.
【典型习题巧练】
18 的一个算法:2,5,7,8,15,32,18,12,52.
CByAx =++ 0 与圆
高中教材一点通-中山大学教学丛书 来自淘豆网m.daumloan.com转载请标明出处.