最后一张纸-VB部分(大荆中学)公开课

发布时间:2022-07-07 09:45:03

下面是小编为大家整理的最后一张纸-VB部分(大荆中学)公开课,供大家参考。

最后一张纸-VB部分(大荆中学)公开课

 

 信息技术考前知识要点梳理 —B VB 部分

  一、选考卷中 B VB 题对应考点分析

 第 第 7 7 题:B VB 运算符及函数运算

 注意运算符运算顺序,函数功能 第 第 8 8 题:

 流程图计算

 注意标注步骤①②③④···· 第 第 9 9 题:

 字符串处理

 1、掌握字符函数 “Len”和 “Mid”的使用方法 2、掌握字符函数 “Asc”和 “Chr”的应用 3、掌握数字类型转换“Val”和 “Str”的作用 字符串专题处理基本步骤:1、字符拆分 mid

  2、字符处理

 3、重组输出:(顺序 s=s+i ,倒序 s=i+s)

 第 第 0 10 题:

 数组推算

  代入计算,参照流程图步骤。

 第 第 1 11 题:排序算法及变式(判:判断是冒泡排序还是选择排序

 ( 冒泡排序:相邻比较

 j 和 j-1,j 和 j+1`;选择排序:找最值下标位置)

 )

 冒泡排序变式解题步骤三部曲 1、看外循环:确定排序趟数 x 2、看内循环:①判断从前往后排序(可得出 x 个最值在数组后面

  ),从后往前排序(可得出 x 个最值在数组前面);

 ②观察内循环下标范围判断是否所有数组均参与排序(注意是否有未参与排序的数组元素)

 3、看 if 语句:通过比较判断数组升序/降序(选择排序判断找最大/小值,确定升序/降序)

 通过以上 3 步,得出 x 个最大/小值在前面/后面位置,再判断各个选项,找出正确选项。

 【注意】若出现 a(j)>a(j-2),则为奇偶位分别降序,若出现 k *a(j)>k*a(j-2):k=-k,则为奇升偶降/奇降偶升 第 第 2 12 题:

 对分查找及变式

 对分查找变式解题步骤四部曲 1、将数组元素标号(注意数组下标是否有从 0 开始,若无数组元素,也可自行标号)

 2、看中间值 m 是否变化 常规中间值:m=(i+j)\2 或 m=Int((i+j)/2) 或 m=Fix((i+j)/2)

 偶数个往右偏:中间值 m=(i+j+1)\2 或 m=Int((i+j)/2+0.5) 或 m=Fix((i+j)/2+0.5)

 3、画二叉树观察数组元素查找方向(根据题目要求,所选项与数组元素有关,则用数组元素画二叉树;若选项与中间值下标有关,则用下标值画二叉树)

 4、若找到 key 值不退出,则在 else 语句旁标注 key 值与 a(m)的关系,如 key>=a(m) ◆若中途找到 key 值不对退出,则必 j i>j 且 i=j+1,最少查找次数 Int ( log 2 2 n n )

 ,最多查找次数 Int ( log 2 2 n n )

 +1

  ◆若选项为 i,j,m 的值,则根据二叉树快速锁定最后一次查找位置,此时 i=j=m,判断 key 与 a(m)关系,得出 i 与 j 的变化

 第 第 5 15 题:

 15 题各小题一般情况如下所列,由于改错题一般都在第(3)小题,一定要注意 不要错位答题。

 15.(1)是对象、属性、方法、事件处理过程等基本概念,这 1 分必做必拿分! 15.(2)2~3 个填空,分值 4 分 15.(3)改错题,一般 2 分,相对反而简单点,争取拿分 第 第 6 16 题:

 16 题各小题一般情况如下所列:

 16.(1)一般是根据题目描述,推导出答案,这题难度不大,这 1 分争取拿到!

 16.(2)一般 3 个填空,共 6 分。如果难度太大,或是时间不够,可以适当放弃,但不要空着,哪怕猜也要猜一下填上。

  第 第 5 15 题和 6 16 题 答案注意点 :

 1、赋值号左侧不能是表达式,要保持两侧的数据类型一致,根据需要在右侧使用 Str 或 Val 函数 2、看结构是否完整:“If -- End If ”“For -- Next ”“Do While --

 Loop ” 3、数组边界有关的答案可利用题目中的示例数据代入进行验证

 第 第 5 15 题和 6 16 题可能涉及到的算法或知识点可能有:

 ①一般第 16 题都会有一个自定义函数的调用,应掌握自定义函数的调用方法及如何将自定义函数的值返回。

 ②插入排序:掌握数据的前移和后移

 前移:

 a(j)=a(j+1)或 a(j-1)=a(j)

 后移:a(j+1)=a(j)或 a(j)=a(j-1) ③桶排序,桶的计数:a(b(i))=a(b(i))+1 ④索引排序,掌握如何改变索引数据,如何输出有序数据。若 b(i)为索引数组,一般输出 a(b(i))。

 ⑤约瑟夫环 1--在[0,n-1]区域内的循环移动:下 k 个:(p +k)mod n

 上 k 个:(p–k+n)mod n

 约瑟夫环 2--在[1,n]区域内的循环移动:

  下 k 个:(p +k-1)mod n +1

 上 k 个:(p–k+n-1)mod n +1

 ⑥矩阵:a(i)所在行号:x = (i-1)\n + 1

  a(i)所在列号:y = (i-1)Mod n + 1

 i 行 j 列元素对应下标:(i-1)*n +j ⑦冒泡排序、选择排序及变形,对分查找

 二、VB 基础知识 1、标准函数 类别 函数名 函数的功能 示例 数学

 函数

 Abs(x) 求 x 的绝对值 Abs(-6.5)=

 6.5

 Int(x) 求不大于 x 的最大整数 Int(6.8)=

 6

 Int(-6.8)=

 -7

  Int(6)=

  6

 Sqr(x) 求 x 的算数平方根 Sqr(25)=

 5

 Rnd( ) 产生 1 个随机数,随机数的范围 0≤Rnd<1 Int(Rnd*10)的范围

 [0,9]

  字符串函数

 Len(x) 计算字符串 x 的长度 Len(“abcd”)=

  4

 Mid(x,n,k) 从字符串 x 中第 n 个字符开始截取长度为 k 的字串 Mid(“abcd”,2,2)=“bc” 转换

 函数

 Val(x) 将数字字符串 x 转换为数值 Val(“12.3”)=

 12.3

  Str(x) 将数值 x 转换为字符串 Str(12.3)=

 “12.3”

  Asc(x) 将字符 x 转换为 ASCII 码值 Asc(“B”)=

 66

 Chr(x) 将 ASCII 码值 x 转换为对应的字符 Chr(97)=

 “a”

 小技巧:生成闭区间[a ,b]之间(a<b)的随机整数表达式:Int(Rnd*( b -a+1)+a ) 2.优先级:①算术运算优先级:乘、除 > 整除 > 求余,即 */

 \

  Mod

  ②逻辑运算优先级:Not And Or

 3.字符大小比较 ,实际上是比较字符内码。常见三类字符的大小关系:小写字母 > 大写字母 > 数字 4、字符串连接,将当前字符串 s 连上字符串 ch,重新赋值给 s。连接的语句如下:字符串顺连:s = s+ch

  字符串逆连: s =ch+s 5、变量 a 与变量 b 数据交换的方法:

  ①用中间变量 t 的写法:

 t=a:a=b:b=t

  ②不用中间变量 t 的写法:

 a=a+b:b=a-b:a=a-b 6、判断数 a 是否能被数 b 整除的表达式:

  a mod b = 0

  或

 a\b =a/b

  或

 Int(a/b) =a/b 7、获得十进制数 n(例,n 为 3 位数)中各个位的值:

  个位:n Mod 10

 十位:n\10 Mod 10 或 (n mod 100)\10

 百位:n\ 100 8、VB 文件类型(扩展名):

  9、对象、属性、方法、事件和事件处理的概念 ①属性:常见含 Caption 属性的类有窗体 Form、标签 Label、按钮 CommandButton

  常见含 Text 属性的类有文本框 TextBox

  常见赋值语句如:Label1.caption=“十进制数字”、Text1. Text=“123”。

 ②方法:如语句 List1.AddItem

 a(i)、List1.Clear 中,AddItem 和 Clear 属于列表框的两个方法名 ③事件:常见的事件名有 Load

 click

 Dblclick change

 Time ④事件处理过程名:Cmd1_Click( ),其中 Cmd1 是对象名,Click 是事件名 ⑤按钮名称查看:

 例如代码 private sub cmd1_click() ,那么此处按钮对象名为 cmd1,一定不要写 Command1 (一般情况下答案都不是这个)

 10、整数型 Integer 的范围:-32768 ~ 32767

 三、vb 常见核心代码 Vb 模块---冒泡排序 基本思想(以升序例):通过相邻元素的比较,将较小的数向上推移的排序技术。

 n 个数需要通过 n-1 轮冒泡。总的比较次数为 n*(n-1)/2,交换次数小于等于比较次数。

 1. 从后往前,小数往前冒

  For

 i = 1 To n - 1

  For j =

 n To i + 1 Step - - 1

  If a(j) < a(j - 1) Then

 t = a(j):

 a(j) = a(j - 1):a(j - 1) = t

  End If

  Next j

 Next i 2. 从前往后,大数向后沉

 For

 i = 1

 To

 n - 1

  For

 j = 1

 To

 n- - i

 If

 a(j) > a(j + 1)

 Then

 t = a(j):a(j) = a(j + 1):a(j + 1) = t

  End If

  Next j

 Next i 3. 范围优化

 i=1 Do While i < 10 k = i : i = 10 For j = 10 To k + 1 Step -1 If a(j) < a(j - 1) Then t = a(j) : a(j) = a(j - 1) : a(j - 1) = t

 i=j End If Next j Loop

 4 4. . 遍数 优化 (当某一轮冒泡排序没有任何数据交换,则说明数组已然有序,后面的轮次可以省略)

 For i = 1 To n - 1

 Flag=True

 For j = n To i + 1 Step -1

  If a(j) < a(j - 1) Then

  t = a(j): a(j) = a(j - 1): a(j - 1) = t

  flag=False

 End If

  Next j

  if

 flag=True

 then exit for

  Next i Vb 模块---选择排序 是在所有的数据中找出最小(或最大)的数据,使它与第一个数据相互交换位置,然后再在剩下的数据中找出最小(或最大)的数据,与第二个数据相互交换位置,以此类推,直到所有元素成为一个有序序列。

 n 个数需要通过 n-1 轮加工。总的比较次数为 n*(n-1)/2,最多交换次数是 n-1 次。

 1. 基本程序升序(找小的从前往后放)

 For i=1 To n-1

  k=i

 For j=i+1 to n

  If a(j)<a(k) Then k=j

 Next j

 If i<>k Then

  t=a(i):a(i)=a(k):a(k)=t

 End If Next

 i 2 2. . 选择排序升序: : (找大的从后往前放)

 For i = n To 2 Step -1

  k = i

  For j = 1 To i - 1

 If a(j) > a(k) Then k = j

  Next j

 If i<>k Then

 t=a(i):a(i)=a(k):a(k)=t

 End If Next

 i 3.

 变式( ( 升序,未经优化的选择排序 )

  For i = 1 To n -1

 For

 j = i+1 To n

  If a(j)< a(i)Then

 t= a(j): a(j)= a(i): a(i)= t

  End If

  Next j Next i 4. 双向选择排序

 p = 1: q = n Do While p < q

  iMin = p: iMax = p

  For i = p + 1 To q

  If a(i) < a(iMin) Then iMin = i

  If a (i) > a(iMax) Then iMax = i

  Next i

  t = a(iMin): a(iMin) = a(p): a(p) = t If

 iMax = p Then

 iMax = iMin

 t = a(iMax): a(iMax) = a(q): a(q) = t

  p = p + 1

  q = q - 1 Loop

  插入排序

 每次待排序的数据,插入到前面已经排好数据中,使其数据依然有序 For i = 2 To n

 t = a(i) : j = i - 1

 Do While a(j) > t

 a(j + 1) = a(j)

  j = j - 1

  If j = 0 Then Exit Do

 Loop

  a(j + 1) = t

 Next i 有序数组中插入新数据

 例每个数组元素已经赋值如下,在该数组中插入新数据x (比如 x= 10)后,数组依然有序 :

  算法思想 :a(7)、a(6)、a(5)元素值依次后移,腾出a(5)。当n =7时,代码如下:

 方法一:

 i = 1 Do While x > a(i) And i<=n i = i +1 Loop " 循环结束时.变量 i 代表新数据要插入的位置 For j = n To i Step - 1 a(j + 1 1 ) = a(j) " 元素依次后移 Next j a(i) = x x

 n = n+1 方法二:

 i= n Do While

 a(i)> x

 a(i+ 1 1 ) = a(i)

 i = i - l If i=0 Then Exit Do " 退出循环 Loop a(i+1 1) )= =

 x x

 n = n+1 V Vb b 模块 --- 对分查找

 对分查找前提是数据有序,对 n 个数据查找, 最多查找次数为 Log 2n +l (向下取整)。

 1. 对分查找算法 i =1: j = n: s = 0

 Do While i <=j

  m = (i + j) \ 2

 If a (m) = key Then

  s=m: Exit Do

 Elseif key< a(m) Then

 j=m-1

  Else

  i=m+1

  End If loop 2. 对分查找变式(无 无 exit

 do )

 L = 1 : R = n

 Do While L <=R

 m = (L + R) \ 2

  If key> d (m) Then L = m + 1 Else R = m-1 Loop

推荐访问:最后一张纸-VB部分(大荆中学)公开课 一张纸 公开课 VB

版权所有:众一秘书网 2005-2024 未经授权禁止复制或建立镜像[众一秘书网]所有资源完全免费共享

Powered by 众一秘书网 © All Rights Reserved.。备案号: 辽ICP备05005627号-1