delphi复习题.docx
《delphi复习题.docx》由会员分享,可在线阅读,更多相关《delphi复习题.docx(10页珍藏版)》请在冰豆网上搜索。
![delphi复习题.docx](https://file1.bdocx.com/fileroot1/2023-1/14/af6bc3d4-b685-4b3d-9a96-6ace22fdee96/af6bc3d4-b685-4b3d-9a96-6ace22fdee961.gif)
delphi复习题
浙江工业大学2011/2012学年
复习题
第一题:
选择填空题(30分,每小题2分):
;
(1)下列哪个符号是Delphi7的合法变量名A
(A)High(B)12Hour(C)SizeOf(D)Lines
(2)下列实数表示方法中正确的是D
(A)1E0.5(B)E01
(C)3.2E-0.5(D)3.14E-4
(3)设为整型变量,且已赋值为2317,表达式(nmod100)div10表示B
(A)分离出个位数
(B)分离出十位数
(C)分离出百位数
(D)分离出千位数
(4)在程序运行控制的方法中,按F7键可B
(A)运行控制到光标位置(B)跟踪程序
(C)步进程序(D)暂停程序
(5)指出下列关于Mod运算的说法正确的是A
(A)-29Mod3等于-2
(B)-29Mod3等于1
(C)29Mod-3等于-3
(D)-3Mod29等于-2
(11)C(12)D(13)A(14)A(15)输出在1—500之间能同时被2,5,7整除的数
(6)程序单元的结构是C。
(A)单元名称,引用,interface,类型声明,变量声明,implementation
(B)单元名称,interface,类型声明,变量声明,引用,implementation
(C)单元名称,interface,引用,类型声明,变量声明,implementation
(D)单元名称,interface,类型声明,引用,变量声明,implementation
(7)下列哪种文件被删除后不会影响正常编程D。
(A)*.pas(B)*.dpr(C)*.dfm(D)*.dcu
(8)面向对象的特点主要概括为C。
(A)可分解性,可组合性,可分类性
(B)继承性,封装性和多态性
(C)抽象性,继承性,封装性和多态性
(D)封装性,易维护性,可扩展性,可重用性
(9)在Delphi中最基本的类是C。
(A)Tcontrol
(B)Tcomponent
(C)Tobject
(D)Tclass
(10)指出以下程序段的错误。
a:
=1;b:
=5;
fori:
=atobdo
begin
a:
=1;b:
=5;
write(i);
ifi>b-atheni:
=i-1
end;
(10)在for语句的循环内,不能对循环变量进行操作。
i:
=i-1错
(11)要使用同一名称定义多个参数不同的函数或过程。
可通过C实现。
(A)缺省参数
(B)无类型参数
(C)重载
(D)调用约定指示字
(12)若有两个整型变量a、b,其值分别为6,7,那么对于过程
procedurepass3(varx,y:
integer);
合法的过程调用语句是D。
(A)pass3(6,7);
(B)pass3(b-2,2*a);
(C)pass3(‘a’,’b’);
(D)pass3(a,b);
(13)在if语句中,else语句与A的then语句配对。
(A)距离最近
(B)距离最远
(C)任意位置
(D)中间位置
(14)在函数中,result是一个A。
(A)局部变量
(B)关键字
(C)指示字
(D)缺省参数
(15)指出以下程序段的功能输出在1—500之间能同时被2,5,7整除的数。
var
I:
integer;
Begin
ForI:
=1to500
If(Imod2=0)and(Imod5=0)and(Imod7=0)then
Writeln(i);
end;
第二题:
问答题:
(15分,每小题5分)
1.一个Delphi应用通常由哪两类不同的源代码模块组成?
它们之间的关系是怎样的?
答:
由Program和Unit两类不同的源代码模块组成。
每个Delphi应用程序都有一个首先执行的Program主程序,Program作为主程序块将激活其他执行各种任务所需的二级程序块---Unit单元。
一个Program主程序可以引用多个Unit单元,某个Unit单元也可以引用别的Unit单元,单元之间还可以相互引用。
2.数据库引擎的主要作用是什么?
Delphi支持哪4种数据库连接方式?
答:
数据库引擎的主要作用是管理各种数据库驱动程序。
开发人员只需按统一方式操作数据库引擎,数据库引擎启动具体的数据库驱动程序,从而使得应用程序可以操作数据源。
Delphi支持BDE数据库引擎,ADO数据库引擎,dbExpress数据库引擎,Interbase数据库引擎4种数据库连接方式。
3.在一个数据库应用程序中,通常要包含一些基本的数据库组件。
例如一个数据集组件(Ttable),一个数据源组件(Tdatasource),一个或多个数据控制组件(如TDBEdit、TDBGrid),请说明它们各自的用途。
并举例说明三种组件的相关属性如何设置才能生成最终的应用程序。
答:
在一个数据库应用程序中,通常要包含一些基本的数据库组件。
例如一个数据集组件(Ttable或TQuery),负责与BDE的联系;一个数据源组件(Tdatasource),它是连接数据集组件和用户界面的桥梁;一个或多个数据控制组件(如TDBEdit、TDBGrid),它们为用户提供浏览、编辑数据的界面。
三种组件的相关属性可以按以下设置,从而生成最终的应用程序。
例如:
组件类型组件名属性名属性值
数据表(TTable)Table1DatabaseNameaaa
TableNamestudent.db
Activetrue
数据源(TDataSource)DataSource1DataSetTable1
数据表格(TDBGrid)DBGrid1DataSourceDataSource1
4.如何设计一个不能改变大小的窗体?
答:
有多种方法可以使窗体不能改变大小,最简单的方法是将其设为对话框类型。
(a)建立应用程序用户界面。
选择“新建”工程,进入窗体设计器。
(b)设置窗体对象属性。
在对象观察器的属性选项卡中,找到BorderStyle属性,选择bsDialog,(也可选bsSingle,bsNone,bsToolWindow)
程序运行后,窗体不能改变大小。
5.什么是类?
什么是对象?
什么是方法?
三者有何关系?
答:
从可视化编程的角度来看,类是用户定义的一种数据类型,它有自己的内部数据、函数或过程的方法,用来描述一些相似的对象所拥有的共同特征和行为。
类是对象的抽象。
对象是类的实例,它是由类定义的数据类型的变量。
对象是实体,它与类之间是一种变量与变量类型的关系。
在ObjectPascal中,类和记录比较相似,是一个构造类型,并且由属性和方法构成。
其中属性又包含类的内部属性和外部属性,即供内部使用的一些数据变量和供外部使用的一些数据变量;方法则是该类或其实例可以操作的过程和函数。
通常把类的内部属性称为字段,把字段、属性和方法统称为类的成员。
第三题:
程序分析题(15分,每小题5分):
(1)n的值为0
(1)设有如下程序段:
n:
=19876;
k:
=3;
fori:
=1tokdo
n:
=nmod10;
n:
=ndiv10;
假设程序变量均已说明,程序执行后n的值是多少?
(2)设有一个自定义过程声明如下:
procedurep(x:
integer;vary:
integer);
begin
x:
=x+y;
y:
=y*x;
end;
执行下列程序段:
a:
=1;
b:
=2;
p(a,b);
p(amodb,a);
则a,b的值分别是什么?
(2)a=2b=6
(3)写出程序运行的结果:
implementation
{$R*.dfm}
procedureTForm1.Button1Click(Sender:
TObject);
var
x,y:
integer;
begin
x:
=0;
y:
=0;
whileTruedo
begin
x:
=x+1;
ifxmod2=0then
continue
elseifx>=20then
break
else
y:
=y+x;
end;
edit1.Text:
=inttostr(y);
end;
(3)100
第四题:
编程题(8分)
计算个人所得税。
用户输入税前月总收入和起征点(默认为1600元),点击计算后算出应交税款和税后月总收入。
个人所得税九级超额累进税率表(工资薪金所得适用)
级数
全月应纳税所得额
(含税所得额)即税前月总收入
税率%
速算
扣除数
1
不超过500元的
5
0
2
超过500元至2000元的部分
10
25
3
超过2000元至5000元的部分
15
125
4
超过5000元至20000元的部分
20
375
5
超过20000元至40000元的部分
25
1375
6
超过40000元至60000元的部分
30
3375
7
超过60000元至80000元的部分
35
6375
8
超过80000元至100000元的部分
40
10375
9
超过100000元的部分
45
15375
(注):
应交个人所得税=税前月总收入×适用税率—速算扣除数
第五题:
编程题(8分)
利用二维数组建立一个矩阵,结果显示在列表组件ListBox1中.
第六题:
编程题(8分)
设计一个抽奖程序,具有如下功能:
1)提供可输入参加抽奖的所有号码的输入界面。
2)单击“开始”按钮,界面上快速跳出参加抽奖的号码。
3)按任意键,抽奖号码停止跳动,当前显示的号码即为选中的中奖号码。
4)如果继续抽奖,已中奖号码被排除后重复2)、3)步的过程。
(提示:
使用TTimer组件。
)要求写出界面设计过程,各组件的属性,编写程序代码。
第七题:
编程题(8分)
设计一个如图所示的快捷菜单,并具有剪切等四项功能。
(提示:
采用一个TMemo组件和一个TPopupMenu组件)。
要求写出使用菜单编辑器设计过程,各组件的属性,编写程序代码。
第八题:
编程题(8分)
从文件stu.dat中读入全部学生成绩数据,将其中获得奖学金的学生数据存入一个新文件(stui.dat)中.评奖学金的条件是:
每门课程均在80分以上或三门课程总分在255分以上。
Type
Studentrecord=record
Xh,xm:
string[6];
Yy,sx,dz:
integer;
End;