vfp上机考试总结

2025-03-01 版权声明 我要投稿

vfp上机考试总结(精选5篇)

vfp上机考试总结 篇1

设计表单

首先第一点要有会“取舍”,表单设计的最后编程部分,不是一天两天的工夫,因此如果对编程本身就不感冒,那就根据自己的实力,做个取舍,不如全力去做自己能做的部分。

其实要有“定力”,表单设计其实就是一个完善的过程,很多代码实际已经写好,因此你只要做题目中的1、2、3、..那几条具体要求即可。前面一大段文字其实是对整个程序的描述,大可不必理会。要你写代码的一般只有最后一个小题目,前面的只是在属性窗口中改改属性即可。

一些常用方法:

属性 含义 备注

AddItem 添加条目 向其中添加一行 RemoveItem 移除条目 从其中移去一行 SetFocus 设置焦点 使其获得焦点 Refresh 刷新 使其刷新,从新获取数据 Release 释放 关闭表单 Hide/Show 隐藏/显示表单 Clear 清除内容

Cls 清除内容 清除表单上绘制的图形、文字 SetAll 为容器对象中所有控件指定一个属性设置

常见特有属性知识点:(按照使用概率编排)属性 含义 控件 PageCount 页面个数 页框

ButtonCount 按钮个数 按钮组、选项按钮组 ColumnCount 列数 表格、列表框、组合框 BorderStyle 边框类型 按钮组、选项按钮组 RowSourceType 行源类型 列表框、组合框 RowSource 行源 列表框、组合框 RecordSourceType 记录类型 表格 RecordSource 记录 表格

Interval 时间间隔 Timer(计时器)SpinnerHightValue 通过微调框按钮输入的 Spinner(微调框)

最大、最小值

SpinnerLowValue Spinner(微调框)KeyboardHightValue 通过键盘输入的最大值 Spinner(微调框)KeyboardLowValue 通过键盘输入的最小值 Spinner(微调框)Increment 点上下箭头每次改变的值 Spinner(微调框)

Value 值 文本、编辑、选项按钮组、列表框、组合框等

ControlSource 文本、编辑、选项按钮组、列表框、组合框等 一些常用事件

事件 触发时机 Click/DbClick 单击、双击 Init 对象创建 Activate 对象激活 GotFocus 得到焦点 LostFocus 失去焦点 Valid 即将失去焦点 Unload 释放时候 Error 出错误时候 Timer 计时器到时点

InterActiveChange 当列表框或文本框等中的内容发生改变的时候

常见题型分析:

1、添加控件

解答:要分清楚到底是从“表单设计器”上拖一个过来(如文本框、按钮等),还是修改属性。有些组合形控件只要修改属性即可增减个数,比如: 列表框、组合框、表格的列数(ColumnCount)、命令按钮组、选项按钮组中按钮的个数(ButtonCount)页框中的页数(PageCount)

注意:(1)添加控件XXX,这里的XXX指的是控件的名称,就是Name属性要改为XXX。

(2)修改容器型控件中的对象,要先使容器控件处于编辑状态(选择容器控件,单击右键,选择“编 辑”),才能选择其中的对象。

(3)如在页面中添加控件,则需要先使页框处于编辑状态,选择页面,在使页面处于编辑状态,再把要添加的控件拖到页面上。

2、修改标题

解答:修改单个控件(如文本框)上的标题只需要改相应对象的Caption属性即可。而修改一个命令按钮组中的某个按钮的标题时候,需要先将使其处于编辑状态,选中其中的某一个,再去修改它的Caption属性。

3、修改边框类型、样式

解答:表单、选项按钮组、命令按钮组都有个边框属性。

4、数据环境中添加表、建立临时关系

解答:在表单的“空白”地方,点右键,在弹出的菜单中选择“数据环境”。在数据环境的空白地方点右键,在弹出的菜单中选择“添加表”。建立临时关系就是将主表中的字段拖到子表的字段或索引上去。数据环境中的表设置为“只读”:在数据环境中,选中该表,在属性窗口中,将ReadOnly属性改为.T.数据环境中的表按一定的顺序排序:在数据环境中,选中该表,在属性窗口中,将Order属性改为某一字段。

1、表格的相关属性

表格只读,同时能够获得焦点: ReadOnly属性改为:.T.表格只读,不能获得焦点: Enabled属性改为:.F.不显示删除标记: DeleteMark属性改为:.F.删除表格中的列: 使表格处于编辑状态,点击一下要删除列下方空白处(注意不要点到列标题了),然后按键盘“Delete”,或者通过生成器删除列。

