




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8. 验证下列命题:设n是一个s1是n的各位数字之和,s2是2n的各位数字之和。若s1=s2,则n是9的倍数。根据图2和程序填写对象的相关属性,X代表该对象无属性。对象名称(Name)标题(Caption)正文(Text)窗体Frm1(验证命题)X标签LblInput(输入一个两位数)X文本框TxtInputX空判断按钮(CmdVerify)验证X退出按钮CmdExit退出XPrivate Sub CmdVerify_Click()Dim n As Integer,s1 As Integer,sa As Integern=Val_(TxtInput_)s1=Sm(n)s2=Sm(2*n)If _(s1=s2 and n Mod 9=0)_ThenMsgBox 该命题成立ElseMsgBox 该命题不成立End If TxtInput.Text=TxtInput.SetFocusEnd SubPrivate Sub CmdExit_Click()Unload MeEnd SubPrivate Function Sm(_(ByVal n As Integer)_) As IntegerDim sm1 as integersm1=0Do While n0sm1=sm1+n Mod 10_(n=n10)_LoopSm=sm1End Function8. 下面程序的功能是验证回文数猜想。任取一自然数,将其倒过来,并将这两个数相加,然后把这个和数倒过来,与原来的和数相加重复这个过程有限次,必将得到一个回文数。所谓回文数指左右数字完全对称的自然数,例如,121,12321,898,111均是回文数。根据猜想,假如取一自然数6868+86=154154+451=605605+506=1111,经过三步运算就得到回文数1111。Option ExplicitPrivate Sub Form_Click()Dim S As Long,D As Long,Sum As LongDim Flg As BooleanS=InputBox(输入一个正整数)Do D=Fun(S)Sum =S+DPrint Sum;=;S;+;DCall Comp(Sum,Flg)S=_(Sum)_Loop Until FlgPrint Sum;是回文数End SubPrivate Function Fun(N As Long)As LongDim Char As String,J As Long Dim I As Integer,Slen As IntegerChar=Ltrim(Str(N)_(Slen=Len(Char)_J=1For I=1 To SlenFun=Fun+Val(Mid(Char,I,1)*J_(J=J*10或J=10i)_Next IEnd FunctionPrivate Sub Comp(N As Long,F As Boolean)Dim Ch As String,S As Integer,I As IntegerS=Len(Ltrim(Str(N)F=FalseCh=Ltrim(Str(N)For I=1 To_(S)_If Mid(Ch,I,1)Mid(CH,S+1-I,1)Then Exit SubNext I_(F=True)_End Sub9.下面程序的功能是从键盘上输入一个不超过4位的十进制正整数,先把该十进数的每一位数字转换位一个4位二进制数,再把得到的二进制数依次合并成为一个16位的二进制数。例如输入十进制数359,会得到二进制数0000001101011001。Private Sub Form_Click()Dim num As Integer, s As String, M As IntegerDim i As Integer, j As Integer, n As Integernum = InputBox(输入一个长度不超过4位的十进制正整数:, , 1)_M=num_Do While num0j=j + 1n=num Mod 10s=cover(n) & s_num=num10_LoopFor i=1 To 4-js=0000 & sNext iText1.Text=十进制数&CStr(M)&的转换结果是: & sEnd SubPrivate Function cover(ByVal n As Integer)As StringDim i As Integer, s As String, k As IntegerDo Until n1_k=n Mod 2_s=CStr(k) & sn=n2LoopIf Len(s) 4 Thens=0000 & Scover=_right(s,4)_Elsecover=sEnd If End Function7下面程序的功能是将以“12;3;15”形式输入的字符串分解为数字12、3、15,分别赋给3个数组元素,并对其进行简单运算(图2为本程序执行画面)。Private Sub Command1_Click()Dim a(3) As Integer, i As Integer, n As IntegerDim s As Strings = Text1.TextFor i = 1 To 2n = InStr(s, ;)a(i) = Left(s, n - 1)s = Mid(s, n + 1, Len(s) - n)Next iA(3)= Val( s )Text2.Text = a(1) * a(2) + a(3)End Sub图28本程序是找零巧数。所谓零巧数是具有下述特性的四位正整数:其百位数为0,如果去掉0,得到一个三位正整数,而该正整数乘以9,等于原数。例如20252259,所以2025是零巧数(如图3所示)。图3Private Function Change(s As String) As StringDim p As String, i As IntegerFor i = 1 To Len(s)If i 2 Then 是否为左边第二位数p = p + Mid(s, i, 1)将每位字符串连接End IfNext iChange = pEnd FunctionPrivate Sub Command1_Click()Dim i As Integer, s As StringFor i = 1000 To 9999在四位数之间查找s = CStr(i)将数值转变成字符串If Mid(s, 2, 1) = 0 Then取百位数,并判断是否为0If Val(Change(s) * 9 = i Then 去掉百位数后的数乘9后是否等于原来的数List1.AddItem CStr(i)+ = +Change(s)+ *9 连接成字符串后,添加到列表框内End IfEnd IfNext iEnd Sub9本程序是把给定的二进制整数转换为八进制整数。Private Sub Command1_Click()Dim a As String, b As String, c As Stringa = InputBox(请输入一个二进制数, 输入框)L = 3 -( Len(a)Mod 3a = String(L, 0) & an = Len(a)/ 3 For m = 1 To nb = Mid(a, 3 * m - 2, 3)c = c + zh(b)Next mText1.Text = cEnd SubPrivate Function zh(s As String) As StringDim i As Integer, n As Integer, p As Integerp = 1For i = 2 To 0 Step -1n = n * 2 + Val(Mid(s, p, 1)p = p + 1Next izh = Str(n)End Function10找出由两个不同数字组成的平方数,并将结果按图4中的格式显示在列表框List1中。Option ExplicitPrivate Sub Command1_Click()Dim I As Long, N As LongFor I = 11 To 300N = I * I If Verify(N) ThenList1.AddItem Str(I*I)+ =+ Str(I)+ * + Str(I)End IfNext IEnd SubPrivate Function Verify(N As Long) As BooleanDim A(0 To 9) As Integer, I As Integer, J As IntegcrDo While N 0A(N Mod 10)= 1N = N 10LoopFor I = 0 To 9Js = Js + A(I)Next IIf Js = 2 Then Verify = TrueEnd Function图42运行下面的程序,当单击窗体时,文本框Text1中的内容是(2),文本框Text2中的内容是(3)。Private Sub Form_Click()Dim St As StringDim St1 As String, St2 As StringSt = ASFRSDCFRSKXCall Change_String(St, St1, St2)Text1.Text = St1Text2.Text = St2End SubPrivate Sub Change_String(S As String, St1 As String, St2 As String)Dim tem As String, i As IntegerFor i = 1 To Len(S)tem = Mid(S, i, 1)If tem = S ThenSt2 = St2 & atElseIf tem = R ThenSt1 = St1 & TExit ForElseSt1 = St1 & temSt2 = St2 & temEnd IfNext iEnd Sub(2)AFT(3)AatF分析:Mid(x,n1,n2)从x字符串左边第n1个位置开始向右起取n2个字符。过程Change_String的功能是,将字符串St中的“S” 置换为“at”,“R”置换为“T”,并退出For循环。6运行下面程序,单击命令按钮Command1,则在窗体上显示的第一行内容是(13),第二行内容是(14),文本框Text1中显示的内容是(15)。Private Sub Command1_Click()Dim S As StringS = LAUSIVText1.Text = Display(S, Len(S)End SubPrivate Function Display(S As String, L As Integer) As StringIf L 1 Then Display = Display(S, L - 1)S = Left(S, L - 1) & Right(S, 1) & Mid(S, L, Len(S) - L)Display = SPrint DisplayEnd FunctionSL打印层数LAUSIV6一LAUSIV5二LAUSIV4三LAUSIV3四LAUSIV2五LAUSIV1Left(S, 0) & Right(S, 1) & Mid(S, 1, 5)VLAUSI六VLAUSI2Left(S, 1) & Right(S, 1) & Mid(S, 1, 4)VILAUS五VILAUS3Left(S, 2) & Right(S, 1) & Mid(S, 1, 3)VISLAU四VISLAU4Left(S, 3) & Right(S, 1) & Mid(S, 1, 2)VISULA三
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 音乐b级考试试题及答案
- 仪表培训考试试题及答案
- 六一周系列活动方案
- 六一外卖联动活动方案
- 六一教育教学活动方案
- 医学超声考试试题及答案
- 六一活动亲子diy活动方案
- 六一活动接球活动方案
- 六一活动评比活动方案
- 六一童装活动方案
- 中外石油文化智慧树知到期末考试答案2024年
- (正式版)JBT 14449-2024 起重机械焊接工艺评定
- MOOC 会计学-浙江工商大学 中国大学慕课答案
- GB/T 42791-2024航空用铝合金锻件通用技术规范
- 侵犯公民个人信息谅解书模板
- 国家电网培训课件
- 西安幸驾坡城改方案
- 2023年中考数学复习-拱桥问题(实际问题与二次函数)
- YY/T 0489-2023一次性使用无菌引流导管及辅助器械
- 不寐患者的护理查房
- 污水处理厂工程投标方案技术标
评论
0/150
提交评论