《第2章 程序设计与算法问题求解精选PPT.ppt》由会员分享,可在线阅读,更多相关《第2章 程序设计与算法问题求解精选PPT.ppt(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第2 2章章 程序设计与算法问题求解程序设计与算法问题求解Visual Basic Programming第1页,此课件共20页哦Visual Basic Programming 2程序的基本组成:输入、处理程序的基本组成:输入、处理与输出与输出计算机解题示例计算机解题示例程序设计的一般步骤程序设计的一般步骤2.12.1利用计算机解题,首先需要确定得到什么样的利用计算机解题,首先需要确定得到什么样的“输出输出”结果;结果;其次是确定为了成功地获得相应的结果,需要提其次是确定为了成功地获得相应的结果,需要提供的数据,或者称为供的数据,或者称为“输入输入”;最后,就是需要确定如何最后,就是需要确
2、定如何“处理处理”输入的数据,输入的数据,才能获得相应的才能获得相应的“输出输出”结果。结果。第2页,此课件共20页哦Visual Basic Programming 3计算机解题示例计算机解题示例例如,需要利用计算机求一个三角形的面积例如,需要利用计算机求一个三角形的面积首先,可以确定程序的首先,可以确定程序的输出输出就是一个三角形的面积值。并确定面就是一个三角形的面积值。并确定面积单位。积单位。接着,要确定求三角形面积所需接着,要确定求三角形面积所需输入输入的数据。的数据。已知三边长度已知三边长度已知相邻两边长度以及相邻边的夹角已知相邻两边长度以及相邻边的夹角以上两种方法选其一,确定数据的
3、输入类型以及单位以上两种方法选其一,确定数据的输入类型以及单位然后,确定如何然后,确定如何处理处理输入的数据,即选择并确定求解算法,编写程序实输入的数据,即选择并确定求解算法,编写程序实现。现。最后,全面详细考虑周边相关问题,使程序更加完善友好,如程序最后,全面详细考虑周边相关问题,使程序更加完善友好,如程序中是否需要检查输入数据的合法性等。中是否需要检查输入数据的合法性等。用户输入了非数值型数据用户输入了非数值型数据要构成三角形,必须保证输入的三个边长值中,任意两个边长要构成三角形,必须保证输入的三个边长值中,任意两个边长值相加必须大于第三边边长值相加必须大于第三边边长若用户输入了非标准单位
4、数据是否提示或程序自动转换若用户输入了非标准单位数据是否提示或程序自动转换2.12.1第3页,此课件共20页哦Visual Basic Programming 4当当a+bc 且且 a+cb 且且 b+ca 时时,三角形存在,其面积三角形存在,其面积式中:式中:p=(a+b+c)/2已知三角形三个边的长度,设计求此三已知三角形三个边的长度,设计求此三角形面积的程序角形面积的程序实例实例程序代码程序代码2.12.1第4页,此课件共20页哦Visual Basic Programming 5计算机的处理步骤计算机的处理步骤可设可设a=3cm,b=4cm,c=5cm输入输入a、b、c的值,计算的值,
5、计算p=(3+4+5)/2=6cm得到得到计算机解题过程图示计算机解题过程图示已知三角形三个边的长度,设计求此三角已知三角形三个边的长度,设计求此三角形面积形面积2.12.1Input(输入输入)Output(输出输出)Processing(处理处理)第5页,此课件共20页哦Visual Basic Programming 6程序设计的一般步骤程序设计的一般步骤1.1.分析:问题定义分析:问题定义2.2.设计:计划解题设计:计划解题3.3.选择与创建界面:选择和确定界面对象选择与创建界面:选择和确定界面对象4.4.编码:用程序设计语言描述算法编码:用程序设计语言描述算法5.5.测试与调试:查找
6、并排除程序中的任何错误测试与调试:查找并排除程序中的任何错误6.6.完成文档:整理和组织描述程序的所有资料完成文档:整理和组织描述程序的所有资料2.12.1第6页,此课件共20页哦Visual Basic Programming 7算法与编程工具算法与编程工具被包含在窗体或标准模块中的一个个过程有机地组被包含在窗体或标准模块中的一个个过程有机地组合在一起,就构成一个完整的合在一起,就构成一个完整的应用程序应用程序。在设计程序前,根据实际问题的特点和需求,同时在设计程序前,根据实际问题的特点和需求,同时考虑到计算机的工作特性,确定解决该问题所需要考虑到计算机的工作特性,确定解决该问题所需要的方法
7、和步骤称为的方法和步骤称为“算法设计算法设计”。算法的概念算法的概念算法示例算法示例算法的特征算法的特征算法的描述算法的描述基本算法结构基本算法结构2.22.2第7页,此课件共20页哦Visual Basic Programming 8算法的概念算法的概念广义而言广义而言,算法就是解决某个问题或处理某件事的方法,算法就是解决某个问题或处理某件事的方法和步骤。和步骤。狭义而言狭义而言,算法是专指用计算机解决某一问题的方法,算法是专指用计算机解决某一问题的方法和步骤。和步骤。计算机算法可以分为两大类:一类是数值计算算法;另计算机算法可以分为两大类:一类是数值计算算法;另一类是非数值计算算法。一类是
8、非数值计算算法。研究解决各种特定类型问题的算法已成为一个称为研究解决各种特定类型问题的算法已成为一个称为“计算方法计算方法”的专门学科。的专门学科。对于同一问题的求解,往往可以设计出多种不同的算对于同一问题的求解,往往可以设计出多种不同的算法。一般而言,评价一个算法的好坏优劣,主要看算法。一般而言,评价一个算法的好坏优劣,主要看算法是否正确、运行的效率及占用系统资源的多少等。法是否正确、运行的效率及占用系统资源的多少等。第8页,此课件共20页哦Visual Basic Programming 9算法示例算法示例【例【例2-12-1】算法】算法1 1【例【例2-22-2】算法】算法2 2第9页,
9、此课件共20页哦Visual Basic Programming 10算法算法1 1 求两个自然数的最大公约数的算法求两个自然数的最大公约数的算法 S1.输入两个自然数输入两个自然数M、N;S2.求求M除以除以N的余数的余数R;S3.使使M=N,即用,即用N代换代换M;S4.使使N=R,即用,即用R代换代换N;S5.若若R0,则重复执行,则重复执行S2、S3、S4(循环),否则转(循环),否则转S6;S6.输出输出M,M即为即为M和和N的最大公约数。的最大公约数。本算法是由古希腊数学家欧几里德提出的,所以又称为本算法是由古希腊数学家欧几里德提出的,所以又称为“欧几里德算法欧几里德算法”。算法中
10、的。算法中的S1、S2、S3叫作算法叫作算法步骤,每个算法步骤明确规定所要进行的操作及处理步骤,每个算法步骤明确规定所要进行的操作及处理对象的特性(对象的特性(M、N为自然数)。为自然数)。欧几里德算法是求两个自然数最大公约数的经典算欧几里德算法是求两个自然数最大公约数的经典算法。法。第10页,此课件共20页哦Visual Basic Programming 11算法算法算法算法2 2 2 2 在在N N N N个字符数据集合中,查找有无个字符数据集合中,查找有无个字符数据集合中,查找有无个字符数据集合中,查找有无 特定的字符串存在特定的字符串存在特定的字符串存在特定的字符串存在 S1.输入字
11、符数据的个数输入字符数据的个数N和要查找的数据和要查找的数据S;S2.使使I=1,I用于计数;用于计数;S3.从字符数据集合中读取第从字符数据集合中读取第I个数据个数据X;S4.若若X=S,输输出出“找找到到S”的的信信息息,算算法法结结束束,否否则则转转S5;S5.使使I=I+1,计数器计数;,计数器计数;S6.若若IN;则重复执行;则重复执行S3、S4、S5(循环);否则转(循环);否则转S7;S7.输出输出“找不到找不到S”信息,算法结束。信息,算法结束。本本算算法法也也称称为为“顺顺序序查查找找算算法法”,也也是是在在处理非数值信息时最常用的一种算法。处理非数值信息时最常用的一种算法。
12、第11页,此课件共20页哦Visual Basic Programming 12算法的特征算法的特征从上述算法的示例可以看出,作为算法,应具备以下从上述算法的示例可以看出,作为算法,应具备以下特征:特征:1 1)确定性确定性确定性确定性-算法的每个步骤都应确切无误,没有歧义性。算法的每个步骤都应确切无误,没有歧义性。2 2)可可可可行行行行性性性性-算算法法的的每每个个步步骤骤都都必必须须是是计计算算机机能能够够有效执行、可以实现的,并可得到确定的结果。有效执行、可以实现的,并可得到确定的结果。3 3)有有有有穷穷穷穷性性性性-一一个个算算法法包包含含的的步步骤骤必必须须是是有有限限的的,并在
13、一个合理的时间限度内可以执行完毕。并在一个合理的时间限度内可以执行完毕。4 4)输输输输入入入入性性性性-执执行行算算法法时时可可以以有有多多个个输输入入,但但也也可可以以没没有输入(有输入(0 0个输入)。个输入)。5 5)输出性输出性输出性输出性-一个算法必须有一个算法必须有1 1个或多个输出。个或多个输出。第12页,此课件共20页哦Visual Basic Programming 13算法的描述算法的描述算法可以采用多种方式来算法可以采用多种方式来表示表示。比如使用人们的。比如使用人们的自然自然语言语言像英语、汉语等来描述;使用某种像英语、汉语等来描述;使用某种代码符号代码符号来来描述或
14、者使用描述或者使用特定的图形特定的图形来描述等等。由于图形的描来描述等等。由于图形的描述方法既形象,又直观,所以得到广泛的应用。述方法既形象,又直观,所以得到广泛的应用。用于描述算法的图形使用较多的是所谓的流程框图,简用于描述算法的图形使用较多的是所谓的流程框图,简称称流程图流程图。它使用规定的图形符号来描述算法。流。它使用规定的图形符号来描述算法。流程图使用的图形符号见程图使用的图形符号见表表2-12-1。图图2-22-2和图和图2-32-3分别是上一节两个算法示例的流程图。图分别是上一节两个算法示例的流程图。图框内的文字用于说明具体的操作内容。显而易见,使用框内的文字用于说明具体的操作内容
15、。显而易见,使用流程图比使用自然语言描述算法优越地多。流程图比使用自然语言描述算法优越地多。第13页,此课件共20页哦Visual Basic Programming 14图形符号名称代表的操作输入/输出数据的输入与输出处理各种形式的数据处理判断判断选择,根据条件满足与否选择不同路径起止流程的起点与终点特定过程一个定义过的过程流程线连接各个图框,表示执行顺序连接点表示与流程图其他部分相连接表表2-1第14页,此课件共20页哦Visual Basic Programming 15N NM第15页,此课件共20页哦Visual Basic Programming 16基本算法结构基本算法结构“结构
16、化程序设计方法结构化程序设计方法”的核心是规定了的核心是规定了算法的三种基本结构:顺序结构、分支结算法的三种基本结构:顺序结构、分支结构和循环结构。构和循环结构。第16页,此课件共20页哦Visual Basic Programming 17顺序结构顺序结构第17页,此课件共20页哦Visual Basic Programming 18分支结构分支结构第18页,此课件共20页哦Visual Basic Programming 19循环结构循环结构当型循环当型循环当型循环当型循环直到型循环直到型循环直到型循环直到型循环第19页,此课件共20页哦Visual Basic Programming 20基本算法结构基本算法结构三种基本结构的共同特点是:三种基本结构的共同特点是:1 1)只有单一的入口和单一的出口;)只有单一的入口和单一的出口;2 2)结结构中的每个部分都有构中的每个部分都有执执行到的可能;行到的可能;3 3)结构内不存在永不终止的死循环。)结构内不存在永不终止的死循环。第20页,此课件共20页哦