计算机解决问题的基本过程课件_第1页
计算机解决问题的基本过程课件_第2页
计算机解决问题的基本过程课件_第3页
计算机解决问题的基本过程课件_第4页
计算机解决问题的基本过程课件_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、有问题就解决p清晰的思路p适合的方法步骤p有效的表达算法与程序设计计算机解决问题计算机解决问题的基本过程的基本过程听话聪明的计算机p按照指令做事儿p用计算器计算、用Word处理文字、单击“确定”按钮确认你的操作p编写游戏代码、编写网页代码运算器 程序 原始数据输入设备存储器控制器输出设备计算结果存 取数程序指令输入命令输出命令懂事智慧的我们p发现、分析问题p设计解决方案(适合于计算机)p完成方案(计算机能够执行)p解决问题y=x2+3x-1 x0y=0 x= 0 Then y = x 2 + 3 * x - 1 Else y =0End IfPrint y=; y;1. 建立分段函数的数学模型

2、,即写出表达式。2. 输入X的值。3. 判断X的取值,根据X的取值,选择Y的表达式,计算y值。4. 输出Y的值。计算机解决问题的过程p分析问题问题非正式描述正式化或严格化描述精确到底你要解决什么问题建立数学模型或构造模型p设计算法 精确解决问题的步骤用适当的方式把算法准确地描述出来p编写程序用一种计算机能接受的程序设计语言来描述问题求解的算法p调试程序查找和改正程序中存在的错误,使程序能顺利地执行,得出正确结果。算法p概念 算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗地说就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。 算法p特征1.输入。一个算法有零

3、个或多个输入,以刻画运算对象的初始情况。2.确定性。算法的每一个步骤必须要确切地定义,不能有歧义。3.有穷性。一个算法在执行有穷步之后必须结束。4.输出。算法有一个或多个与输入有某个特定关系的输出。5.能行性。算法中有待执行的运算和操作必须是相当基本的,它们都是能够精确地进行的,算法执行者甚至不需要掌握算法的含义即可根据该算法的每一步骤要求进行操作,并最终得出正确的结果。辗转相除法求最大公约数 古希腊数学家对公约数求解问题研究提出的算法称为“辗转相除法”(欧几里得算法)。具体方法是用较大的数除以较小的数,余数和较小的数构成新的一对数,继续上面的除法,直到大数被小数除尽,则较小的数就是最大公约数

4、。例如:求16和12的最大公约数(16,12) (12,4) (8, 4) (4,4) 算法的描述p用自然语言描述算法 算法的描述语言是人们日常用的语言。自然语言通俗易懂,但其歧义性会导致算法执行的不确定性;表述较长会导致算法太长;循环和分支较多时,很难清晰地表示出来;描述的算法不便翻译成计算机程序设计语言。例如:求两个正整数m和n的最大公约数的步骤:p以m除以n,令所得的余数为r。p若r=0,则输出结果n,算法结束;否则,继续步骤3。p令m=n,n=r,并返回步骤1继续进行。 将一个问题分为一系列的逻辑步骤,这样就易于将其转化为一个计算机程序。算法的描述p用流程图描述算法图形名称功能开始/结

5、束表示算法的开始或结束输入/输出表示算法中变量的输入或输出处理表示算法变量的计算与赋值判断表示算法条件判断流程线表示算法中的流向连接点表示算法的转接流程图的基本图形及其功能用流程图描述算法清晰简洁,容易表达选择结构;利于不同环境的程序设计。依次完成顺序结构第一步第二步第步开始结束做判断选择结构事件X事件A事件B满足条件吗?YN开始结束选择是指处理过程可能沿着两个或更多的计算路线进行。不断重复循环结构循环变量变化区间设置循环体循环变量改变变量在区间内吗?YN开始结束重复执行一个或多个步骤。求最大公约数r =m除以n的余数r=0是否开始结束输入正整数m和n输出n的值m=n,n=r流程图描述:绘制流

6、程图的技巧p开始时要把注意力集中在问题的逻辑上,画出流程图的主要执行路径。p主要部分完成之后,加入选择和循环。p一个流程图只有一个起始点和一个结束点。p尽可能使流程图和机器无关,不要使用和计算机相关的术语。p没有必要在流程图中将每个步骤都画出来,只要描述出那些有意义的即可。p使用一些明确的描述性的词恰当地表示问题不要用一些模棱两可的词语。p让其他编程人员或用户能够轻松地看懂你的流程图。分段函数流程图以VB语言为例设计程序Dim x ,y As Integerx = Val(Text1.Text)If x = 0 Then y = x 2 + 3 * x - 1 Else y =0End IfP

