算法基础辅导.ppt

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

算法的分类
算法可分为两大类:数值运算算法和非数 值运算算法。数值运算算法的目的是求数值 解,例如,求若干数的和、解一元二次方程 的根所用的求解算法等。而将姓名按字母排 序、图书情报资料检索、计算机画图等没有 确定的数学公式,属于非数值运算。
1.1.3 算法表示
下面介绍几种常用的算法表示方法: 1、自然语言 2、流程图法 3、N-S结构图
程序的三种基本结构:顺序结构、选择结构、循环结构
顺序结构
选择结构
不满足
满足
P1
语句2
语句1
使用辗转相除求解最大公约数的算法流程图如下图所示。
对流程图表示算法的评价如下: 优点:用图形来表示操作,直观形 象,流程清晰,用带箭头的线条表 示执行顺序,各操作明确,不会出 现“歧义性”,此种流程图也称为 传统流程图。 缺点:占用面积大,若流程线过多, 算法不易理清逻辑关系。
第一章 算法及算法的描术
几点要求: 1。上课时间周日6:00——9:20 2。按号入座,保持卫生,爱护设备。 3。认真学习,不玩游戏,发现开除。 4。学习程序,提高逻辑思维能力。 5。有钻研精神,克服困难,多思考多练习。 6。竞赛每年10初赛,11月复赛。 7。课本要的统计姓名。
选用教材
1.1 算法知识基础
3、N-S结构图
既然三种基本结构的顺序组合可以用来表示任何复杂的算法结构,那么 各个基本结构之间的流程线就是多余的了。
为了改进流程图的不足,1973年由美国学者(Nassi和Shneiderman)提出一 种称为N-S结构化的流程图。N-S流程图去掉了流程线,算法全部都写在一 个矩形框内,框内还可以嵌套其他框。三种基本元素框如下:
1.1.2 算法设计
算法的概念:为解决一个问题而采取的方法和步骤。
例如,已知半径,计算圆面积的步骤(即算法)为:
读入半径→计算圆面积→输出圆面积。 在我们的日常工作和生活中,为了完成某项任务或做好某件
事情,往往需要事先设想好要进行的方法和步骤。如太极 拳动作图解、一个菜谱、一个研究性学习计划、一天的作 息时间表、一周的课程表等等,都是为完成一项特定的任 务而设定的方法和步骤。所谓算法,就是指完成某一项任 务的方法和步骤,它是一组有穷的规则,这些规则规定了 解决某一特定问题的一系列运算。
从表中可知,两个自然数140和16的最大公约数为4,即除数b的最 后取值。 辗转相除法又称欧几里德算法,就是通过进行一系列的辗转相除得 出结果。算法描述如下: 设a为被除数,b为除数,p为余数,要求a>b。 (1)p←(a 除以 b 的余数)。 (2)如果p=0,则b为最大公约数,算法结束,如果p≠0执行(3)。 (3) a←b,b←p。 (4)返回重新执行(2)。
否则,表示N不能被 I 整除,可能为素数,继续。 (4)使 I 的值再加上1。 (5)如果I≤N-1,那么返回(2);否则,表示N已被2到N-1除,
且都不能被整除,可以判断N为素数,算法结束。
2、 流程图
流程图是用图形来表述算法。用一些不同几何图形框代表不同性质的 操作。由于流程图直观易懂,逻辑关系清晰,因此初学者通常选择用流 程图来表示算法。 流程图的常用符号及含义见表1-2-1。
A B
1. 顺序结构
是 p否 AB 2. 选择结构
当P1
A
当型循环 3 循环结构
A
直到P2 直到型循环
当型循环表示当P1条件成 立时反复执行A操作,它 是先判断,后操作。
为了便于理解算法的概念,下面举几个 简单的例子。
【例1】将A和B中较大的值给MAX。 (1)赋A和B的初值; (2)把A的值给MAX; (3)比较B>MAX,如果条件成立,则将B
的值给MAX。 (4)输出MAX的值。
【例2】有红、黑两瓶墨水,现在想交换一下,问该如何实现? 【分析】根据常识,必须增加一个空杯作为过渡,其操作过程 为: (1)将红墨水倒入空杯中; (2)将黑墨水倒入红瓶中; (3)将空杯中的红墨水倒入黑瓶中。 这就是解决该问题的算法。为了便于计算机处理,我们将其中 的红瓶、黑瓶和空杯分别用A、B、X来表示,这样上面的算法 可简化为:
1.1.1 计算机解决问题的步骤
利用计算机程序设计语言编写程序,解决实际问题时,一 般要经历以下四个步骤: (1) 问题分析:分析要解决的实际问题,并把实际问题转化 为相应的数学模型; (2) 算法设计:利用已建立的数学模型,设计出求解的方法 和步骤; (3) 算法描述:用某种形式,如自然语言、 流程图等表达设 计好的算法; (4) 算法实现:用一种计算机语言来编写程序,实现算法。
1、自然语言
自然语言描述法,它是用一种接近人类语言的方法来描述算法的,它能 把算法正确地表达出来,而不涉及到具体的语法细节。但它是不能Fra Baidu bibliotek 计算机识别的,需要细化后再转化为程序代码,才能为计算机所执行。
例如,在计算机上计算数学、语文、英语三科的平均分。其过程用自然 语言描述如下:
第1步:输入数学成绩X、语文成绩Y、英语成绩Z; 第2步:计算三科总分Total, Total = X+Y+Z; 第3步:计算平均分Average, Average = Total/3; 第4步:输出平均分Average的值。
例4:给定一个正整数N,判断它是否为素数。
分析:素数的特征为除1和该数本身之外,不能被其他任何整数整除。因此 算法为:依次用2、3、……、(n-1)去除 n,如果都除不尽,则 n 为素数。根 据该思路得到的算法如下:
(1)设除数为 I,I 的值从2变化到 N-1,I 的初值为 2; (2)用 I 除 N,得到的余数为 R; (3)如果R=0,则表示 N 能被 I 整除,N不是素数,算法结束。
X←A A←B B←X
【知识园】
在算法中常会出现“←”符号,它是用来表示赋值运算 的标记符号。例如,要用变量n的值替代变量m的值, 可通过“m←n”来标记(读作以n替代m),其中的“←” 用来标记一个可被执行的动作。
【例3】设 a、b为两个自然数,求a、b的最大公约数。请写出该问题的算法。 为讨论方便,取a=140,b=16。 【分析】用辗转相除法求两个自然数a和b的最大公约数的计算过程如下表。
相关文档
最新文档