《第四章 算法基础及VB的基本语句.ppt》由会员分享,可在线阅读,更多相关《第四章 算法基础及VB的基本语句.ppt(96页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第四章 算法基础及VB的基本语句,2,1、了解结构化程序设计的基本概念 2、掌握VB 程序设计中的常用语句 3、掌握顺序、选择、和循环结构及相应的语句,教学要求,3,教学内容,4.1 算法及程序设计基础 4.2 赋值语句及InputBox、MsgBox函数 4.3 分支结构与分支结构语句 4.4 循环结构与循环结构语句 4.5 程序示例,4,4.1 算法及程序设计基础,一个程序( 过程)应包括: Nikiklaus Wirth认为: 有人认为:,对数据的描述:指定所用数据的类型,作用域和数据的 组织形式,即数据结构(data structure)。 对操作的描述:即操作步骤,也就是算法(alg
2、orithm)。,数据结构+算法=程序,程序=算法+数据结构+程序设计方法+语言工具和环境,5,1、算法的概念,算法 即解决某个问题或处理某件事的方法和步骤;“采用什么结构,使用什么语句以及如何安排这些语句”。 算法分类: 数值计算算法 非数值计算算法 算法优劣: 正确性,效率,占用系统资源,便于理解,易于调试等。,6,18,10,M N R,8,10,8,2,8,2,0,2,0,R=8,R=2,R=0,M=2即最大公约数,求最大公约数,题目:求两个自然数的最大公约数 分析:求最大公约数的常用方法是辗转相除法(欧几里德算法)。,2、算法示例,7,算法描述:,S1 输入两个自然数:M,N; S2
3、 求M除以N的余数R; S3 使M=N,即用N代换M; S4 使N=R,即用R代换N; S5 若R0,则重复执行S2,S3,S4,否则转至S6 S6 输出M,M即为M,N的最大公约数。,8,3、算法的特征,确定性 可行性 有穷性 输入性 输出性,9,4、算法的描述,程序流程图,求最大公约数,10,程序编码实现算法,算法仅提供解题思路,计算机不可直接执行。 用某一程序设计语言所提供的语言成分,根据该语言的特点,并利用该语言的各种工具和手段,遵照规定的语法规则去实现算法,得到原程序代码,计算机可识别并执行。,11,5.基本算法结构,1). 顺序结构,语句1,语句2,语句块,结构化程序设计,12,2
4、)选择结构,结构化程序设计,13,3)循环结构,结构化程序设计,14,三种基本结构的共同特点,只有单一入口和单一出口; 结构中的每一部分都有被执行的可能; 结构内不应出现永不终止的死循环。,15,4.2 赋值语句及InputBox、MsgBox函数,4.2.1 赋值语句 4.2.2 InputBox函数 4.2.3 MsgBox函数,16,4.2.1 赋值语句 格式:= 功能:先计算表达式的值,再将该值赋予左端的变量。 说明: -赋值号左端不仅可以是变量名,还可以是对象的属性; -表达式的类型和变量的类型要一致 -赋值语句是按语句出现的先后顺序执行的(顺序结构) 举例:,str1 = Nice
5、 to meet you number% = 72 Lable1.Caption = Filename is: Text.FontSize = 12 改变字号,17,使用下面的方法可以获取一个对象的属性值: var = object . Property 例如:Label1.Caption=Text1.Text 式中,var是变量名、object是对象名、property是该对象的某个属性名。 特别注意:属性也存在数据类型,所以在获取对象的属性值时,最好使用具有相同数据类型的变量。,说明,18,注意:赋值号(=)与比较运算符(=)不同 赋值是独立的一条语句; 由运算符(=)连结两个操作数的关系
6、表达式是语句的一部分, 不可单独存在 比较运算符不会改变操作数的值; 赋值语句会,改变赋值号左边的量,所以必须是可以被赋值的变量或属性,Dim x As Integer, y As Integer, z As Boolean x=3 : y=4 : y=x z = x=y Print x, y, z,19,Private Sub Form_Click() Dim a As Integer,b As Integer a=10 b=3*a Print a,b End Sub,Private Sub Form_Click() Dim a As Integer,b As Integer b=3*a a
7、=10 Print a,b End Sub,例:单击窗体,下列两段程序的执行结果分别是()和()。,提示:利用赋值语句给变量赋值后,在未有新的赋值语句再次给它赋值前,变量值保持不变。,20,例:交换两个变量的值。,Private Sub Form_Click() Dim a As Integer,b As Integer a=10 : b=2 Print a,b 填入程序代码 Print a,b End Sub,正确答案 Dim Temp As Integer Temp=a : a=b : b=Temp,题目说明 单击窗体程序执行结果为: 10 2 2 10, 注意 变量a和b为两个不定值的变
8、量,因此不能直接用 a=2 : b=10 语句来解决这个问题。,一旦利用赋值语句给变量赋新值,会覆盖原值,所以不能直接用 a=b : b=a 语句来解决这个问题。,21,例:求一元一次方程x+5=0的解。,Private Sub Form_Click() Dim x As Integer 3*x+5=0 Print “x=”;x End Sub,Private Sub Form_Click() Dim x As Integer x=(0-)/3 - Print “x=”;x End Sub,语句是该例题的算法。,错误程序,正确程序,总结: 利用程序设计语言处理问题,我们首先要知道的是怎么解决问
9、题,其次要知道怎么将解决问题的方法用程序设计语言来表达。,22,4.2.2 InputBox函数 格式:InputBox$(,) 功能: 弹出对话框,用户输入数据后回车或单击“确定”按钮后,将输入内容赋值给相应的变量;按ESC键或单击“取消”按钮,返回空串。,23,说明 (1)prompt:必选项。对话框中的提示信息。 (2)title:可选。对话框的标题。省略则为应用程序名。 (3)default:可选。显示在用户编辑框中的缺省值,省略为空。 (4)x,y:可选。指定对话框的显示位置,省略则居中。,例: i = InputBox(“输入数组元素”+Chr(10)+“第一个元素为:”,程序示例, 100),缺省值,标题,提示字符串,