《Visual Basic程序设计》课件第3章_第1页
《Visual Basic程序设计》课件第3章_第2页
《Visual Basic程序设计》课件第3章_第3页
《Visual Basic程序设计》课件第3章_第4页
《Visual Basic程序设计》课件第3章_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

基本语句

选择结构

多路分支结构循环结构

主要内容[案例3-1]打印输出

通过这个简单的程序,可以掌握VisualBasic中常用的几种基本语句,包括赋值语句、打印语句、注释语句、结束语句等。

1.1案例说明程序执行时,单击窗体的任何一个位置,顺序执行“窗体单击”事件中相应的语句,执行后在窗体上会显示数字的不同排列以及不同的符号组合。这些不同数字和符号,是通过赋值语来取得数据,按照语句的先后顺序执行这些赋值语句,通过打印语句以及打印控制语句来完成输出,在指定的位置显示相应的符号。

1.2程序实现

1.界面设计 新建一个工程,系统默认产生了一个新窗体,无需添加其它控件。窗体的属性采用系统的默认值。2.代码设计PrivateSubForm_Click() a=12345 b=54321 a=b b="12345" Printa Printb Print a="@":b="#":c="$" Printa;b;c Print Printa,b,c Print PrintTab(2);a;Space(4);b;Space(8);cEndSub1.3相关知识

1.赋值语句:为变量提供数据,设置对象的属性。 变量名=表达式(为变量提供数据)。

[对象名.]属性名=表达式(为对象设置属性)2.输出语句:可以把运算结果传送到窗体、图片框等对象显示,也可传送到打印机用于打印。Print的格式为:

[<对象名>.]Print[<表达式1>[,|;[<表达式2>]…]]几点说明:3.Cls方法:清除窗体或图片框上的文本或图形。格式如下:

[<对象名>.]Cls4.注释语句: 在VB中用“‘”或Rem标识。5.结束语句:End1.4拓展知识

1.赋值相容问题:2.与Print语句有关的函数:1.5案例1-2

这个程序可以观察“重叠显示”和“覆盖显示”两种输出方式。相关知识:1.如需要保留原来显示的内容,或者需要部分覆盖原来的图案。可设置窗体对象的FontTransParent属性来实现。格式为:

[<对象名>.]FontTransParent[=True|False]2.CurrentX和CurrentY属性的作用是设置下一次显示或打印的水平和垂直坐标。格式为:

[<对象名>.]CurrentX[=X] [<对象名>.]CurrentY[=Y]返回2.1求解一元二次方程案例说明一元二次方程ax2+bx+c=0的根取决于它的三个系数a、b、c。根据三个系数的具体值,判断出该一元二次方程的根的情况。当a=0时不构成一元二次方程,只有一个根;当a≠0时,根的情况要计算b2-4ac的值。

b2-4ac>0时,方程有两个不相等的实根,

b2-4ac=0时,该方程有两个相等的实根,

b2-4ac<0时则没有实根。 该程序要求从键盘输入a、b、c三个系数,根据上述的几种情况做出不同的判断和处理,然后把这个方程的根显示出来。2.2程序实现

1.界面设计:单击窗体后,显示一个输入框,从键盘输入所需要的3个系数a、b和c,然后进行计算。2.代码设计:2.3相关知识

