欢迎来到天天文库
浏览记录
ID:40239479
大小:3.16 MB
页数:79页
时间:2019-07-28
《Visual Basic程序设计教程 邱李华 郭全 vb第06章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章常用算法及应用程序举例6.1选择结构程序举例6.2循环结构程序举例6.3数组应用程序举例16.1选择结构程序举例【例6-1】求一元二次方程ax2+bx+c=0的根。(1)问题分析:输入方程的3个系数a、b、c,进行如下判断:①如果a=0,且b=0,则……或b≠0,则……②如果a≠0,且b2−4ac=0,则……或b2−4ac>0,则……或b2−4ac<0,则……2(2)界面设计(3)代码设计:根据前述的分析可知,单击“求解”按钮后将开始求根过程,代码应写在“求解”按钮Command1的Click事件过程中。3PrivateSubCommand1_Click()'输入系数a、b、
2、cA=Val(Text1.Text):B=Val(Text2.Text):C=Val(Text3.Text)Cls'清除窗体CurrentX=600:CurrentY=1100'确定窗体的当前打印坐标IfA=0ThenIfB=0Then'如果A=0和B=0,给出提示并选中Text1中文本MsgBox"系数为零,请重新输入"Text1.SetFocusText1.SelStart=0:Text1.SelLength=Len(Text1.Text)Else‘如果A=0,B≠0,求出X=−C/B,并打印在窗体上X=−C/BPrint"X=";Format(X,"0.000")EndIfE
3、xitSub'退出本事件过程EndIf4'如果系数A≠0,根据B^2-4*A*C的不同值求解Delta=B^2-4*A*CSelectCaseDeltaCase0'Delta为0,有两个相等的实根-B/(2*A)Print"X1=X2=";Format(-B/(2*A),"0.000")'打印CaseIs>0'Delta大于0,有两个不等的实根X1=(-B+Sqr(Delta))/(2*A)'求第1个根X2=(-B-Sqr(Delta))/(2*A)'求第2个根Print"X1=";Format(X1,"0.000")'打印第1个根CurrentX=600:CurrentY=130
4、0'确定第2个根的打印坐标Print"X2=";Format(X2,"0.000")'打印第2个根CaseIs<0'Delta小于0,有两个共轭复根A1=-B/(2*A)'求实部A2=Sqr(Abs(Delta))/(2*A)'求虚部Print"X1=";Format(A1,"0.000");"+";Format(A2,"0.000");"i"5CurrentX=600:CurrentY=1300'确定第2个根的打印坐标Print"X2=";Format(A1,"0.000");"-";Format(A2,"0.000");"i"EndSelectEndSub(4)运行结果6【例6
5、-2】 安全口令认证。(1)问题分析:要完成这一功能,程序常需要具备以下功能:①接收用户输入的口令,口令字符不应直接显示在窗体上。②限定口令字符串的最大长度。③验证口令的正确性,对比较结果给出相应的操作或提示。④限定用户输入错误口令的次数。7(2)界面设计8(3)代码设计本例设计为运行时在用户输入完口令并按下Enter键,或单击“确定”按钮后都可以实现对口令的验证。如果用户输入的口令正确,则显示窗体Form2如果口令错误,则需要进一步判断错误次数是否达到了规定的次数,如果已经达到规定次数,则……;如果没有达到规定的次数,则……。9DimIAsInteger'I用于累计口令错误的次数
6、PrivateSubCommand1_Click()kl=UCase(Trim(Text1.Text))'去掉口令字符串前后的空格,并将口令转换为大写Ifkl="ABCD"Then'假设口令为“ABCD”I=0Form2.ShowElse'如果口令错误IfI>=2Then'如果前面已经输入两次错误口令MsgBox"对不起,您不能使用本系统"EndElseForm1.Caption="口令错,请重新输入"I=I+1Text1.SetFocus:Text1.SelStart=0:Text1.SelLength=Len(Text1.Text)EndIfEndIfEndSub10Priva
7、teSubText1_KeyUp(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=13Then'如按下“Enter”键kl=UCase(Trim(Text1.Text))Ifkl="ABCD"ThenI=0Form2.ShowElseIfI>=2ThenMsgBox"对不起,您不能使用本系统"EndElseForm1.Caption="口令错,请重新输入"I=I+1Text1.SelStart=0:Text1.SelLength=L
此文档下载收益归作者所有