修改列标题: 使表格处于编辑状态,点击一下该列的标头,然后在属性窗口中修改Caption属性 表格加记录源: 修改表格的RowSource和RecordSourceType属性

给列加数据源: 使表格处于编辑状态,选中此列,修改其ControlSource属性 表格滚动条: ScrollBars 0-无,1-水平,2-垂直,3-两者都有

列中数据格式: 修改表格列中的Text控件的Format属性,具体设置参见课本P98 修改列中控件: 选中该列,将要修改的控件添加到列中,再修改列的CurrentControl属性为指定控件 无记录选择器列:RecordMark属性改为:.F.无表格线: GridLines属性改为:.F.2、给按钮加上访问键

解答:修改其Caption属性形如:“打开(

3、使XXX对象自动获得焦点 解答:命令:对象名.SetFocus

4、表单常见考题

标题(Caption)最大化按钮(MaxButton)最小化按钮(MinButton)

不显示右上角几个按钮和左上角的图标 ControlBox 边框样式(BorderStyle)始终在上(AlwaysOnTop)顶层表单(DeskTop=.T.、ShowWindow=2)自动居中(AutoCenter)10.为表单新建属性、方法

解答:在表单设计器中,选择“表单”菜单,选择“新建属性”或“新建方法程序”,输入名称即可。11.创建表单集,并在表单中创建新表单

解答:在表单设计器中,选择“表单”菜单,选择“创建表单集”,则表单集就建好了,在选择“表单”菜单,选择“添加新表单”,就创建了新表单了。13. 编程部分

(一)几个概念

(1)属性:定义对象的特征或某一方面行为,是由类所决定的(可以定义新属性)。属性的值可在设计阶段或运行阶段进行设置(只读属性例外,部分属性只能在执行阶段设置)。

(2)事件:是由对象识别的一个动作,用户可为其编写处理代码,每当事件产生,便执行相应的事件代码。用户不能新建事件。

(3)方法:是由对象所执行的一个动作,是与对象相关联的过程,通常在事件代码中被调用,用户可新建新方法。

(二)属性、事件、方法的调用(1)设置对象属性 <引用对象>.<属性>=<值> 例:

thisformset.form1.text1.value=date()thisformset.form1.text1.backcolor=rgb(192,192,192)thisformset.form1.text1.fontname=”黑体” 可简化为: With thisformset.form1.text1.value=date().backcolor=rgb(192,192,192).fontname=”黑体” Endwith(2)调用方法 <引用对象>.<方法> 例:

thisform.release(或release thisform特例)thisform.text1.setfocus thisform.commandgroup1.setall(“enabled”,.f.)&&带参数的方法(3)对象引用

this ――――当前对象

thisform ――――当前表单(当前对象所在地表单)parent ――――当前对象的直接容器对象 activeform ――――当前活动表单 activecontrol ――――当前活动控件 _screen ――――屏幕对象 _vfp ————VFP应用程序对象

(三)事件代码

根据题目要求编写,其中包括对象引用、设置对象属性、调用对象事件方法、程序结构、常用系统函数等。

(四)其他 1.控件分类

1)根据控件与数据的关系划分:绑定型控件和非绑定型控件 ReacordSource属性:用于指定与表格控件相绑定的数据源。RowSource属性:用于指定与列表框控件香绑定的数据源

vfp上机考试总结 篇2

关键词:全国计算机等级考试,二级VFP上机考试,基本操作题,简单应用题,综合应用题

1. 引言

随着计算机技术在我国各个领域不断的推广和普及,越来越多的人开始学习计算机知识,操作和应用计算机成为人们必须掌握的一种基本技能。许多单位部门已把掌握一定的计算机知识和应用技能作为干部录用、职务晋升、职称评定、上岗资格的重要依据之一[2]。

1994年原国家教委考试中心开始向社会推出“全国计算机等级考试(NCRE)”,到2011年上半年共进行了33次考试,从最初科目较为单一的考试,发展到了目前的四个等级17个科目的考试,是目前国内规模最大的计算机类考试。2001年二级Foxbase考试科目被二级Visual FoxPro取代,二级Visual FoxPro考试成为历次考试报考人数最多的科目。

