计算机等级考试二级VB常用算法

上传人:xmg****18 文档编号:121241288 上传时间:2020-02-19 格式:DOC 页数:36 大小:225.50KB
返回 下载 相关 举报
计算机等级考试二级VB常用算法_第1页
第1页 / 共36页
计算机等级考试二级VB常用算法_第2页
第2页 / 共36页
计算机等级考试二级VB常用算法_第3页
第3页 / 共36页
计算机等级考试二级VB常用算法_第4页
第4页 / 共36页
计算机等级考试二级VB常用算法_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《计算机等级考试二级VB常用算法》由会员分享,可在线阅读,更多相关《计算机等级考试二级VB常用算法(36页珍藏版)》请在金锄头文库上搜索。

1、.专业整理.一、字符处理11、算法说明 1) 加密解密最简单的加密方法是:将每个字母加一序数,例如5,这时:“A”F”,”a” ”f”,”B” ”G”,”b” ”g”Y” ”D”, ”y” ”d”,”Z” ”E”, ”z” ”e”解密是加密的逆操作。界面如下:代码如下:Word-WRAP: break-word bgColor=#f3f3f3以下是引用片段:OptionExplicit PrivateSubCommand1_Click() DimstrInput$,Code$,Record$,cAsString*1 Dimi%,length%,iAsc% strInput=Text1.Text

2、 length=Len(Trim(strInput) Code= Fori=1Tolength c=mid(strInput,i,1) SelectCasec CaseAToZ iAsc=Asc(c)+5 IfiAscAsc(Z)TheniAsc=iAsc-26 Code=Code&Chr(iAsc) CaseaToz iAsc=Asc(c)+5 IfiAscAsc(z)TheniAsc=iAsc-26 Code=Code&Chr(iAsc) CaseElse Code=Code&c EndSelect Nexti Text2.Text=Code EndSub PrivateSubComman

3、d3_Click() Text1.Text= Text2.Text= Text3.Text= Text1.SetFocus EndSub2) 统计问题提出统计字符或者数字出现的次数。算法说明以字符统计为例,设基本问题如下:请统计一段文本中英文字母在文本中出现的次数。(不区分大小写)如:I am a student.得到:A:2 d:1 e:1 I:1 m:1 n:1 s:1 t:2 u:1分析:由于不区分大小写,因此可定义一个大小为26(下标:0-25)的数组,每个元素依次记录A、B、CZ字母出现的次数。A(0)存放字母a出现的次数A(1)存放字母b出现的次数A(2)存放字母c出现的次数A(3

4、)存放字母d出现的次数譬如:aabdc代码如下:以下是引用片段:OptionExplicit PrivateSubCommand1_Click() DimiAsInteger,jAsInteger Dimzimu(25)AsInteger DimallStrAsString DimaStrAsString allStr=UCase(Text1.Text) Fori=1ToLen(Text1.Text) aStr=Mid(allStr,i,1) IfaStr=AAndaStr=ZThen zimu(Asc(aStr)-Asc(A)=zimu(Asc(aStr)-Asc(A)+1 EndIf Ne

5、xti Fori=0To25 Ifzimu(i)0Then j=j+1 Text2.Text=Text2.Text&Chr(i+Asc(A)&:&str(zimu(i)& IfjMod5=0ThenText2.Text=Text2.Text&Chr(13)&Chr(10) EndIf Nexti EndSub解题技巧熟练运用字符处理函数,对于一些数论题,譬如逆序数等也可将数字通过CStr函数转换为字符后,利用字符处理函数来解题。2、实战练习 1) 补充代码(2003秋二(8)下面程序的功能是统计文件中英文字母(不区分大小写)出现的个数。Word-WRAP: break-word bgColor

6、=#f3f3f3以下是引用片段:OptionBase1 PrivateSubCommand1_Click() Dimalpha(26)AsInteger,nAsInteger DimiAsInteger,sAsString Openc:kav2003readme.txtForInputAs#11 DoWhileNotEOF(11) s=(1) s=UCase(s) Ifs=AAnds=ZThen n=(2) alpha(n)=alpha(n)+1 EndIf Loop Fori=1To26 Ifalpha(i)0Then List1.AddItemChr(i+64)&:&CStr(alpha(

7、i) EndIf Nexti Close EndSub2) 补充代码(2000秋二(6)下面程序的功能是:统计当前盘当前文件夹中的顺序文件data.txt中共有多少个单词,约定连续出现的字母定义为一个单词。以下是引用片段:OptionExplicit PrivateSubForm_Click() DimChar()AsString,StAsString,TemAsString DimIdxAsInteger,JsAsLong,FlenAsLong DimFAsBoolean,WAsString*1 (1) Flen=LOF(10) St=Input(Flen,#10) Js=1 DoWhile

8、Js以下是引用片段:PrivateSubCommand1_Click() Dimn%,i% x=1第七天桃子数 Print第七天桃子数:1只 Fori=6To1Step-1 x=(x+1)*2 Print第&i&天桃子数:&x&只 Nexti EndSub穷举法又称枚举法,即将所有可能情况一一测试,判断是否满足条件,一般用循环实现。问题:百元买鸡问题。假定小鸡每只5角;公鸡每只2元;母鸡每只3元。现在有100元,要求买100只鸡,编程列出所有可能的购鸡方案。分析:设母鸡、公鸡、小鸡分别x、y、z只,则有:x+y+z=1003x+2y+0.5z=100程序一:以下是引用片段:PrivateSub

9、Command1_Click() Dimx%,y%,z% Forx=0To100 Fory=0To100 Forz=0To100 Ifx+y+z=100And3*x+2*y+0.5*z=100Then Printx,y,z EndIf Nextz Nexty Nextx EndSub程序二(优化)以下是引用片段:PrivateSubCommand1_Click() Dimx%,y% Forx=0To33 Fory=0To50 If3*x+2*y+0.5*(100-x-y)=100Then Printx,y,100-x-y EndIf Nexty Nextx EndSub2) 高等数学求积分近似

10、计算积分:s=13(x3+2x+5)dx代码如下:以下是引用片段:PublicFunctionf(ByValx!)被积函数 f=x*(x*x+2)+5 EndFunction PublicFunctiontrapez(ByVala!,ByValb!,ByValn%)AsSingle b、a分别为积分上下限,n为等分数 Dimsum!,h!,x! h=(b-a)/n sum=(f(a)+f(b)/2 Fori=1Ton-1 x=a+i*h sum=sum+f(x) Nexti trapez=sum*h EndFunction调用:以下是引用片段:PrivateSubCommand1_Click() Printtrapez(1,3,30) EndSub数论综合题此类题目比较广泛,必须给以足够重视。历年题目有:平方数、零巧数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号