算法基础及VB的基本语句.ppt_第1页
算法基础及VB的基本语句.ppt_第2页
算法基础及VB的基本语句.ppt_第3页
算法基础及VB的基本语句.ppt_第4页
算法基础及VB的基本语句.ppt_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

算法基础及VB的基本语句 第4章 l算法及程序设计基础 l赋值语句及InputBox、MsgBox函数 l分支结构与分支结构语句 l循环结构与循环结构语句 l程序示例 lPoints to Remember DateVisual Basic Programming 算法及程序设计基础 设计程序前,根据实际问题的特点和 需求,同时考虑到计算机的工作特性,确 定解决该问题所需要的方法和步骤称为“ 算法设计”。 l算法的概念 l算法示例 l算法的特征 l算法的描述 l基本算法结构 4.1 DateVisual Basic Programming 算法的概念 l广义而言,算法就是解决某个问题或处理某件事 的方法和步骤。 l狭义而言,算法是专指用计算机解决某一问题的 方法和步骤。 l计算机算法可以分为两大类:一类是数值计算算 法;另一类是非数值计算算法。 l研究解决各种特定类型问题的算法已成为一个称 为“计算方法”的专门学科。 l对于同一问题的求解,往往可以设计出多种不同 的算法。一般而言,评价一个算法的好坏优劣, 主要看算法是否正确、运行的效率及占用系统资 源的多少等。 DateVisual Basic Programming 算法示例 l算法1 l算法2 DateVisual Basic Programming 算法1求两个自然数的最大公约数的算法 lS1.输入两个自然数M、N; lS2.求M除以N的余数R; lS3.使M=N,即用N代换M; lS4.使N=R,即用R代换N; lS5.若R0,则重复执行S2、S3、S4(循环),否则转S6; lS6.输出M,M即为M和N的最大公约数。 l本算法是由古希腊数学家欧几里德提出的,所以 又称为“欧几里德算法”。算法中的S1、S2、S3 叫作算法步骤,每个算法步骤明确规定所要进行 的操作及处理对象的特性(M、N为自然数)。 l欧几里德算法是求两个自然数最大公约数的经典 算法。 DateVisual Basic Programming 算法2 在N个字符数据集合中,查找有无 特定的字符串存在 lS1.输入字符数据的个数N和要查找的数据S; lS2.使I=1,I用于计数; lS3.从字符数据集合中读取一个数据X; lS4.若X=S,输出“找到S”的信息,算法结束,否 则转S5; lS5.使I=I+1,计数器计数; lS6.若IN;则重复执行S3、S4、S5(循环); 否则转S7; lS7.输出“找不到S”信息,算法结束。 l本算法也称为“顺序查找算法”,也是在处 理非数值信息时最常用的一种算法。 DateVisual Basic Programming 算法的特征 l从上述算法的示例可以看出,作为算法,应具备 以下特征: l1)确定性-算法的每个步骤都应确切无误,没有 歧义性。 l2)可行性-算法的每个步骤都必须是计算机能够 有效执行、可以实现的,并可得到确定的结果。 l3)有穷性-一个算法包含的步骤必须是有限的, 并在一个合理的时间限度内可以执行完毕。 l4)输入性-执行算法时可以有多个输入,但也可 以没有输入(0个输入)。 l5)输出性-一个算法必须有1个或多个输出。 DateVisual Basic Programming 算法的描述 l算法可以采用多种方式来表示。比如使用人们的 自然语言像英语、汉语等来描述;使用某种代码 符号来描述或者使用特定的图形来描述等等。由 于图形的描述方法既形象,又直观,所以得到广 泛的应用。 l用于描述算法的图形使用较多的是所谓的流程框 图,简称流程图。它是使用规定的图形符号来描 述算法的。流程图使用的图形符号见表4-1。 l图4-1和图4-2分别是上一节两个算法示例的流程 图。图框内的文字用于说明具体的操作内容。显 而易见,使用流程图比使用自然语言描述算法优 越地多。 DateVisual Basic Programming 图形符号名称代表的操作 输入/输出数据的输入与输出 处理各种形式的数据处理 判断 判断选择,根据条件满足与否 选择不同路径 起止流程的起点与终点 特定过程一个定义过的过程 流程线连接各个图框,表示执行顺序 连接点表示与流程图其他部分相连接 DateVisual Basic Programming DateVisual Basic Programming 基本算法结构 l“结构化程序设计方法”的核心是规定了算 法的三种基本结构:顺序结构、分支结构 和循环结构。 l三种基本结构的共同特点是: l1)只有单一的入口和单一的出口; l2)结构中的每个部分都有执行到的可能 ; l3)结构内不存在永不终止的死循环。 DateVisual Basic Programming 顺序结构 DateVisual Basic Programming 分支结构 DateVisual Basic Programming 循环结构 DateVisual Basic Programming 赋值语句及InputBox、MsgBox函数 l赋值语句 lInputBox函数 lMsgBox函数 4.2 DateVisual Basic Programming 赋值语句 l赋值语句的形式 l不同数据类型数据的赋值 l图4-4 一个说明不同数据类型数据赋值方 式的简单程序示例 4.2.1 DateVisual Basic Programming 赋值语句的形式 l赋值语句的一般形式是: 其中var表示某个变量名或属性名。当系统执行 一个赋值语句时,将先求出赋值操作符”=”右 边表达式的值,然后再把该值保存到”=”左边 的变量中。这就是所谓的“赋值”。 l使用赋值语句可使变量或某个对象的某属性获得 一个新值。示例 l使用赋值语句还可以获取一个对象返回的当前属 性值。例如: var = pety var = DateVisual Basic Programming 赋值语句示例 x = “This is a flower“ number% = 72 Lable1.Text = “Filename is:“ Text.Font.Size = 12 改变字号 Y = (a + b )/2 DateVisual Basic Programming 不同数据类型数据的赋值 变量类型 表达式类型 系统处理 数值 数值 系统先求出表达式的值,在将 其转换为变 量类型后再赋值 字符 数值 系统将把表达式的值转换为 字 符型赋给变 量 逻辑 数值 所有的非0值,系统都转换为 True赋给变 量,0则转换为 False赋给变 量 整型 逻辑值 Ture 变量的值将为-1;把逻辑值 False赋给整型变量,变量的值 为0 字符 逻辑值 Ture 变量的值将为True;把逻辑值 False赋给字符变量,变量的值 为False 数值 字符 系统将给出数据类型不匹配的 错误提示,并停止执行 DateVisual Basic Programming 图4-4 一个简单程序示例 DateVisual Basic Programming InputBox函数 lInputBox函数用来接受用户通过键盘输入的数据 。InputBox函数使用的形式是: 式中,v可以是变体变量或字符串型变量,也可 以是数值型变量。 l在调用InputBox函数时,屏幕上将产生一个带有 提示信息的对话框,用户输入数据后按回车键, 即可把输入的数据赋给变量;按Esc键或单击 “Cancel”按钮,则返回0值或空串。 lInputBox函数应用示例 4.2.2 v = InputBox(Prompt,title,defsult,x,y,helpfile,context) DateVisual Basic Programming InputBox函数的各个参数的意义 lPrompt:提示用的文字信息; ltitle:对话框标题(字符型),缺省时,为空 白; ldefault:显示在用户编辑 框中的缺省值,缺省 时,返回空值; lx,y:对话框在屏幕上显示时的位置,单位是特 维,(x,y)是对话框左上角点的坐标; lhelpfile,context:帮助文件名及帮助主题号。 有本选项时 ,在对话框中自动增加一个帮助按 钮。 DateVisual Basic Programming InputBox函数应用示例 Private Sub Cmd1_Click() Dim N_student As String N_student = InputBox(“请输入你的学号:“, “程序示例“, 230001) If Left(N_student, 2) = “23“ Then Print “你是工程系的学生!“ Else Print “你不是工程系的学生!“ End If End Sub DateVisual Basic Programming DateVisual Basic Programming MsgBox函数 lMsgBox函数用于向用户发布提示信息,并 要求用户作出必要的响应。MsgBox函数的 形式是: lMsgBox函数根据用户选择单击的按钮而返 回不同的值:如表4-3 lMsgBox函数有以下几种使用方法 4.2.3 MsgBox(Prompt,button,title,helpfile,context ) DateVisual Basic Programming 式中各个参数的意义 lPrompt:提示用的文字信息; lbutton:这是一个由4个数值常量组成的式子,形 式为c1+c2+c3+c4,用于决定信息框中按钮的个数 和类型以及出现在信息框中的图标类型,各个参量 的可选值及其功能如表4-2(a)、表4-2(b)、表4- 2(c)、表4-2(d)(0值为缺省值) ltitle:信息框标题(字符型),缺省时,为空白 ; lhelpfile,context:帮助文件名及帮助主题号。有 本选项时,在信息框中自动增加一个帮助按钮。 DateVisual Basic Programming 表4-2(a) c1的取 值 内置常量名意义 0VbOkOnly只显示“确定”按钮 1VbOkCancel显示“确定”和“取消”按钮 2VbAbortRetryIgnore显示“终止”,“重试”和“忽略”按钮 3VbYesNoCancel显示“是”,“否”和“取消”按钮 4VbYesNo显示“是”和“否”按钮 5VbRetryCancel显示“重试”和“取消”按钮 DateVisual Basic Programming 表4-2(b) c2的取值内置常量名意义 16VbCritical显示关键信息图标 32VbQuestion显示警示疑问图标 48VbExclamation显示警告信息图标 64VbInformation显示通知信息图标 DateVisual Basic Programming 表4-2(c) c3的取值内置常量名意义 0vbDefaultButton1第一个按钮为缺省按钮 256vbDefaultButton2第二个按钮为缺省按钮 512vbDefaultButton3第三个按钮为缺省按钮 DateVisual Basic Programming 表4-2(d) c4的取值内置常量名意义 0vbApplicationModel 应用程序模式,用户在当前应用程序 继续执行之前,必须对信息框做出响 应;信息框位于最前面 4096VbSystemModel 系统模式,所有应用程序均挂起,直 到用户响应该信息框为止 DateVisual Basic Programming 表4-3 按钮名内置常量取值 OK(确定)vbOK1 Cancel(取消)vbCancel2 Abort(终止)vbAbort3 Retry(重试)vbRetry4 Ignore(忽略)vbIgnore5 Yes(是)vbYes6 No(否)vbNo7 DateVisual Basic Programming MsgBox函数的几种使用方法 lMsgBox函数有以下几种使用方法: l使用赋值语 句。如: ans = MsgBox(“非法数据!”,48,”提示信息 ”) l使用Print方法。例如: Print MsgBox(“非法数据!”,48,”提示信息 ”) l也可以把它等同为一个方法使用。如: MsgBox “非法数据!”,48,”提示信息” l三种方法在执行时都可以获得如图所示画面。 但第二、三种用法将得不到用户点击不同按钮 的返回值(或没有返回值)。 DateVisual Basic Programming 分支结构与分支结构语句 分支结构是程序的基本算法结构之一 。VB提供了实现分支结构的相关语句。 lIf-Then-Else-End If 结构语句 lSelect-Case-End Select 结构语句 4.3 DateVisual Basic Programming If-Then-Else-End If 结构语句 l该结构语句的一般形式 l该结构的变形1 l该结构的变形2 l例4-1 已知三角形三个边的长度,设计 求此三角形面积的程序 l例4-2一个有多个分支的示例程序 4.3.1 DateVisual Basic Programming If结构语句的一般形式 If e Then A组语句 Else B组语句 End If DateVisual Basic Programming If结构的变形1 If e Then A组语句 End if If e Then DateVisual Basic Programming If结构的变形2 If e1 Then A1组语句 ElseIf e2 Then A2组语句 . End if DateVisual Basic Programming 当a+bc 且 a+cb 且 b+ca 时,三角形存在, 其面积 式中: p=(a+b+c)/2 例4-1 已知三角形三个边的长度, 设计求此三角形面积的程序 l算法流程图 l程序代码 DateVisual Basic Programming 例4-1 算法流程图 DateVisual Basic Programming 例4-2一个有多个分支的示例程序 l程序代码 DateVisual Basic Programming 例4-2 程序代码 Private Sub Command1_Click() Dim x As Integer x = Val(Text1.Text) If x 20; Is0时,判ve2否;当 e30,则得到随机序列的下一个随机 数;参数 x =0,则返回上一次生成的随机数。 不使用x的结果与 x0相同。 l对最初给定的种子都会生成相同的数列,因为每 一次调用 Rnd 函数都用数列中的前一个数作为 下一个数的种子。 l调用 Rnd 之前,可先使用无参数的 Randomize 语句初始化随机数生成器,该生成器具有从系统 计时器获得到的种子。 DateVisual Basic Programming 程序示例 l例4-7一个简易函数计算器程序 l例4-8 个人收入调节税应用程序 l例4-9 利用牛顿迭代法求方程根 l例4-10 原码转换成反码的程序 4.5 DateVisual Basic Programming 例4-7一个简易函数计算器程序 l为了保证“计算器”在各种操作状况下都正 常工作,程序需要考虑在用户没有在文本 框中输入数据或输入的数据超出函数的定 义域时

温馨提示

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

评论

0/150

提交评论