《Delphi程序设计》试题及解答卷5

合集下载

Delphi程序设计试题及解答

Delphi程序设计试题及解答

《Delphi 程序设计》试题及解答 卷6一、填空题(20分,每空2分)1、现实世界中对象具有自己的状态和行为。

对应着,面向对象技术中的对象可以具有自己的属性和 。

2、结构化程序设计要求程序中仅采用顺序、分支和循环三种控制结构,其中每种结构只能有 和一个出口。

3、Delphi 应用程序中单元文件的扩展名是 。

4、与数学表达式 53)(cos 2++xb a 对应的Object Pascal 表达式是 。

5、对于下面的条件表达式:((3 <= x )AND (x < 0)) OR (x in [1..10])当x = 3 时, 该表达式的值为 。

6、ListBox 对象列表框中的内容是通过 属性来进行设置的。

7、如果想设计DBGrid 对象的列标题和对齐方式,可以对DBGrid 对象的 属性进行设置。

8、时钟组件(Timer )能有规律的以一定时间间隔触发 事件9、能够实现格式化输入的编辑框组件是10、利用 对象的LineTo 等方法,可以绘制基本图形。

二、单项选择题(20分,每题2分)1、Delphi 程序设计的基本特点是( )。

A . 可视化程序设计B . 代码程序设计C . 事件驱动编程D . A 和C2、进度显示组件ProgressBar 的当前进度可以通过( )属性设置。

A . StepB .ScrollC . PositionD .Max3、下列变量命名正确的是( )。

A .7ABCB . My7C . page@2D .cmd..14、“x 是小于200的非负数”的Object Pascal 表达式是( )。

A .0 ≤ x < 200B . x >= 0, x<200C .(x >=0) AND (x < 200) D . (x >= 0 ) OR (x<200)5、在窗体上建立多页面的用户界面,需要首先建立的对象是( )A . TabControlB .PageControlC . HeaderControlD .PageScroller6、能够删除edit1中内容的语句是( )。

Delphi程序设计练习题

Delphi程序设计练习题

Delphi程序设计练习题
王欣
【期刊名称】《当代电大》
【年(卷),期】2004(000)008
【摘要】@@ Ⅰ综合练习rn1 填空题rn1)一个对象由三部分组成,分别为:方法、___和事件.rn2)当程序运行时,如果要求窗体中的某个按钮不再显示,将该按钮的____属性设置为false 即可.
【总页数】4页(P29-32)
【作者】王欣
【作者单位】中央电大
【正文语种】中文
【中图分类】G6
【相关文献】
1.面向对象程序设计练习题 [J], 徐孝凯
2.面向对象程序设计练习题 [J], 徐孝凯
3.面向对象程序设计练习题 [J], 徐孝凯
4.《JAVA程序设计》综合练习题 [J], 杜伟
5.基于VB程序设计语言的交互式课堂练习的设计与实现——以高中英语语法练习题为例 [J], 赵治红;陈凯;肖飞
因版权原因,仅展示原文概要,查看原文内容请购买。

delphi考试试题及答案

delphi考试试题及答案

delphi考试试题及答案Delphi考试试题及答案一、单选题(每题2分,共20分)1. Delphi中用于定义常量的关键字是()。

A. varB. constC. typeD. resource答案:B2. 在Delphi中,以下哪个是正确的字符串类型?()A. stringB. charC. textD. stringlist答案:A3. Delphi中,以下哪个不是TForm的属性?()A. CaptionB. HeightC. WidthD. Count答案:D4. 在Delphi中,哪个关键字用于声明一个方法?()A. procedureB. functionC. methodD. routine答案:C5. Delphi中,以下哪个是正确的数组声明方式?()A. var MyArray: array[1..10] of Integer;B. var MyArray: array of Integer;C. var MyArray: Integer[1..10];D. var MyArray: Integer;答案:A6. 在Delphi中,以下哪个是正确的类声明方式?()A. type TMyClass = class;B. class TMyClass;C. var TMyClass: class;D. procedure TMyClass;答案:A7. Delphi中,以下哪个不是TButton的事件?()A. OnClickB. OnDblClickC. OnMouseDownD. OnKeyPress答案:D8. 在Delphi中,以下哪个是正确的文件操作函数?()A. FileOpenB. FileCreateC. FileReadD. All of the above答案:D9. Delphi中,以下哪个是正确的异常处理语句?()A. try...exceptB. try...catchC. try...finallyD. All of the above答案:A10. 在Delphi中,以下哪个是正确的数据库连接组件?()A. TADOConnectionB. TDBConnectionC. TSQLConnectionD. TDataSet答案:A二、多选题(每题3分,共15分)1. Delphi中,以下哪些是合法的变量名?()A. _myVarB. 2myVarC. myVar2D. myVar$答案:AC2. 在Delphi中,以下哪些是合法的注释方式?()A. { This is a comment }B. // This is a commentC. / This is a comment /D. All of the above答案:D3. Delphi中,以下哪些是合法的循环控制语句?()A. for...toB. while...doC. repeat...untilD. All of the above答案:D4. 在Delphi中,以下哪些是合法的集合操作?()A. AddB. RemoveC. ClearD. All of the above答案:D5. Delphi中,以下哪些是合法的文件操作模式?()A. fmOpenReadB. fmOpenWriteC. fmCreateD. All of the above答案:D三、判断题(每题2分,共10分)1. Delphi中,所有的方法都必须在类中声明。

delphi程序试题答案

delphi程序试题答案

一、单选题1.在RadioGroup 组件中有 4 个单选框,当选中第 2 个单选框时,RadioGroup 组件中的ItemIndex 属性值应为( B )。

A.0 B.1 C.2 D.32.函数和过程的区别为( A )。

A.函数执行后返回一个值,而过程不需返回值 B.过程执行后返回一个值,而函数不需返回值C.过程在被调用时,能执行某种特殊功能并能返回到调用它的地方 D.函数在被调用时,能执行某种特殊功能并能返回到调用它的地方3.32 AND 27 的值是( B )。

