试卷代号:2235 座位号■ 中央广播电视大学2009一2010学年度第二学期“开放专科”期末考试 Delphi程序设计试题 2010年7月 题 号 二 三 四 五 总分 分 数 得 分 评卷人 一、填空题(共20分,每空2分) 1.结构化程序设计的基本原则是取消goto语句,程序中仅采用顺序、分支和 种控制结构。 2.Delphi中与窗体文件对应的文件是单元文件,其最常用的文件扩展名是. 3.与数学表达式sia+-ab对应的Object Pascal表达式是 3+y2 4.调用主窗体的 方法,可以结束程序关闭窗体。 5.ListBox对象列表框中的内容是通过 属性来进行设置的。 6.时钟组件(Timer)能有规律的以一定时间间隔触发 事件。 7.如果让界面上的一个按钮变为不可用,需要将它的 属性设为False。. 8.通过Animate对象的 属性设置,可以指定系统标准的AVI 动画演示。 9.在Delphi集成开发环境中,如果想要直接设置或者修改对象的属性,可以通过对象查 看器(Object Inspector)中的 窗口直接进行设置。 10.利用DBGrid的 属性,可以设置DBGrid每一列的标题和对齐方式 等。 1442
试卷代号 3 5 座位号 中央广播电视大学 2 0 0 2010 学年 第 二学期 开放 末考 Delphi 设计 2010 年7 题号 总分 分数 得分|评卷人 一、填空题{共 0分,每空 2分} 1.结构化程序设计的基本原则是取消 o语句,程序中仅采用顺序、分支和 种控制结构。 2. Delphi 与 窗 件对 单元 sin(a 3. 表 达 式-77-f-ab 对 应 的Object Pascal 达 式 4. 用 主窗 方法 结束程序 5. ListBox 容是 性来 行设 6. 件(Timer) 能有 间 间 7. 如果 面上 按钮 需要 性设 8. 过Animate 的AVI 动画演示。 趴在 开发 要直接 者修 对象 通 过 看器 e c Inspector) 直接进行设 10. 利用 属性,可以设置 d每一列的标题和对齐方式
得 分 评卷人 二、单项选择题(共30分,每题3分) l.下面哪句话对Delphi的描述是正确的()。 A.Delphi的编程语言是C+十 B.Delphi的编程语言全部是面向过程的 C.只能用于数据库客户端开发的工具 D.面向对象的可视化的开发环境 2.要改变一个对象的高度,应使用属性( ). A.Font B.ForcColor C.Name D.Height 3.表达式30十19div2的值是( A.37 B.49 C.39 D.40 4.下列合法的变量名是()。 A.na十e B.e-3r C.r_3 D.5we 5.利用对象监视器可以设置窗体或组件的( )。 A.方法 B.属性 C.外观 D.执行代码 6.编辑框(Edit)中的文本发生改变时引发的事件是()。 A.AutoSize B.OnChange C.SetFocus D.SetText 7.现建立一个简单报表,要求其中要包含报表的汇总栏,则在Bands属性的子属性中,需 要选择的是()。 A.ColumnHeader B.Detail C.Title D.Summary 8.如果要检查edit编辑框中输人的字符,可以在哪个事件处理程序中编写代码检查 () A.OnClick B.OnEnter C.OnMouseUp D.OnKeyPress 1443
得分|评卷入 二、单项选择题(共 0分,每题 3分} 1.下面哪句话对 i的描述是正确的( A. Delphi 是C++ C. 数据库客 2. 改变一 A. Font C. Name B. Delphi 过程 D. 对象 视化 开发 B. ForcColor D. Height 3. 表达式30 十19 div A. 37 C. 39 B. 49 D. 40 4. A. na C. r 3 B. e- 3r D.5we 5. 利用 象监视器 组件 )。 A. 法B. c.外观 执行代 6. 辑框 (Edit) 文本发生改 件是 )。 A. AutoSize C. SetFocus B. OnChange D. SetText 7. 现建 单报 要求 要包 报表 汇总 在Bands 要选择的是( )。 A. ColumnHeader C. Title B. Detail D. Summary 8. 查edit 字符 在哪 事件处理 写代码检查 ( ) A.OnClick C. OnMouseUp B.OnEnter D. OnKeyPress 1443
9.数据库组件中,提供了对数据库读写操作功能的核心组件是()。 A.数据源组件 B.用户界面组件 C.数据集组件 D.数据感知控件 l0.下列常用的数据组件中,只需指定DataSource而不需指定DataField的控件是哪个? () A.DBText B.DBEdit C.DBNavigator D.Query 得 分 评卷人 三、判断题(请给下列论述中正确的打上“√/”,错误的打上“×”。共 10分,每题2分) 1.Delphi是面向对象的可视化的开发环境,编程语言采用Object C。() 2.在Delphi环境中,组件板上的组件就是类的概念,例如按钮组件就是按钮类。而用户 在窗体上创建的一个按钮就是对象的概念(按钮对象)。() 3.要想在数据集中增加计算字段,必须先将数据集的字段全部置为动态字段。() 4.,4ABC可作为Delphi的变量名。() 5.在一个项目中,第一个建立的窗体固定就是主窗体,并且再也不设置其他窗体为主窗 体。( ) 得分 评卷人 四、程序填空题(共30分,每题10分) 1.(10分,每空2分) 下图是本程序的设计界面(左)和运行界面(中、右): olx Z'Forml Forml 把dit1 拉dit2 21 43 讴it3 21<48 21小于48 确定 确定 确定 在forml上建立的对象有:Edit1~Edit3、Buttonl(确定)和CheckBox1等。 1444
9. 数据 提供 数据 操作功 能 组件 )。 A. 数据源组件 B. C. 数据集 件D.数据感 控件 10. 下列 常 据组 定DataSource 不需 定DataField 控件 ( ) A. DBText C. DBNavigator 得分|评卷人 B. DBEdit D. Query 三、判断题{请给下列论述中正确的打上"~",错误的打上 "。共 10 题2 1. Delphi 开发环 程语 用Object Co ( ) 2. 在Delphi 环境 组件板 就是 按钮组件就是按钮 在窗体上创建的一个按钮就是对象的概念、〈按钮对象 ( ) 3. 要想 增加 必须先将 据集 字段全部置为动态字段 ) 4. 4ABC 为Delphi ) 5. 在一 定就是 为 主 体。( ) 得分|评卷人 四、程序填空题(共 0分,每题 0分) 1. (1 下图是本程序的设计界面(左)和运行界面(中、右) : l' ..'....·.1Eci芝" ' . . ....,...阿 白昼且应量 1上建立的对象有:Editl Edit3 、Button1(确定)和 e c 1等。 1444
该程序实现两个整数的大小比较。用户输入两个整数,按“确定”键后,比较结果显示在 Edit3中。 如果“汉字”复选框选中,比较结果采用“大于”、“小于”、“等于”;否则比较结果采用“>”、 “'; eq:='='; lt:='y)then edit3.Text:edit1.Text gt edit2.Text else if (x=y)then edit3.Text:=editl.Text +eq edit2.Text else edit3.Text:edit1.Text+5 edit2.Text; end; 1445
该程序实现两个整数的大小比较。用户输入两个整数,按"确定"键后,比较结果显示在 Edit3 如果"汉字"复选框选中,比较结果采用"大于"、"小于"、"等于飞否则比较结果采用">" "FF eq : = = ; ltz=Fy) then 'edit3. Text: = edit1. Text + gt + edit2. Text else if (x=y) then edit3. Text: = edit1. Text + eq 十edit2. Text else edit3. Text: = edit 1. Text +⑤ Text; 1445
2.(10分,每空2分) 本程序由主窗体forml和子窗体form2组成,设计界面如下图所示: Forml 播放 Form2 o[x 是否退出 加我AYI文 退出 主窗体上建立的对象有Panell、Animatel、Buttonl(加载AVI文件)、Button2(退出)、 Button3(播放)、Button4(停止)和OpenDialog1。 子窗体上建立的对象有Labell.BitBtm1(Yes)、BitBtm2(No)。 单击“加载AVI文件”按钮,会弹出打开文件对话框。用户指定一个.avi的文件后,动画 文件加载到Animate1显示区中。单击“播放”按钮可播放动画,单击“停止”按钮可停止播放。 单击“退出”按钮,会弹出确认对话框(Form2)。如果用户按“Yes”键,程序结束;如果按 “No”键,返回主窗体。 下面是Unitl的代码部分,请在下划线处完成程序填空。 implementation ($R *dfm) uses ① procedure TForml..Button1Click(Sender:TObject);/加载AVI文件 begin if② then animatel.FileName :=3 end; procedure TForm1.Button2Click(Sender:TObject); /退出 begin 1446
2. (1 0 本程序由主窗体 1和子窗体 2组成,设计界面如下图所示: 主窗体上建立的对象有 el1、 1、 tt 载AVI 、Button2 Button3C 、Button4C 和OpenDialog1 子窗体上建立的对象有 l. BitBtm1CYes) 、BitBtm2CNo) 单击"加载 AVI文件"按钮,会弹出打开文件对话框。用户指定一个 i的文件后,动画 文件加载到 1显示区中。单击"播放"按钮可播放动画,单击"停止"按钮可停止播放。 单击"退出"按钮,会弹出确认对话框 )。如果用户按 "键,程序结束 s如果按 "No" 下面是 1的代码部分,请在下划线处完成程序填空。 implementation {$ cifm} uses procedure TForml. Button1ClickCSender: TObject) ; / /加载 I文件 begin if end; animatel. FileName: =③ then • , procedure TForml. Button2ClickCSender: TObject) ; / /退出 begin 1446
if④ -mrYes then close end; procedure TForm1.Button3Click(Sender:TObject);// begin animatel.Play(1,animatel.FrameCount,0); end; procedure TForm1.Button4Click(Sender:TObject);/ begin animatel.⑤ end; end. 3.(10分,每空2分) 本程序的功能是实现对dep表(系)一student表(学生)的主从查询。用户可以依次查询 系的记录,也可以通过指定系号,查找并定位到指定的记录。每当显示一个系的记录后,系统 自动显示该系的学生记录。设计界面和运行界面如下: DDEdit1 指定系号Edit1 d01 指定系号do1 DBEdita 算系 DBEdit3 2934 Sno Srame Sex Birthday Dno D10002吴成女1982-11-17c01 030002李林 女1984-3-5c0】 040001候成文男195-1-2101 在Forml上建立的主要对象及连接如下: Databasel-Tablel(与dep表相连)-DataSourcel一DBEdit1~DBEdit.3 Databasel一Queryl一DataSource2-DBGrid1(显示学生信息) Editl.Buttonl(查找)、Button2(下一记录)、Button:3(上一记录)等。 1447
if end; close; = mrYes then • , procedure TForml. Button3Click(Sender: TObject); begin animatel. Play(1 , animatel. FrameCount , 0) ; end; procedure TForml. Button4Click(Sender: TObject); begin animatel. end; end. II播放 II 3. (1 本程序的功能是实现对 p表(系) -student 依 次 系的记录,也可以通过指定系号,查找并定位到指定的记录。每当显示一个系的记录后,系统 自动显示该系的学生记录。设计界面和运行界面如下: 1上建立的主要对象及连接如下: Database1 一Table1 (与 - DataSource1- DBEdit1 DBEdit3 Database1- Query1-DataSource2 - DBGrid1 (显示学生信息) Edit 1- Button l< 、Button2( 、Button3C 1447
Query1的SQL语句是: select from student where dno =dno 下面是Unit1单元的代码实现部分,请完成程序填空。 implementation ($R *dfm) procedure TForml.Button2 Click(Sender:TObject);/下一记录 begin tablel..① end; procedure TForml.Button3 Click(Sender:TObject);/上一记录 begin tablel.② end; procedure TForm1.ButtonlClick(Sender:TObject);// begin tablel.③ (dno',edit1.Text,[]); end; procedure TForm1.TablelAfterScroll(DataSet:TDataSet); begin query1.Close query1.ParamByName('dno).Value :=4 queryl.⑤ end; end. 1448
Query1 的SQL select from student where dno = ,dno 下面是 单元 代码 implementation {$ dfm} procedure TForml. Button2ClickCSender: TObject); / /下一记录 begin tablel. end; • , procedure TForml. Button3ClickCSc:1der: TObject); / /上一记录 begin tablel. end; procedure TForml. Button1ClickCSender: TObject); / /查找 begin tablel. end; c' dno' .editl. Text. [J) ; procedure TForml. Table1AfterScrollCDataSet: TDataSet); begin queryl. Close; queryl. ParamByNamec' dno'). Value: =④ • , query 1. end; end. 1448 •
得分 评卷人 五、编程题(共10分) 输入一个数字,程序判断如下情况:如果能被3整除但同时不能被5整除,显示“该数只能 被3整除”;如果只能被5整除但是不能被3整除,显示“该数只能被5整除”,若被3整除同时 被5整除,显示“该数可以同时被3、5整除”。 本程序设计界面及运行界面如下: 石区 a☒ :输入数字(1至100以内) 输入数字(1至100 Projeetn.,☒ Edit1 0 该数只能被5除 Button1 判断 ”、 酒6☒ ☒ 输入数字(1至100 Projectr.,☒ 输入数字(1至 39 该数可以同时被3、5整除 该数只能被3盛除 60 o 判断 判断 请编写单击“判断”(Buttonl)按钮的事件处理程序。 procedure TForml.ButtonlClick(Sender:TObject); begin end; 1449
得分|评卷人 五、编程题(共 输入一个数字,程序判断如下情况:如果能被 3整除但同时不能被 5整除,显示"该数只能 3整除";如果只能被 5整除但是不能被 3整除,显示"该数只能被 5整除",若被 3整除同时 5整除,显示"该数可以同时被 5整除"。 本程序设计界面及运行界面如下: 幅是 该数只疆军蜘整除 马婆豆 ;:] 蹦嚣 :输入数字 1至 ro : . : IEdit1 ;:B411! 漆器费可以郎才被 1".>".....,,'夜 ttT 判断 输入数字。 能被 F~ 在交 、品码陆描描画凶副嗣码 睡蠕瞄…… 输入数字。至 请编写单击"判断 tt )按钮的事件处理程序。 procedure TForml. ButtonlClick(Sender: TObject); begin end; 1449
试卷代号:2235 中央广播电视大学2009一2010学年度第二学期“开放专科”期末考试 Delphi程序设计i 试题答案及评分标准 (供参考) 2010年7月 一、填空题(20分,每空2分】 1.循环 2.PAS 3.sin(a+b)/(3+sqr(y))-a b sin(a+b)/(3+y*y)-a*b 4.Close 5.Items 6.OnTimer 7.Enabled 8.CommonAVI 9.属性或Properties 10.Columns 二、单项选择题(共30分,每题3分)】 1.D 2.D 3.C 4.C 5.B 6.B 7.D 8.D 9.C 10.C 三、判断题(共10分,每题2分)】 1.× 2./ 3.× 4. 5.X 四、程序填空题(共30分,每题10分) 1.(10分,每空2分) ①strtoint ②Text 1450
试卷代号 2 2 3 中央广播电视大学 0 0 2010 二学 Delphi 试题答 及评分标 (供参考) 2010 年7 -、填空题 0分,每空 2分} 1.循环 2. PAS . 3. sin(a 十b) /(3 十sqr(y))-a 祷b 或sin(a+ b)/(3+y 铃y)-a 祷b 4. Close 5. Items 6. OnTimer 7. Enabled 8. CommonAVI 9. 或Properties 10. Columns 二、单项选择题(共 0分,每题 3分} 1. D 2. D 3. C 6. B 7. D 8. D 三、判断题(共 0分,每题 2分) 1. X 2. -J 3. X 四、程序填空题{共 0分,每题 0分) 1. (1 0 ( strtoint ( T ext 1450 4. C 9. C 4. X 5. B 10. C 5. X
③Checked ④else ⑤lt 2.(10分,每空2分) ①unit2 2 opendialog1.Execute 3 opendialog1.FileName ④form2.ShowModal ⑤stop 3.(10分,每空2分) ①Next ②Prior ③Locate ④tablel['dno'] ⑤Open 五、编程题(共10分)】 procedure TForm1.ButtonlClick(Sender:TObject); var Num Integer; begin Num StrToInt(edit1.Text); IF (Num mod 3 =0)and (Num mod 5 =0)Then showmessage('该数可以同时被3、5整除) Else IF Num mod 3 =0 Then showmessage('该数只能被3整除') Else IF (Num mod 5=0)Then showmessage('该数只能被5整除') Else showmessage('该数不能被3、5整除') end; 1451
( Checked ( else ( it 2. (1 ( unit2 ( opendialogl. Execute ( opendialog1. FileName ( form2. ShowModal ( stop 3. (1 ( Next ( Prior ( Locate ( table1[ 'dno'] ( O pen 五、编程题{共 0分) procedure TForml. Button1ClickCSender: TObject); var Num : Integer; begin Num : = StrToIntCeditl. Text); IF (Num mod 3 = 0) and (Num mod 5 =0) Then showmessage( ,该数可以同时被 Else IF Num mod 3 = 0 Then showmessage( ,该数只能被 Else IF (Num mod 5=0) Then showmessage( ,该数只能被 Else showmessage( ,该数不能被 end; 1451