- 3
- 0
- 约2.25千字
- 约 25页
- 2017-11-12 发布于广东
- 举报
尚辅网 / 第3章 程序设计逻辑与技术 第3章 程序设计逻辑与技术 3.1 算法概述 3.2 流程图描述算法 3.3 描述算法的其他方法 3.0 引言 我们学习程序设计语言的目的就是使用Visual Basic等语言编写来程序,利用计算机解决各种问题。计算机为什么能处理各种不同的问题呢?这是由于人们事先对问题进行相应的分析,确定了解决问题的方法和步骤,然后根据它编写出程序,再让计算机执行这个程序,得出相应的结果。在这个过程中,程序设计语言仅仅只是一个工具。在设计程序的过程中,解决问题的方法和步骤是程序设计工作非常重要、非常关键的一个组成部分。本章主要介绍算法、流程图等方面的知识。 3.1 算法概述 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 算法的图形表示 例题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=0,则N不是素数,终止程序的执行;如果R不等于0,则执行第④步骤。 ④ 使K的值增加1。 ⑤ 如果K小于或等于(N-1),则执行第②步骤;如果K大于(N-1),则终止程序的执行,得到N为素数的结论。 显然此算法不是最优的,实际只要除到N的开平方数即可,这样,可以大大减少除法运算的次数。 3.1.3 算法的特征 (1)、有穷性:一个算法就包含有限个操作步骤,而不能是无限的。 (2)、确定性:算法的每个步骤都应当是明确无误的,不能含义模糊。使执行者(计算机)无所适从。 (3)、有零个或多个输入:计算机执行的活动周期遵循“输入-处理-输出”。 (4)、有一个或多个输出:算法的目的是求问题的“解”,“解”就是结果,就是算法的输出。一个算法不输出任何信息的算法是没有任何意义的。 (5)、有效性:算法中的每个步骤都应该能有效的被执行。执行算法最后应该能得到确定的结果。不能有效执行的操作或目前无法实现的操作,不能加到算法中。 3.2 流程图描述算法 除了用自然语言描述算法外,描述算法的常用方法还有:流程图(或框图)、伪代码、N-S图和PAD图等。 3.2.2 流程图 流程图是用图形来表示算法,即用一些特定的几何图形来代表各种不同性质的操作,每个符号表示一个特定的活动。 常用流程图符号 例题4:用流程图表示接受两个数,并把其中较大的数输出来的算法。 例题5:用流程图表示接受十个数,并输出它们的和的算法。 例题6:某班的10名学生都参加同样三门课程的考试,现要求接受他们的考试得分,并输出每个人的平均分。 3.2.3 基本结构 (1)、顺序结构(左图) (2)、选择(判断)结构(右图) (3)、循环结构 ① 当型(While型)循环结构:可分成前测型当循环与后测型当循环两种。两者之间的区别是:前者是先判断循环条件,再执行循环体,后者是先执行循环体,后判断循环条件。 前测型当循环结构 后测型当循环结构 ② 直到型(Until型)循环结构:可分成前测型直到循环与后测型直到循环两种。两者之间的区别是:前者是先判断循环条件,再执行循环体,后者是先执行循环体,后判断循环条件。 前测型直到循环结构 后测型直到循环结构 当型与直到型循环的区别: 当型循环结构是“当循环条件成立(或满足)时执行循环体(A框) ,在循环条件不成立(或不满足)时终止循环”,而直到型循环结构是“当循环条件不成立(或不满足)时执行循环体(A框) ,当循环条件成立(或满足)时结束循环”。两者的循环条件正好逻辑相反。 ①
您可能关注的文档
- 传感器应用技能实训课件作者彭学勤周志文编著11章.ppt
- EDA技术及应用教程课件作者赵全利第2章节可编程逻辑器件.ppt
- 传感器应用技术课件作者王倢婷第六章节6-1章.ppt
- 传感器应用技术课件作者王倢婷第三章节3-3章.ppt
- EDA技术及应用课件作者范晶彦EDA技术及应用-第二章节.ppt
- 传感器应用技术课件作者王倢婷第四章节4-1章.ppt
- 保险精算(第二版)课件作者李秀芳傅安平王静龙著电子版及教学大纲保险精算章节4章.ppt
- 保险精算(第二版)课件作者李秀芳傅安平王静龙著电子版及教学大纲保险精算章节6章.ppt
- 保险实务课件作者李杰bxsw11.1章.ppt
- EDA技术及应用课件作者范晶彦EDA技术及应用-第四章节.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)