A.59 B.0 C.27 D.324.窗体与数据模块的扩展名是( B )。

A..dcu B..dfm C..pas D..dpr5.Delphi 中用什么函数来析构一个组件( C )。

A.Constructor B.Destroy C.Free D.Create6.一个指针变量ptr 的域成员fs 访问的方法是( C )。

A.ptr->fs B.ptr.fs C.ptr^fs D.ptr@fs7.Type aarrays=[1…8,1…5] of integer ,该类型定义了多少个下标元素( D )。

A.45 B.54 C.48 D.408.Delphi 的所有类都是从什么类继承下来的( B )。

A.Tcomponent B.TobjectC.Tstream D.Tnull9.定义构造函数时用到的保留字是( C )。

A.Class B..implementation C.create D.construction10.下列组件中属于可视组件的是哪一个( D )。

A.Tdatasource B.Topendialog C.Ttable D.Tscrollbar11.设有过程procedure pro(V AR x,y:integer); 变量a , b 为整型变量,其值分别为5、6,则合法的过程调用语句是( D )。

A.Pro(5,6) B.pro(5,b) C.pro(a,6) D.pro(a,b)12.下列组件中不能获取焦点的是( B )。

(Delphi)计算机程序设计模拟试题一及参考答案

(Delphi)计算机程序设计模拟试题一及参考答案

(Delphi)计算机程序设计模拟试题一试题一1 .一般程序设计都采用高级语言,很少使用汇编语言,因为( 1 )。

软件设计和程序设计是两个不同的概念,(2 )。

一份详细的程序设计说明书常常比程序源代码更有保存价值,这是因为(3 )。

程序代码重用可以提高编程效率,源代码和编译后的目标代码都可以重用,比较好的重用方法是(4 )。

设计Windows 程序必须时时想到计算机不是由某个程序独占的,因此(5 )。

( 1 ) A .高级语言编的程序执行效率较高B .汇编语言不容易学习,使用不方便C .历史上一直这样沿用下来D .高级语言种类很多,有更多的选择余地( 2 ) A .程序设计不仅包括软件设计,还包括硬件设计B .程序设计和软件设计涉及完全不同的知识领域C .如果把软件设计比做桥梁工程设计,程序设计则是桥梁设计D .软件设计必须考虑各方面的协作问题,而程序设计不涉及此问题( 3 ) A .从程序设计说明书可以自动生成源程序B .设计说明书比源程序更精炼,更容易保存C .源程序将随着时间的流逝逐渐失去价值,设计说明书则不会D .从源程序中不容易看出设计中包含的某些关键问题( 4 ) A .直接复制源代码,因为这样可以看请代码的功能和接口方法B .直接复制源代码,因为这样比较容易修改C .直接调用目标代码,但要通过源代码说明其功能和接口方法D .直接调用目标代码,但要有清晰的调用接口( 5 ) A .应尽快释放程序所占用的资源B .应该尽量减少打开和关闭文件的操作C .程序不应长期保持运行状态D .程序应当减少循环处理,以免影响其他程序运行试题二一般应用程序都有个主窗口,其中包含一个主菜单。

为了使程序操作简便,定义菜单选项需要注意若干问题。

首先,选项名称应该( 1 );其次,层次数不宜过多,每一层选项数也不宜过多;再者,( 2 )。

工具栏包含的按钮可以和菜单选项一一对应,也可以不完全对应,但工具栏中包含的功能项应该在菜单中都能找到。

Delphi程序设计试题及解答卷5

Delphi程序设计试题及解答卷5

《Delphi 程序设计》试题及解答 卷5一、填空题(20分,每空2分)一、现实世界中对象具有自己的状态和行为。

对应着,面向对象技术中的对象能够具有自己的属性和 方式 。

二、Delphi 应用程序中项目文件的扩展名是 .dpr 。

3、结构化程序设计要求程序中仅采用顺序、分支和循环三种操纵结构,其中每种结构只能有 一个人口 和一个出口。

4、在Delphi 集成开发环境中,若是想要直接设置或修改对象的属性,能够通过对象查看器(Object Inspector )中的 属性 或 Properties 窗口直接进行设置。

五、ListBox 对象列表框中的内容是通过 items 属性来进行设置的。

六、时钟组件(Timer)能有规律的以一按时刻距离触发 ontimer 事件。

7、若是让界面上的一个按钮变成不可用,需要将它的 enabled 属性设为False 。

八、Image 组件可通过设置其 Autosize 属性为True 使Image 组件依照图像的大小自动调整显示窗口大小。

九、Delphi 的一个项目由假设干文件组成,其中文件名后缀含有“~”的文件为 备份文件 。

