VB二级上机考试改错题常见错误类型
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2001春-2改错【题目】下面程序是建立二维M*N的字符数组,并 求出将此数组顺时针旋转90°后的新数组。 分析: • 运行程序 – 检查运行错误 – 观察输出结果 ,分 析逻辑错误
2002春-2改错【题目】字符串”642138579”首尾相联形成一个 数字环,依次在数字环中顺序截取2位数、3位数、4位数,使所截取 得到的前两个数相乘等于第三个数.例如42*138=5796. 分析: • 检查语法错误
2007秋-1编程【题目】编写一个查找介于整数A,B之间所有同构 数的程序。若一个数出现在自己平方数的右端,则称此数为同构 数。如5在52=25的右端,25在252=625的右端,故5和25为同构数。 [编程要求] 1、程序参考界面如图所示,编程时 不得增加或减少界面对象或改变对 象的种类,窗体及界面元素大小适 中,且均可见; 2、运行程序,在文本框1与文本框2 中分别输入表示查找范围的A与B的 数值,按“查找”按钮,则开始查找并在列表框中显示结果; 按“清除”按钮,则将文本框和列表框清空,并将焦点置 于文本框1上,按“结束”按钮,结束程序运行 3、程序中应定义一个名为pd的函数过程,用于判断一个正整 数是否为同构数。
上机完成
2000春-3改错【题目】数组a有9个元素,本程序按序号依次将 (a1,a2,a3),(a2,a3,a4),…,(a9,a1,a2),九组元素分别相加(每组3 个元素),生成新数组b,然后找出b数组中的最大元素。
上机完成
2000秋-1改错【题目】本程序的功能是用来统计二维数组A(1 To 4,1 To 4)中所有元素中0~9十个数字出现的次数,存入数组 Timers中并显示在窗体上。
2005秋-6改错【题目】下面程序的功能是:将给定的字符串中的 数字字符筛选出来,依次组成若干个两位整数;并求出它们的最大 公约数
2006春-1改错【题目】下面程序的功能是对输入的字符串中多余 的非字母字符进行压缩(删除),并输出压缩后的字符串和被删除 的字符个数。方法:1将字符串中第一个字母字符串前的所有字符 删除;2其他地方出现的多个非字母字符,仅保留第一个,其余删除
分析: • 运行程序 – 检查运行错误 – 观察输出结果,分析 逻辑错误
2000秋-4改错【题目】本程序的功能是求出以下数列的和,计算 精确到an≤10-4。式中: n=1,2,3…(本程序运行的正确结果为: I=6,Y=0.6486979) 1 1 1 1
Y 2 2 4 2 4 6 ... 2 4 6 2n ...
① a(i) 和 a(i+1) 是求出的相 邻自然数对 ②函数p——判断相邻自然 数对之和是否是素数
1999秋-1改错【题目】本程序用于求1~10中相邻两数之和是素数 的所有自然数对。(1,2)、(2,3)、(3,4)、(5、6)、(8,9)、(9、 10)为符合要求的数对。 分析: • 运行程序 – 检查运行错误 – 观察输出结果,分析逻 辑错误 9 ①“下标越界”错误 → 调 试分析:i循环变量范围设 置有误 ②运行结果与题目要求不 Function 符 → 素数函数 p 判断有误 →单步调试
①检查每个过程内部使用 的局部变量和数组是否声 明定义?否则出现“变量 未定义”错误 —— 运行找 出
1999秋-1改错【题目】本程序用于求1~10中相邻两数之和是素数 的所有自然数对。(1,2)、(2,3)、(3,4)、(5、6)、(8,9)、(9、 10)为符合要求的数对。 分析: • 题目功能(输入/出) – 分析代码中变量的含义
改错部分的注意点
1. 不得增加或删除语句,有些允许调整语句位置 2. 操作时,必须先细心、完整、快速地输入改错程序 原代码,保证正确,不能引入错误,及时 正确地保 存文件(注意保存位置和文件名)
3. 改错时,建议使用注释’语句进行改错,这样可避 免由于考虑不周造成原代码的重复录入
4. 依据题目提供的功能和界面, 分析清楚代码中各变 量的含义与作用(建议从输入和输出入手) 5. 熟练掌握调试工具的使用(单步调试,找出错误) 6. 熟练掌握常见的算法
3. 过程的定义与调用
(包括递归)
4. 文件操作
求因子、最大公约数、累加、累乘、 取每位数字、最小公倍数、升降序数 的判断、逆序、阶乘、平方数的判断、 子串查找、有序插入、反序数、回文 数的判断、排序、无重复数列的生成、 进制之间转化算法
2006春-1编程【题目】编写程序,随机生成由10个互不相等的n (2~6)位正整数组成的数组,把该数组中的素数与非素数筛选 出来分别存入另外两个数组,并显示到相应的列表框中。 [编程要求] 1、程序参考界面如图所示,编程时 不得增加或减少界面对象或改变对象 的种类,窗体及界面元素大小适中, 且均可见; 2、在文本框1中输入n值,单击“处理”按钮,则进行处理并 在列表框 1 中显示素数数组元素,在列表框 2中显示非素数 数组元素单击“清除”按钮,则将文本框及列表框全部清 空,焦点置于文本框1上;单击“结束”按钮,结束程序运 行; 3、程序中定义一个名为 prime 的函数过程,用于判断一个数 是否是素数。
写程序时一定要记住采用规范的书写方法,增加必 要的注释语句说明已实现的功能代码段,这样既不 容易出错,又能轻松地拿到基本分。即根据逻辑关 系采用缩进的形式来写,注意层次感,让人一看一 目了然。需要用到程序控制结构时,先把前后配套 的代码写出来,然后再在其中添加其它代码。
编程部分的操作要点
1. 界面设计:标签、命令按钮、图片框、列表 框、文本框、框架、选项按钮、输入输出函数 等的使用 •常用算法: 2. 数组的访问 穷举、素数、多项式求和、极值问题、
2007秋-1改错【题目】本程序的功能是从随机生成的由3位数组 成的数组中,找出所有的升序数。所谓升序数上指该数的各位数 字自左向右,依次递增的整数,如134,278,489等
• 根据升序数的定义分析,符合 要求的数应该是前一位上的 数字总是小于当前位上的数 字,若出现一次不符和,则不是 升序数
编程部分的说明
a( j , i )
i
1999秋-4改错【题目】下面程序的功能是计算,若通项分母的值 ≥200,停止计算(正确答案是s=1.409524)
1 1 1 s 1 1 3 1 3 5 1 3 5 7
上机完成
2000春-1改错【题目】本程序用于判断输入的正整数是否为降序 数。设正整数n=d1d2d3…dk,如果满足di≥di+1(i=1,2,…,k-1),则n 就是一个降序数。如4321,10433都是降序数。
分析: • 运行程序 – 检查运行错误 – 观察输出结果,分析逻辑错误
2000秋-2改错【题目】本程序的功能是将一个正整数序列重新排 列为一个新的序列。新序列排列规则是:序列左边是奇数,序列右 边是偶数,奇、偶数分别从序列的两端开始依次向序列中间排放。 例如:若原序列是31,58,71,5,82,45,54,41,2, 则新序列是31,71,5,45,41,2,54,82,58。
按照题目要求的功能,根据参考界面编程,程序 中都涉及一定难度的算法。
评分标准:界面设计:根据界面元素的复杂程度,
给5—8分,每个元素得一定的分数;清除按钮:2 分;退出按钮:1分;含算法的按钮:根据代码多 少按步骤给分。
编程部分的注意点
首先应该进行变量的说明,然后按 输入→处理→
输出的顺序来设计程序的逻辑结构。
分析: • 运行程序 – 检查运行错误 – 观察输出结果 ,分 析逻辑错误
小结(1)
• 数组: – 检查声明定义的位置、下标范围——下标越界 – 动态数组——Redim [Preserve] – 数组元素的内容 – 下标的变化规律 • 过程调用: – 调用格式(形实参数在数量、类型和顺序上一致) – 过程定义(函数中是否有给函数名赋值的语句、传 递方式)
j
i
i
j
1999秋-2改错【题目】本程序用于生成二维数组a(4,4),数组元 素为三位随机正整数,并对每一列数组元素求和。 分析: • 运行程序 – 检查运行错误 – 观察输出结果,分析逻 辑错误 ①“逻辑”错误 →j 循环变量 设置有误→s结果有误 ②算法分析 → 每行数组元素 之和与题目要求每一列数组 元素求和不符和
分析: • 运行程序 – 检查运行错误 – 观察输出结果,分析逻辑 错误
2003秋-7改错【题目】统计英文字符串中以各种字母为首的单词 数量(单词之间用空格或其他非字母字符分隔),统计是不分大 小写 分析: • 检查语法错误
分析: • 运行程序 – 检查运行错误 – 观察输出结果,分析逻辑 错误
2003秋-8改错【题目】将一个非十进制数转换成十进制数 分析: • 运行程序 – 检查运行错误 – 观察输出结果, 分析ps——存放压缩后的字 符串 • n——被删除的字符个数
2007秋-1改错【题目】本程序的功能是从随机生成的由3位数组 成的数组中,找出所有的升序数。所谓升序数上指该数的各位数 字自左向右,依次递增的整数,如134,278,489等
• 根据题目输出要求,从代码 的输出部分分析,此处输出 的A(i)即为升序数;由此可 判定SX(A)应该是进行是否 是升序数的判定条件
1999秋-2改错【题目】本程序用于生成二维数组a(4,4),数组元 素为三位随机正整数,并对每一列数组元素求和。 分析: • 题目功能(输入/出) – 分析代码中变量的含义 Int((999-100+1)*Rnd)+100 ② ①s是输出的每列的数组元素 之和 ②完成给二维a数组元素的赋 值 ,并 输出 →赋值是否满足 题目条件三位随机正整数
改错部分的常见出错点
1. 数据初值设置错误
2. 实参设置错误
3. 数据类型定义错误 4. 语句使用错误(程序流程) 5. 函数使用错误 6. 数据变量变化规律错误 7. 运算符使用错误
8. 数据定义位置错误
9. 形参传递类型设置错误
10.数据处理边界点错误
11.访问对象数据错误
1999秋-1改错【题目】本程序用于求1~10中相邻两数之和是素数 的所有自然数对。(1,2)、(2,3)、(3,4)、(5、6)、(8,9)、(9、 10)为符合要求的数对。 分析: ① • 输入代码时 , i As Integer – 建议分过程及时保存 – 检查语法错误
• s——存放输入的字符串 • st——存放压缩后的字 符串 • n——被删除的字符个数
2006春-1改错【题目】下面程序的功能是对输入的字符串中多余 的非字母字符进行压缩(删除),并输出压缩后的字符串和被删除 的字符个数。方法:1将字符串中第一个字母字符串前的所有字符 删除;2其他地方出现的多个非字母字符,仅保留第一个,其余删除
2007秋
改错部分的说明
题目中都是设 3 个错误点,一般分别是 语法 错误 (如数组的声明、重复定义等略有难度的语法错 误)、运行错误、逻辑错误等,这些错误基本上 都是平时编程时比较容易犯的错误,错误点不重 复。 评分标准 : 录入原题: 2 分,改错: 4 分 / 个,根 据改错点给分,新错误不扣分。
1999秋-2改错【题目】本程序用于生成二维数组a(4,4),数组元 素为三位随机正整数,并对每一列数组元素求和。 分析: • 运行程序 – 检查运行错误 – 观察输出结果,分析逻 辑错误 ①“逻辑”错误 →j 循环变量 设置有误→s结果有误 ②算法分析 → 每行数组元素 之和与题目要求每一列数组 元素求和不符和
江苏省二级VB上机
考试试题
第一部分 改错 第二部分 编程
目录——第一部分 改错
(一)改错(说明) 样卷 2000春 2001春 2002春 2003春 2004春 2005春 2006春
1999秋 2000秋 2001秋 2002秋 2003秋 2004秋 2005秋 2006秋