4.1 数组3 课件-2021-2022学年高中信息技术浙教版选修1(22张PPT)

文档属性

名称 4.1 数组3 课件-2021-2022学年高中信息技术浙教版选修1(22张PPT)
格式 pptx
文件大小 2.6MB
资源类型 教案
版本资源 浙教版
科目 信息技术(信息科技)
更新时间 2021-12-22 13:48:04

图片预览

文档简介

(共22张PPT)
程序设计的核心——数组
目 录
1
考试要求
3
学习难点
5
作业讲解
7
课后巩固
2
学习重点
4
作业讲解
6
课堂练习
1.数组 (c)
考试要求
1.掌握数组的运用。
2.尝试用数组来解决问题
学习重点
1.数组下标的运用。
2.用数组来解决问题
学习难点


01
作业讲解
作业讲解
1.在一个数据序列中,如果出现连续升序的几个数,称为一个升序序列,该序列中数的个数称为序列长度。用随机函数产生10个数据的序列,查找其中升序序列的个数及最大序列长度。程序运行界面如图所示:
作业讲解
tmp=1 : ans=0
For i = 2 To 6
If a(i) > a(i - 1) Then
tmp=tmp+1
Else
tmp=1
Endif
If tmp > ans Then ans=tmp
Next i
a(1) a(2) a(3) a(4) a(5) a(6)
2 1 3 7 5 8
数组最长连续上升子序列
作业讲解
1.在一个数据序列中,如果出现连续升序的几个数,称为一个升序序列,该序列中数的个数称为序列长度。用随机函数产生10个数据的序列,查找其中升序序列的个数及最大序列长度。程序运行界面如图所示:
Dim a(1 To 10) As Integer
‘随机产生10个随机数存储在数组a中,代码略。
Private Sub Command1_Click()
max = 0: t = 1: c = 0
For i =1 to 9
If ① Then
t=t+1
Else
If ② Then max = t
If t > 1 Then t = 1: ③
End If
Next i
a(i)maxc=c+1
作业讲解
1.在一个数据序列中,如果出现连续升序的几个数,称为一个升序序列,该序列中数的个数称为序列长度。用随机函数产生10个数据的序列,查找其中升序序列的个数及最大序列长度。程序运行界面如图所示:
If t > 1 Then
If max < t Then max = t
c = c + 1
End If
Text1.Text = Str(c)
Text2.Text = Str(max)
End Sub
作业讲解
2.在比赛计分时经常采用去除最大值和最小值然后计分的方式,小华编写了一个删除数据中最大值和最小值的程序,功能如下:程序运行时,自动产生n个不同随机数存储在数组a中,并在列表List1中显示。单击按钮Command1后,去除数组中的最大值和最小值后在列表框List2中显示。实现上述功能的VB程序如下,请在划线处填入合适的代码。
课堂练习
变量k的作用
k = 1
For i = 2 To n
If a(i) > a(k) Then k = i
Next i
Text1.Text = Str(k)
a(1) a(2) a(3) a(4) a(5)
5 9 -1 12 11
变量k的作用
k = a(1)
For i = 2 To 5
If a(i) > k Then k = a(i)
Next i
Text1.Text = Str(k)
变量 k 用于存储数组中最大元素的值
变量 k 用于存储数组中最大元素的下标
求数组中的最大值
作业讲解
2.在比赛计分时经常采用去除最大值和最小值然后计分的方式,小华编写了一个删除数据中最大值和最小值的程序,功能如下:程序运行时,自动产生n个不同随机数存储在数组a中,并在列表List1中显示。单击按钮Command1后,去除数组中的最大值和最小值后在列表框List2中显示。实现上述功能的VB程序如下,请在划线处填入合适的代码。
Const n = 10
Dim a(1 To n) As Integer
‘随机产生n个不同随机数存储在数组a中,代码略。
Private Sub Command1_Click()
imin = 1: imax = 1
i = 2
Do While i <= n ‘找最大值和最小值
If a(i)
i = i + 1
Loop
imin=i
If a(i)>a(imax) then imax=i
作业讲解
2.在比赛计分时经常采用去除最大值和最小值然后计分的方式,小华编写了一个删除数据中最大值和最小值的程序,功能如下:程序运行时,自动产生n个不同随机数存储在数组a中,并在列表List1中显示。单击按钮Command1后,去除数组中的最大值和最小值后在列表框List2中显示。实现上述功能的VB程序如下,请在划线处填入合适的代码。
For i = 1 To n
If ③ Then
List2.AddItem Str(a(i))
End If
Next i
End Sub
i<>imin and i<>imax
作业讲解
3. 小王用VB编写一个自动统计离散数据的“极大值”(峰值)个数的程序。功能如下:在列表框List1中随机产生10个介于[1,99]的正整数,单击“统计极大值”命令按钮Command1,程序自动统计出极大值,并将其输出到列表框List2,且将其中的最大值输出在标签Label1中。程序界面如图所示,实现上述功能的VB程序如下。(假设:数据的左右两个端点不计入极大值,且相等的两个值也不计入极大值)。请回答以下问题:
(1)如果原始数据为“8 39 24 5 71 25”,此时极大值有: ① 。
作业讲解
3. 小王用VB编写一个自动统计离散数据的“极大值”(峰值)个数的程序。功能如下:在列表框List1中随机产生10个介于[1,99]的正整数,单击“统计极大值”命令按钮Command1,程序自动统计出极大值,并将其输出到列表框List2,且将其中的最大值输出在标签Label1中。程序界面如图所示,实现上述功能的VB程序如下。(假设:数据的左右两个端点不计入极大值,且相等的两个值也不计入极大值)。请回答以下问题:
Dim a(1 To 10) As Integer '存储原始数据
Dim max(1 To 10) As Integer '存储极大值数据
‘随机产生10个介于[1,99]的正整数存储在数组a中,代码略。
Private Sub Command1_Click()
count = 0
For i = 2 To 9 '统计极大值,左右两边端点值除外
If ② Then
count = count + 1
③ = a(i)
End If
Next i
a(i)>a(i-1) and a(i)>a(i+1)
max(count)
作业讲解
3. 小王用VB编写一个自动统计离散数据的“极大值”(峰值)个数的程序。功能如下:在列表框List1中随机产生10个介于[1,99]的正整数,单击“统计极大值”命令按钮Command1,程序自动统计出极大值,并将其输出到列表框List2,且将其中的最大值输出在标签Label1中。程序界面如图所示,实现上述功能的VB程序如下。(假设:数据的左右两个端点不计入极大值,且相等的两个值也不计入极大值)。请回答以下问题:
maxa = 0
For i = 1 To count
List2.AddItem Str(max(i))
If ④ Then
maxa = max(i)
End If
Next i
Label1.Caption = "极大值中的最大值为:" + Str(maxa)
End Sub
maxa < max(i)


02
课堂练习
课堂练习
小王编写 VB 程序,功能如下:在文本框 Text1 中输入一段英语短文,点击“统计” 按钮 Command1,在标签 Label2 中输出该短文中出现次数最多的小写字母、次数和频率,程序运行界面如图所示。
课堂练习
Private Sub Command1_Click()
Dim max As Integer '变量 max 表示出现最多的字母
Dim sum As Integer 'sum 表示字母总数
Dim zm(1 To 26) As Integer '数组 zm 存放 26 个字母出现的次数
s = Text1. Text
For i = 1 To Len(s)
c = Mid(s, i, 1)
If c >= "a" And c <= "z" Then
n = asc(c)-96
zm(n) = zm(n) + 1
sum = sum + 1
End If
Next i
课堂练习
max = 0
For j = 1 To 26
If zm(j) > zm(max) Then max = j
Next j
f = Int(zm(max) / sum * 100)
Label2. Caption = "字母:" & chr(max+64) & "次数:" & str(zm(max)) & "频率:" & Str(f) & "%"
End Sub
谢谢.!