【教学课件】第3章顺序结构程序设计.ppt
Visual Basic 程序设计教程,第3章 顺序结构程序设计,数据输出,1.直接输出到窗体 使用Print方法:其语法格式为对象名称.Print 表达式列表,|;【例3-1】使用Print方法在窗体中直接输出字符串或数值表达式的值,如图3-1所示。设计步骤如下。(1)建立应用程序用户界面。选择“新建”工程,进入到窗体设计器,并在窗体中增加一个命令按钮Command1,如图3-2所示。(2)设置对象属性,见表3-1。,1,图3-1 使用Print方法 图3-2 建立程序界面,表3-1 属性设置,(3)设计代码 编写命令按钮Command1的Click事件代码:Private Sub Command1_Click()Print Print 2*3+4=;2*3+4 使用“;”分割符 Print Print 欢迎学习 Print,Visual 使用“,”分割符 Print,Baisc 使用两个“,”分割符 Print Print 欢迎学习,在行末使用“,”分割符 Print Visual;Baisc“End Sub,2.与Print方法有关的函数,Tab函数 其格式为:Tab(n)例如:Print Tab(10);姓名;Tab(30);年龄(2)Spc函数。其格式为:Spc(n)例如:Print ABC;Spc(5);DEF 输出:ABC DFE,【例3-2】在上例中使用Tab函数与Spc函数。只需改写命令按钮的Click事件代码:Private Sub Command1_Click()Print Print Tab(5);2*3+4=;2*3+4 Print Print Tab(6);欢迎学习;Tab(17);Visual Baisc Print Print Tab(7);欢迎学习;Spc(3);Visual;Spc(2);BaiscEnd Sub,3.使用位置属性,【例3-3】下面程序按指定尺寸、颜色和外观,把文本输出到窗体的中间。设计步骤如下:(1)建立应用程序用户界面与对象属性的设置参见例3-1。(2)编写命令按钮的Click事件代码:Private Sub Command1_Click()Dim a As String,textW As Integer,textH As Integer FontName=隶书 输出文本的字体 FontSize=60 输出字体的大小,ForeColor=QBColor(15)输出文本的前景色,即字体的颜色 BackColor=QBColor(8)输出文本的背景色,即窗体的颜色 a=你好 输出文本的内容 textW=TextWidth(a)/2 文本的宽度TextWidth(a)textH=TextHeight(a)Command1.Height/2 CurrentX=ScaleWidth/2 textW 设置输出的水平位置 CurrentY=ScaleHeight/2 textH 设置输出的垂直位置 Print a 输出文本End Sub,4.清除方法CLS,【例3-4】在上例中使用Cls方法清除窗体中由Print方法所生成的文本,如图3-5所,图3-5 使用Cls方法,只需在上例中增加命令按钮Command2(清除),并且编写其Click事件代码:Private Sub Command2_Click()ClsEnd Sub,输出文本到图片框,【例3-5】使用Print方法在图片框中输出字符串或数值表达式的值。设计步骤如下:(1)建立应用程序用户界面。选择“新建”工程,进入窗体设计器,在窗体中增加一个图片框Picture1和一个命令按钮Command1。(2)设置对象属性,(3)设计代码。编写命令按钮Command1的Click事件代码:Private Sub Command1_Click()Picture1.Print Picture1.Print Tab(2);2*3+4=;2*3+4 Picture1.Print Picture1.Print Tab(3);欢迎学习;Tab(17);Visual Baisc Picture1.Print Picture1.Print Tab(4);欢迎学习;Spc(3);Visual;Spc(2);BaiscEnd Sub,【例3-6】在图片框中使用位置函数。设计步骤如下。(1)建立应用程序用户界面与对象属性(2)编写命令按钮的Click事件代码:Private Sub Command1_Click()Dim a As String,textW As Integer,textH As Integer Picture1.FontName=隶书 Picture1.FontSize=40 Picture1.ForeColor=QBColor(15)Picture1.BackColor=QBColor(8),a=你好 textW=Picture1.TextWidth(a)/2 文本的宽度TextWidth(a)textH=Picture1.TextHeight(a)/2 Picture1.CurrentX=Picture1.Width/2 textW 窗体的宽度属性ScaleWidth Picture1.CurrentY=Picture1.Height/2 textH 设置垂直位置为从顶部往下50twips Picture1.Print aEnd Sub,3.使用“标签”控件的输出,【例3-7】有框和无框的标签 设计步骤如下。(1)建立应用程序用户界面。选择“新建”工程,进入窗体设计器,增加一个命令按钮Command1、两个标签Label1和Label2。如图3-9左。(2)设置对象属性,见表3-3。如图3-9右。(3)编写程序代码。编写命令按钮Command1的单击(Click)事件代码:Private Sub Command1_Click()Label1.Caption=运行时改变标签的标题End Sub,表3-3 属性设置,图3-9 建立界面与设置属性,【例3-8】在上例中修改标签的属性,使之自动改变尺寸以适应其内容 只需在上例中修改Label2的属性设置,并且修改Command1的Click事件代码:Private Sub Command1_Click()Label1.Caption=运行时改变标签的标题 Label2.Caption=对于一个较长的或在运行时可能变化的标题,标签控件提供了两&_ 种属性:AutoSize和WordWrap来改变控件尺寸以适应较长或较短的标题。End Sub,基本语句,2,赋值语句LET赋值语句的一般格式为:Let名称=表达式,【例3-9】交换两个变量中的数据。设计步骤如下:建立应用程序用户界面。选择“新建”工程,进入窗体设计器,增加一个命令按钮Command1、4个标签Label1Label4。如图3-14左(2)设置对象属性,(3)编写程序代码。编写命令按钮Command1的Click事件代码:Private Sub Command1_Click()t=Label3.Caption Label3.Caption=Label4.Caption Label4.Caption=tEnd Sub,2.卸载对象与结束程序,Unload语句 Unload语句的语法格式为:Unload 对象名【例3-10】在例3-9中使用命令关闭程序窗体。设计步骤如下:只需在上例中增加一个命令按钮Command2(关闭),并且编写Command2的Click事件代码:Private Sub Command2_Click()Unload MeEnd Sub,3.注释与暂停,注释语句 语法格式为:Rem注释内容或注释内容 例如:s=pi*r 2 计算圆的面积v=4/3*pi*r 3:Rem 计算球的体积2.暂停语句其语法格式为:Stop,数据输入,3,1.使用文本框控件,【例3-11】输入球体的半径,然后计算并输出球体的体积和表面积。分析:设球的半径为r,球体积和球表面积分别为:v和f,依题义可得计算公式:、设计步骤如下:(1)建立应用程序用户界面。选择“新建”工程,进入窗体设计器,增加两个命令按钮Command1Command2、3个标签Label1Label3和3个文本框Text1Text3。,编写程序代码。编写命令按钮Command1的Click事件代码:Private Sub Command1_Click()Dim r As Single,v As Single,f As Single Const pi=3.14159 r=Val(Text1.Text)v=4/3*pi*r 3:f=4*pi*r 2 Text2.Text=v:Text3.Text=fEnd Sub 编写命令按钮Command2的Click事件代码:Private Sub Command2_Click()Unload MeEnd Sub,【例3-12】设某职工应发工资x元,试求各种票额钞票总张数最少的付款方案。分析:可以从最大的票额(100元)开始,算出所需的张数,然后在剩下的部分算出较小票额的张数,直到最小票额(1元)。设计步骤如下:(1)建立应用程序用户界面。选择“新建”工程,进入窗体设计器,增加一个命令按钮Command1、14个标签Label1Label14、7个文本框Text1Text7。(2)设置对象属性。,编写程序代码。编写命令按钮Command1的Click事件代码:Private Sub Command1_Click()x=Val(Text1.Text)x为实发工资数 y=x 100:Text2.Text=y 求百元票张数并显示 x=x 100*y 求剩余款项 y=x 50:Text3.Text=y 求五十元票张数并显示 x=x 50*y 求剩余款项 y=x 10:Text4.Text=y 求十元票张数并显示 x=x 10*y 求剩余款项 y=x 5:Text5.Text=y 求五元票张数并显示,x=x 5*y 求剩余款项 y=x 2:Text6.Text=y 求二元票张数并显示 x=x 2*y:Text7.Text=x 求一元票张数并显示End Sub编写文本框Text1的Change事件代码:Private Sub Text1_Change()Text2.Text=Text3.Text=Text4.Text=Text5.Text=Text6.Text=Text7.Text=“End Sub,使用焦点,在程序运行的时候,用户可以按下列方法改变焦点:l 用鼠标单击对象。l 按Tab键或Shift+Tab在当前窗体的各对象之间巡回移动焦点。按热键选择对象。,使用对话框,4,1.显示信息信息对话框(MsgBox),其语法格式为:变量=MsgBox(信息内容,对话框类型,对话框标题)【例3-14】使用信息对话框输出各种票额钞票张数的付款方案 只需将例3-12的窗体中多余的文本框和标签删去,并改写命令按钮的Click事件代码 Private Sub Command1_Click()x=val(Text1.Text)x为实发工资数 Y1=x 100 求百元票张数 x=x Mod 100 求剩余款项 Y2=x 50 求五十元票张数,x=x Mod 50 求剩余款项 Y3=x 10 求十元票张数 x=x Mod 10 求剩余款项 Y4=x 5 求五元票张数 x=x Mod 5 求剩余款项 Y5=x 2 求二元票张数 x=x Mod 2 求一元票张数,Text1.SetFocus a=&Chr(13)a=a&Format(Y1&张 百元票,)&_ Format(Y2&张 50元票,)&Chr(13)a=a&Format(Y3&张 10元票,)&_ Format(Y4&张 5元票,)&Chr(13)a=a&Format(Y5&张 2元票,)&_ Format(x&张 1元票,)&Chr(13)a=a&=&Chr(13)a=a&共计&Text1.Text&元 c=MsgBox(a,0,应发工资)End Sub,2.输入数据输入框(InputBox),其语法格式为:变量=InputBox(信息内容,对话框标题,默认内容)【例3-15】编制华氏温度和摄氏温度相互转换的程序。利用输入框输入温度.设计步骤如下:(1)建立应用程序用户界面与设置对象属性。选择“新建”工程,进入窗体设计器,增加两个命令按钮Command1Command2和一个标签Label1。其属性的设置参见图3-26,图3-26 温度的转换,(2)编写事件代码。编写“摄氏转华氏”命令按钮Command1的Click事件代码:Private Sub Command1_Click()c=Val(InputBox(请输入摄氏温度值:,摄氏转华氏,0)f=32+9*c/5 Label1.Caption=摄氏&c&度=华氏&Format(f,#.#)&度End Sub,编写“华氏转摄氏”命令按钮Command2的Click事件代码:Private Sub Command2_Click()f=Val(InputBox(请输入华氏温度值:,华氏转摄氏,0)c=5*(f 32)/9 Label1.Caption=华氏&f&度=摄氏&Format(c,#.#)&度End Sub,【例3-16】“鸡兔同笼”问题。鸡有2只脚,兔有4只脚,如果已知鸡和兔的总头数为h,总脚数为f。问笼中鸡和兔各有多少只?如图3-27所示。,图3-27“鸡兔同笼”问题,分析:设笼中有鸡x只,兔y只,由条件可得方程组x+y=h解方程组得 设计步骤如下:(1)建立程序界面与设置对象属性。选择“新建”工程,进入窗体设计器,首先增加3个标签Label1label3和一个命令按钮Command1。其属性设置参见图3-27。,(2)编写程序代码。编写命令按钮Command1的Click事件代码:Private Sub Command1_Click()Dim h As Integer,f As Integer h=Val(InputBox(鸡和兔的总头数,请输入,0)f=Val(InputBox(鸡和兔的总脚数(偶数),请输入,0)x=(4*h f)/2 y=(f 2*h)/2 Label2.Caption=设笼中鸡和兔的总头数为&h&,总脚数为&f&。Label3.Caption=则笼中鸡有&x&只,兔有&y&只。End Sub,习题三 以下各章习题均要求先写出流程图,然后根据流程图写出程序。3.1 顺序结构的特点是什么?请举一个生活中符合顺序结构的例子,并且用流程图描述之。3.2 下列哪组语句可以将变量A、B的值互换?(1)A=B:B=A(2)A=A+B:B=A B:A=A B(3)A=C:C=B:B=A(4)A=(A+B)/2:B=(A B)/2,3.3 理解Top、Left与BackStyle属性。利用标签制作阴影文字效果。如图3-29(左)所示程序启动后,在窗体上显示出不带阴影的文字“喜迎千禧年”。单击“效果1”按钮后文字出现黑色的阴影,如图3-29(中)所示。单击“效果2”按钮后文字阴影的间距加大,如图3-29(右)所示。,图3-29 阴影文字效果,3.4 向一个RC串联电路充电,电容上的电压为:U0为直流电源的电压。求在t=1s时(R=500k,C=10f)U/U0的值。3.5 理解大小写转换函数。在文本框中输入英文字母,按“转大写”按钮,文本变为大写,按“转小写”按钮,文本变为小写。3.6 在文本框中输入3种商品的单价、购买数量,计算并输出所用的总金额。3.7 在文本框中输入小时、分、秒,化成共有多少秒,然后输出之。,3.8 在文本框中输入弧度值,将弧度换算为角度值(度、分、秒)的形式,然后输出。如弧度值为1.474919573,化为角度的方法为(1)先将弧度值变成十进制,1.474919573(180/)=84.50666665(2)去掉整数部分84,余0.50666665。(3)用0.5066666560=30.399999。(4)去掉30,余0.399999。(5)用0.39999960=23.99994 24(6)最后将84、30、24拼接成8430 24。),3.9 在文本框中输入长、宽、高,求长方体的表面积,并输出 3.10 在习题3.4中使用对话框函数Msgbox()输出计算的结果。3.11 在习题3.5中使用对话框函数Msgbox()输出转换结果。3.12 在习题3.7中使用对话框函数InputBox()输入时间的小时、分钟、秒钟数。3.13 编程序输出在指定范围内的3个随机数,范围在文本框中输入。,