10、与数学表达式 53)(cos 2++xb a 对应的Object Pascal 表达式是 Cos*cos*(a+b) /(3*x)二、单项选择题(30分,每题3分)一、Delphi 程序设计的大体特点是(D )A . 可视化程序设计B . 代码程序设计C . 事件驱动编程D . A 和C二、修改窗体的题目时,应当设置form 的属性是( A )A .CaptionB . NameC . TextD . Label3、以下哪个常量说明语句是正确的( D )A. const x := (c < 16);B. const x : 16 ;C. const x := 16 ; D const x = 16 ;4、“x 是小于100的非负数”的Object Pascal 表达式是( C )A .0 ≤ x < 100B . x >= 0, x<100C .(x >=0) AND (x < 100) D . (x >= 0 ) OR (x<100)五、编辑框(Edit )中的文本发生改变时引发的事件是( B )A .AutoSizeB .OnChangeC .SetFocusD .SetText六、表达式 30 + 19 div 2 的值是( C )A . 37B . 49C.39 D.407、现成立一个简单报表,仅包括报表题目栏、数据栏和汇总栏,那么在Bands属性的子属性中,不需要选择的是( A )A.HasColumnHeader B.DetailC.Title D.Summary8、下面哪个功能键能够调出Delphi 的联机帮忙信息(A )A.F1键B.F2键C.F3键D.F4键9、数据库组件中,提供了对数据库读写操作功能的核心组件是( C )A.数据源组件B.用户界面组件C.数据集组件D.数据感知控件10、以下控件中没有Items属性的是( D )A.ComboBox B.ListBox C.RadioGroup D.Memo三、判定题(10分,每题2分)请给以下论述中正确的打上“√”,错误的打上“ ”(10分,每题1分)一、(Y) 一个数组中的各元素的数据类型必需相同。

Delphi程序设计

Delphi程序设计

Delphi程序设计2235考试类别:填空题单项选择题判断题程序填空题《Delphi程序设计》试题1及解答一、填空题(20分,每空2分)二、单项选择题(30分,每题3分)1、Delphi程序设计的基本特点是()。

A.可视化程序设计B.代码程序设计C.事件驱动编程D.A和C2、修改窗体的标题时,应当在属性页中设置的属性是()。

A.Caption B.Name C.Text D.Label3、下列哪个常量说明语句是正确的()。

A. const x := (c < 16);B. const x : 16 ;C. const x := 16 ; D const x = 16 ;4、“x 是小于100的非负数”的Object Pascal表达式是()。

A.0 ≤x < 100 B.x >= 0, x<100C.(x >=0) AND (x < 100) D.(x >= 0 ) OR (x<100)5、工具栏上的一个SpeedButton按钮如果要设置为状态按钮,则正确设置的方法是()A.将SpeedButton按钮的GroupIndex属性设置为0,且AllowAllUp属性设置为True。

B.将SpeedButton按钮的GroupIndex属性设置为0,且Allow AllUp属性设置为False。

C.将SpeedButton按钮的GroupIndex属性设置为非0值,且AllowAllUp属性设置为True。

D.将SpeedButton按钮的GroupIndex属性设置为非0值,且AllowAllUp属性设置为False。

6、表达式30 +19 div 2 的值是()。

A.37 B.49C.39 D.407、在RadioGroup 组件中有 4 个单选框,当选中第2 个单选框时,RadioGroup 组件中的ItemIndex 属性值应为()。

A.0 B.1 C.2 D.38、以下能够触发编辑框(Edit)组件OnChange事件的操作是()A.鼠标单击编辑框B.鼠标双击编辑框C.在编辑框中选择文本D.在编辑框中输入文本9、现建立一个简单报表,仅包含报表标题栏、数据栏和汇总栏,则在Bands属性的子属性中,不需要选择的是()A.Title B.DetailC.HasColumnHeader D.Summary10、只能输出、而不能输入的数据感知控件是()A.DBEdit B.DBTextC .DBRadioGroupD .DBCheckBox三、判断题,请给下列论述中正确的打上“√”,错误的打上“ ”(10分,每题2分)1、( ) const c := 80 的说明语句是合法的。

delphi模拟试题6

delphi模拟试题6

本试卷命题与审核:命题单位(盖章)教研室主任审核签名领导审核签名荆州职业技术学院×××学年度第××学期《delphi程序设计》期末考试试卷系班级姓名学号成绩一、选择题(20*2)1.在Delphi中绘图,直线应该用什么方法绘制?()A.SetBrushStyleB.BeeLine C.LineTo D.Ellipse2.设有关系框架R(A,B,C,D)及其上的函数相关性集合F={B→A,BC→D},那么关系框架R最高是哪种范式?()A.第一范式B.第二范式C.第三范式D.BCNF范式的3.用树型结构表示实体类型及实体间联系的数据模型称为什么模型?()A.关系模型B.网状模型C.层次模型D.概念数据模型4.关系数据库管理系统所管理的是什么?()A.若干个表文件B.数据库文件所安放的地址C.若干个电子的表文件D.若干个二维表5.下列哪种类型的常量不能用来定义子界类型? ()A.实型数据(Real)B.整型(Integer)C.字符型(Character)D.用户定义的任何顺序类型6.在程序中定义CONSTLetter='h';则语句Writeln(Chr(Ord(Letter)+(Ord('A')-Ord('a'))))的输出结果是什么?()A.H B.h C.72D.1047.IfA&gt;10Thenb:=A;上面这条语句在编译的时候会产生哪种错误?()A.不会产生错误B.会产生运行错误C.会产生逻辑错误D.会产生编译错误8.关系数据库管理系统所管理的是什么?()A.若干个表文件B.数据库文件所安放的地址C.若干个电子的表文件D.若干个二维表8.在多个应用程序访问同一个DLL时,下面关于DLL中使用全局变量的说法哪个是正确的?()A.每个应用程序都各自使用在他自己的进程空间内复制的一份该全局变量B.全局变量在DLL中是不允许使用的C.每个应用程序访问的是同一个全局变量,该全局变量的有引用计数。

Delphi程序设计复习资料

Delphi程序设计复习资料

《Delphi程序设计》复习题四、程序填空题1、应用程序的用户界面如下图所示:功能说明:该界面是一个教师信息录入界面。

用户在编辑框(Edit1)中输入姓名,利用单选按钮(RadioGroup1)指定性别,利用组合框(ComboBox1)选择或直接输入所在系,利用列表框(ListBox1)指定职称。

当输入完上述信息后,单击“确定”按钮,教师信息将显示在右边的Memo1编辑窗口中。

下面是开发过程,请完成填空部分:通过RadioGroup1的Items属性设置两个单选按钮(“男”和“女”),并将属性①设置为2(按钮摆两列)。

通过ComboBox1的②属性设置下拉选单中的系名。

通过ListBox1的Items属性设置列表框中的职称列表。

“确定”按钮的单击事件处理程序如下:procedure TForm1.Button1Click(Sender: TObject);beginmemo1.Lines.Add(edit1. ③); //加入编辑框的内容if radiogroup1. ④= 0 then //判断选择了哪个按钮memo1.Lines.Add('男')elsememo1.Lines.Add('女') ;memo1.Lines.Add(combobox1.Text); //加入系的文本memo1.Lines.Add( listbox1. ⑤[listbox1.itemindex] ); //加入职称end;2、数据库mydb中有关系表student,其结构如下:student (sno 学号,sname 姓名,sex 性别,birthday 生日)现编写一个学生信息浏览程序,设计界面和运行界面如下图所示:在下划线处填写相应数据库组件的属性值:Database1. DatabaseName : mydbTable1. DatabaseName : mydbTable1. TableName : studentTable1. Active : ①Datasource1.DataSet : ②DBNavigator1. DataSource : ③DBEdit2. DataSource : ④DBEdit2. DataField : ⑤ 4、本程序根据用户选择的运算符对输入的二个操作数进行运算,并显示运算结果。

Delphi试题含答案

Delphi试题含答案

Delphi试题含答案《可视化程序设计》试卷适⽤专业及层次(由出卷教研室填写):信息管理与信息系统、医学信息⼯程本科姓名:班级:学号:(此试卷共8页,答案请填写在答题纸上,答案填写在试卷上者答题⽆效)⼀、单项选择题(15分,每⼩题1分)1.⼀个Delphi应⽤程序必有⼀个⽂件和⾄少⼀个单元⽂件。

A.程序B.⼯程C.数据D.图形2.在窗体中完成多个控件整齐排列,应使⽤的操作是。

A.AlignB.Bring to frontC.ScaleD.Send to back3.下列不能⽤来定义⼦界类型是。

A.实型数据(Real)B.⽤户定义的任何顺序类型C.字符型(Char)D.整型(Integer)4.在事件处理程序中编写代码,可以处理edit编辑框中输⼊的字符,。

A.OnClickB.OnEnterC.OnMouseUpD.OnKeyPress5.关于变量,全局变量与局部变量名相同时,下列说法错误的是。

A.在过程之外是全局变量作⽤B.过程内部是局部变量作⽤C.在过程之外全局变量⽆作⽤D.在过程之外是全局变量作⽤⽽在内部是局部变量作⽤6.procedure和function的结构和功能相似,。

A.前者可以取代后者B.后者可以取代前者C.但前者有返回值,后者没有D.⼆者都可以返回⼀个值7.动态数组与静态数组的区别是。

A.是否是⼀维数组B.元素类型是否是整型C.定义时是否明确了数组元素的个数D.元素类型是否⼀致8.⽤于建⽴菜单项的加速键的字符是。

A.^B.#C.&D.@9.绘制封闭图形时,要指定填充⾊的颜⾊时,可以设置画布对象的属性。

A. pen.colorB. brush.colorC. pen.styleD. bursh.style10.BDE的中⽂含义是,它是数据库应⽤中的⼀种连接⽅法。

A.数据库连接B.数据库引擎C.数据库⽂件D.开放式数据库11.下列语句中,⽴即中断当前循环继续执⾏下⼀次循环的语句是。

2005年上学期《Delphi程序设计》期末考试试卷A

2005年上学期《Delphi程序设计》期末考试试卷A

2005年上学期《Delphi程序设计》期末考试试卷A适用班级:计0326班一.单选题(2*6=12分)1下列组件不是可视组件的是;A GroupBoxB ComboBoxC OpenDialogD Label2 若需让对象Label1上显示文本“你好”,可设置它的属性;A TextB ItemsC CaptionD Lines3 查询所有名称以E开头的姓名,可使用;A SELECT * FROM student WHERE name = E ;B SELECT * FROM student WHERE name LIKE ‘E%’;C SELECT * FROM student HA VING name = E ;D SELECT * FROM student HA VING name LIKE ‘E%’;4 Delphi提供了一些开发工具,其中让用户创建数据库表,查询、修改、排序数据的是;A Database DesktopB BDE AdministratorC SQL Explorer5 当按下鼠标上的任何一个键,会产生一个事件;A OnDragDropB OnMouseDownC OnMouseUpD OnKeyPress6 下面不是Object Pascal语言的结构类型;A setB fileC arrayD subrangeE record二.选择填空(2*8=16分)显示、编辑多行文本,可使用①组件,通过它的②属性可输入想要在窗口显示的文本;③组件主要用来响应鼠标的单击事件,BitBtn是④组件,可以通过⑤属性在组件上显示一个图标;⑥是复选按钮组件,可以形成多项选择;⑦是单选按钮组件,可以在多个条件中选择唯一的一个;ListBox组件可显示一行或多列文本项供用户选择,可以在设计阶段改变⑧属性来预先设置列表框的内容。

A TextB EnableC ButtonD ClickE ItemsF KindG CheckBoxH RadioGruopI RadioButton J Edit K Memo L GlyphM Lines N 图形按钮O 组合框P 位图管理三.填空(2*9=18分)1 在Delphi中,运行期间出现的窗体和对话框中的组件称为组件,其可分为组件和图形组件两类;2 若向Listbox1增加条目“你好”,可使用代码;3 用户在Edit组件中输入口令的时候,会显示星号(*),是由于设置了属性;4 在很多组件中,属性用来改变字符串的字体和颜色;5 单元(unit)文件是带有扩展名的源程序代码,是组成Pascal程序的单独的源代码模块;6在Delphi中,支持文件,类型文件和文本文件;7 对象最突出的特征有封装性、继承性和;8 组件提供了联系数据集组件(如TTable组件)与数据控制组件(如TDBGird组件)的纽带。

计算机程序设计(Delphi)

计算机程序设计(Delphi)

学习中心_________姓名_____________ 学号西安电子科技大学网络与继续教育学院《计算机程序设计(Delphi)》全真试题(闭卷90分钟)题号一二三四五六总分题分20 16 10 14 24 16得分试题一单项选择题(每题2分,共20分)1.一般程序设计都采用高级语言,很少使用汇编语言,因为(1)。

汇编语言的每一条语句与(2)条机器指令对应,通过助记符和符号地址书写程序。

最后,通过一个叫做Assembler的程序将汇编语言程序转换成机器语言程序。

为某个应用而用不同高级语言编写的程序模块分别编译产生(3),再经过连接程序处理后形成可执行程序。

(1)A. 高级语言编的程序执行效率较高B.汇编语言不容易学习,使用不方便C.历史上一直这样沿用下来D.高级语言种类很多,有更多的选择余地(2)A.1 B. 2 C. 3 D. 多(3)A. 汇编程序 B. 子程序 C. 动态程序 D. 目标程序2. 在Windows开发环境中,菜单选项和工具按钮被操作者选定后,将激活(4)事件,需要编写相应的事件处理例程。

通常,事件处理例程不宜包含过多的代码,如果处理过程(5)。

这样做实际上是将事件和处理代码分离,其优点是:(6);(7)。

(4)A . OnEnter B. OnClick C. OnChange D. OnSelect(5)A. 比较简单,通过编写专门的函数能明显减少代码量B. 比较简单,无须编写专门的函数,也能使多事件方便调用C. 比较复杂,无须编写专门的函数,也能使多事件方便调用D. 比较复杂,可通过编写专门的函数,并由事件处理例程来调用此类函数(6)A. 事件和处理过程不至于相互影响B. 程序运行比较稳定可靠,不容易出现意外错误C. 多个事件可以方便地调用同一处理过程D. 某一事件调用处理过程时不会影响其他事件(7)A. 比较容易调整各事件和各处理过程的对应关系B. 事件和处理过程之间的对应关系比较清晰C. 修改处理过程时不需要改变各事件之间的关系D. 各事件之间的关系比较简明清晰3. 在面向对象技术中,(8)不是对象。

电大2846Delphi程序设计-期末考试资料word

电大2846Delphi程序设计-期末考试资料word

2846Delphi程序设计-0006试卷总分:100 答题时间:60分钟客观题单项选择题(共20题,共40分)1. 结构化程序设计的基本原则或特点不包括()。

A 多态性2. 下列表达式中()不是布尔表达式。

B A div B3. 利用对象监视器可以设置窗体或组件的( )。

B 属性4. 下列说法错误的是( )C Delphi中的一个工程只包含一个窗体5. 如果想设置Form1中字体颜色为clRed,应当设置Font的()属性。

A Color6. 如果要检查edit编辑框中输入的字符,可以在哪个事件处理程序中编写代码检查()D OnKeyPress7. 能够删除edit1中内容的语句是()。

A edit1.Clear;8. 在Delphi中,建立一个文本编辑区域,可采用下列哪个控件()。

C Edit控件9. 下列说明错误的是()D 按钮组件的属性Name设置为“确定”,则按钮上文本显示为“确定”10. 进度显示组件ProgressBar的当前进度可以通过()属性设置。

C Position11. 工具栏上的一组按钮如果要构成互斥关系(如“左对齐”、“居中”、“右对齐”),它们的GroupIndex属性正确的设置是()C GroupIndex属性值非0,且相同12. 用于建立菜单项的下划线快捷方式的字符是( )。

A &13. 在设计阶段,利用Image对象的哪个属性,可以加载一幅图片( )。

B Picture14. Delphi中可以实现绘制直线的方法是()D LineTo15. 利用Image对象的哪个属性设置,可以使加载的图像自动放大或缩小,以适应Image的显示区域()A Stretch16. 在Table组件中,用来设置打开或关闭与其相连的数据表的属性是()D Active17. 数据库组件中,提供了对数据库读写操作功能的核心组件是()C 数据集组件18. Table组件中,指定要访问的数据库名称,通常设置数据库的属性是()A databasename19. 下面哪个方法用于确定当前指针位置是否在数据表的第一个记录()。

完整的delphi程序设计教程课后习题答案

完整的delphi程序设计教程课后习题答案

1.239页1题小时钟procedureTForm1.Timer1Timer(Sender: TObject);varxt,yt:integer;h,m,s,ms:word;begindecodetime(time,h,m,s,ms);xt:=paintbox1.clientwidth div 2; yt:=paintbox1.clientheight div 2; paintbox1.refresh;paintbox1.canvas.moveto(xt,yt); paintbox1.canvas.pen.width:=3; paintbox1.canvas.lineto(xt+round(s in((60*h+m)/(12*60)*2*pi)*100), yt-round(cos((60*h+m)/(12*60)*2 *pi)*100));paintbox1.canvas.moveto(xt,yt); paintbox1.canvas.pen.width:=2; paintbox1.canvas.lineto(xt+round(s in(m/60*2*pi)*140),yt-round(cos(m/60*2*pi)*140)); paintbox1.canvas.moveto(xt,yt); paintbox1.canvas.pen.width:=1; paintbox1.canvas.lineto(xt+round(s in(s/60*2*pi)*180),yt-round(cos(s/60*2*pi)*180)); end;end.2.239页3题求两点间的距离procedureTForm1.Button1Click(Sender: TObject);beginpaintbox1.Refresh;formpaint(sender);end;procedureTForm1.FormPaint(Sender: TObject);varxt,yt:integer;ax,ay,bx,by:integer;beginxt:=paintbox1.ClientWidth div 2; yt:=paintbox1.Clientheight div 2; paintbox1.canvas.MoveTo(xt,0);paintbox1.canvas.lineTo(xt,2*yt);paintbox1.canvas.MoveTo(0,yt);paintbox1.canvas.lineTo(2*xt,yt);ax:=strtoint(edit1.text);ay:=strtoint(edit2.text);bx:=strtoint(edit3.text);by:=strtoint(edit4.text);edit5.Text:=floattostr(sqrt((ax-bx)*(ax-bx)+(ay-by)*(ay-by)));paintbox1.canvas.MoveTo(xt+ax*10,yt-ay*10);paintbox1.canvas.lineTo(xt+bx*10,yt-by*10);end;end.3.226页5题输入学生成绩varForm1: TForm1;typestudentrecord=recordxh,xm:string[6];xb:boolean;yy,sx,dz:integer;end;implementation{$R *.dfm}procedureTForm1.Button1Click(Sender:TObject);var t:studentrecord;f,f1:file of studentrecord;p1,p2:boolean;beginassignfile(f,'c:\mydocuments\stu.dat');reset(f);assignfile(f1,'c:\mydocuments\stu1.dat');rewrite(f1);while not eof(f) dobeginread(f,t);p1:=(t.sx>=85)and(t.yy>=85)and(t.dz>=85);p2:=t.sx+t.yy+t.dz>=270;if p1 or p2 thenwrite(f1,t);end;closefile(f);closefile(f1);end;procedureTForm1.FormCreate(Sender:TObject);var t:studentrecord;f:file of studentrecord;xingbie:string;beginassignfile(f,'c:\mydocuments\stu.dat');reset(f);while not eof(f) dobeginread(f,t);if t.xb thenxingbie:='男'elsexingbie:='女';listbox1.Items.Add(t.xh+' '+t.xm+''+xingbie+' '+inttostr(t.sx)+' '+inttostr(t.yy)+' '+inttostr(t.dz));end;closefile(f);end;procedureTForm1.Button2Click(Sender:TObject);beginclose;end;end.4.226页8题保存获得奖学金者varForm1: TForm1;typestudentrecord=recordxh,xm:string[6];xb:boolean;yy,sx,dz:integer;end;implementation{$R *.dfm}procedureTForm1.Button1Click(Sender: TObject);var t:studentrecord;f,f1:file of studentrecord;p1,p2:boolean;beginassignfile(f,'c:\mydocuments\stu.dat');reset(f);assignfile(f1,'c:\mydocuments\stu1.dat');rewrite(f1);while not eof(f) dobeginread(f,t);p1:=(t.sx>=85)and(t.yy>=85)and(t. dz>=85);p2:=t.sx+t.yy+t.dz>=270;if p1 or p2 thenwrite(f1,t);end;closefile(f);closefile(f1);end;procedureTForm1.FormCreate(Sender: TObject);var t:studentrecord;f:file of studentrecord;xingbie:string;beginassignfile(f,'c:\mydocuments\stu1.dat');reset(f);while not eof(f) dobeginread(f,t);if t.xb thenxingbie:='男'elsexingbie:='女';listbox1.Items.Add(t.xh+' '+t.xm+' '+xingbie+' '+inttostr(t.sx)+' '+inttostr(t.yy)+' '+inttostr(t.dz)); end;closefile(f);end;procedureTForm1.Button2Click(Sender: TObject);beginclose;end;end.5.166页22题素数procedureTForm1.Button1Click(Sender:TObject);typesushuset=set of byte;varsushu:sushuset;i,j,n,m,k:longword;s,s0:string;beginn:=strtoint(edit1.text);m:=strtoint(edit2.text);if n mod 2=0 then n:=n+1;k:=m-n;if k>255 thenshowmessage('范围太大,请重新输入区间端点!')elsebeginsushu:=[0..k];for i:=2 to n-1 dofor j:=n to m doif j mod i =0 thensushu:=sushu-[j-n];for i:=n to m div 2 dofor j:= i+1 to m doif j mod i =0 thensushu:=sushu-[j-n];s:='';s0:='';for i:=n to m doif i-n in sushu thenbeginif length(s0+' '+inttostr(i))>60 thenbegins:=s+s0+chr(13);s0:=''end;s0:=s0+' '+inttostr(i);end;s:=s+s0;label1.caption:=s;groupbox1.Top:=(panel1.Top-groupbox1.height) div 2;end;end;procedureTForm1.FormCreate(Sender:TObject);begingroupbox1.Top:=(panel1.Top-groupbox1.height) div 2;end;procedureTForm1.Edit1KeyPress(Sender:TObject; var Key: Char);var j:set of char;beginj:=['0'..'9',#8];if not(key in j) then key:=#0;end;end.6.148页12题整除的数implementation{$R *.dfm}function d7(x:integer):boolean;beginif x mod 7=0 then d7:=trueelse d7:=false;end;function d17(x:integer):boolean;beginif x mod 17=0 then d17:=trueelse d17:=false;end;procedureTForm1.FormActivate(Sender:TObject);varn:integer;beginfor n:=1000 to 4000 doif d7(n)and d17(n) thenmemo1.Lines.Add(inttostr(n));end;end.7.148页17题求斐波那契数列问题implementation{$R *.dfm}function fib(n:integer):int64; begincase n of1,2:fib:=1;elsefib:=fib(n-1)+fib(n-2);end;end;procedureTForm1.Button1Click(Sender: TObject);vark:integer;beginmemo1.lines.clear;for k:=1 to strtoint(edit1.text) do memo1.lines.add(format('%2d % 3d',[k,fib(k)]));end;end.8.120页10题,判断是否是闰年procedureTForm1.Button1Click(Sender: TObject);vary,m:integer;beginy:=strtoint(edit1.text);m:=strtoint(edit2.text);label3.Caption:='';if((y mod 4 = 0) and (y mod 100 <> 0)) or (y mod 400=0) then label3.Caption:=edit1.text+'年是闰年,'elselabel3.Caption:=edit1.text+'年不是闰年,';case m of3,4,5:Label3.Caption:=Label3.Capt ion+edit2.Text+'月份是春天,';6,7,8:Label3.Caption:=Label3.Capt ion+edit2.Text+'月份是夏天,';9,10,11:Label3.Caption:=Label3.C aption+edit2.Text+'月份是秋天,'; elseLabel3.Caption:=Label3.Caption+e dit2.Text+'月份是冬天,';end;case m of1,3,5,7,8,10,12:Label3.Caption:=Label3.Caption+'共有31天,';4,6,9,11:Label3.Caption:=Label3.Caption+'共有30天,';elseif((y mod 4 = 0) and (y mod 100<> 0) or (y mod 400=0)) thenLabel3.Caption:=Label3.Caption+'共有29天,'elseLabel3.Caption:=Label3.Caption+'共有28天,';end;end;end.9.120页11题求和的procedureTForm1.Button1Click(Sender:TObject);varn,k,j:integer;s:int64;beginn:=strtoint(edit1.text);j:=0;s:=0;for k:=1 to n dobeginj:=j+k;s:=s+j;end;panel2.Caption:=format('s= %d',[s]);edit1.setfocus;end;procedureTForm1.Edit1KeyPress(Sender:TObject; var Key: Char);var b:boolean;beginb:=(key<>#8)and(key<#48)or(key>#57);if b then key:=#0;end;end.10.120页12题男人,女人,小孩各有多少人procedureTForm1.Button1Click(Sender:TObject);varx,y,z:integer;p:string;beginmemo1.clear;for x:=0 to 16 dofor y:=0 to 24 dobeginz:=30-x-y;if 3*x+2*y+z/1=50 thenbeginp:=format('%3d %3d %3d',[x,y,z]);memo1.lines.add(p);end;end;end;end.11.98页2题求长方体的表面积procedureTForm1.Button1Click(Sender:TObject);vars,l,k,h:double;beginl:=strtofloat(edit1.text);k:=strtofloat(edit2.text);h:=strtofloat(edit3.text);s:=2*l*k+2*k*h+2*l*h;label1.Caption:=floattostr(s);end;end.12.98页5题计算圆的面积和周长procedureTForm1.Edit1KeyPress(Sender:TObject; var Key: Char);varr:real;b:boolean;beginb:=(key<>#8)and(key<>'.')and(key <>#13)and(key<#48)or(key>#57); if b then key:=#0;if key =#13 thenbeginif edit1.text='' then edit1.text:='0'; r:=strtofloat(edit1.text);if radiobutton1.Checked then label1.Caption:=format('圆的面积为:%f',[pi*r*r]);if radiobutton2.Checked then label1.Caption:=format('圆的周长为:%f',[2*pi*r]);if radiobutton3.Checked then label1.Caption:=format('圆的面积为:%f'+chr(13)+ '周长为: %f',[pi*r*r,2*pi*r]);edit1.SelectAll;end;end;procedureTForm1.RadioButton1Click(Sende r: TObject);varsender0:tobject;key:char;beginsender0:=edit1;key:=#13;form1.edit1keypress(sender0,key); end;procedureTForm1.RadioButton2Click(Sende r: TObject);varsender0:tobject;key:char;beginsender0:=edit1;key:=#13;form1.edit1keypress(sender0,key); end;procedureTForm1.RadioButton3Click(Sende r: TObject);varsender0:tobject;key:char; beginsender0:=edit1;key:=#13;form1.edit1keypress(sender0,key);end;end.13.98页6题统计奇数和偶数的个数procedureTForm1.Button1Click(Sender:TObject);vark,j,n:word;begink:=0;n:=combobox1.items.count;for j:=1to n doif strtoint(combobox1.items[j-1])mod 2 = 0 thenk:=k+1;label1.caption:=format('共有:'+#13+'%d个偶数,'+#13+'%d个奇数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《Delphi 程序设计》试题及解答 卷5一、填空题(20分,每空2分)1、现实世界中对象具有自己的状态和行为。

对应着,面向对象技术中的对象可以具有自己的属性和 方法 。

2、Delphi 应用程序中项目文件的扩展名是 .dpr 。

3、结构化程序设计要求程序中仅采用顺序、分支和循环三种控制结构,其中每种结构只能有 一个人口 和一个出口。

4、在Delphi 集成开发环境中,如果想要直接设置或者修改对象的属性,可以通过对象查看器(Object Inspector )中的 属性 或 Properties 窗口直接进行设置。

5、ListBox 对象列表框中的内容是通过 items 属性来进行设置的。

6、时钟组件(Timer)能有规律的以一定时间间隔触发 ontimer 事件。

7、如果让界面上的一个按钮变为不可用,需要将它的 enabled 属性设为False 。

8、Image 组件可通过设置其 Autosize 属性为True 使Image 组件根据图像的大小自动调整显示窗口大小。

9、Delphi 的一个项目由若干文件组成,其中文件名后缀含有“~”的文件为 备份文件 。

10、与数学表达式 53)(cos 2++xb a 对应的Object Pascal 表达式是 Cos*cos*(a+b) /(3*x)二、单项选择题(30分,每题3分)1、Delphi 程序设计的基本特点是(D )A . 可视化程序设计B . 代码程序设计C . 事件驱动编程D . A 和C2、修改窗体的标题时,应当设置form 的属性是( A )A .CaptionB . NameC . TextD . Label3、下列哪个常量说明语句是正确的( D )A. const x := (c < 16);B. const x : 16 ;C. const x := 16 ; D const x = 16 ;4、“x 是小于100的非负数”的Object Pascal 表达式是( C )A .0 ≤ x < 100B . x >= 0, x<100C .(x >=0) AND (x < 100) D . (x >= 0 ) OR (x<100)5、编辑框(Edit )中的文本发生改变时引发的事件是( B )A .AutoSizeB .OnChangeC .SetFocusD .SetText6、表达式 30 + 19 div 2 的值是( C )A . 37B . 49C . 39D . 407、现建立一个简单报表,仅包含报表标题栏、数据栏和汇总栏,则在Bands 属性的子属性中,不需要选择的是(A )A.HasColumnHeader B.DetailC.Title D.Summary8、下面哪个功能键可以调出Delphi 的联机帮助信息( A )A.F1键B.F2键C.F3键D.F4键9、数据库组件中,提供了对数据库读写操作功能的核心组件是( C )A.数据源组件B.用户界面组件C.数据集组件D.数据感知控件10、以下控件中没有Items属性的是( D )A.ComboBox B.ListBox C.RadioGroup D.Memo三、判断题(10分,每题2分)请给下列论述中正确的打上“√”,错误的打上“ ”(10分,每题1分)1、(Y) 一个数组中的各元素的数据类型必须相同。

2、(Y )在一个项目中,可以根据需要将任何一个窗体定义为主窗体。

3、(N) 每个数据感知控件都必须指定DataSource和DataField两个属性值。

4、(N) label 和Edit 组件都可以用于用户输入数据。

5、(Y ) 按钮组件和编辑框组件能够响应的事件有些是相同的。

四、程序填空题(30分,每题10分)1、(10分,每空2分)本程序根据用户选择的运算符对输入的二个操作数进行运算,并显示运算结果。

设计界面和运行界面如图所示。

其中,运算符是一个含有4个单选按纽的RadioGroup1对象。

下面是单击“运算”按钮的事件处理程序,请根据功能要求完成程序填空。

--------------------------------------------------------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject);//运算varx1,x2,y :Integer;beginx1 := StrToInt( Edit1.①);x2 := StrToInt( Edit2.②);Case ③ .ItemIndex of0: y := x1 + x2 ;1: y := x1 - x2;2: y := x1 * x2;3: y := x1 Div x2;End;Edit3.④ := IntToStr( ⑤ );end;--------------------------------------------------------------------------------------------------------------------- 2、(10分,每空2分)数据库mydb中有关系表student,其结构如下:student(sno学号,sname姓名,sex性别,birthday生日)现编写一个学生信息浏览程序,设计界面和运行界面如下图所示:在下划线处填写相应数据库组件的属性值:Database1. DatabaseName : mydbTable1. DatabaseName : mydbTable1. TableName : studentTable1. Active : ①trueDatasource1.DataSet : ②table1DBNavigator1. DataSource : ③datasource1DBEdit2. DataSource : ④DataSource1DBEdit2. DataField : ⑤sname3、(10分,每空2分)本程序实现一个简单的借书界面。

程序的设计界面和运行界面如下图所示:该程序涉及到数据库中的两张表:books(图书信息)和borrow(借书记录)。

表的结构为:books(bno,书号,bname书名,num现有册数)borrow(rno 读者号,bno书号,rdate还书日期)其中,rno和bno都是字符型(3位)。

在用户界面,操作员选中一本书、输入借书证号后,按“借书”键完成借书功能,即在borrow表中插入一条借书记录,并将books表中该书现有册数减1。

该界面要实现以下合法性检查:●当该读者已经借了此书,不能再借。

●当所借的书现有册数为0,不能再借。

在Form1上建立的数据库组件对象及连接关系如下:Database1-Table1(与books表相连)-DataSource1-DBGrid1(显示图书信息)Database1-Table2(与borrow表相连,用于插入借书记录)Database1-Query1其中为Table1建立了3个永久字段:Table1bno(书号)、Table1bname(书名)、Table1num (现有册数)。

Query1的SQL语句如下:select bnofrom borrowwhere rno = :rno and bno = :bno下面是Unit1的代码实现部分,请完成程序填空:--------------------------------------------------------------------------------------------------------------------- implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject); //“借书”键beginquery1.Close ;query1.ParamByName('rno').Value := ①;query1.ParamByName('bno').Value := ②;query1.Open ;if query1['bno'] <> null thenbeginshowmessage('该读者正在借阅此书');exit ;end ;if ③thenbeginshowmessage('该书已全部借出');exit ;end;table2. ④( [edit1.Text , table1bno.Value , date+15] ); //插入借书记录table1. ⑤;table1num.Value := table1num.Value - 1 ; // 现有册数减1table1.Post ;end;end.---------------------------------------------------------------------------------------------------------------------五、编程题(10分)本程序设计界面及运行界面如下:程序功能是:用户输入一个3位正整数后,按“确定”键,该数字的个位、十位、百位数字分别显示在输出框中。

