第四章 算法基础及VB的基本语句

上传人:jiups****uk12 文档编号:54889324 上传时间:2018-09-21 格式:PPT 页数:96 大小:984KB
返回 下载 相关 举报
第四章 算法基础及VB的基本语句_第1页
第1页 / 共96页
第四章 算法基础及VB的基本语句_第2页
第2页 / 共96页
第四章 算法基础及VB的基本语句_第3页
第3页 / 共96页
第四章 算法基础及VB的基本语句_第4页
第4页 / 共96页
第四章 算法基础及VB的基本语句_第5页
第5页 / 共96页
点击查看更多>>
资源描述

《第四章 算法基础及VB的基本语句》由会员分享,可在线阅读,更多相关《第四章 算法基础及VB的基本语句(96页珍藏版)》请在金锄头文库上搜索。

1、第四章 算法基础及VB的基本语句,2,1、了解结构化程序设计的基本概念 2、掌握VB 程序设计中的常用语句 3、掌握顺序、选择、和循环结构及相应的语句,教学要求,3,4,4.1 算法及程序设计基础,一个程序( 过程)应包括:Nikiklaus Wirth认为:有人认为:,对数据的描述:指定所用数据的类型,作用域和数据的组织形式,即数据结构(data structure)。对操作的描述:即操作步骤,也就是算法(algorithm)。,数据结构+算法=程序,程序=算法+数据结构+程序设计方法+语言工具和环境,5,1、算法的概念,算法 即解决某个问题或处理某件事的方法和步骤;“采用什么结构,使用什么

2、语句以及如何安排这些语句”。 算法分类: 数值计算算法 非数值计算算法 算法优劣: 正确性,效率,占用系统资源,便于理解,易于调试等。,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 求M除以N的余数R; S3 使M=N,即用N代换M; S4 使N=R,即用R代换N; S5 若R0,则重复执行S2,S3,S4,否则转至S6 S6 输出M,M即为M,N的最大公约数

3、。,8,3、算法的特征,确定性可行性有穷性输入性输出性,9,4、算法的描述,程序流程图,求最大公约数,10,程序编码实现算法,算法仅提供解题思路,计算机不可直接执行。 用某一程序设计语言所提供的语言成分,根据该语言的特点,并利用该语言的各种工具和手段,遵照规定的语法规则去实现算法,得到原程序代码,计算机可识别并执行。,11,5.基本算法结构,1). 顺序结构,语句1,语句2,语句块,结构化程序设计,12,2)选择结构,结构化程序设计,13,3)循环结构,结构化程序设计,14,三种基本结构的共同特点,只有单一入口和单一出口; 结构中的每一部分都有被执行的可能; 结构内不应出现永不终止的死循环。,

4、15,4.2 赋值语句及InputBox、MsgBox函数,4.2.1 赋值语句 4.2.2 InputBox函数 4.2.3 MsgBox函数,16,4.2.1 赋值语句 格式:=功能:先计算表达式的值,再将该值赋予左端的变量。说明:-赋值号左端不仅可以是变量名,还可以是对象的属性;-表达式的类型和变量的类型要一致-赋值语句是按语句出现的先后顺序执行的(顺序结构)举例:,str1 = “Nice to meet you“number% = 72Lable1.Caption = “Filename is:“Text.FontSize = 12 改变字号,17,使用下面的方法可以获取一个对象的属

5、性值: var = object . Property例如:Label1.Caption=Text1.Text式中,var是变量名、object是对象名、property是该对象的某个属性名。特别注意:属性也存在数据类型,所以在获取对象的属性值时,最好使用具有相同数据类型的变量。,说明,18,注意:赋值号(=)与比较运算符(=)不同赋值是独立的一条语句;由运算符(=)连结两个操作数的关系表达式是语句的一部分, 不可单独存在比较运算符不会改变操作数的值;赋值语句会,改变赋值号左边的量,所以必须是可以被赋值的变量或属性,Dim x As Integer, y As Integer, z As Bo

6、olean x=3 : y=4 : y=x z = x=y Print x, y, z,19,Private Sub Form_Click() Dim a As Integer,b As Integera=10b=3*aPrint a,b End Sub,Private Sub Form_Click() Dim a As Integer,b As Integerb=3*aa=10Print a,b End Sub,例:单击窗体,下列两段程序的执行结果分别是()和()。,提示:利用赋值语句给变量赋值后,在未有新的赋值语句再次给它赋值前,变量值保持不变。,20,例:交换两个变量的值。,Privat

7、e Sub Form_Click() Dim a As Integer,b As Integera=10 : b=2Print a,b填入程序代码Print a,b End Sub,正确答案 Dim Temp As Integer Temp=a : a=b : b=Temp,题目说明 单击窗体程序执行结果为:10 22 10, 注意 变量a和b为两个不定值的变量,因此不能直接用a=2 : b=10 语句来解决这个问题。,一旦利用赋值语句给变量赋新值,会覆盖原值,所以不能直接用a=b : b=a 语句来解决这个问题。,21,例:求一元一次方程x+5=0的解。,Private Sub Form_C

