1、第八课 综合运用(附(附P37练一练及乘法练习的练一练及乘法练习的VB源程序)源程序)九年级信息技术(九年级信息技术(VB)学习目标学习目标掌握随机数产生的方法熟练运用选择结构设计程序熟练运用循环结构设计程序复习复习语句组条件?NY条件?语句1语句2YN选择结构循环结构任务分析任务分析单击“出题”命令按钮,随机产生10以内的乘法练习题。运行效果如图所示随机函数随机函数Rnd产生一个大于等于0且小于1的小数。生成某个范围内的随机整数,可使用以下公式:Int(Rnd*(Max-Min+1)+Min)(其中Max为数据范围的上限,Min为下限)试一试试一试用Rnd函数表示产生范围为19之间的随机整数
2、Private Sub Command1_Click()Dim a As IntegerMax=9Min=1Randomize 随机种子初始化a=Int(Rnd*(Max-Min+1)+Min)Print a;End Sub界面设计界面设计Label2Label1Command1对象名属性名属性值Form1Caption乘法练习Picture(根据路径选择)Label1Caption乘法练习BackStyle0-transparentLabel2caption(空)BorderStyle1-fixed SingleBackColor&H00C0FFFF&Command1Caption出题属性设
3、计属性设计编写代码编写代码Private Sub Command1_Click()Dim s As StringDim a,b As IntegerLabel2.Caption=清空显示内容Randomize 随机种子初始化For i=0 To 19a=Int(Rnd*9+1)产生乘数b=Int(Rnd*9+1)产生乘数s=a&“-”&b&“=”产生一个乘法练习式Label2.Caption=Label2.Caption&s&写入显示框If i Mod 4=3 Then 一行显示4个练习式Label2.Caption=Label2.Caption&vbCrLfEnd IfNext iEnd S
4、ub试一试试一试将例子改为10以内的减法练习,要求被减数大于等于减数Private Sub Command1_Click()Dim s As StringDim a,b As IntegerLabel2.Caption=清空显示内容Randomize 随机种子初始化For i=0 To 19a=Int(Rnd*9+1)产生减数(或被减数)b=Int(Rnd*9+1)产生减数(或被减数)If a=b Thens=a&-&b&=产生一个减法练习式ElseIf a a Then s=太大了,请重新输入 ElseIf b 10 Then 猜题结束 MsgBox 很遗憾,(答案是&a&)&vbCrLf&
5、猜题结束,vbInformation,猜一猜 End IfEnd Sub参考答案一源程序参考答案一源程序参考答案二界面参考答案二界面 Dim i As IntegerPrivate Sub Command1_Click()Dim a As Integer Randomize 初始化随机种子 a=Int(100*Rnd)随机产生一个100以内的整数 Text1.Text=a 把随机数的值赋给文本框1.i=10End SubPrivate Sub Command2_Click()Text1.Visible=TrueEnd SubPrivate Sub Command3_Click()Text1.V
6、isible=FalseEnd SubPrivate Sub Command4_Click()Dim a,b As Integer a=Text1.Text 获取系统产生的随机数,并赋给变量a b=Val(Text2.Text)把用户输入的值赋给变量b If b a Then i=i-1 Label3.Caption=猜大了,改小点,再试试 Else:Label3.Caption=恭喜你,你猜对了!你可以点击显示答案按钮 End IfIf i=1 Then MsgBox 注意:你猜测的次数已经超过10次了!,2+vbExclamation,错误提示 End Sub参考答案二源程序参考答案二源程
7、序随机产生随机产生10个不同的两位数个不同的两位数(1099),并输出),并输出练一练练一练2 2 参考答案一参考答案一注:这个题目要求注:这个题目要求太高,要用到数组。太高,要用到数组。所以不合适。所以不合适。练一练2 参考答案一参考答案一VB源程序Private Sub Command1_Click()Cls Dim a(1 To 10)As Integer For i=1 To 10 Randomize a(i)=Int(Rnd*90+10)For j=1 To i-1 If a(i)=a(j)Then i=i-1 Exit For End If Next j Next i For i=
8、1 To 10 Print a(i);Next i End Sub注:降低要求把题目注:降低要求把题目改为:随机产生改为:随机产生1010个个两位数(两位数(10991099),),并输出。并输出。练一练练一练2 2 参考答案二参考答案二Private Sub Command1_Click()Private Sub Command1_Click()Dim a As IntegerDim a As IntegerRandomizeRandomizeFor i=1 To 10For i=1 To 10a=Int(Rnd*90+10)a=Int(Rnd*90+10)Print aPrint aNext iNext iEnd SubEnd Sub练一练练一练2 2 参考答案二参考答案二VBVB源程序源程序
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。