全国计算机等级考试二级Visual FoxPro数据库程序设计考试,分笔试和上机考试两个部分。上机操作是检验考生对VFP数据库管理系统的应用水平,要求考生能够熟练地利用VFP平台进行数据库及相关的操作。一共有三个大题,第一题是基本操作题,主要内容涉及项目、数据库、数据库表的建立和修改等操作;第二题是简单应用题,主要考查考生对数据库表查询、表单的基本应用、菜单的操作、报表的应用等方面的能力;第三题是综合应用题,主要考查考生系统地完整地对某个项目的设计,主要集中在表单和菜单的应用方面。

2. 基本操作题

基本操作题通常有4个小题,主要考查学生对VFP的一些基础性的操作,基本覆盖范围如下。

(1)项目文件的建立,项目管理器的使用,将数据库添加到项目中;

(2)数据库文件的建立,在数据库中建立新表,将自由表添加到数据库中,将数据库表移除或删除;

(3)视图的建立与删除,查询的创建与删除;

(4)数据库表中字段有效性规则的建立,字段默认值的设置,设置完整性约束,主索引和普通索引的建立,为已建立索引的表建立永久联系,表中字段的增、删、改,向表中添加记录;

(5)菜单和快捷菜单的建立,为菜单项建立快捷键;

(6)SQL查询语句的使用,查询去向、统计;

(7)利用报表向导建立报表;

(8)表单的建立,表单属性的设置,表单布局工具栏的使用,向表单中添加控件对象,数据环境的设置,命令按钮属性的设置,使用自定义类,文本框属性的设置,事件代码的编写,修改事件代码或程序文件中的程序语句。

例1.基本操作题(共四小题)。在考生文件夹下已有cus tomers(客户)、orders(订单)、orderitems(订单项)和goods(商品)四个表。

(1)创建一个名为“订单管理”的数据库,并将已有的customers表添加到该数据库中。

(2)利用表设计器为customers表建立一个普通索引,索引名为bd,索引表达式为“出生日期”。

(3)在表设计器中为customers表的“性别”字段设置有效性规则,规则表达式为:性别$“男女”,出错提示信息是:“性别必须是男或女”。

(4)利用INDEX命令为customers表建立一个普通索引,索引名为khh,索引表达式为“客户号”,索引存放在customers.cdx中。然后将该INDEX命令存入命令文件pone.prg中。

解题思路:

(1)创建数据库可以使用“文件”菜单完成,选择文件—新建—数据库—新建文件,在数据库设计器中添加customers表。

(2)在customers表设计器中的索引选项卡建立索引名为bd,索引表达式为“出生日期”的普通索引。

(3)建立有效性规则在表设计器中的字段选项卡中设置。在“规则”栏中输入:性别$“男女”,“提示信息”栏输入:“性别必须是男或女”。

(4)建立普通索引的命令为:INDEX ON客户号TAG khh of customers.cdx,然后将此命令保存在pone.prg文件中。

3. 简单应用题

简单应用题有两个小题,主要考查范围如下。

(1)SQL查询语句的使用,利用SQL-SELECT语句建立查询,查询去向、子查询、统计、数据分组的运用,连接查询的使用;

(2)菜单的建立与应用,在表单中调用菜单,快捷菜单的建立,在表单中调用快捷菜单;

(3)表单文件的建立与修改,使用表单向导制作表单,表单中数据环境的添加、控件的使用、控件属性的修改,表单的退出,新建自定义表单类;

(4)报表的使用,使用报表向导制作报表;

(5)使用查询设计器建立查询,利用视图设计器建立视图;

(6)简单应用程序的建立,程序的修改;

(7)数据库的创建,向数据库中添加表,使用SQL语句进行记录的更新。

例2.简单应用(共2小题)

(1)在考生文件夹下创建表单文件formone.scx,如下图所示,其中包含一个标签Label1、一个文本框Text1和一个命令按钮Command1。然后按相关要求完成相应操作。

(1)如图所示设置表单、标签和命令按钮的Caption属性。

(2)设置文本框的Value属性值为表达式Date()。

(3)设置“查询”按钮的Click事件代码,使得表单运行时单击该按钮能够完成如下查询功能:从customers表中查询指定日期以后出生的客户,查询结果依次包含姓名、性别、出生日期三项内容,各记录按日期降序排序,查询去向为表tableone。

最后运行该表单,查询1980年1月1日以后出生的客户。

(2)向名为“订单管理”的数据库(在基本操作题中建立)添加orderitems表。然后在数据库中创建视图viewone,利用该视图可以从orderitems表查询统计各商品的订购总量,查询结果依次包含商品号和订购总量(即所有订单对该商品的订购数量之和)两项内容,各记录按商品号升序。最后利用该视图查询视图中的全部信息,并将查询结果存放在表tabletwo中。

