VB算法与程序设计.ppt_第1页
VB算法与程序设计.ppt_第2页
VB算法与程序设计.ppt_第3页
VB算法与程序设计.ppt_第4页
VB算法与程序设计.ppt_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、算法与程序设计,1.1 计算机解决问题的过程,从一个生产方案问题了解用计算机解决问题的步骤:P6,掌握用自然语言表达算法。(P8实践与练习),算法与程序设计,辗转相除法 又名欧几里德算法(Euclidean algorithm)是求两个正整数之最大公约数的算法。它是已知最古老的算法, 其可追溯至前300年。它首次出现于欧几里德的几何原本(第VII卷,命题i和ii)中,而在中国则可以追溯至东汉出现的九章算术。它并不需要把二数作质因子分解。 1. a b,令r为所得余数(0rb),若 r = 0,b 即为最大公约数;算法结束 。 2. 互换:置 ab,br,并返回第一步。 例如:求112和64的最

2、大公约数.算法如下: (1).112除以64,余数为_; (2)_除以_余数为_; (3)_除以_余数为_. 答:112和64的最大公约数为_. 两数的最大公约数乘以其最小公倍数=两数相乘 例如:求112和64的最小公倍数 (1).利用辗转相除法求得它们的最大公约数为_; (2).利用表达式求得最小公倍数: 答: 112和64的最小公倍数为_.,练习:求164和64的最大公约数 求256和24的最大公约数,练习:求164和64的最小公倍数 求256和24的最小公倍数,算法与程序设计,算法与程序设计,三种算法描述方式的优劣,算法与程序设计,使用自然语言描述算法的方法虽然比较容易掌握,但是存在着很

3、大的缺陷。例如,当算法中含有多分支或循环操作时很难表述清楚。另外,使用自然语言描述算法还很容易造成歧义(称之为二义性),譬如有这样一句话“武松打死老虎”,我们既可以理解为“武松/打死老虎”,又可以理解为“武松/打/死老虎”。自然语言中的语气和停顿不同,就可能使他人对相同的一句话产生不同的理解。又如“你输他赢”这句话,使用不同的语气说,可以产生3种截然不同的意思,同学们不妨试试看。,无论是使用自然语言还是使用流程图描述算法,仅仅是表述了编程者解决问题的一种思路,都无法被计算机直接接受并进行操作。,伪代码通常采用自然语言、数学公式和符号来描述算法的操作步骤,同时采用计算机高级语言(如C、Pasca

4、l、VB、C+、Java等)的控制结构来描述算法步骤的执行顺序。,算法与程序设计,在运用计算机程序解决问题的过程中,算法设计有着举足轻重的地位和作用,算法是程序设计的核心,是程序设计的灵魂.算法的好坏,直接影响着程序的通用性和有效性,影响着问题解决的效率.,程序的编制依赖于算法的设计。程序的效率主要取决于算法的效率。,算法的地位:,算法与程序设计,4)、程序设计:即是编写程序的过程。,一个高质量的程序,应具备以下条件: (1)、建立正确的灵堂模型和确定有效的计算方法; (2)、运行结果必须正确,且在精度和其他各方面均满足要求; (3)、程序本身具有良好的结构,逻辑清楚,易读易懂。 (4)、程序

5、运行时间尽可能短,同时尽可能合理地使用内存; (5)、便于检查、修正、移植和维护。,5)、程序设计语言的产生与发展(P18),(1)、机器语言:由“0”和“1”组成的二进制代码,是能够被计算机直接接受和 执行的计算机语言。 优缺点: (2)、汇编语言:采用类似英语缩写略词且带有助记性的符号形式代替二进制 机器代码的计算机语言。是符号化了的机器语言。用能反映 指令功能的助记符表达的计算机语言。 优缺点: (3)、高级语言:相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如VB、C、C+,VC、Java、Pascal等。,算法与程序设计,各种程序设计语言的比较,算法与程序

6、设计,顺序结构,选择结构,循环结构,算法与程序设计,1、具体问题:,华南太阳能设备厂在计划期内拟生产甲、乙、丙三种适销产品,每件销售收分别为4万元、3万元、2万元。按工艺规定,甲、乙、丙三种产品都需要在A、B、C、D四种不同的设备上加工,其加工所需要的时间见下表。已知A、B、C、D四种设备在计划期内有效使用台时数分别为12、8、16、12。如何安排生产可使收入最大?,2、分析问题:,算法与程序设计,算法与程序设计,3、设计算法:,算法与程序设计,4、编写程序,Dim x As Integer, y As Integer, z As Integer Dim x_max As Integer, y

7、_max As Integer, z_max As Integer Dim f(4, 3, 12) As Single Dim f_max As Single For x = 0 To 4 For y = 0 To 3 For z = 0 To 12 If (2 * x + 2 * y + z = 8) And (x + 2 * y + z = 8) Then f(x, y, z) = 4 * x + 3 * y + 2 * z Else f(x, y, z) = 0 End If Next z Next y Next x,算法与程序设计,f_max = 0 For x = 0 To 4 For y = 0 To 3 For z = 0 To 8 If f_max f(x, y, z) Then f_max = f(x, y, z) x_max = x y_max = y z_m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论