7、rint y=; y;y=0y=x2+3x-1x0YN开始结束输入X的值输出y的值算法的描述p用伪代码描述算法 伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法的工具。用伪代码描述算法回避了程序设计语言严格、烦琐的书写格式,容易转换为程序设计语言,但伪代码的语句不容易规范,有时会产生误解。求最大公约数自然语言描述:例如:求两个正整数m和n的最大公约数的步骤:p输入正整数m和np以m除以n,令所得的余数为r。p若r=0,则输出结果n,算法结束;否则,继续步骤3。p令m=n,n=r,并返回步骤1继续进行。r =m除以n的余数r=0是否开始结束输入正整数m和n输出n的值m=n,n=r伪代

8、码描述:最大公约数Input m,nr=m mod nDo while r0 m=n n =r r =m mod nLoopPrint n流程图描述:算法在解决问题中的核心地位和重要作用p寻找解决问题的算法实质上是寻找问题的解决方案,是要找到描述特定类型问题是如何被解决的指令的集合。 p只有找到了一种可以指导工作执行的算法,通过使用算法来得到并转化智慧,我们才可以构建一台可以表现智能行为的机器来执行这个工作。机器表现的智能等级受到通过算法转化的智慧所限制。p算法的好坏直接影响着程序的通用性和有效性,影响着问题解决的效率。算法与程序设计p计算机或者与计算机通信或者与人交流,我们必须将算法转变为一

9、个清晰的指令的集合,并且将这些指令用程序设计语言来表示。一般分为:机器语言、汇编语言、高级语言。p一个与计算机兼容的算法的描述称为一个程序。p程序设计是设计程序的过程,就是把计算机运作指令有计划地串在一起,使计算机完成我们所期望的工作,让计算机按照我们的期望来运作。p算法是程序设计的核心,是程序设计的灵魂。用辗转相除法和穷举法求两个整数的最大公约数辗转相除法设计的程序:Private Sub Command1_Click() m = 9147485 n = 5147480 r = m Mod n Do While r 0 m = n n = r r = m Mod n Loop Current

10、Y = 100 Print 最大公约数=; nEnd Sub穷举法设计的程序:Private Sub Command2_Click() m = 9147485 n = 5147480 i = m Do While m Mod i 0 Or n Mod i 0 i = i - 1 Loop CurrentY = 100 Print 最大公约数=; iEnd Sub解决某一问题的算法的思想可以多种多样。好算法让我们事半功倍。小结p理论:1.计算机解决问题的基本过程。2.建立数学模型,构造非数值类数据的模型。3.算法的效率、通用性、多样性。4.在计算机领域中有的问题不可解。p思路: 了解工具的功能掌

11、握工具的使用方法和步骤用我们的认知来改进现有工具,制造新工具,延伸、拓展我们的智能。 人们洞察世界的优秀的模型,利用计算机解决现实世界的问题。人们关心现实社会而不是程序,程序是人们更好地理解世界的机制。输出简单的有规则输出简单的有规则的字符几何图形的字符几何图形1. CurrentY = 500 Print Tab(20 i*3); 2. For i = 1 To 3 Next i3. For j = 1 To 5 Next j4. Print “#”; 5. Print1. 第一行输出的位置,每一行第一个字符输出的位置。2. 图形有3行。3. 每行有5列。4. 每行输出相同的“#”号。5.

12、显示完一行后,换行显示下一行。输出简单的有规则的字符几何图形输出简单的有规则的字符几何图形代码代码Private Sub Form_Click() CurrentY = 500 For i = 1 To 5 Print Tab(20 - i * 3); For j = 1 To 5 Print 人人; Next j Print Next i CurrentY = 500 For i = 1 To 5 Print Tab(20 + i * 3); For j = 1 To 5 Print 人; Next j Print Next iEnd Sub修改项:1. 行参数:由3改为5;2. 字符参数:由“#”改为“人”3. 每行第一个字符的输出位置参数:由20-i*3改为20+i*3,随着i的增大而增大,距离屏幕左边线越来越远,即图

温馨提示

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

评论

0/150

提交评论