解题思路:

第1题:

(1)在命令窗口输入命令:CREATE FORM formone,打开表单设计器窗口。

(2)在表单上添加标签、文本框和命令按钮,并进行适当的布置和大小调整。

(3)设置标签、“查询”命令按钮、表单的Caption属性值。

(4)将文本框的Value属性值设置为“=date()”。

(5)设置“查询”按钮的Click事件代码:

SELECT姓名,性别,出生日期FROM customers;

where出生日期>=ctod(thisform.text1.value)order by出生日期DESC;

INTO TABLE tableone.dbf

(6)保存表单并运行,在文本框中输入01/01/1980,并单击“查询”命令按钮。

第2题:

打开“订单管理”数据库,单击“数据库”菜单中的“添加表”,将orderitems表添加到数据库中,新建“本地视图”,添加“orderitems”表到视图中,先选择“商品号”字段,再在“函数与表达式”中输入“sum(orderitems.数量)as订购总量”,单击“添加”按钮,在“排序依据”中选择按“商品号”升序,“分组依据”中选择“商品号”,以视图名viewone保存该视图。利用刚创建的视图viewone查询视图中的全部信息,在“添加表或视图”对话框中选择viewone视图,在字段中选择所有字段,设置查询去向为表tabletwo。

4. 综合应用题

综合应用题通常只有一个大题,由若干小题组成,主要考查学生对Visual FoxPro的综合应用能力,考查覆盖范围如下。

(1)表单的建立,表单中控件的使用(组合框、文本框、按钮等),表单中控件属性的修改,表单的退出;

(2)结构化查询语言(SQL)中的连接查询、查询的排序、分组查询、临时表的灵活使用、查询结果的去向等;

(3)程序的建立方法、程序中选择结构和循环结构的使用;

(4)数据库的建立、将自由表添加到数据库中;

(5)查询的建立,视图的建立;

(6)菜单的建立、生成菜单程序。

例3.综合应用(共1小题)。在考生文件夹下创建一个顶层表单myform.scx(表单的标题为“考试”),然后创建并在表单中添加菜单(菜单的名称为mymenu.mnx,菜单程序的名称为mymenu.mpr)。效果如下图所示。

(1)菜单命令“计算”和“退出”的功能都通过执行过程完成。

(2)菜单命令“计算”的功能是根据orderitems表和goods表中的相关数据计算各订单的总金额(一个订单的总金额等于它所包含的各商品的金额之和,每种商品的金额等于数量乘以单价),并将计算的结果填入orders表的相应字段中。

(3)菜单命令“退出”的功能是释放并关闭表单。

最后,请运行表单并依次执行其中的“计算”和“退出”菜单命令。

解题思路:

(1)建立表单:可通过“文件”菜单下的“新建”命令或用命令CREATE FORM打开表单设计器。

(2)修改表单各属性值,将CAPTION属性值设为“考试”。将表单以myform.scx为文件名保存在考生文件夹下。

(3)建立菜单:可通过“文件”菜单下的“新建”命令或命令CREATE MENU打开菜单设计器。点击“显示”菜单下的“常规选项”命令打开“常规选项”对话框,选中“顶层表单”复选框。在菜单设计器中建立各菜单项,菜单名称分别为:计算和退出。在“计算”菜单的结果列中选择“过程”,并通过单击“创建”按钮打开一个窗口来添加“计算”菜单项要执行的命令,命令如下:

在“退出”菜单的结果列中选择“过程”,并通过单击“创建”按钮打开一个窗口来添加菜单项要执行的命令:myform.release,用来关闭表单并返回到系统菜单。

最后点击“菜单”下的“生成”命令,生成mymenu.mpr菜单程序。

(4)将表单myform.scx中的ShowWindow属性设置为“2-作为顶层表单”,并在表单的LOAD事件中输入:do mymenu.mpr with this,‘mymenu’,执行菜单程序。

(5)保存并运行表单,依次执行其中的“计算”和“退出”菜单命令。

5. 结语

全国计算机等级考试在成为全国第一大计算机类考试后,开始进行改革和完善,每年的上机考试题均有更新和改进。在二级VFP上机考试中,考试的模式没有变,但是题型也在变化,需要考生系统地掌握好VFP后,进行一定程度的融会贯通,将知识升华。这样在进行上机考试时,才能够较顺利地通过。

参考文献

