学校 - 【任务6-1】从键盘上输入任意一串字符,分.doc

学校 - 【任务6-1】从键盘上输入任意一串字符,分.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学校 - 【任务6-1】从键盘上输入任意一串字符,分

【任务目的】 1. 利用任务驱动法掌握数组应用的常用算法——数据排序(选择法、冒泡法),数据查找(顺序法、折半法),有序数列的插入和删除。 2. 掌握自定义类型数据(变量和数组)的使用。 【任务简介】 1.练习并掌握数组的排序算法 2.练习并掌握数据的查找算法 3.练习并掌握有序数组(数列)的插入与删除算法 【成品展示】□全班展示  □学生交流 【评价呈现】□学生互评  □组间互评  □教师评价  【时间要求】2课时 1. 练习并掌握数组的排序算法 【任务6-1】从键盘上输入任意一串字符,分别用冒泡法和选择法,对输入的字符串按ASCII码从小到大排序,并输出排序后的结果。 ?(工程文件保存为“Lab6-1.vbp”,窗体文件保存为“Lab6-1.frm”) (1)简要分析 ①排序算法 ??? 冒泡法和选择法是常用的排序算法(算法步骤和程序见理论教材《Visual Basic程序设计教程》第110页至113页),两种算法在实现时程序中的内外循环次数是相同的,即n个元素排序时须比较n-1趟,在第i(i=1,2,...,n-1)趟中比较、交换元素的次数为n-i次;两种算法的区别在于每次比较、交换的两个元素是不同的。 ??? ②字符数组的定义 ??? 排序时需用字符类型的数组来存放被排序字符,而从键盘输入的字符是保存在串中的,因此需要从串中顺序取出字符并存入字符数组。 ??? 取字符的操作可用Mid函数来实现。Mid函数的格式为: ??????? Mid(string, start,[length]) ??? 其作用是从串string的start位置开始,取出length个字符。 ??? 本题中需要将输入串中的字符一个一个地取出后存入字符数组,取出第i个字符然后存入数组S的语句可写为:S(i) = Mid(Si, i, 1) ③输入输出 ??? 字符串的输入可用InputBox函数;输出操作较简单,只需循环输出排序后字符数组中的元素即可。 (2)任务步骤 ??? ①界面设计 ??? 新建一“标准EXE”工程,保存为“Lab6-1.vbp”;在工程中新建一窗体,其Caption属性值设置为“任务6-1”,窗体文件保存为“Lab6-1.frm”。 ??? ②代码参考 Option Base 1 Private Sub Form_Click() Dim Si As String, S(40) As String * 1, i%, j%, n%, t$ Si = InputBox(请输入英文字符串(20字符以内):) Print 排序前字符串为: Print Si n = Len(Si) For i = 1 To n S(i) = Mid(Si, i, 1) Next i For i = 1 To n - 1 For j = 1 To n - i If S(j) S(j + 1) Then t = S(j) S(j) = S(j + 1) S(j + 1) = t End If Next j Next i Print 排序后字符串为: For i = 1 To n Print S(i); Next i Print End Sub Private Sub Form_Load() AutoRedraw = True Print 字符串排序任务: Print 单击窗体开始... Print End Sub ??? ③运行 ?运行程序并单击窗体,输入字符串即可。图6-1所示是程序的一次运行结果。 图6-1 输出排序结果 ??? (3)思考 ??? 如果要求输入字符串的长度不固定或不做限制,程序应如何实现?(提示:用动态的字符数组来实现,该字符数组的长度在重新定义时应等于输入串中字符的个数) 2.练习并掌握数据的查找算法 【任务6-2】从键盘上输入任意一串字符S,然后输入一个字符(设字符变量名为c),用顺序查找的方法查找输入的字符c是否出现在S中,若出现则输出其首次出现的位置(下标),没出现则输出查找失败的信息。 ??? (工程文件保存为“Lab6-2.vbp”,窗体文件保存为“Lab6-2.frm”) 图6-2 字符查找 (1)简要分析 ??? 顺序查找即从数组的某个元素(字符)开始,依次比较数组元素是否与被查找元素(字符)相等,若相等则查找成功,否则继续比较下一个元素。 (2)代码参考 Private Sub Form_Click() Dim Si As String, c As String * 1, S(40) As String * 1, i%, n%, find

文档评论(0)

wnqwwy20 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档