- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 数组和自定义类型 5.1 数组的概念 5.2 数组的基本操作和排序 5.3 列表框和组合框控件 5.4 自定义类型及其数组 5.5 综合应用 5.1 数组的概念 5.1.2 数组声明 多维数组声明 5.1.3 动态数组及声明 定义动态数组大小注意: 5.2 数组的基本操作 2、数组的输出 3、求数组和、最值、位置 4、交换元素 5、数组排序 (2)冒泡法排序 冒泡法排序 (3)插入数据 (4)删除数据 5.3 列表框和组合框 1、列表框和组合框重要属性 2、常用方法 3、重要事件 4、应用 5.4 自定义类型及数组 2、自定义类型变量的使用 3、自定义类型变量成员的引用 4、自定义类型数组及应用 5.5 综合应用 ——分类统计 综合应用-分类统计 2、综合应用——数据输入 思考题 注意: 不要混淆StudType 和S1 ,前者如同Integer等的类型名,后者根据该类型分配所需的内存空间,存储各成员数据。 (2) 类型变量和数组相同之处它们都是由若干个成员组成;不同之处,前者的成员代表不同性质、不同类型的数据,以各个不同的成员名表示;而数组一般存放的是同种性质、同种类型的数据,以下标表示不同的元素。 引用自定义类型变量中的某个成员,形式如下: 自定义类型变量名.成员名 例如, S1.Name S1变量中的姓名 S1.Sex 性别 可利用With语句简化成员引用: With 结构变量对象名 语句块 End With With S1 .Name = 张华 .Sex = 男 .School=同济大学 End With 自定义类型数组就是数组中的每个元素是自定义类型 例5.13用自定义类型数组,查询和显示学生信息 分析:自定义一个记录类型,由姓名、性别、电话、学校组成,声明一个存放100 个记录的数组。 1.综合应用-分类统计 将一批数据分类统计每一类中包含的个数。 例如,统计学生成绩优、良、中、及格、不及格人数。 这类问题要掌握分类条件表达式的书写和使用计数变量保存相应的计数。 例5.14 输入一串字符,统计各字母出现的次数 统计26个字母出现的个数,必须声明一个具有26个元素的数组A(25),每个元素的下标表示对应的字母,元素的值表示对应字母出现的次数。 从输入的字符串中逐一取出字符C,转换成大写字符(不区分大小写),再求得其在数组中的下标。 关键表达式:j=Asc(UCase(c))-65 A(j)=A(j)+1 “Z” “Y” “X” “C” “B” “A” A(25) A(24) A(23) A(2) A(1) A(0) 应用:在财务、工程计算中,经常需要对大量的数 据进行输入和编辑。 问题: InputBox一次输入一个数据,而后不能修改 一个文本框也只能输入一项 改进:可利用文本框、字符串函数通过编程实现。 例5.15在文本框输入数据,并允许修改和自动识别非数字数据;输入结束将它们按分隔符分离后存放在数组中 利用Keyascii参数过滤非法数据,文本框本身具有编辑功能; 利用Replace函数去除重复输入的分隔符。 利用Split函数将输入的内容分离到数组中。 1. 怎样声明一维数组? 2.怎样确定数组中每一维的上界? 3.怎样引用数组中的一个元素? 4.如何防止数组越界错误的发生? 5.怎样定义一个自定义类型? 6.自定义类型与数组的区别是什么? Visual Basic 程序设计教程 (第三版) 马占飞 1. 引例 例5.1 求100个学生的平均成绩,并统计高于平均分的人数。用简单变量和循环,求平均成绩程序段如下: aver = 0 For i = 1 To 100 mark = InputBox(输入学生成绩) aver = aver + mark Next i aver = aver / 100 问题 (1)mark只能放一个学生的成绩,无法统计高于平均分的人数。 (2)若用简单变量保存100个学生的成绩,则需定义100个变量和使用100句输入语句。由此引入了数组。 mark 用数组解决问题的程序如下: Dim mark(99) As Integer 声明数组mark Dim aver!, overn%, i% aver = 0 For i = 0 To 99 输入成绩,求分数和 mark(i) = InputBox(输入学生的成绩) aver =
您可能关注的文档
- 安徽工业大学计算机科学与技术学院vb程序设计课件 第10章.ppt
- 安徽工业大学计算机科学与技术学院数字逻辑课件 第1讲.ppt
- 安徽工业大学计算机科学与技术学院数字逻辑课件 第2讲.ppt
- 安徽工业大学计算机科学与技术学院数字逻辑课件 第3讲.ppt
- 安徽工业大学计算机科学与技术学院数字逻辑课件 第4讲.ppt
- 安徽工业大学计算机科学与技术学院数字逻辑课件 第5讲.ppt
- 安徽工业大学计算机科学与技术学院数字逻辑课件 第6讲.ppt
- 安徽工业大学计算机科学与技术学院数字逻辑课件 第7讲.ppt
- 安徽工业大学计算机科学与技术学院数字逻辑课件 第8讲.ppt
- 安徽工业大学计算机科学与技术学院数字逻辑课件 第9讲.ppt
文档评论(0)