[1]袁霞.浅谈全国计算机等级考试——二级Visual Fox-Pro数据库程序设计的上机考试[J].信息科学,2010.6.

vfp上机考试总结 篇3

一、替换字符。

形如这样:函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS10.DAT中。

替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

二、字符串左右排序和比较。

形如这样:函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(第行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。

条件:从字符串中间一分为二,左边部分按字符的ASCII值升序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。

三、正整数排序求平均值(包括将数拆散、求最大最小值)。

形如这样:在文件中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行降序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat中。

四、产品五个因素的比较排列,是结构体操作问题。

形如这样:已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT10.DAT中。

五、素数。

形如这样:请编写一个函数jsValue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。

最后调用函数writeDat()读取10组数据,分别得出结果且把结果输出到文件out.dat中。

六、数字排序。

形如这样:在文件in.dat中有200组数据,每组有3个数,每个数均是三位数。函数ReadDat()读取这200组数据存放到结构数组aa中,请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组中的第一个数大于第二个数加第三个数的之和,其中满足条件的个数作为函数jsSort()的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第一个数加第三个之和的大小进行升序排列(第一个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数WriteDat()把结果bb输出到文件out.dat中。

部分源程序已给出。

七、其他数学计算。

形如这样:某级数的前两项A1=1,A2=1,以后各项具有如下关系:

An=An-2+2An-1 下列程序的功能是:要求依次对于整数M=100,1000和10000求出对应的n值,使其满足:Sn=M,这里

Sn=A1+A2+...+An,并依次把n值存入数组单元b[0],b[1]和b[2]中,请编制jsValue()函数来实现此功能,最后调用函数writeDat()把数组b[]中的值输出到out.dat文件中。

八、数字或字符移位后的计算。

形如这样:函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrCharJR(),其函数的功能是:以行为单位把字符串中所有字符的ASCII值右移4位,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT8.DAT中。

九、学生成绩,结构体问题。

形如这样:下列程序的功能是:已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a数组中。找出成绩最低的学生记录(假定最低成绩的记录是唯一的),通过形参返回。请编写函数mm(STU a[],STU *s)实现程序要求,最后调用函数reawriteDAT()把结果输出到文件out.dat中。

例如: KS01 87 KS09 67

KS11 97

则调用该函数后,输出The lowest:KS19,67

十、字符串(单词)的倒置和删除。

形如这样:函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrOL(),其函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT6.DAT中。

例如:原文: You He Me I am a student.结果:Me He You

student a am I

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

十一、选票问题。

形如这样:现有一个10个人100行的选票数据文件IN.DAT,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推 :内容均为字符0和1,1表示此人被选中,0表示此人未被选中,若一张选票人数小于等于5个人时被认为无效的选票。给定函数ReadDat()的功能是把选票数据读入到字符串数组xx中。请编制函数CountRs()来统计每个人的选票数并把得票数依次存入yy[0]到yy[9]中。把结果yy输出到文件OUT.DAT中。

部分源程序已给出。

十二、出圈问题。

形如这样:设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第个m人,此人出圈,再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止。现要求按出圈次序,每10人一组,给出这n个人的顺序表。请考生编制函数Josegh()实现此功能并调用函数WriteDat()把结果p输出到文件OUT.DAT中。

设n=100,c=1,m=10.(1)将1到n个人的序号存入一维数组p中;

(2)若第i个人报数后出圈,则将p[i]置于数组的倒数第i个位置上,而原来第i+1个至倒数第i个元素依次向前移动一个位置;

(3)重复第(2)步直至圈中只剩下p[1]为止。

部分源程序已给出。

十三、进制转换。

形如这样:请编制函数readdat()实现从文件in.dat中读取100个十六进制数到字符串数组xx中

;再编制函数h16to2(),将xx中的十六进制数转换成二进制数并把已转换的二进制数仍

存放在字符串数组xx,最后调用函数writedat()把结果输出到out.dat文件中。

原始数据文件存放的格式是:每行存放10个数,并用逗号隔开。(每个数均大于0且小于

等于2000)

VB上机考试习题以及答案 篇4

1、利用随机函数产生25个100到999之间的整数,构成55的矩阵,输出该矩阵。Dim a(1 To 5, 1 To 5)Private Sub Form_Click()Randomize For i = 1 To 5 For j = 1 To 5 a(i, j)= Int(Rnd *(99910 + 1)+ 10)Print a;s = s + a Next i Print Avg = s / 25 Print Avg End Sub

3、在窗体上按下鼠标的右键,记录其坐标。

Private Sub Form_Load()Label1.BorderStyle = 1 Label1.Alignment = 2 End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 2 Then Label1.Caption = X & “,” & Y End If End Sub

4、利用随机函数产生25个10到99之间的整数,按从小到大的顺序显示。Dim a(1 To 25)Private Sub Form_Click()Cls For i = 1 To 25 a(i)= Int(Rnd *(991 For j = 1 To 251 + 1)+ 1)a(x)= a(x)+ 1 Next j For i = 1 To 6 Print i & “出现了” & a(i);“次” Next i

End Sub

6、在文本框中输入一些英语单词,统计空格的个数。

Dim n%, x As String, s% Private Sub Form_Click()n = Len(Text1.Text)x = Text1.Text For i = 1 To n If Mid(x, i, 1)= “ ” Then s = s + 1 Next i Print “共出现了” & s & “个空格” End Sub

7、编程计算下列公式的值,其中n(<10)为从键盘输入的正整数。S=1!+3!+5!+……+(2*n-1)!Private Sub Form_Click()n = Val(InputBox(“请输入一个不大于10的整数”))s = 0 For i = 1 To 2 * n2 * i1 a = a + 1 Print Str(a);Next j Print Next i End Sub

10、用For …Next语句编程,双击窗体后,在屏幕上显示如图:

Private Sub Form_DblClick()For i = 1 To 3 Print Tab(113 * i);For j = 1 To 5 Print x;Next j Print Next i End Sub

12、从文本框输入一个正整数,判断该数是否为素数。Dim a As Long Private Sub Form_Click()a = Val(Text1.Text)If a = 2 Then Tag = True ElseIf a Mod 2 = 0 Then Tag = False Else Tag = True For i = 3 To Sqr(a)Step 2 If a Mod i = 0 Then Tag = False: Exit For Next i End If If Tag = True Then Print a;“是素数” Else Print a;“不是素数” End If

End Sub

13、利用随机函数产生并显示10个3位数的正整数,找出其中的最大数。Option Explicit Dim i%, max%, loc% Dim a(1 To 10)As Integer Private Sub Form_Click()Randomize Form1.Cls For i = 1 To 10 a(i)= Int(Rnd *(9991000 + 1)+ 1000)Print a(i)Next i min = 9999 For i = 1 To 10 If a(i)< min Then min = a(i): loc = i Next i Print “最小的数是”;min Print “在数组中是第”;loc;“个数” End Sub

15、当按下鼠标左键时,窗体的背景色变为红色;松开鼠标左键时,窗体的背景色变为绿色。Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 1 Then Form1.BackColor = vbRed

End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 1 Then Form1.BackColor = vbGreen End Sub

16、编制一个时钟程序,如下图

:Option Explicit

Private Sub Form_Load()Label1.BackColor = vbWhite Label1.BorderStyle = 1 Label1.Alignment = 2 Timer1.Enabled = True Timer1.Interval = 1000 End Sub

Private Sub Timer1_Timer()Label1.Caption = Time End Sub

17、从键盘输入10个数,按输入的顺序和按输入顺序相反的顺序输出。Option Explicit Dim i% Dim a(1 To 10)As Single Private Sub Form_Click()For i = 1 To 10 a(i)= Val(InputBox(“请输入第” & i & “个数”))Print a(i);Next i Print For i = 10 To 1 Step-1 Print a(i);Next i

End Sub

18、计算圆面积的程序。程序运行时,单击窗体,然后在下图所示的输入框中输入圆的半径,即可在窗体上显示计算出的圆面积。

Option Explicit Dim r%, a As Single Const pi As Single = 3.14159 Private Sub Form_Click()r = Val(InputBox(“请输入圆半径” & vbCrLf & “(1-9):”, “输入”, 5))a = pi * r ^ 2 Print “半径为”;r;“的圆面积为”;a End Sub

19、编写一个时钟程序,当选择“24小时”时,以24小时的方式显示如A,当选择“12小时”时,以12小时的方式显示如B。

Private Sub Form_Load()Timer1.Interval = 1000 End Sub

Private Sub Timer1_Timer()Select Case True Case Option1.Value Label1.Caption = Time Case Option2.Value Label1.Caption = Format(Time, “HH:MM:SS AM/PM”)End Select End Sub 20、设计一个程序,用户界面如图所示。程序运行后,用户在文本框中输入一段文字,然后按需要单击选择框,用以改变文本的字体、字型、颜色以及大小。

Option Explicit

Private Sub Check1_Click()If Check1.Value = 1 Then Text1.FontName = “黑体” Else Text1.FontName = “宋体” End If End Sub

Private Sub Check2_Click()If Check2.Value = 1 Then Text1.FontUnderline = True Else Text1.FontUnderline = False End If End Sub

Private Sub Check3_Click()If Check3.Value = 1 Then Text1.FontSize = 20 Else

Text1.FontSize = 9 End If End Sub

Private Sub Check4_Click()If Check4.Value = 1 Then Text1.ForeColor = vbGreen Else Text1.ForeColor = vbBlack End If End Sub

Private Sub Command1_Click()Text1.Text = “" End Sub

Private Sub Command2_Click()End End Sub 20做出2个周期的正弦波形.Private Sub Form_Click()Dim i%, x#, y# Const pi As String = 3.1415926 Form1.Scale(-2 * pi, 1.2)-(2 * pi,-1.2)Form1.Line(-2 * pi, 0)-(2 * pi, 0)Form1.Line(0, 1.2)-(0,-1.2)For x =-2 * pi To 2 * pi Step 0.01

y = Sin(x)

Form1.PSet(x, y)Next x End Sub 21以窗体为中心,产生1000个半径颜色随机的同心圆.Private Sub Form_Click()For i = 1 To 1000

x = Form1.ScaleWidth / 2

y = Form1.ScaleHeight / 2

r = Int(Rnd * y)

c = RGB(255 * Rnd, 255 * Rnd, 255 * Rnd)

Form1.Circle(x, y), r, c Next End Sub 22.九九乘法表 Private Sub Form_Click()Dim i%, j% Form1.Caption = ”九九乘法表“ Print Tab(48);Caption Print Tab(48);”-------------“ For i = 1 To 9

For j = 1 To i

Print Tab((j-1)* 12 + 1);i;”*“;j;”=“;i * j;

Next j Print Next i End Sub 23求最大公约数和最小公倍数 Private Sub Command2_Click()Text1.Text = ”“ End Sub

Private Sub command1_Click()Dim m%, n%, r%, t% m = Val(Text1.Text)n = Val(Text2.Text)If m < n Then t = m: m = n: n = t t = m * n Do

r = m Mod n

m = n

08DSP实验上机考试试题 篇5

2a、产生信号:用C编程实现信号Y[n]=6(n+1)sin(∏n/5)u[n],要求:1)用图形界面动态显示Y的图形。

2)0<=n<50

