




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE§3.5基本语句【教学目标】通过运用VB的基本语句编制中小型程序,来培养和训练学习者的编程能力。【教学要求】了解:表达式、函数的概念。理解:控制程序流程的三种程序结构的程序执行过程。掌握:赋值语句、条件语句、循环语句的使用;两个交互性函数的使用方法。【本节重点】两个交互性函数的使用方法。条件语句的嵌套。循环语句的不同使用格式及区别;循环嵌套的使用及注意事。一、赋值语句格式:<变量名>=<表达式>功能:先计算表达式的值,然后将表达式的值赋给赋值号左边的变量。二、与用户交互的函数和过程VB与用户交互可以通过InputBox函数、MsgBox函数和MsgBox过程进行。1、InputBox函数格式:InputBox(提示信息[,标题][,缺省][,X坐标位置][,Y坐标位置])说明:(1)提示信息:不可省略;(2)标题:若省略标题,系统将自动以应用程序名代之;(3)缺省:“确省”表示输入过程中的默认值。即若用户没有在输入对话框中输入任何值,则以该确省值作为输入的内容;X坐标位置,Y坐标位置用于确定InputBox对话框在计算机屏幕上的位置。注意:①各参数次序必须一一对应,若省略某项,也要使用“,”占位。②函数返回字符型数据。③若程序运行时按下“取消”按钮,则函数无值。例:在InputBox函数的使用中设置输入的默认值为“男”。DimTSAsStringTS=InputBox("请输入性别",,"男",100,100)2、MsgBox函数格式:MsgBox(提示[,按钮][,标题])3、MsgBox过程格式:MsgBox提示[,按钮][,标题](1)MsgBox函数和MsgBox过程中语法格式项说明其中函数和过程中的“提示信息”不可省略;若省略标题,系统将自动以应用程序名代之。其中函数和过程中“按钮”项的值用VB系统常数表示,常用的有:0-VbOkOnly(只显示“确定”按钮)1-VbOkCancel(显示“确定”、“取消”按钮)2-VbAboutRetryIgnore(显示“终止”、“重试”、“忽略”按钮)3-VbYesNoCancel(显示“是”、“否”、“取消”按钮)4-VbYesNo(显示“是”、“否”按钮)5-VbRetryIgnore(显示“重试”、“忽略”按钮)(2)MsgBox函数和MsgBox返回值说明由于MsgBox函数和MsgBox过程均具有人机交互的功能,因此两者均有返回值,返回值可以用VB系统常数及其数值代码表示。返回的VB系统常数及其数值代码表如下:1-VbOk(表示用户按“确定”按钮)2-VbCancel(表示用户按“取消”按钮)3-VbAbout(表示用户按“终止”按钮)4-VbRetry(表示用户按“重试”按钮)5-VbIgnore(表示用户按“忽略”按钮)6-VbYes(表示用户按“是”按钮)7-VbNo(表示用户按“否”按钮)MsgBox函数和MsgBox过程是VB中十分重要的对话框,两者的功能和对话框界面都相同,只是在书写格式和编制判断程序时有所区别。例:编制一个输入密码程序。人机界面是一个窗体,命令按钮Command1表示输入密码“确认”功能。设计要求是:设用户的操作密码是:ABCD,当用户三次输入错误,显示警告信息,并退出程序。PrivateSubCommand1_Click()Dimi,jAsIntegerDimmmAsStringmm=InputBox("请输入密码",,,2000,2000)j=1DoWhilej<=2IfUCase(mm)<>"ABCD"Theni=MsgBox("输入错误!是否重新输入?",VbYesNoCancel,"输入密码")Ifi<>6ThenEndElsemm=InputBox("请输入密码",,,2000,2000)j=j+1EndIfElseMsgBox"输入正确"EndEndIfLoopMsgBox"非法操作者!!!",48EndSub三、选择结构1、If—Then语句(1)形式1:If<条件>Then<语句组>EndIf(2)形式2:If<条件>Then<语句>说明:If—Then语句中的“条件”一般是逻辑表达式或关系表达式,如果是数值表达式,当表达式值非零时为True。例:用If—Then语句判断x和y变量值的大小,若x的值小于y,则将两变量中的值互换。下面用If—Then语句的“形式1”和“形式2”分别编制判断和互换的程序语句:形式1:形式2:Ifx<ythenIfx<ythent=x:x=y:y=tt=x:x=y:y=tEndif2、If—Then—Else语句形式1:If<条件>Then<语句组1>Else<语句组2>EndIf形式2:If<条件>Then<语句1>Else<语句2>例:编程输入a,b,c的值,求一元二次方程ax2+bx+c=0的解。PrivateSubCommand1_Click()Dima,b,c,d,x1,x2AsSinglea=InputBox("输入a的值",,,1000,1000)b=InputBox("输入b的值",,,1000,1000)c=InputBox("输入c的值",,,1000,1000)d=b*b-4*a*cIfd>0Thenx1=(-b+Sqr(d))/2/ax2=(-b-Sqr(d))/2/aPrint"x1=";x1,"x2=";x2ElseMsgBox"输入有错",,2EndIfEndSub3、If—Then—ElseIf语句语句形式:If<条件1>Then<语句组1>ElseIf<条件2>Then<语句组2>ElseIf<条件3>Then<语句组3>……[Else语句组n+1]Endif例:设已在strC中存入了一个字符,编程判断该字符是英文字母、数字、其它,并显示结果。IfstrC>="a"andstrC<="z"orstrC>="A"andstrC<="Z"ThenPrintstrC+"是英文字母"ElseIfstrC>="0"andstrC<="9"ThenPrintstrC+"是数字ElsePrintstrC+"是其它字符"Endif4、If语句的嵌套例:编程比较三个变量x,y,z的大小,并按从小到大的顺序排列,结果仍存放在x,y,z变量中。Ifx>yThent=x:x=y:y=tIfx>zThent=x:x=z:z=tEndIfIfy>zThent=y:y=z:z=tEndIfElseIfx>zThent=x:x=z:z=tEndIfIfy>zThent=y:y=z:z=tEndIfEndIf5、SelectCase语句语句形式:SelectCase<变量或表达式>Case表达式列表1<语句组1>Case表达式列表2<语句组2>……Case表达式列表n<语句组n>[CaseElse语句组n+1]EndSelect例:编程判断strC中字符的类型。SelectCasestrCCase"a"to"z","A"to"Z"PrintstrC+"是英文字母"Case"0"to"9"PrintstrC+"是数字CaseElsePrintstrC+"是其它字符"EndSelect6、条件函数(1)IIf函数形式:IIf(<条件表达式>,<表达式为真>,<表达式为假>)例:编程将x,y中值较大者的值赋给z。z=IIf(x>y,x,y)(2)Choose函数形式:Choose(<字符类型变量>,<值为1的返回值>,<值为2的返回值>,……)例:假设变量Nop中存放了1、2、3、4中的某一个值,编程将变量Nop中的值转换成算术四则运算符,其中1转换为+;2转换为-;3转换为×;4转换为÷,并将转换结果存放到OP变量中。Op=Choose(Nop,"+","-","×","÷")四、循环结构1、For—Next语句语句形式:For<循环变量>=<初值>To<终值>[Step步长]<语句组1>[exitfor]<语句组2>Next[循环变量]注意:若缺省“Step步长”选项,系统默认步长为1。例:编程计算1到100中奇数之和。Dimi,sAsIntegers=0Fori=1To100Step2s=s+iNextiPrints例:编程将ASCII码制成表格在图形控件Picture1中输出,每行打印7个字符。PrivateSubPicture1_Click()Dimasc,IAsIntegerPicture1.PrintTab(30);"ASCII码对照表"Picture1.PrintForasc=32To126Picture1.PrintTab(10*I+2);Chr(asc);"=";asc;I=I+1IfI=7ThenI=0Picture1.PrintEndIfNextEndSub2、Do-Loop语句语句形式:DoWhile<循环条件><语句组1>[exitdo]<语句组2>LoopDo-Loop循环语句在执行时先判断循环条件,若循环条件为真,执行循环体内的语句,否则终止循环。例1:编程计算自然对数e的近似值,要求计算的误差小于0.000001,计算自然对数e的公式为:e=1+1/1!+1/2!+1/3!+1/4!+…+1/n!+…。PrivateSubCommand1_Click()Dimi,nAsIntegerDime,sAsDoubles=1e=1DoWhiles>0.000001i=i+1s=s/ie=e+sLoopPrinteEndSub例2:编程用转辗相除法求两个正整数m,n的最大公约数和最小公倍数。求两个正整数m,n的最大公约和最小公倍数的算法如下:求两个正整数m,n的最大公约数算法:第一步:对已知的m和n,先使m>n.;第二步:m除以n,得余数r;第三步:若r=0,则n为所求的最大公约数,计算结束;否则将n的值赋值给m,将r的值赋值给n,然后重复执行第二步,直至r=0。求两个正整数m,n的最小公倍数算法:当取得m和n的最大公约数后,将m和n相乘再除以最大公约数就可得到m和n的最小公倍数。求两个正整数m,n的最大公约数和最小公倍数的源程序如下:PrivateSubCommand1_Click()Dimm,n,p,mnAsIntegerm=Val(Text1)n=Val(Text2)Ifm<=0Orn<=0ThenEnd Ifm<nThent=m:m=n:n=tDoWhile(n<>0)r=mModnm=nn=rLoopPrint"最大公约为";nPrint"最小公倍为";m*n/nEndSub在循环结构中,VB还有Do-Until等循环语句,由于语句的功能与上述两种循环语句基本相同,不再赘述,感兴趣的同学可自学。3、循环的嵌套在一个循环体内又包含一个完整的循环结构称为循环的嵌套。循环的嵌套是编程中常用技术,是每一个计算机程序设计员必须掌握的技术。计算机语言中,循环可以并列,可以嵌套,但不能相交。例1:古代数学中有一个“百文买百鸡”的问题,题目是:“鸡翁一值三文,鸡母一值二文,鸡雏三值一文,问:百文买百鸡,各买几何?”。用现代数学方法来考虑这一问题,可以发现这是一个简单的三元一次方程组的求解问题,方程组的数学公式为:设公鸡买X只,母鸡买Y只,小鸡买Z只,根据已知条件可列出以下方程组:X+Y+Z=100其中X的取值范围:1-33;Y的取值范围:1-50; 3X+2Y+Z/3=100 其中Z的取值范围:1-99。由于方程组中有三个未知量,而方程只有两个,因此方程为多解。解该方程的程序如下:PrivateSubCommand1_Click()DimX,Y,ZAsIntegerForX=1To33ForY=1To50ForZ=1To99If3*X+2*Y+Z/2=100AndX+Y+Z=100ThenPrintX,Y,ZEndIfNextEndSub例2:用循环语句编制一个在图形控件Picture1中打印“九九乘法表”的程序。PrivateSubPicture1_Click()DimssAsStringPicture1.PrintTab(40);"九九乘法表"Picture1.PrintFori=1To9Forj=1Toiss=j&"X"&i&"="&i*jPicture1.PrintTab(j*8);ss;NextPicture1.PrintPicture1.PrintNextEndSub五、其它辅助控制语句1、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025企业的租赁合同范本(合同版本)
- 2025年个人住房公积金购房借款合同示范文本
- 2025-2030美容霜项目可行性研究报告
- 2025林产品收购合同(合同范本)
- 2025-2030纺织印染助剂市场发展分析及行业投资战略研究报告
- 2025-2030红葡萄酒行业发展分析及投资价值研究咨询报告
- 2025-2030糖果行业市场发展分析及前景趋势与投资研究报告
- 2025-2030粉末涂层卫生间隔断行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030砂轮片行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030电子考场系统行业发展分析及投资战略研究报告
- 新视野大学英语(第四版)读写教程2(思政智慧版) 课件 Unit3 The young generation making a difference Section A
- 典型事例500字六年级
- 危险化学品储存配存表
- 从业人员晨检记录记录簿
- 某工程水池混凝土池壁裂缝原因分析
- 大课间跑操评分表
- 分户验收最大偏差、极差自动计算表
- 中级会计实务第十一章收入
- 电动葫芦的安全操作措施
- 中建八局建筑工程绿色施工技术及管理手册(420余页 图文并茂)
- 明尼苏达心力衰竭生活质量问卷表
评论
0/150
提交评论