选择结构就是根据给定的“条件”是否满足,从两种或多种可能的操作方案中选择一种操作执行。包括:1.行If:If<条件>Then<语句1>[Else<语句2>]2.块If语句: If<条件>Then <语句块1> [Else <语句块2> EndIf

块If语句的几点说明:条件满足?语句块1语句块2EndIf语句TF2.3相关知识

3.ElseIf结构:可以解决多层嵌套问题。格式为:

If<条件1>Then <语句块1> ElseIf<条件2>Then <语句块2> …… ElseIf<条件n>Then <语句块n> [Else <语句n+1> EndIfFT条件2语句块2F……T条件n语句块n+1语句块nEndIf条件1语句块1FT小结:两种结构的对比。本案例中求解一元二次方程的根的算法中,前述的块If嵌套的代码可以改为如下ElseIf结构,对比一下可以看出,用ElseIf结构取代块If嵌套结构可以使得代码的层次变得简单了。返回3.1判定成绩案例说明从键盘输入一个学生的成绩,按照不同的分数区域,给出不同的等级。例如分数≥90时,给出的等级是“优秀”,80≤分数<90时等级为“良好”,70≤分数<80时等级为“中等”,60≤分数<70给出的等级为“及格”,而当分数<60时,则为“不及格”。也就是说根据给定的条件不同,有5种选择,采用多路分支结构语句。3.2程序实现1.界面设计:添加2个命令按钮和1个标签。设置2个命令按钮的Caption属性。标签Lable1的Caption属性设置为空。单击“单击输入分数”按钮,显示一个输入框。等待输入成绩,在输入框中输入成绩后,单击输入框中的“确定”按钮,则在窗体的标签上显示这个分数所在的档次,单击另一个“退出”按钮,则退出程序的执行。2.代码设计:对两个命令按钮的单击事件进行编程。

3.3相关知识1.SelectCase语句:又称为情况语句。一般格式为:

SelectCase<测试表达式> Case<表达式列表1> <语句块1> Case<表达式列表2> <语句块2> …… Case<表达式n> <语句n> [CaseElse <语句块n+1> EndSelect测试表达式=?语句块1语句块2语句块i语句块n+1语句块n3.3相关知识“测试表达式”可以是字符串表达式,也可以是数值表达式,而且在进入SelectCase结构时必须具有确定的值。“表达式列表”形式有3种情况:(1)可以是一个表达式,也可以是多个表达式,但必须用逗号隔开。例如:

Case2,4,6,8

表示测试表达式的值等于2,4,6,8之一,就算满足。(2)表达式1To表达式2。一般情况下,表达式1的值小于表达式2的值。例如:

Case-20To20

表示“-20≤测试表达式≤20”。(3)Is关系运算符表达式。例如:

CaseIs>=a+b

表示测试表达式的值大于等于a+b。3.3相关知识SelectCase情况语句可以应用于要处理的问题需要从多个可能的方案中选择,虽然用嵌套的If语句以及ElseIf语句也可以实现多路选择的结构,但书写和阅读起来会显得比较杂乱,而使用SelectCase语句将使得程序的结构更为清晰。比如在上一节介绍的求解一元二次方程根的程序,当a、b、c确定且a≠0时,构成一元二次方程,根的值取决于b2-4ac的值。b2-4ac有三种可能,等于0、大于0和小于0。如果用SelectCase语句实现,可以编写代码如下:3.4拓展知识在使用SelectCase语句处理多路分支问题时,应避免不同的Case子句中的条件和相应的操作出现矛盾。VB系统是按照Case出现的次序,从上往下依次检查测试表达式的值是否与某个Case子句指定的条件匹配,当发现一个Case子句具备匹配的条件后,其他的Case子句都不起作用。而这种逻辑上的错误系统是不会去检查的,因此,在使用SelectCase语句时就要避免类似情况的出现。返回4.1验证歌德巴赫猜想案例说明素数的特征是只能被1和它本身整除。验证p是否是素数,我们只需在2到p-1之间能否找到一个能整除p的数,如果有,则p不是素数,如果没有,则p就是一个素数,然后设置一个p是素数的标志fp=True。也就是说用2到p-1的各整数去除p,判断余数是否为零,如果余数为零,则肯定能被整除。在寻找2到p-1之间的一个能被p整除的数,就是要把2到p-1的所有的数都作为被除数p的除数,进行除法运算。这是一个重复循环的过程,需要循环结构进行程序的流程。而且这样的过程也是循环的,因为6到100之间的偶数都需要寻找这样的两个素数,因此需要使用循环的嵌套来实现。4.2

程序实现

1.界面设计:在窗体上添加一个命令按钮,把命令按钮的标题属性改为“验证猜想”,其余的属性采用系统的默认值。然后调整命令按钮到合适的位置。2.代码设计:在这个程序中同时使用了选择结构和循环结构以及循环结构的嵌套。因为是要验证6到100之间的所有偶数,设偶数为n,且从6一直变化到100,采用了For循环。然后分别寻找这样的两个素数p和q,且n=p+q,使用DoLoop循环,当两个素数都找到了,则显示这个偶数用相应的素数相加的形式显示出来。用Print语句按照标准格式输出,每输出4个表达式则换行,设置一个循环变量来控制打印输出,采用For循环控制换行。4.3相关知识1.循环结构:一段程序不止执行一次,重复执行多次,被重复执行的部分称为循环体。循环控制结构的功能就是控制在什么条件下进入循环、什么情况下退出循环。VB提供三种: (1)While……Wend循环语句; (2)Do……Loop循环语句; (3)For……Next循环语句。下面我们对这三种循环分别加以说明:4.3相关知识2.While……Wend循环

While循环的一般格式为:

While<条件> Wend执行过程:应用举例:注意事项:F计算“条件”的值条件是否为真?执行循环体T4.3相关知识3.Do……Loop循环:可以使用“While<条件>”和“Until<条件>”来控制循环,“While<条件>”和“Until<条件>”可以放在Do语句中,也可以放在Loop语句中,使用十分方便。Do循环有两种语句格式:格式1:

DoWhile|Until<条件> [<循环体>] Loop这种格式的Do循环是“先判断,后执行”。执行循环体条件是否为真?FTFT条件是否为真?执行循环体4.3相关知识3.Do……Loop循环:格式2:

Do [<循环体>] LoopWhile|Until<条件>“先执行,后判断”。Do……LoopWhile循环是先执行一次循环体,然后判断条件是否为“真”,如果为“真”,则再执行循环体,如果为“假”,则退出循环;Do……LoopUntil循环是先执行一次循环体,然后判断条件是否为“假”,直到条件为“真”为止。这种结构的循环总是至少会执行一次循环体。FT执行循环体条件是否为真?执行循环体TF条件是否为真?4.3相关知识Do……Loop循环的应用实例:4.3相关知识4.For……Next循环

While……Wend循环和Do……Loop循环是用指定的条件是否满足来控制循环的,循环体的执行次数是未知的。如果事先已经知道应循环的次数,可以采用For……Next循环。格式为:

For<循环变量>=<初值>To<终值>Step<步长> [循环体] Next<循环变量>4.3相关知识For……Next循环的几点说明:(1)循环变量也称为循环控制变量,必须为数值型。(2)循环变量的初值、终值和步长可以是常量、变量或表达式。(3)For语句称为“循环起始语句”,它的作用是确定循环变量的值如何变化,从而控制循环的次数;Next语句是“循环终端语句”,它的作用是标志循环结构的范围。(4)For语句和Next语句之间的语句块就是循环体,且For和Next必须成对出现,缺一不可。(5)For语句中的“循环变量”与Next语句中的“循环变量”必须是同一个变量,每次循环执行到Next语句时,循环变量按步长Step增值。(6)步长Step可以为负数,但不可为0,否则出现死循环。如果步长Step为1时,则“Step1”可以省略。4.3相关知识For……Next循环的执行过程:(1)首先执行For语句。For语句的作用包括给循环变量赋以初值,将初值与终值做比较,以判断是否执行循环体,并自动记下终值和步长。(2)如果循环变量的值没有超过终值,则执行一次循环体,如果超过终值就结束循环,执行Next后面的语句。(3)执行Next语句,Next语句相当于“循环变量+步长→循环变量”,将循环变量增加一个步长再赋给循环变量,再判断循环变量的值是否超过终值,如果没有超过,则执行循环体,如果超过,则退出循环。

循环变量获得初值循环变量超过终值?执行循环体循环变量增加步长TF4.3相关知识For……Next循环的注意事项:(1)For循环的循环体内不应再有给循环变量的赋值操作,否则将会影响原有的循环控制状况。(2)在For循环中,循

温馨提示

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

评论

0/150

提交评论