2b、产生信号:用C编程实现信号Y[n]=6cos(∏n/5)u[n],要求: 1)断点方式

2)用图形界面显示Y图形。3)0<=n<50

3a、线性卷积:用C编程实现性卷积y[n]=x[n]*h[n]=n=-∞x[m]h[n-m],并画出图形。x[n]= x[nT]= 6(n+1)sin(∏n/5)u[n],0n<50;h[n]= [n]+2.5[n-1]+2.5[n-2]+2.5[n-3];要求:

1)用探针方式

2)图形界面显示y[n]图形。

3b、线性卷积:用C编程实现性卷积y[n]=x[n]*h[n]=n=-∞x[m]h[n-m],并画出图形。x[n]= x[nT] =6(n+1)cos(∏n/5)u[n],0n<50;h[n]= [n]+[n-1]+[n-2]+[n-3];要求:

1)用探针方式

2)图形界面显示y[n]图形。

4a、编号为1、2、3…..64的64个人排成一圈,从1到5报数,每个人报5时则退出,下一个继续从1报数,到所有人退出。要求: 1)用C程序实现。2)断点方式

3)图形界面输出这些人的退出顺序。

4b、编号为1、2、3…..64的64个人排成一圈,从1到4报数,每个人报4时则退出,下一个继续从1报数,到所有人退出。要求: 1)用C程序实现。2)断点方式

