VisualBasic程序设计初步.doc_第1页
VisualBasic程序设计初步.doc_第2页
VisualBasic程序设计初步.doc_第3页
VisualBasic程序设计初步.doc_第4页
VisualBasic程序设计初步.doc_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

程序设计初步通过前面五章的学习,我们知道计算机是人们处理信息的有效工具。但是一切信息的处理最终都要通过执行程序来完成,即首先必须编写程序。我们平常进行文字处理或表格处理时,事先没有进行程序设计(programming),实际上是使用别人已编写好的程序(program)直接操作。Visual Basic是一种可视化的、面向对象、采用事件驱动方式的结构化程序设计语言,它不但具有早期Basic语言的一切功能,尤其提供了一种可视化的设计工具,可以直接使用窗体和控件设计程序的界面,极大的提高了程序设计的效率。本章以Visual Basic (简称VB)为载体,介绍使用VB编制程序的一般步骤和方法,主要包括:算法的概念和面向对象的程序设计方法,VB的编程环境, Basic语言的基本知识、基本语句,程序的控制结构和简单程序设计。通过本章学习,不仅要学会可视化编程技术,还要掌握一些解决简单问题的常用算法。第一节 程序设计的基本方法一、算法的概念要计算机解决某一个问题,必须编写相应的程序。编写程序需要确定解决问题的方法和思路,并要正确地写出求解步骤,这就叫解决这个问题的算法(algorithm)。计算机处理某一问题的过程与我们日常处理事情的过程十分相似,都要按一定的步骤和相应的方法来处理。例如,邮寄一封信的过程可分为写信、写信封、贴邮票、投入信箱等四个步骤,这些步骤可以看作是写信的算法。下面举三个计算机处理问题的算法的例子。【例6-1-1】交换两个变量中的数据。 已知变量x和y中分别存放了数据,现在要交换其中的数据。为了达到交换的目的,需要引进一个中间变量m,其算法如下: 将x中的数据送给变量m,即xm; 将y中的数据送给变量x,即yx; 将m中的数据送给变量y,即my。 【例6-1-2】输入三个不相同的数,求出其中的最小数。先设置一个变量min,用于存放最小数。当输入a、b、c三个不相同的数后,先将a与b进行比较,把小者送给变量min,再把c与min 进行比较,若cmin,则将c的数值送给min,最后min中就是三个数中的最小数,具体算法如下:若ab ,则amin,否则bmin;再将c与min进行比较,若cb),求它们的最大公约数。求两个正整数a、b(ab)的最大公约数,可以归结为求一数列: a,b,r1,r2,rn-1,rn,rn+1,0此数列的首项与第二项是a和b,从第三项开始的各项,分别是前两项相除所得的余数,如果余数为0,它的前项rn+1即是a和b的最大公约数,这种方法叫做欧几里德辗转相除法,其算法如下: 输入a,b(ab); 求a/b的余数r; 如果r0,则将ba,rb,再次求a/b的余数r,转至; 输出最大公约数b。对于同一个问题,可以有不同的算法。例如求1+2+3+100的和,可以采用如下方法:先求1+2,再加3,再加4,一直加到100,最后得到结果5050。也可以采用这样的方法:1+2+3+100=(1+100)+(2+99)+(3+98)+(50+51)= 50101 = 5050。显然,对于心算来说,后一种方法更简便,而累加更适用于计算机解题。因此,为了有效的进行解题,不仅要保证算法正确,还要选择好的算法,即方法简单、运算步骤少,能迅速得出正确结果的算法。二、算法的描述为了描述一个算法,可以用自然语言、流程图(float chart)或其他形式进行。自然语言就是人们日常使用的语言,前面三个例子的算法基本上是用自然语言描述的。用自然语言描述算法,比较习惯和容易接受,但是叙述较繁琐和冗长,容易出现“歧义性”,一般不采用这种方法。用流程图描述算法,能够将解决问题的步骤清晰、直观地表示出来,所以本章采用流程图描述算法。流程图是用一组几何图形表示各种类型的操作,在图形上用扼要的文字和符号表示具体的操作,并用带有箭头的流线表示操作的先后次序。表6-1列出了流程图的基本符号及其含义。表 6-1 图形符号名 称含 义起止框表示算法的开始或结束输入、输出框表示输入输出操作处理框表示处理或运算的功能判断框用来根据给定的条件是否满足决定执行两条路径中的某一路径流线表示程序执行的路径,箭头代表方向连接符表示算法流向的出口连接点或入口连接点,同一对出口与入口的连接符内,必须标以相同的数字或字母图6-1、图6-2和图6-3分别是前面三个例子的流程图。需要注意的是,流程图仅仅描述了算法,但计算机是无法识别和执行用流程图表示的算法的,还必须使用某种计算机语言(如VB)编写出程序,然后让计算机运行此程序,得到所需的结果。开 始结 束输入 x,yxmyxmy输出 x,y开 始结 束输入 a,b,ccmin输出 minabaminbminc 50 Then 当文字大小达到最大值时, deltasz = -5 将文字大小缩放量设为负值, End If 来实现动态缩小 If size 0Rnd产生0,1)之间的随机数Exp(x)求以e为底的指数函数Sgn(x)求x的符号,x0,返回1;x=0,返回0;x0,返回-1Sin(x)求x的正弦值,x的单位为弧度Cos(x)求x的余弦值,x的单位为弧度Tan(x)求x的正切值,x的单位为弧度Str(x)将数值x转换为字符串Val(s)将数字字符串s转换为数值【例6-4-1】取整函数的用法Int(4.1)=4 Int(-4.1)=-5Int(5.3+0.5)=5 Int(3.6+0.5)=4【例6-4-2】三角函数的使用三角函数自变量的单位是弧度而不是角度。sin45在VB中应写成Sin(3.14159/4)。 表达式用运算符和圆括号将常量、变量、函数连接起来的式子,叫做Visual Basic的表达式(expression)。Visual Basic中有四种运算符:算术运算符、字符串运算符、关系运算符、逻辑运算符,相应就有四种表达式,本节只介绍算术表达式与字符串表达式。算术运算符主要有以下几种:+(加)、-(减)、*(乘)、/(除)、(乘方)。表6-5给出了几个Visual Basic表达式和代数式对照的实例。表6-5代数式VB表达式64+|-5|64+Abs(-5)(x+y)/(x-y)g*t2/2(-b+Sqr(b*b-4*a*c)/(2*a)Sqr(1+Cos(a)/(1-Cos(a)从上表可以看出:Visual Basic表达式的所有字符必须写在同一水平线上;乘号不能省略,如a*b不能写成ab;只允许使用圆括号。一个表达式中可能含有多个运算符,这就要确定各个运算符的优先顺序,Visual Basic表达式中运算符的优先顺序为:函数乘方乘或除加或减;用圆括号可以改变运算顺序(内层括号的优先级别比外层括号的优先级别高);同级运算符按从左到右的顺序进行。字符串表达式是用字符串运算符将字符串常量、字符串变量连接起来的式子,Visual Basic中字符串运算符为“+”,它能将若干个字符串依次连接成一个新的字符串。例如:Visual+ Basic的运算结果为Visual Basic。100+美元的运算结果为100美元。二、 量的赋值VB中使用Let语句给变量赋值,其形式如下:Let 变量 = 表达式方括号 表示这部分内容是可选的,语句中可以有这部分,但通常可省略该关键字。赋值语句的作用是将表达式的值赋给变量,例如:Let d=sqr(b*b-4*a*c)左边是变量,右边是表达式,执行赋值语句时,先对表达式求解,然后将表达式的值赋给变量。所以说,赋值语句具有运算功能。事实上,在VB中,运算功能主要是由赋值语句来完成的。【例6-4-3】 赋值语句使用示例 赋值语句使用Private Sub Form_Click() Dim a As Integer,b As Integer, c As Integer Dim str As String Let a = 54 Let b = 114 c = a + b str = Hello World Print a=; a, b=; b, c=; c Print strEnd Sub运行结果为:a= 34 b= 114c= 168Hello World应该说明的是: 赋值语句中“=”不同于数学中的“等于”号,而是“赋值”号。如上例中Let a=54应读作“将数值54赋给变量a”,可以理解为54a; 在程序中经常会看到这样的语句:i=i+1。它的含义是将变量i的值取出来,加上1再送回到变量i中去。如果i的原值为2,则2+1为3,再送回i,i中的新值即为3。图6-13【例6-4-4】交换两个变量中的数据,程序界面如图6-13所示。程序界面主要由四个文本框和两个命令按钮组成,四个标签用于显示提示信息。单击“交换”按钮,实现交换功能,所以程序主要对该按钮的Click事件进行编码。单击“结束”按钮,关闭程序。其算法设计见第一节,流程图见图6-1。根据界面显示,需要设置的属性如表6-6。表 6-6缺省的对象名设置的对象名属性设置值Form1frmSwapCaption交换数据Label1lblsCaption交换前:Label2lbldCaption交换后:Label3lblxCaptionXLabel4lblyCaptionyText1txtsxText空白Text2txtsyText空白Text3txtdxText空白Text4txtdyText空白Command1cmdSwapCaption交换Command2cmdEndcaption结束程序代码如下: 交换两个娈量中的数据Private Sub cmdSwap_Click() Dim x As Single, y As Single Dim m As Single x = Val(txtsx.Text) y = Val(txtsy.Text) m = x: x = y: y = m 交换数据 txtdx.Text = Str(x) txtdy.Text = Str(y)End SubPrivate Sub cmdEnd_Click() EndEnd Sub由于程序中使用文本框接受输入的数值型数据,而文本框的Text属性是字符串型的,所以使用Val(s)将文本框输入的数字字符串转换成数值;交换后的数据赋给文本框的Text属性前,应使用Str(x)函数将数值型数据转换成数字字符串。“结束”按钮的Click事件过程中End语句的作用是结束程序的运行。三、数据的输出程序中运算得到的结果,除了可以使用文本框和标签控件显示外,对于大批量的数据更适合用Print方法输出,格式如下:对象.Print 表达式列表 ; | , 其中,对象可以是窗体、图形框或打

温馨提示

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

最新文档

评论

0/150

提交评论