算法和算法的描述

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




2、设计统计前1000个自然数中的奇数的个数的流程图 3、设计算法:找出乘积为840的两个相邻偶数
水仙花数自然语言描述
1、将N的初始值赋为100 2、如果N的个位数的三次方加上N的十位数的三次方再加
上N的百位数的三次方等于N,输出N值,否则转入第3步
3、如果N<=999,将N的值加1,转到第2步,否则转入第4步 4、输出运算结果,结束程序
开始 结束
开始/结束符,表示算法的开始或结束; 输入/输出框,用于指出数据的输入或输出; 处理框,用于指出要处理的内容; 判断框,用于指出分支情况,通常,上面的顶 点表示入口,其它顶点表示出口; 流程线,表示流程控制方向; 连接点,表示算法中的连接。
流程图描述
开始 N=1 N被3、5、7整除 余数为1、3、4(N<100) N N=N+1
If
i Mod 3 = 1 And i Mod 5 = 2 And i Mod 7 = 4 Then
MsgBox "答案是:" & i
End If
Next
End Sub
课堂练习: 分别用自然语言和流程图描述求解
1、所有水仙花数的问题。水仙花数是指一个三位数,它的各位数的立 方和正好等于该数本身。如153=13+53+33。
什么是算法 算法是解决问题的方法和步骤。通俗点说,就是计 算机求解某一问题的方法,是能被机械地执行的动作 或指令的有穷集合。在这个过程中,无论是形成解题 思路还是编写程序,都是在实施某种算法。 算法独立于任何具体的程序设计语言,一个算法可 以用多种程序设计语言来实现。
例:求两个整数的最大公约数,设两正整数分别为为M和N,其具 体过程为: 1、以M除以N,所得余数为R 2、若R=0,则输出结果N,结束;否则,继续步骤3 3、令M=N,N=R,返回步骤1继续。 若给定两整数,M=112,N=64,则算法如下: 1、 112 除以 64, 余数为 _________ 48
End If
Next i End Sub
第二题源程序
设计统计前1000个自然数中的奇数的个数的流程图
Private Sub Command1_Click() Dim I, R As Integer
count = 0
For I = 1 To 1000 Step 2 If i Mod 2 <> 0 Then R=R+1 End If
第二节 算法和算法的描述
知识与技能 (1)了解算法的定义及其表达方法; (2)认知流程图的六种基本符号; (3)理解计算机解决问题的一般过程。 (4)理解用不同的表达方法描述算法的优缺点; (5)掌握用流程图描述简单的算法。
重点难点 (1)算法的定义; (2)算法的三种表达方法; (3)流程图的六种基本符号; (4)用流程图描述简单的算法。
如果是,则这个数即是所求的数,求解结束。否则,用下一个数再试,直到找 到这个数为止。(假设人数N<100) 自然语言描述 1、将N的初始值赋为1 2、如果N<100并且N被3、5、7整除后余数为1、3、4,则输出N的值,转入第4步 3、将N的值加1,转到第2步
4、结束程序
2、流程图:即用一组标准的图形符号来描述算法。
小结
算法的描述
自然语言描述算法 流程图描述算法 伪代码描述算法
Leabharlann Baidu
一个问题可能有多种算法,应该通过分析、比较、 挑选一种最优算法,一个好的算法必须用到科学的方法, 应该好好学习各学科处理问题的科学方法。

有三个装有的瓶子大瓶可装1L中瓶可装0.7L小瓶可装0.3L有1L的油装
在大瓶中,利用三个瓶子分出0.5L的油 .
Y
输出N值
结束
3 、伪代码:伪代码是一种非正式代码,常用自然语言、数学语言 和符号来描述算法的操作步骤。
用伪代码描述算法
For I=1 to N if n能被3、5、7整除余数为2、3、2 输出n then
exit for
end if
next1
完整的源程序
Private Sub Command1_Click() '算法:使用穷举法确立一个范围[1,100]然后从自然数1开始尝试,找到满足条件 的数即输出 Dim i As Integer For i = 1 To 100
Next I
Print R End Sub
第三题源程序
找出乘积为840的两个相邻偶数
Private Sub Command1_Click() Dim i As Single For i = 2 To 30 Step 2 If i * (i + 2) = 840 Then Print "这两个数是:“; i ; "和" ; i + 2 End If Next i End Sub