3)图形界面输出这些人的退出顺序。

5a、数字统计:1本书的页码从1到N,按习惯页码前不含多余的前承数0.如第6也为6,部位06、006,计算全部页码中0、1…..9出现的次数。1)要求调用函数的方法实现,可用C编写。2)输入N=521,找出函数调用时参数传递的地址; 3)利用探针方式

4)用图形界面输出得到的统计数。

5b、数字统计:1本书的页码从1到N,按习惯页码前不含多余的前承数0.如第6也为6,部位06、006,计算全部页码中0、1…..9出现的次数。1)要求调用函数的方法实现,可用C编写。2)输入N=263,找出函数调用时参数传递的地址; 3)利用探针方式

4)用图形界面输出得到的统计数。

6a、解差分方程:求y[n]-2*y[n-1]=x[n]的响应。要求: 1)用汇编程序实现。

2)初始状态为y[-1]=0,x[n]=1,(0<=n<10)3)用断点方式和图形界面输出y[n](0<=n<10)的值。

6b、解差分方程:求y[n]-2*y[n-1]=x[n]的响应。要求: 1)用汇编程序实现。

2)初始状态为y[-1]=1,x[n]=2,(0<=n<10)3)用断点方式和图形界面输出y[n](0<=n<10)的值。

7a、序列的翻褶:将x[n]=n+1,0<=n<10,以n=0翻褶,得到x[-n],要求:1)用混合编程的方式实现,在主程序C中定义变量和初始化,在汇编函数中调用算法实现翻褶; 2)用探针方式;

3)用图形界面输出得到的序列。

7b、序列的翻褶:将x[n]=n+2,0<=n<10,以n=0翻褶,得到x[-n],要求:1)用混合编程的方式实现,在主程序C中定义变量和初始化,在汇编函数中调用算法实现翻褶; 2)用探针方式;

3)用图形界面输出得到的序列。

8a、序列插值:将x[n]=n+2,0<=n<10,进行隔1插值实现,要求:1)用混合编程的方式实现,在主程序C中定义变量和初始化,在汇编函数中调用算法实现插值; 2)插入点值为0;

3)用断点方式和图形界面输出得到的20个值。

8b、序列插值:将x[n]=n+1,0<=n<10,进行隔1插值实现,要求:1)用混合编程的方式实现,在主程序C中定义变量和初始化,在汇编函数中调用算法实现插值; 2)插入点值为7;

3)用断点方式和图形界面输出得到的20个值。

9a、序列抽取:用汇编函数将x[n]=n+3,0<=n<10,进行隔1抽取,要求:1)用混合编程的方式实现,在主程序C中定义变量和初始化,在汇编函数中调用算法实现抽取; 2)用探针方式

3)用图形界面输出得到的5个值。

9b、序列抽取:用汇编函数将x[n]=n+2,0<=n<10,进行隔1抽取,要求:1)用混合编程的方式实现,在主程序C中定义变量和初始化,在汇编函数中调用算法实现抽取; 2)用探针方式

3)用图形界面输出得到的5个值。

10a、自然序到倒位序的输出:数列x[n]=n+1,0<=n<8;实现FFT中x[n]自然序到倒位序的输出,要求:

1)用混合编程的方式实现,在主程序C中定义变量和初始化,在汇编函数中调用算法实现; 2)用断点方式

3)用图形界面输出得到序列值。

10b、自然序到倒位序的输出:数列x[n]=n+2,0<=n<8;实现FFT中x[n]自然序到倒位序的输出,要求:

1)用混合编程的方式实现,在主程序C中定义变量和初始化,在汇编函数中调用算法实现; 2)用断点方式

3)用图形界面输出得到序列值。

11a、序列求模:离散序列x[n]=(n+1)+j(n+4), 求x[n]的模的平方。要求:1)用混合编程的方式实现,在主程序C中定义变量和初始化,在汇编函数中调用算法实现; 2)0<=n<=10 3)用探针方式和图形界面输出结果。

11b、序列求模:离散序列x[n]=(n+2)+j(n+3), 求x[n]的模的平方。要求:1)用混合编程的方式实现,在主程序C中定义变量和初始化,在汇编函数中调用算法实现; 2)0<=n<=10 3)用探针方式和图形界面输出结果。

12a、序列比较:两个离散序列x[n]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}, u[n]={2,2,1,4,5,7,7,9,8,10,11,11,13,4,5,16,7,8,19,20};要求:1)用混合编程的方式实现,在主程序C中定义变量和初始化,在汇编函数中调用算法实现;

2)对0<=n<20,若x[n]=u[n],则y[n]=0;3)若x[n]!=u[n],则y[n]=x[n];4)用断点方式和图形界面输出y[n]。

12b、序列比较:两个离散序列x[n]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}, u[n]={1,3,3,5,5,7,7,9,9,10,11,11,12,14,5,16,7,18,18,20};要求: 1)用混合编程的方式实现,在主程序C中定义变量和初始化,在汇编函数中调用算法实现;

2)对0<=n<20,若x[n]=u[n],则y[n]=x[n];3)若x[n]!=u[n],则y[n]=0;

上一篇:年度学雷锋活动总体方案下一篇:机械制造工作总结