VB程序计05-1.pptVIP

  • 0
  • 0
  • 约3.88千字
  • 约 21页
  • 2019-04-18 发布于浙江
  • 举报
第五章 数组 学习目标 数组的定义 数组的应用 作业选讲:Do 循环 甲年龄的平方与乙年龄之和为1053,乙年龄的平方与甲年龄之和为873,求甲、乙的年龄。 数组的概念 数组的由来 例:从键盘输入20个数,再将它们反序输出。 数组的概念 正解:实现正序输入、反序输出的方法 数组的概念 数组:数组是有序数据的集合。一般数组中的所有元素具有相同的数据类型(在VB 中,一个数组的元素类型可以不同)。 举例:一个存放20个数据的数组x 每个数据x(1)、x(2)、...、x(20)叫做元素 宏观上:数组x 微观上:元素x(i) 用法: 循环结构: 如x(i), i=1~20可用for循环完成相应处理 数组的概念 理解:数组,“带有多个抽屉的盒子” 数组的声明:静态数组 格式一(静态数组) 示例: dim a(10) as integer 定义一个11个元素的数组a dim a%(10) 同上 dim a!(10,10) 定义一个11×11的二维数组a(下标2个) 特点:数组一旦声明后,大小不变 静态数组 说明:数组下标默认从0开始。可改变为从1开始:    dim a(1 to 10) as integer 或将如下语句放于通用/声明段:    option base 1 数组的声明:动态数组 格式二(动态数组) 示例: dim a%() 声明一个无上下界的数组a redim a%(10) 改变上界至10 ...... redim a%(20) 再改变其大小为20 要点: 动态数组定义时括号内为空。 使用前必须用redim指定数组的具体大小。 redim将清除数组取值,可用preserve保留:   redim preserve a%(20)  指定大小为20,且保留原来值 动态数组 示例:分析下例之结果 数组声明 关于数组声明的几点说明: 数组的生成 一般方法:“for循环”结合“Inputbox函数” 示例: 还可用Array函数对数组进行初始化。 数组的生成 array函数 功能:对数组进行整体赋值,但只能是变体或不带类型的动态数组。 dim a()   须先声明为动态数组, 变体型亦可 a=array(7,21,5,33,4,9) 再用array函数整体赋值 说明: -数组元素的个数可用lbound函数(下界)和ubound函数(上界)决定。例如: for i= lbound(a) to ubound(a) 可不用手工查元素个数 print a(i) next i 示例1:生肖计算 一个简单的生肖计算程序 Private Sub Command1_Click() dim s s=array(猴,鸡,狗,猪,鼠,牛, 虎,兔,龙,蛇,马,羊) text2=s(text1 mod 12) End Sub 问1:为什么   排在第一位? 问2:如果用option base 1声明,程序如何修改? 示例2:Brithday Cake 某种生日蛋糕的成份表如下: 示例2: Brithday Cake 代码: 数组的应用 简化程序 求三个素数的和 求10名学生的平均成绩及最高成绩 示例3:求素数之和 输入三个正整数,若均为素数,则求和并输出,否则给予相应提示。 思路1: 求素数之和 代码: Private Sub Command1_Click() Dim a%(1 To 3), flag%, i%, j%, s% a(1) = Val(Text1): a(2) = Val(Text2): a(3) = Val(Text3) For i = 1 To 3 flag = 1 For j = 2 To Sqr(a(i)) If a(i) Mod j = 0 Then flag = 0 : Exit for Next j s = s + flag Next i Text4 =iif(s=3, a(1) + a(2) + a(3), 不全是素数) End Sub 要求:4个文本框 求学生的平均成绩 输入10名学生的成绩,求其平均成绩及最高成绩。 代码: Private Sub Command1_Click() Dim aver As Integer, mark(1 To 10) As Integer Dim maxmark As Integer For i = 1 To 10 mark(i) = I

文档评论(0)

1亿VIP精品文档

相关文档