VB程序设计练习题 |
您所在的位置:网站首页 › 10以内相邻数题试卷 › VB程序设计练习题 |
文章目录
目录 文章目录 前言 内容 一、明文密文转换。 二、大小写互相转换。 三、三角形的综合问题。 五、标签左右移动。 六、相邻数加起来为素数。 七、通项分母(累加). 八、判断降序数。 九、产生数组,求最大数。 十、奇偶排序。 总结: 前言这是我备考技能考的一些VB练习题。(难度稍微有点大哦) 想要更多VB练习题点击我的头像,看我发表我文章就可以看到了。 答案是小编自己写的,也许会有错。 内容 一、明文密文转换。在上面的文本框中输入的英文字母(称为”明文")加密,加密结果(称为"密文")显示在下面的文本框中。加密的方法是:选中一个单选按钮,单击“加密”按钮后,根据选中的单选按钮后面的数字n,把明文中的每个字母改为它们后面第n个字母("z"后面的字母认为是"a","Z"后面的字母认为是"A"),如图所示。 答案: Private Sub Command1_Click() For i = 1 To Len(Text1.Text) If Option1.Value = True Then a = Mid(Text1.Text, i, 1) b = Asc(a) + 1 End If If Option2.Value = True Then a = Mid(Text1.Text, i, 1) b = Asc(a) + 3 End If If Option3.Value = True Then a = Mid(Text1.Text, i, 1) b = Asc(a) + 5 End If If b > 122 Then b = b - 26 End If If b > 90 And b < 97 Then b = b - 26 End If Text2.Text = Text2.Text & Chr(b) Next End Sub 二、大小写互相转换。如图所示创建界面(一个文本框,一个按钮),程序运行后,单击“转换”按钮,可以text1中的大写字母转换为小写,把小写字母转换为大写。 答案: Private Sub C1_Click() For i = 1 To Len(Text1.Text) a = Mid(Text1.Text, i, 1) ‘一个一个选择text1中的字符 For j = 97 To 122 If a = Chr(j) Then ‘判断是不是小写字母 f = 0 ‘是的话f=0 Exit For ‘并且要停止循环,不然会一直循环下去导致f=1。 Else ‘否则f=1,也就是大写字母 f = 1 End If Next If f = 0 Then ‘如果是f=0(也就是字母为小写的情况) a = UCase(a) ‘就转大写 End If ‘结束 If f = 1 Then ‘如果f=1(也就是大写的情况) a = LCase(a) ‘就转小写 End If b = b & a ‘全部a都赋值给b Next Text1.Text = b ‘text1输出b End Sub 三、三角形的综合问题。根据给定的图形的三边的边长来判断图形的类型。若为三角形则同时计算出何种三角形,及三角形的周长和面积。要求完成”判断并计算”按钮的如下功能: 1、判断输入的条件是否为三角形,若是三角形则在Text1中显示“是三角形”;在Text2中显示是何种三角形。 2、单击“清除重来”按钮可以将所有的显示框清空,且按钮本身变为不可选取状态。当单击“判断并计算”之后重新恢复为可选状态。 提示:1.三角形存在的条件为任一边不为0且任两边之和大于第三边。 2.若一边具有a^2+b^2=c^2,则为直角三角形;若所有边具有a^2+b^2>c^2,则为锐角三角形;若一边具有a^2+b^2 c And a + c > b And c + b > a Then Text4.Text = "是三角形" Else Text4.Text = "不是三角形" End If If Text4.Text = "是三角形" Then If a ^ 2 + b ^ 2 = c ^ 2 Or a ^ 2 + c ^ 2 = b ^ 2 Or b ^ 2 + c ^ 2 = a ^ 2 Then Text5.Text = "直角三角形" End If If a ^ 2 + b ^ 2 > c ^ 2 And a ^ 2 + c ^ 2 > b ^ 2 And b ^ 2 + c ^ 2 > a ^ 2 Then Text5.Text = "锐角三角形" End If If a ^ 2 + b ^ 2 < c ^ 2 Or a ^ 2 + c ^ 2 < b ^ 2 Or b ^ 2 + c ^ 2 < a ^ 2 Then Text5.Text = "钝角三角形" End If Text6.Text = a + b + c Text7.Text = (1 / 4) * Sqr((a + b + c) * (a + b - c) * (a + c - b) * (b + c - a)) End If End Sub Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" Text7.Text = "" End Sub Private Sub Command3_Click() End End Sub 四、杨辉三角形。编写适当的事件过程,在窗体上输出相对应行数的杨辉三角形,点击窗体弹出inputbox对话框,在对话框中输入行数,打印出如下图所示的杨辉三角形 会做这题,说明二维数组输出掌握很好。 答案: Private Sub Form_Click() Dim i As Integer, j As Integer Dim a As Integer a = Val(InputBox("请输入行数")) Dim c(9, 9) As Integer If a > 0 Then For i = 1 To a Print Space(3 * a - 3 * i); For j = 1 To i If i = 1 Or j = i Then ‘当为三角形两边的时候,输出1 c(i, j) = 1 End If If i = 2 Or j = i - 1 Then ‘当为三角形的两边里面一个的时候输出行数-1 c(i, j) = i - 1 End If If i > 2 And j < i - 1 Then ‘否则都以自身上面一行对角线两个数的和。 c(i, j) = c(i - 1, j - 1) + c(i - 1, j) End If Print c(i, j) & " "; ‘输出 Next Next End If End Sub 五、标签左右移动。点击开始按钮,标签右移动,到达右边则向左移动,到达左边则向右移动,点击停止按钮则停止移动 答案: Dim a Private Sub Command1_Click() Timer1.Enabled = True End Sub Private Sub Command2_Click() Timer1.Enabled = False End Sub Private Sub Form_Load() Timer1.Enabled = False a = 0 End Sub Private Sub Timer1_Timer() If Label1.Left >= Val(Form1.Width) - Val(Label1.Width) Then a = 1 End If If Label1.Left =200,停止计算(正确答案是S=1.409524) S=1+1/1*3 + 1/1*3*5 +1/1*3*5*7….. 答案: Private Sub Form_Click() Dim i As Integer Dim n As Integer i = 1 n = 1 Do If n > 200 Then Exit Do Else Print i Sum = Sum + (1 / n) End If i = i + 2 n = n * i Loop Print Sum End Sub 第二种: Private Sub Form_Click() Dim i As Integer Dim n As Integer i = 1 n = 1 Do While n 0 And Val(a) = Int(Val(a)) Then For i = 2 To Len(a) If Val(Mid(a, i, 1)) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |