欢迎来到天天文库
浏览记录
ID:50029431
大小:407.50 KB
页数:25页
时间:2020-03-07
《Visual Basic程序设计教程 教学课件 作者 何瑞麟 佘学文 主编 方士杰 李巍 副主编第3章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章程序设计逻辑与技术3.1算法概述3.2流程图描述算法3.3描述算法的其他方法3.0引言我们学习程序设计语言的目的就是使用VisualBasic等语言编写来程序,利用计算机解决各种问题。计算机为什么能处理各种不同的问题呢?这是由于人们事先对问题进行相应的分析,确定了解决问题的方法和步骤,然后根据它编写出程序,再让计算机执行这个程序,得出相应的结果。在这个过程中,程序设计语言仅仅只是一个工具。在设计程序的过程中,解决问题的方法和步骤是程序设计工作非常重要、非常关键的一个组成部分。本章主要介绍算法、流程图等方面的知识。3.1算法概
2、述3.1.1算法算法(Algorithm):是为解决一个问题而采用的方法和步骤。或者说,算法是对解决问题方法与步骤的精确描述。算法是求解问题需做的一串有限的步骤。对于计算机来说,算法必须是可以实现的。一个不能实现的算法是没有存在地意义的。3.1.2简单算法举例例题1:有两个杯子A和B,分别盛放酒和醋,要求将它们互换(即原来盛放酒的A杯现盛放醋,而原盛醋的B杯现盛放酒)。此问题的算法可以表示为:步骤1:将A杯中的酒倒入C杯中步骤2:将B杯中的醋倒入A杯中步骤3:将C杯中的酒倒入B杯中上述算法可以简化为:①A->C②B->A③C->B
3、算法的图形表示例题2:写出用“辗转相除法”求两个正整数M和N最大公约数的算法。依据“循环”思想,我们可以把用“辗转相除法”求两数最大公约数的算法表示为:①求出M/N的余数,设为R。②若R=0,则N即为最大公约数;若R不等于0,则执行第③步。③将N的值放入M中,将R的值放入N中。④重新回到第①步。例题3:给出一个正整数N,写出判定它是否为素数的算法。判断一个数N是否是素数的最基本方法是使N被2、3、…N-1整除,,如果每个数都不能除尽,则N为素数。具体的算法如下:①设变量K的初始值为2。(K是除数)②计算N/K得到余数R。③如果R=
4、0,则N不是素数,终止程序的执行;如果R不等于0,则执行第④步骤。④使K的值增加1。⑤如果K小于或等于(N-1),则执行第②步骤;如果K大于(N-1),则终止程序的执行,得到N为素数的结论。显然此算法不是最优的,实际只要除到N的开平方数即可,这样,可以大大减少除法运算的次数。3.1.3算法的特征(1)、有穷性:一个算法就包含有限个操作步骤,而不能是无限的。(2)、确定性:算法的每个步骤都应当是明确无误的,不能含义模糊。使执行者(计算机)无所适从。(3)、有零个或多个输入:计算机执行的活动周期遵循“输入-处理-输出”。(4)、有一个
5、或多个输出:算法的目的是求问题的“解”,“解”就是结果,就是算法的输出。一个算法不输出任何信息的算法是没有任何意义的。(5)、有效性:算法中的每个步骤都应该能有效的被执行。执行算法最后应该能得到确定的结果。不能有效执行的操作或目前无法实现的操作,不能加到算法中。3.2流程图描述算法除了用自然语言描述算法外,描述算法的常用方法还有:流程图(或框图)、伪代码、N-S图和PAD图等。3.2.2流程图流程图是用图形来表示算法,即用一些特定的几何图形来代表各种不同性质的操作,每个符号表示一个特定的活动。常用流程图符号例题4:用流程图表示接受
6、两个数,并把其中较大的数输出来的算法。例题5:用流程图表示接受十个数,并输出它们的和的算法。例题6:某班的10名学生都参加同样三门课程的考试,现要求接受他们的考试得分,并输出每个人的平均分。3.2.3基本结构(1)、顺序结构(左图)(2)、选择(判断)结构(右图)(3)、循环结构①当型(While型)循环结构:可分成前测型当循环与后测型当循环两种。两者之间的区别是:前者是先判断循环条件,再执行循环体,后者是先执行循环体,后判断循环条件。前测型当循环结构后测型当循环结构②直到型(Until型)循环结构:可分成前测型直到循环与后测型直
7、到循环两种。两者之间的区别是:前者是先判断循环条件,再执行循环体,后者是先执行循环体,后判断循环条件。前测型直到循环结构后测型直到循环结构当型与直到型循环的区别:当型循环结构是“当循环条件成立(或满足)时执行循环体(A框),在循环条件不成立(或不满足)时终止循环”,而直到型循环结构是“当循环条件不成立(或不满足)时执行循环体(A框),当循环条件成立(或满足)时结束循环”。两者的循环条件正好逻辑相反。①前测型循环结构是“先判断循环条件,后执行循环体(A框)”,而后测型循环结构是“先执行循环体(A框),后判断循环条件”;②后测型循环至
8、少执行一次循环体(A框),而前测型循环的循环体(A框)可能一次也不被执行。前测型与后测型循环的区别:3.3描述算法的其他方法3.3.1伪代码伪代码(PseudoCode)是用一种介于自然语言与计算机语言之间的文字和符号来描述算法方法。例如:Ifx为
此文档下载收益归作者所有