3.4-算法及其实现(共18张)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Y
则把a赋值给变量max;否则就把b赋值 给max,最后显示max的值。
用QBASIC语言描述算法:
INPUT a,b
IF a>b THEN
max=a ELSE
max=b END IF
PRINT max END
max ← a
开始 输入变量a和b的值
N a>b?
max ← b
输出变量max的值
结束
第16页,共18页。
第5页,共18页。
算法(suàn fǎ) 实例
华罗庚在数学普及读物《统筹方法平话及补充》中,以“泡茶”为例, 阐明了设计和选择合适的、优化的算法的重要性。
第6页,共18页。
算法(suàn fǎ)的 表示
常用的算法表示形式:自然语言、流程图和计算机语言。
流程图是人们经常用来描述算法的工具,流程图用图框及流程
第18页,共18页。
第11页,共18页。
开始
输入变量x、y和z的值
Y
N
x > y?
max ← x
图框内的符号“←”是赋值号,表示将 赋值号右边的表达式运算的结果值存入左边
(zuǒ bian)的变量。
例如,“max ← x”、“i ← i+1”
z >max?
Y
max ←z
max ← y
N
计算机语言:
Input x,y,z
(3)结束
Hale Waihona Puke 开始观察道路 情况
Y 躲避障碍
有无障 碍?
N 往前直走
当出现需要选择时,采用分支结构,根据不同情 况选择不同的步骤。
第9页,共18页。
结束
当反复执行相同步骤时,采用循环结构。
开始
寻找,找到一 个东西
是我要找的
N
东西吗?
Y
拿东西
第10页,共18页。
结束
用自然语言描述: (1)输入变量x、y和z的值。 (2)比较x和y。如果x>y,则x值存入以max命名的存储单元中; 否则,将y值存入max。 (3)比较z和max。如果z>max,则将z值存入max。 (4)输出结果max。
规则。常用的计算机程序设计语言有:BASIC、Pascal、C、C++、 Visual BASIC和Java等。
第14页,共18页。
程序设计实例
顺序结构
例1:把华氏温度值转换成摄氏温度值。 算法表示如下: (1)输入华氏温度值,存入(cún rù)变量f中; (2)c ← (f-32)×5÷9; (3)输出摄氏温度值c。
If x>y then max=x Else
max=y End if
If z>max then max=z
End if
Print max
End
输出变量max的值 结束
第12页,共18页。
第13页,共18页。
程序设计
至今为止,计算机无法识别用自然语言和流程图等形式描述 的算法,因此只有通过计算机语言将算法编写成程序。
用QBASIC语言描述算法:
INPUT f
c=(f-32)*5/9 PRINT c END
开始 输入华氏温度值,存入变量f中
c ←(f-32)×5÷9 输出摄氏温度值 结束
第15页,共18页。
程序设计实例 分支结构
例2:比较两个同学的身高,输出较 高的那个(nà ge)同学的身高值。 把两个同学的身高值放入变量a和b中, 比较两个变量的大小。如果a大于b,
所谓程序(program),是一系列计算机指令(命令、语句) 的有序组合。
从一个问题的提出,模型的建立,算法的设计(shèjì),程序的 编制修改,一直到程序正确运行的整个过程就是程序设计 (programming)。
一个程序包括对数据的描述和对操作的描述。
用计算机语言来表示算法,必须严格遵守所用的程序设计语言的语法
线来表示算法,形象直观。美国国家标准化协会(ANSI)规定了
流程图符号。
1.处理框(
):框中指出要处理的内容,有出口和入
口。
2.输入、输出框(
):表示输入和输出数据。
3.判断框(
):表示条件判断及产生分支的情况。
4.连接框(
):连接因页面写不下而断开的流程线。
5.流程线(
):有向线段,控制流程方向。
f= f*i i=i+1 WEND PRINT f END
开始
输入变量n的值
f←1 i←1
N i ≤n? ? Y
f ← f*i i ← i+1
输出变量f的值
结束
第17页,共18页。
程序设计结构(jiégòu)类 型
顺序结构:依次按顺序执行; 分支结构:判断框、处理框和流程线构成选择结构;
循环结构:判断框与处理框以及流程线形成一个“环”。
6.开始、结束框(
):表示本段算法的开始或结束。
第7页,共18页。
自然语言描述:
(1)打开冰箱门; (2)把大象装进冰箱; (3)关上冰箱门。
程序语句按照前后顺序逐句执行。
开始
打开冰箱门
把大象装进冰 箱
关上冰箱门
第8页,共18页。
结束
自然语言描述:
(1)观察道路情况;
(2)判断有无障碍;
若有,躲避障碍; 若无,往前直走;
3.4 算法 及其实现 (suàn fǎ)
第1页,共18页。
利用计算机程序解决问题的基本过程一般有以下五个步 骤:
(1)分析问题:分析问题的需求情况及已知条件,然后给出
一个精确的描述。
(2)设计算法:根据分析,找出解决问题的方法与步骤。 (3)编写程序:选择(xuǎnzé)一种程序设计语言来编写程序, 实现算法。
解决,是指解决问题的算法还未找到或问题本身不存在可行的算法。
从更广义的角度来看,并不是(bù shi)只有“计算”的问题才有算法。
乐谱
菜谱
第4页,共18页。
广播操图解
算法的特点:
(1)有穷性:算法中的运算次数是有限(yǒuxiàn)的; (2)明确性:算法中的每一步必须有清楚的定义,不能有二义性或模 棱两可的解释; (3)可行性:每一个操作都是可执行的(即在有限时间内可以做到的)。 (4)输入输出:可以没有输入量,但必须有输出;
(4)调试程序:检查程序的可行性。
(5)检测结果:对程序功能进行检测。
第2页,共18页。
(1)打开冰箱门;
(2)把大象(dà xiànɡ)装进去; (3)关上冰箱门。
第3页,共18页。
算法
所谓“算法”,就是解题方法的精确描述。“算法”是用来表示解决问题的
方法和步骤,它是由有限个步骤组成的。 通常,一个问题能够解决,是指解决问题的算法已经找到;一个问题没有
程序设计实例
循环结构
例3:求n阶乘(n!=1×2×3×…×n) 首先输入变量n的值,变量f和i被赋以初 值1,然后判断i≤n是否成立,如果成 立,执行赋值语句f←f*i和i ←i+1,并 回到判断处,否则(fǒuzé)结束循环,最后 输出f的值。
用QBASIC语言描述算法:
INPUT n
f=1
i=1 WHILE i<= n
则把a赋值给变量max;否则就把b赋值 给max,最后显示max的值。
用QBASIC语言描述算法:
INPUT a,b
IF a>b THEN
max=a ELSE
max=b END IF
PRINT max END
max ← a
开始 输入变量a和b的值
N a>b?
max ← b
输出变量max的值
结束
第16页,共18页。
第5页,共18页。
算法(suàn fǎ) 实例
华罗庚在数学普及读物《统筹方法平话及补充》中,以“泡茶”为例, 阐明了设计和选择合适的、优化的算法的重要性。
第6页,共18页。
算法(suàn fǎ)的 表示
常用的算法表示形式:自然语言、流程图和计算机语言。
流程图是人们经常用来描述算法的工具,流程图用图框及流程
第18页,共18页。
第11页,共18页。
开始
输入变量x、y和z的值
Y
N
x > y?
max ← x
图框内的符号“←”是赋值号,表示将 赋值号右边的表达式运算的结果值存入左边
(zuǒ bian)的变量。
例如,“max ← x”、“i ← i+1”
z >max?
Y
max ←z
max ← y
N
计算机语言:
Input x,y,z
(3)结束
Hale Waihona Puke 开始观察道路 情况
Y 躲避障碍
有无障 碍?
N 往前直走
当出现需要选择时,采用分支结构,根据不同情 况选择不同的步骤。
第9页,共18页。
结束
当反复执行相同步骤时,采用循环结构。
开始
寻找,找到一 个东西
是我要找的
N
东西吗?
Y
拿东西
第10页,共18页。
结束
用自然语言描述: (1)输入变量x、y和z的值。 (2)比较x和y。如果x>y,则x值存入以max命名的存储单元中; 否则,将y值存入max。 (3)比较z和max。如果z>max,则将z值存入max。 (4)输出结果max。
规则。常用的计算机程序设计语言有:BASIC、Pascal、C、C++、 Visual BASIC和Java等。
第14页,共18页。
程序设计实例
顺序结构
例1:把华氏温度值转换成摄氏温度值。 算法表示如下: (1)输入华氏温度值,存入(cún rù)变量f中; (2)c ← (f-32)×5÷9; (3)输出摄氏温度值c。
If x>y then max=x Else
max=y End if
If z>max then max=z
End if
Print max
End
输出变量max的值 结束
第12页,共18页。
第13页,共18页。
程序设计
至今为止,计算机无法识别用自然语言和流程图等形式描述 的算法,因此只有通过计算机语言将算法编写成程序。
用QBASIC语言描述算法:
INPUT f
c=(f-32)*5/9 PRINT c END
开始 输入华氏温度值,存入变量f中
c ←(f-32)×5÷9 输出摄氏温度值 结束
第15页,共18页。
程序设计实例 分支结构
例2:比较两个同学的身高,输出较 高的那个(nà ge)同学的身高值。 把两个同学的身高值放入变量a和b中, 比较两个变量的大小。如果a大于b,
所谓程序(program),是一系列计算机指令(命令、语句) 的有序组合。
从一个问题的提出,模型的建立,算法的设计(shèjì),程序的 编制修改,一直到程序正确运行的整个过程就是程序设计 (programming)。
一个程序包括对数据的描述和对操作的描述。
用计算机语言来表示算法,必须严格遵守所用的程序设计语言的语法
线来表示算法,形象直观。美国国家标准化协会(ANSI)规定了
流程图符号。
1.处理框(
):框中指出要处理的内容,有出口和入
口。
2.输入、输出框(
):表示输入和输出数据。
3.判断框(
):表示条件判断及产生分支的情况。
4.连接框(
):连接因页面写不下而断开的流程线。
5.流程线(
):有向线段,控制流程方向。
f= f*i i=i+1 WEND PRINT f END
开始
输入变量n的值
f←1 i←1
N i ≤n? ? Y
f ← f*i i ← i+1
输出变量f的值
结束
第17页,共18页。
程序设计结构(jiégòu)类 型
顺序结构:依次按顺序执行; 分支结构:判断框、处理框和流程线构成选择结构;
循环结构:判断框与处理框以及流程线形成一个“环”。
6.开始、结束框(
):表示本段算法的开始或结束。
第7页,共18页。
自然语言描述:
(1)打开冰箱门; (2)把大象装进冰箱; (3)关上冰箱门。
程序语句按照前后顺序逐句执行。
开始
打开冰箱门
把大象装进冰 箱
关上冰箱门
第8页,共18页。
结束
自然语言描述:
(1)观察道路情况;
(2)判断有无障碍;
若有,躲避障碍; 若无,往前直走;
3.4 算法 及其实现 (suàn fǎ)
第1页,共18页。
利用计算机程序解决问题的基本过程一般有以下五个步 骤:
(1)分析问题:分析问题的需求情况及已知条件,然后给出
一个精确的描述。
(2)设计算法:根据分析,找出解决问题的方法与步骤。 (3)编写程序:选择(xuǎnzé)一种程序设计语言来编写程序, 实现算法。
解决,是指解决问题的算法还未找到或问题本身不存在可行的算法。
从更广义的角度来看,并不是(bù shi)只有“计算”的问题才有算法。
乐谱
菜谱
第4页,共18页。
广播操图解
算法的特点:
(1)有穷性:算法中的运算次数是有限(yǒuxiàn)的; (2)明确性:算法中的每一步必须有清楚的定义,不能有二义性或模 棱两可的解释; (3)可行性:每一个操作都是可执行的(即在有限时间内可以做到的)。 (4)输入输出:可以没有输入量,但必须有输出;
(4)调试程序:检查程序的可行性。
(5)检测结果:对程序功能进行检测。
第2页,共18页。
(1)打开冰箱门;
(2)把大象(dà xiànɡ)装进去; (3)关上冰箱门。
第3页,共18页。
算法
所谓“算法”,就是解题方法的精确描述。“算法”是用来表示解决问题的
方法和步骤,它是由有限个步骤组成的。 通常,一个问题能够解决,是指解决问题的算法已经找到;一个问题没有
程序设计实例
循环结构
例3:求n阶乘(n!=1×2×3×…×n) 首先输入变量n的值,变量f和i被赋以初 值1,然后判断i≤n是否成立,如果成 立,执行赋值语句f←f*i和i ←i+1,并 回到判断处,否则(fǒuzé)结束循环,最后 输出f的值。
用QBASIC语言描述算法:
INPUT n
f=1
i=1 WHILE i<= n