①先将1升油倒满0.7L的桶,剩下的倒入1L的桶(这时1L的桶里有0.3升油);

②从0.7L的桶里用0.3L的空桶装满倒入1L的桶里,然后再装满再倒入(这时1L的桶
里有0.9升,0.7L的桶里有0.1升); ③把0.7L的桶里有0.1升倒入0.3L的桶里(这时1L的桶里有0.9升,0.3L的桶里有0.1 升); ④从1L的桶里倒满0.7L的桶(1L的桶里还剩0.2升),再从0.7L的桶里倒出0.2生倒 入0.3L的桶里,0.3L的桶正好满。这时1L的桶里有0.2升,0.7L的桶里有0.5升,0.3L 的桶里有0.3升; ⑤把0.3L的桶里的油倒入1L的桶里。 此时,1L和0.7L的桶里各有0.5升油.
训练,描述的算法通俗易懂。
通过阅读P10的例1-2和1-3得知,自然语言描述算法的缺点有: (1)、由于自然语言的歧义性而导致算法执行的不确定性; (2)、自然语言语句较长而导致描述的算法太长; (3)、难以清楚地描述循环和分支结构的算法; (4)、不便于翻译成计算机设计语言。
思考:经典算法中的百钱百鸡。现拿100文钱去买100只鸡,公鸡为5文钱 一只,母鸡3文钱一只,小鸡是1文钱买三只。有哪些买法?输出组合。
个步骤的有限序列( 算法的有穷性);要有一个终止步(序列的终
止)表示问题得到解决或不能得到解决;每条规则必须是确定的、 可行的( 算法的可行性)、不能存在二义性。算法总是对数据进行 加工处理,因此,算法的执行过程中通常要有数据 输入(0个或 多个)和数据 输出(至少一个)的步骤。
描述算法的方法
1、自然语言:即用人们日常使用的语言和数学语言描述的算法。无需专门
水仙花数流程图描述
开始 N=100
N<=999 N Y N的个位 数的三次方+N的十位数的三次方+N的百 位数的三次方=N Y N N=N+1 输出N值
结束
P12 实践:
Begin
M=1 D=5 M=2*(M+1) D=D-1
D=1 ? Y
输出M
N
END
用伪代码描述水仙花数算法
For N=100 to 999 if N的个位数的三次方+N的十位数的三次方+N的百位数的三次方=N then
输出n
end if
Next N
水仙花数源程序
Private Sub Command1_Click( )
Dim i As Integer
For i = 100 To 999
If Int((i / 100)) ^ 3 + (Int((i / 10)) Mod 10) ^ 3 + (i Mod 10) ^ 3 = i Then Print i
实践:判断输入的三角形边长A、B、C能否构成三角形,能 构成三角形则输出其面积,否则输出“不能构成三角形”。
算法: 1、输入三边长,分别为A、B、C 2、判断三边能否构成三角形 3、能构成三角形则计算其面积并显示,否则显示“不能构成三角形” 4、结束
韩信点兵算法1
从1开始,取出一个自然数判断它被3、5、7整除后的余数是否为1、3、4,
2 、_______除以_______余数为_______ 64 48 16
3、 _______除以_______余数为_______ 48 16 0 112和64的最大公约数为_______ 16
算法的特征
算法要有一个清晰的起始步,表示处理问题的起点,且每一
个步骤只能有一个确定的后继步骤( 算法的确定性),从而组成一
相关文档
最新文档