必修二算法的概念、程序框图(一)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

内部资料,请勿外传

1

第三讲 算法的概念、程序框图(一)

【考纲要求】:

①了解算法的含义、了解算法的思想.

②理解程序框图的三种基本逻辑结构:顺序、条件分支、循环.

一、算法的概念

1.用加减消元法解二元一次方程组2121x y x y ?=-ïïíï+=ïî

的具体步骤是什么? 2.参照上述思路,一般地,解方程组 1112

22a x b y c a x b y c ì+=ïïíï+=ïî 1221(0)a b a b -≠的基本步骤是什么? 3.根据上述分析,用加减消元法解二元一次方程组,可以分为五个步骤进行这五个步骤就构成了解二元一次方程组的一个“算法”.我们再根据这一算法编制计算机程序,就可以让计算机来解二元一次方程组.那么解二元一次方程组的算法包括哪些内容?

4.一般地,算法是由按照一定规则解决某一类问题的基本步骤组成的,你认为这些步骤的个数是有限的还是无限的?每个步骤是否有明确的计算任务?

5.有人对哥德巴赫猜想“任何一个大于4的偶数都能写成两个质数之和”,设计了如下操作步骤:

第一步,检验6=3+3,

第二步,检验8=3+5,

第三步,检验10=5+5,

……

利用计算机无穷地检验下去!请问:这是一个算法吗?

6.根据上述分析,归纳出算法的概念:在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法.

二、算法的步骤设计

不同类型的问题有不同内容的算法,我们以判断一个整数是否为质数为例,一起来探讨算法的步骤设计.

1.如果让计算机判断7是否为质数,如何设计算法步骤?

2.如果让计算机判断35是否为质数,如何设计算法步骤?

3.整数89是否为质数?如果让计算机判断89是否为质数,按照上述算法需要设计多少个步骤?

4.用2~88逐一去除89求余数,需要87个步骤,这些步骤基本是重复操作,我们可以按下面的思路改进这个算法,减少算法的步骤.

(1)用i 表示2~88中的任意一个整数,并从2开始取数;

(2)用i 除89,得到余数r. 若r=0,则89不是质数;若r≠0,将i 用i+1替代,再执行同样的操作;

(3)这个操作一直进行到i 取88为止.

你能按照这个思路,设计一个“判断89是否为质数”的算法步骤吗?

5.一般地,判断一个大于2的整数是否为质数的算法步骤如何设计?

① ② ① ②

【典例精讲】

例1.设函数f(x)的图象是一条连续不断的曲线,写出用“二分法”求方程f(x)=0的一个近似解的算法.

小结:“算法“没有一个精确化的定义,教科书只对它作了描述性说明,算法具有如下特点:

(1)有限性:一个算法的步骤是有限的,必须在有限操作之后停止,不能是无限的.(2)确定性:算法的每一步骤和次序应当是确定的.(3)有效性:算法的每一步骤必须是有效的.

【练习】:某电信部门规定:拨打市内电话时,如果通话时间不超过3分钟,则收取通话费0.2元,如果通话时间超过3分钟,则超过部分以每分钟0.1元收取通话费(通话不足1分钟时按1分钟计),试设计一个计算通话费用的算法.要求写出算法.

三、算法的程序框图

1.“判断整数n(n>2)是否为质数”的算法步骤是:

第一步,给定一个大于2的整数n;

第二步,令i=2;

第三步,用i除n,得到余数r;

第四步,判断“r=0”是否成立?若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示;

第五步,判断“i>(n-1)”是否成立,若是,则n是质数,结束算法;否则,返回第三步.

内部资料,请勿外传

3

上述表示算法的图形称为算法的程序框图又称流程图,其中的多边形叫做程序框,带方向箭头的线叫做流程线,你能指出程序框图的含义吗?

2.在上述程序框图中,有4种程序框,2种流程线,它们的特定的名称和功能:

3.在逻辑结构上,“判断整数n (n>2)是否为质数”的程序框图由几部分组成?

四、算法的顺序结构

1.任何一个算法各步骤之间都有明确的顺序性,在算法的程序框图中,由若干个依次执行的步骤组成的逻辑结构,称为顺序结构,用程序框图可以表示为:

在顺序结构中可能会用到哪几种程序框和流程线?

【典例精讲】

例 2 若一个三角形的三条边长分别为a ,b ,c ,令2

a b c p ++=,则三角形的面积S =

利用这个公式设计一个计算三角形面积的算法步骤,并画出程序框图

表示.

内部资料,请勿外传

4

【练习】

1.一个笼子里装有鸡和兔共m 只,且鸡和兔共n 只脚,设计一个计算鸡和兔各有多少只的算法,并画出程序框图表示.

2.已知下图是“求一个正奇数的平方加5的值”的程序框图,若输出的数是30,求输入的数n 的值.

【家庭作业】

已知点)y ,x (P 00和直线l :Ax+By+C=0,画出求点P 到直线l 的距离d 的程序框图。

【作业答案】

程序框图:

相关文档
最新文档