第15课 掷骰子游戏
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中,并在左边列表框中显示
For m = 1 To 50 a(m) = Int(Rnd() * 1000) Mod 6 + 1 List1.AddItem Str(a(m)) Next m
授课人:杨鹏
高中信息技术必修2:算法与程序设计
'统计每个数字出现的次数 ,为增加程序可读
性,将统计与随机数的产生分开
高中信息技术必修2:算法与程序设计
授课人:杨鹏
复习引入
பைடு நூலகம்
高中信息技术必修2:算法与程序设计
例1:计算表达式12+42+72+…+972的值,并在文 本框Text1中输出表达式的值。为了实现这一目标, 使用了三种不同的方法来解决,以下程序中的划线 处应为: (1) Private Sub Command1_Click() Dim sum As Long Dim i As Integer sum = 0 For i =1 To 97 Step sum = sum + i*i Next i Text1.Text = Str(sum) End Sub
授课人:杨鹏
高中信息技术必修2:算法与程序设计
5.有如下程序段: Dim A(1 to 5) As Integer A(1)=1 A(2)=1 For M=3 To 5 A(M)=A(M-1)+A(M-2) Next M 该程序段运行后,A(5)的值为 参考答案:A(5)的值为5
授课人:杨鹏
高中信息技术必修2:算法与程序设计
分析数列可知,前一项与后一项均相差3,所以 Step步长值取3。
授课人:杨鹏
复习引入
(2)Private Sub Command1_Click() Dim sum As Long Dim i As Integer sum = 0 For i =1 To 33 sum = sum + Next i Text1.Text = Str(sum) End Sub
高中信息技术必修2:算法与程序设计
7.如下程序段运行后,k的值为 Dim d(1 to 5) As Integer d(1)=11 d(2)=3 d(3)=-8 d(4)=21 d(5)=1 k=1 For i=2 to 5 if d(i)>d(k) then k=i Next I
2.有如下程序段: Dim A(1 to 5) As Intger A(1)=1 For M = 2 To 5 A(M)= 2*A(M-1) Next M 该程序段运行后,A(5)的值 为 参考答案:16
授课人:杨鹏
高中信息技术必修2:算法与程序设计
3.下面程序段是利用For语句给数组a赋值, For i= 10 To 1 Step -1 a(i)=i-2 Next i 该程序段运行后数组元素a(5)的值 为
执行过程流程图如右图所示
授课人:杨鹏
循环结构
当增量值为负数时,For循环的 执行过程如下: (1) 将循环变量赋初值; (2) 比较循环变量是否 大于等于终值,大于等于时 循环条件成立,运行一次循 环体中的语句;如果循环条 件不成立时,循环结束,执 行Next后面的语句; (3) 遇到Next语句,循 环变量减少增量值,转到(2) 继续循环; 执行过程流程图如右图所 示
6) 运行调试 (点击下图运行体验程序)。
授课人:杨鹏
课堂练习
1.有如下程序段: Dim A(1 to 10) As Intger For M = 1 To 10 A(M)=M+1 Next M 该程序段运行后,A(3)的值为
高中信息技术必修2:算法与程序设计
参考答案:4
授课人:杨鹏
高中信息技术必修2:算法与程序设计
授课人:杨鹏
循环结构
当增量值为正数时,For循环 的执行过程如下:
高中信息技术必修2:算法与程序设计
(1) 将循环变量赋初值; (2) 比较循环变量是否小 于等于终值,小于等于时循环 条件成立,运行一次循环体中 的语句;如果循环条件不成立 时,循环结束,执行Next后面 的语句; (3) 遇到Next语句,循环 变量增加增量值,转到(2) 继续循环;
高中信息技术必修2:算法与程序设计
分析数列可知,数列共有33项,前一项与后一 项均相差3,通项式ai=3*i-2,当i=1时,a1=1,当 i=2时,a2=4,当i=33时,a33=97,所以划线处填 3*i-2。
授课人:杨鹏
高中信息技术必修2:算法与程序设计
(3)Private Sub Command1_Click() Dim sum As Long Dim i As Integer sum = 0 For i =1 To 97 if then sum = sum + i*i Next i Text1.Text = Str(sum) End Sub 分析数列可知,前一项与后一项均相差3,每项 除以3的余数均为1,所以用判断条件 i mod 3 = 1。
授课人:杨鹏
高中信息技术必修2:算法与程序设计
例3
二维数组变量说明。 Dim price( 1 to 20,1 to 8 ) As Double 定义说明price是一个二维数组变量,可以用来 存储20行数据,每行中包含8个双精度实数数据。 price(1,1)是该二维数组中,第一行第一列上的 数组元素,price(20,8)是 该二维数组中最后一 行最后一列上的数组元素。一般地,price(i,j) 是数组price第i行第j列上的元素。 例4:执行下列程序段: Dim A(1 To 5) As Integer For M=1 to 5 A(M)=M Next M 能够将数组中的每个元素都进行赋值,其中A(1) 的值为1,A(2)的值为2,A(3)的值为3,A(4)的值 为4,A(5)的值为5。
授课人:杨鹏
数组变量
高中信息技术必修2:算法与程序设计
数组变量主要用来存储一批同类型的数据。在实际问题 应用中,经常需要成批地处理同一类型的数据。例如,学校 要处理全校学生的成绩,运动会上各运动员的比赛成绩、球 类比赛时各队的积分等等。 数组是由一批同类型的变量构成的一个序列,组成数组 的每一个变量被称为数组的元素,或称为下标变量,下标是 一个整数,用来指出某个元素在数组中的位置,数组中每个 元素的位置由它的下标唯一地确定。 在实际应用中,一维数组用来存储数据的一个线性序列, 二维数组可以用来存储一个二维数表(即表格)。 说明一维数组变量常用形式如下: Dim 数组变量名( A1 To A2 ) As 元素的类型 A1是下标的下界,A2是下标的上界,A1和A2都是常量。
For m = 1 To 50 b(a(m)) = b(a(m)) + 1 Next m '输出每个数字的统计结果 For m = 1 To 6 List2.AddItem (Str(m) & ":" & Str(b(m))) Next m End Sub
授课人:杨鹏
高中信息技术必修2:算法与程序设计
参考答案:3
授课人:杨鹏
高中信息技术必修2:算法与程序设计
4.下列VB程序运行时,单击命令按钮Command1后,文本框 Text1中显示的内容是 ,文本框Text2中显示的内容 是 。 Private Sub Command1_Click( ) Dim a(1 To 10) As Integer Dim i As Integer Dim s As Integer For i = 1 To 10 a(i) = 2 * i Next i Text1.Text = Str(a(10)) s=0 For i = 1 To 5 s = s + a(i) 参考答案:Text1中显示20 Next i Text2中显示30 Text2.Text = Str(s) End Sub
授课人:杨鹏
实践体验
高中信息技术必修2:算法与程序设计
用计算机来模拟掷骰子游戏。骰子共有6 个面,分别用1-6数字来表示,掷50次骰子, 统计并输出每个面出现的次数。
授课人:杨鹏
高中信息技术必修2:算法与程序设计
1) 算法分析。 如何让计算机“想”一个数字?就需要用到Rnd()随机函数,这个函 数可以随机返回一个[0,1)之间的小数,0可以取到但1不能取到。用 户每次使用这个函数所得到的返回值都是不一样的,这就是随机数。如 果需要产生1-6之间的整数,可以使用下列表达式: Int(Rnd()*1000) mod 6 + 1 或 Int(Rnd * 6) + 1 使用循环结构,执行50次,将每次产生的随机数先存储在数组A中, 定义数组A有50个元素。 Dim a(1 to 50) As Integer。 统计分析时,将统计结果保存在数组B中,定义数组B有6个元素。 Dim b(1 to 6) As Intger 统计时,读取数组A中第m个元素,分析它的值(1-6之间的整数), 将数组B中对应下标的元素的值加1。 若A(m)为1,则B(1)的值增加1,若A(m)为2,则B(2)的值增加1,若 A(m)为3,则B(3)的值增加1,若A(m)为4,则B(4)的值增加1,若A(m) 为5,则B(5)的值增加1,若A(m)为6,则B(6)的值增加1。如果使用If语 句,则有些复杂。若利用A(m)的值,将它作为数组B的下标,则以上情 况的统计可用语句B(A(M))=B(A(M))+1来完成。若A(m)=1,则该语句就 是B(1)=B(1)+1。
授课人:杨鹏
高中信息技术必修2:算法与程序设计
例2
一维数组变量说明。 Dim score( 1 to 50 ) As Integer Dim语句定义了由50个整数变量构成的一个一维 数组变量score,即,它有50个数组元素score (1)、score(2)、...、score(49)、score (50),每一个元素都是一个整数类型的变量。 二维数组变量常用形式如下: Dim 数组变量名 ( A1 To A2,B1 To B2 ) As 元素的类型 A1和A2分别是第一个下标的下界和上界,第 一个下标指出数组元素所在行的行号。B1和B2分 别是第二个下标的下界和上界,第二个下标指出数 组元素所在列的列号,A1、A2、B1和B2都是常量。
授课人:杨鹏
高中信息技术必修2:算法与程序设计
5)编写程序代码。 Private Sub Command1_Click() Dim a(1 To 50) As Integer, b(1 To 6) As Integer Dim m As Integer List1.Clear ‘清空列表框 List2.Clear '随机产生50个1-6之间的整数,存储在数组a
6.有如下程序段: Dim A(1 to 10) As Integer For M=1 To 10 A(M)=2*M+1 Next M S=0 For M=1 To 10 If M mod 2 = 0 Then S = S + A(M) Next M 该程序段运行后,S的值为
参考答案:S的值为65
授课人:杨鹏
第15课 掷骰子游戏
授课人:杨鹏
复习引入-循环结构
高中信息技术必修2:算法与程序设计
For循环结构。在给定条件成立时,可反复执行某 程序段,直到条件不成立为止。给定的条件称为循 环条件,反复执行的程序段称为循环体。For循环 (For……Next)语句的基本格式为: For 循环变量初值 To循环变量终值 Step 增量 循环体 Next 变量 其中循环变量为数值型变量,初值、终值、增量 均为数值型表达式。“Step 增量”部分可以省略, 缺省时默认为1。在循环体中使用Exit For语句可直 接中止循环,执行next后面的语句。
授课人:杨鹏
2) 画出程序流程图
高中信息技术必修2:算法与程序设计
授课人:杨鹏
应用程序界面设计
3)应用程序界面设计如下图所示。
高中信息技术必修2:算法与程序设计
授课人:杨鹏
高中信息技术必修2:算法与程序设计
4)各控件属性表设置参考如下:
对象 From1 Label1 Label2 Command1 List1 List2 属性名称 Caption Caption Caption Caption List List 属性值 掷骰子游戏 掷骰子 统计结果 掷骰子 空白 空白