8、lick() Dim x As Integer3*x+5=0Print “x=”;x End Sub,Private Sub Form_Click() Dim x As Integerx=(0-)/3 - Print “x=”;x End Sub,语句是该例题的算法。,错误程序,正确程序,总结:利用程序设计语言处理问题,我们首先要知道的是怎么解决问题,其次要知道怎么将解决问题的方法用程序设计语言来表达。,22,4.2.2 InputBox函数 格式:InputBox$(,) 功能:弹出对话框,用户输入数据后回车或单击“确定”按钮后,将输入内容赋值给相应的变量;按ESC键或单击“取消”按钮,返回

9、空串。,23,说明 (1)prompt:必选项。对话框中的提示信息。 (2)title:可选。对话框的标题。省略则为应用程序名。 (3)default:可选。显示在用户编辑框中的缺省值,省略为空。 (4)x,y:可选。指定对话框的显示位置,省略则居中。,例: i = InputBox(“输入数组元素”+Chr(10)+“第一个元素为:”,“程序示例“, 100),缺省值,标题,提示字符串,24,例:用InputBox函数输入出生日期,计算年龄。,Option ExplicitPrivate Sub Form_Click()Dim BirthDay As Date, Age As Integer

10、BirthDay = InputBox(“输入出生日期“, “计算年龄“)Age = Year(Date) - Year(BirthDay)Print “你今年:“; Age; “岁“ End Sub,25,如果赋值号左端的变量为数值型或日期型等非字符型变量,输入字符数据 单击“取消”按钮 不输入直接按回车键,则系统都会提示出错:,Dim x As Integer x = InputBox(“输入数组元素“ + Chr(10) + “第一个元素为:“, “示例“, “10“, 100, 100),注意,26,4.2.3 MsgBox函数 格式:MsgBox(Prompt,Button,Titl

11、e,HelpFile,Context) 功能:向用户发布提示信息,并要求用户作出必要的响应。 说明:(1)Prompt:必选项。字符串表达式,对话框中的提示信息。(2)Button:指定显示按钮的数目及形式,使用的图标样式,这是一个由4个数值常量组成的式子,形式为c1+c2+c3+c4,用于决定信息框中按钮的个数和类型以及出现在信息框中的图标类型,各个参量的可选值及其功能; 详见P.62表4.2(3)Title:对话框标题栏的显示信息。,27,MsgBox “需要重新来一次?“, 2 + 32 + 256 + 4096, “询问“,MsgBox “数据非法,请重输!“,1 + 16 + 0 +

12、 4096, “警告“,举 例,28,方法一: 发布提示信息,无须用户响应,在程序中作为独立语句存在,不加括号; 例: MsgBox “非法数据!“, , “警告“,如果省略其中参数,逗号不能省略,MsgBox函数的用法,方法二: 需要用户响应,和普通函数调用方法相同。 例: Response=MsgBox(“真的删除该项吗?“,4+48,“提示信息“)If Response=vbYes ThenElseEnd If,29,30,1、 If-Then-Else语句 格式1:If ThenElseEnd If,4.3.1 If-Then-Else- End If语句,逻辑变量、关系表达式、逻辑表

13、达式,逻辑框图:,功能:如果条件成立,则执行A组语句,否则执行B组语句。,说明: If和End If语句成对出现,缺一不可; Else和B组语句部分可以省略,当条件不成立时,直接执行End If的后继语句;,31,Private Sub cmdCalculate_Click()Dim x as Singlex=Val(text1.text)If x= 0 ThenText2.text = Str(Sqr(x)ElseText2.text = “数据小于0,错误!“End If End Sub,Private Sub cmdExit_Click()End End Sub,Private Sub

14、cmdClear_Click()Text1.Text = “Text2.Text = “Text1.SetFocus End Sub,例:从键盘输入一个数,求它的平方根。,缩格输入,32,例:计算分段函数y的值。,Private Sub cmdCalculate_Click()Dim x As Single,y As Singlex=Val(Text1.Text)If x = 0 Theny = 2*Sqr(x+7)-6Elsey = 5*x+Exp(x)-2End IfText2.Text=Str(y) End Sub,cmdCalculate,33,格式2:单行If-Then-Else语句

15、If Then Else 说明: (1)在A组语句和B组语句都只有一个语句时,可使用该格式; (2)End If语句省略。 例:上例可改写为以下程序段。,Private Sub cmdCalculate_Click()Dim y As Single,x As Singlex=Val(Text1.Text)If x = 0 Then y = 2*Sqr(x+7)-6 Else y = 5*x+Exp(x)-2Text2.Text=Str(y) End Sub,34,格式3:If ThenEnd If格式4:If Then ,逻辑框图,35,36,例:输入三角形的三边a、b、c,求三角形的面积,P 64 例4-1,a0 and b0 and c0,a+bc and b+ca and a+cb,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号