VB考试系统第8次课-矩阵和字符串专题(12-4学时).ppt_第1页
VB考试系统第8次课-矩阵和字符串专题(12-4学时).ppt_第2页
VB考试系统第8次课-矩阵和字符串专题(12-4学时).ppt_第3页
VB考试系统第8次课-矩阵和字符串专题(12-4学时).ppt_第4页
VB考试系统第8次课-矩阵和字符串专题(12-4学时).ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2010年9月等级考试辅导,二级Visual Basic,第八讲 专题,专题一矩阵,矩阵行运算 求最值 对角线元素操作 行列交换 矩阵转置,矩阵,将N行M列数据集合称为矩阵,对矩阵的定义方法是用二维数组实现。 例如: Dim a(1 to 20,1 to 5) as Integer 二维数组定义后,第一维表示矩阵的行,第二维表示列。,矩阵的输入和输出,For双重循环,Open “in5.dat“ For Input As #1 For i = 1 To 20 For j = 1 To 5 Input #1, a(i, j) Text1 = Text1 + Str(a(i, j) + Space(2) Next j Text1 = Text1 + Chr(13) + Chr(10) Next i Close #1,Open “in5.dat“ For Input As #1 For i = 1 To 20 For j = 1 To 5 Input #1, a(i, j) Text1 = Text1 + Str(a(i, j) + Space(2) Next j Text1 = Text1 + Chr(13) + Chr(10) Next i Close #1,矩阵的行运算,39套-5:读顺序文件中的数据到二维数组并按矩阵输出,输出第三行的和; 17套-5:顺序文件读,矩阵输出,矩阵行交换(类似47套-5); 73套-5:二维数组求每行小于50的数之和以及平均值; 70套-5:计算二维数组中各行的最小数,并求最小数的最值(类似63套-4,69套-5,71套-5,74套-5)。,矩阵求最值,求矩阵中的最大值(或最小): 假定整个矩阵中第一个元素a(1,1)为最大(或最小),然后依次访问矩阵中每个元素,若找到新的最大(或最小)的元素,即修改最大(或最小)值变量,直到矩阵元素访问结束。,对角线元素,只有行、列数相同的矩阵(即方阵)才有对角线元素,矩阵对角线分主对角线和副对角线。,For i = 1 To 4 For j = 1 To 4 Print a(i, j); Next j print Next i,a(1,1) a(1,2) a(1,3) a(1,4) a(2,1) a(2,2) a(2,3) a(2,4) a(3,1) a(3,2) a(3,3) a(3,4) a(4,1) a(4,2) a(4,3) a(4,4),主对角线,副对角线,上机教程P159-真题12.1,【例】捷成36-5,有一个名为datain.txt的文本文件,其内容为:32 43 76 28 12 98 57 31 42 53 64 75 86 97 13 24 35 46 57 68 79 80 59 37 程序运行后,单击窗体,将把文件datain.txt中的数组输入到二维数组Mat中,在窗体上按5行、5列的矩阵形式显示出来,并输出矩阵左上-右下对角线上的数据,如下图所示。,上机教程P161-真题12.2,【例】捷成46-5,其功能是,找出矩阵元素的最大值,并求出矩阵对角线元素之和,窗体外观如图所示。程序运行时,矩阵数据被放入二维数组a中。当单击“找矩阵元素最大值”命令按钮时,找出矩阵中最大的数,并显示在标签Label3中。当单击“对角线元素之和”命令按钮时,计算矩阵主对角线元素之和,并显示在标签Label4中。,题型一:大小写转换 题型二:单词的操作 题型三:统计某些字母的个数 题型四:替换 题型五:加密解密 题型六:反向显示 题型七:字符删除,专题二字符串,题型一:大小写转换,字符串操作函数 LCase、UCase Mid(s$,p,n) Len Asc、Chr,常出现在字符串操作中。 For i = 1 To 26 表达式Chr(Asc(“A”) - 1 + i)取得所有AZ字符 Next i,题型一:大小写转换,上机教程P175-真题13.1捷成1-4,运行时,在Text1中输入若干个大写和小写字母,并选中一个单选按钮,再单击“转换”按钮,则按选中的单选按钮的标题进行转换,结果放入Text2(如图所示)。,题型二:单词的操作,判断单词的关键在于判断空格,因为单词与单词之间用空格隔开。,题型二:单词的操作,上机教程P178-真题13.3捷成13-3,程序运行后,在文本框中输入一个英文句子(由多个单词组成,各单词之间仅用一个空格分开),然后单击命令按钮,程序将把该英文句子分解为单词,并把每个单词作为一个项目添加到列表框中,如图所示。,题型二:单词的操作,上机教程P180-真题13.4捷成51-5,提醒:单词操作需注意最后一个单词的处理,将读入的数据进行统计,求每个单词的长度,并将所有单词的平均长度(四舍五入取整)显示在Text1文本框内,将最长单词的长度显示在Text2文本框内,题型三 统计某些字母的个数,上机教程P181-真题13.5捷成48-5,方法:利用字符ASCII码的特点,将字符“a”、“b”出现次数顺序存放在数组中,然后在数组中找“特定值”位置,并由位置确定该字母,统计in5.dat文件中所含各字母(不区分大小写)的出现的次数,并将出现次数最多的字母显示在Text1文本框内,它所出现的次数显示在Text2文本框内。,题型三 统计某些字母的个数,捷成56-5,在Text1文本框中选中内容后,单击“统计”按钮,则统计选中文本中出现次数最多的字母(不区分大小写),以大写形式在Text2文本框内显示这些出现次数最多的字母。,题型四 替换,首先是找到要被替换的字母,在该条件下进行替换,由于是替换,所以一般需要用一个变量做连接,如不是被替换的字符,就直接连接,如果是替换的字符就连接替换字符,最后把该变量的值赋值给文本框显示出现。,捷成78-4,程序运行时,在Text1、Text2中输入文字, 单击“替换”按钮,则在Text3中找到Text1中的内容,并用Text2中的内容替换,若未找到,则不替换。此外窗体上还有两个单选按钮,名称依次为Option1、Option2,标题依次为“第1个”和“全部”。 程序运行后,若Option1被选中,则只替换Text3中第一个匹配的字串,若Option2被选中,则替换Text3中所有匹配的字串。,题型五:加密解密,加密操作主要是将有意义的字句根据某种规则(一般是用其他字母代替)变成无意义的字句,所以一般的操作是取出每个字符按规则进行转换,再把转换后的连接起来作为加密后的字符串。而解密是加密操作的逆运算。,捷成79-5,加密规则:对于第奇数个字符,若是字母,则把它变为它后面的字符(若为Z则变 为A),不是字母则不变;对于第偶数个字符,若是字母,则把它变为 它前面的字符( 若为A则变为Z),不是字母则不变。大小写字母都遵循此规则。,题型六:反向显示,将字符串倒序连接, 方法类似于判定回文。 25套-5:判断回文,写函数,用交换的方法怎么实现?,提示:删除字符其实就是字符的查找,也需要一个字符一个字符的取出来进行判断,如果是需要删除的字符,就不进行连接,否则就连接到字符串变量中,题型七:删除字符,笔试真题出现的字符串操作题,1.下面程序运行时,若输入“Visual Basic Programming”,则在窗体上输出的是_。(2010年3月选择题35题) Private Sub Comand1_Click() Dim count(25) As Integer, ch As String ch=Ucase(InputBox(“请输入字母字符串“) For k=1 To Len(ch) n=Asc(Mid(ch,k,1)-Asc(“A“) If n=0 Then count(n)=count(n)+ 1 End If Next k m=count(0) For k=1 To 25 If mcount(k) Then m=count(k) End If Next k Print m End Sub,(A)0 (B)1 (C)2 (D)3,2. 在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程:(2008年9月填空题7题) Private Sub Command1_Click() a$=”National Computer Rank Examination” n=Len(a$) s=0 For i=1 To n b$=Mid(a$,i,1) If b$=”n” Then s=s+1 End if Next i Print s End Sub 程序运行后,单击命令按钮,输出结果是【1】。,3. 本程序实现文本加密。先给定序列:a1,a2,an,它们的取值范围是1n,且互不相同。加密算法是:把原文中第k个字符放到加密后文本的第ak个位置处。若原文本长度大于n,则只对前n个字符加密,后面的字符不变;若原文长度小于n,则在后面补字符“*”使文本长度为n后再加密。(2009年3月填空题9题) 例如:若干给定序列a1,a2,a7分别为2,5,3,7,6,1,4 当文本为“PROGRAM”时,加密后的文本为“APOMRRG” 当文本为“PROGRAMMING”时,加密后的文本为“APOMRRGMING” 当文本为“THANK”时,加密后的文本为“*TA*HKN” 下面的过程code实现这一算法。其中参数数组a()中存放给定序列(个数与数组a的元素个数相等)a1,a2,a3,的值,要加密的文本放在参数变量mystr中。过程执行完毕,加密后的文本仍放在变来那个mystr中。请填空。,Option Base 1 Private Sub code(a() As Integer, mystr As String) Dim ch As String, c1 As String n = UBound(a) - Len(mystr) If n 0 Then mystr = mystr & String$(n, “*“) End If ch = mystr For k = 【1】 To UBound(a) c1 = Mid(mystr, k, 1) n = 【2】 Mid$(ch, n) = c1 Next k mystr = ch End Sub,4. 设窗体上有一个文本框Text1和一个命令按钮Command1,并有以下事件过程:(2008年4月选择题33题) Private Sub Command1_Click() Dim s As String, ch As String s = “ For k = 1 To Len(Text1) ch = Mid(Text1, k, 1) s = ch + s Next k Text1.Text = s End Sub 程序执行时,在文本框中输入“Basic”,然后单击命令按钮,则Text1中显示的是 。 (A)Basic (B)cisaB (C)BASIC (D)CISAB,5. 在窗体上画一个命令按钮和一个文本框,然后编写命令按钮的Click事件过程。程序运行后,在文本框中输入一串英文字母(不区分大小写),单击命令按钮,程序可找出未在文本框中输入的其他所有英文字母,并以大写方式降序显示到Text1中。例如,若在Text1中输入的是abDfdb,则单击Command1按钮后Text1中显示的字符串是ZYXWVUTSRQPONMLKJIHGEC。请填空。(2005年9月填空题7题) Private Sub Command1_Click( ) Dim str As Stri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论