如果输入的数据不在规定范围之内,程序要给出错误提示。

请编写单击“确定”按钮的事件处理程序。

procedure TForm1.Button1Click(Sender: TObject);varx : integer ;beginx := strtoint(edit1.Text);if (x<100) or (x>999) thenshowmessage('输入数据不在范围内');edit2.Text := inttostr(x DIV 100) ;edit3.Text := inttostr( (x DIV 10 ) Mod 10 ) ;edit4.Text := inttostr(x Mod 10) ;end;试题参考答案一、填空题(20分,每空2分)1、方法2、.dpr (或dpr)3、一个入口4、属性或Properties5、Items6、OnTimer7、Enabled 8、AutoSize 9、备份文件10、sqr(cos(a+b)) /(3*x)+5 或cos(a+b) * cos(a+b) /(3*x)+5二、单项选择题(30分,每题3分)1、D2、A3、D4、C5、B6、C7、A8、A9、C 10、D三、判断题(10分,每题2分)1、√2、√3、⨯4、⨯5、√四、程序填空题(30分,每题10分)1、(10分,每空2分)①text ②text③RadioGroup1 ④text⑤y2、(10分,每空2分)①True ②Table1③DataSource1④DataSource1⑤sname3、(10分,每空2分)①edit1.Text ②table1bno.Value③table1num.Value = 0 ④InsertRecord⑤Edit五、编程题(10分)procedure TForm1.Button1Click(Sender: TObject);varx : integer ;beginx := strtoint(edit1.Text);if (x<100) or (x>999) thenshowmessage('输入数据不在范围内');edit2.Text := inttostr(x DIV 100) ;edit3.Text := inttostr( (x DIV 10 ) Mod 10 ) ;edit4.Text := inttostr(x Mod 10) ;end;。

相关文档
最新文档