试卷代号:2235 座位■ 中央广播电视大学2012一2013学年度第一学期“开放专科”期末考试 Delphi程序设计 试题 2013年1月 题 号 二 三 四 五 总分 分 数 得分 评卷人 一、单项选择题(30分,每题3分)】 l.下列关于Delphi的叙述中,哪种是不正确的?() A.Delphi采用Object Pascal高级编程语言 B.Delphi基于面向对象编程方法,是一种可视化开发工具 C.Delphi结构严谨、数据类型丰富 D.Delphi的主窗口就是窗体Form,不能随意更改 2.Pascal单元扩展文件名是() A.pas B.dps C.dpr D.dfm 3.“x是小于34的非负数”的Object Pascal表达式是() A.0≤x=0)AND(x=0,x=0)OR(x<34) 4.工具栏上的一组按钮如果要构成互斥关系(如“左对齐”、“居中”、“右对齐”),它们的 GroupIndex属性正确的设置是() A.GroupIndex属性值都为O B.GroupIndex属性值非O,且互不相同 C.GroupIndex属性值非O,且相同 D.GroupIndex属性值互不相同 1188
试卷代号 2 2 3 座位号 中央广播电视大学 01 13学年度第一学期"开放专科"期末考试 Delphi 程序 设计 试题 2013 年1 |题号|一|二|三|四|五|总分| |分数 I I I I I I |得分|评卷人 择题 1.下列关于 i的叙述中,哪种是不正确的? ( ) A. Delphi 用Object Pascal 编程 B. Delphi 于面 象编 方法 化开 C. Delphi 丰富 D. Delphi 主窗 体Form 随意 2. Pascal 单元 展文件 ) A. pas B. dps C. dpr D. dfm 3."x 于34 的Object Pascal 表达式 ) A. =0) AND (x = 0, x= °)OR (x< 34) 4. 具栏 一组按 果要 左对 齐 右 对 Grollplndex 置是 ) A. Grouplndex 为O B. Grouplndex 非0 且互不相 C. Grollplndex 非0 D. Grollplndex 性值 1188
5.利用Image对象的哪个属性设置,可以使Image对象的显示区域随着调人图像的大小 自动调整以显示全图?() A.Stretch B.AutoSize C.Align D.Center 6.现建立一个简单报表,仅包含报表标题栏、数据列标题栏和数据栏,则在Bands属性的 子属性中,不需要选择的是() A.HasColumnHeader B.Detail C.Title D.Summary 7.在窗体上建立多页面,需要首先建立的对象是() A.TabControl B.PageControl C.HeaderControl D.PageScroller 8.Object Pascal不支持的注释类型是( A.十¥..,*十 B.{...} C./ D.(*..米) 9.如果要求每当光标进入dit编辑框中时,编辑框都清空,可以在哪个事件处理程序中 编写代码实现?() A.OnClick B.OnMouseMove C.OnKeyPress D.OnEnter 10.下面哪个组件不是容器组件?() A.Form B.Panel C.GroupBox D.Memo 得 分 评卷人 二、判断题,请给下列论述中正确的打上“√”,错误的打上“X”(10 分,每题2分) )1l.label标签中文本不可以换行。 )12.按钮组件和编辑框组件能够响应的事件有些是相同的。 )13.在对文件的操作中,reset是建立并打开一个新文件。 )14.Quick Report组件用于开发报表程序,它只有一个组件。 )l5.BitBtn控件可以用来制作一个带图片的按钮,而SpeedButton则不能。 1189
5. 用Image 对象 使Image 显示 大小 自动调整以显示全图? ( ) A. Stretch C. Align B. AutoSize D. Center 6. 含报表标 列标 在Bands 子属性中,不需要选择的是( ) A. HasColumnHeader B. Detail C. Title D. Summary 7. 在窗体上 立多 需要 先建立 象是 ) A. TabControl C. HeaderControl B. PageControl D. PageScroller 8. Object Pascal ) A. +赞..... .铃十 {......} C. / / D. (祷... .铸) 9. 入edit 都清 编写代码实现? ( ) A. OnClick B. OnMouseMove C. OnKeyPress D. OnEnter 10. 组件不是 器组件 ( A. For B. Panel C. GroupBox D. Memo |得分|评卷人| I I I 二、判断题,请给下到论述中正确的打上 ",错误的打上 分,每题 2分} )11. label )1 钮组件 辑框组件 些是 )1 是建立并打开一 )14. Quick Report 组件用于 有一 )15. BitBtn 作一 按钮 而SpeedButton 1189
得 分 评卷人 三、填空题(20分,每空2分)】 16,结构化程序设计要求程序中仅采用顺序、分支和循环三种控制结构,其中每种结构只 能有一个人口和 17.现实世界中对象具有自己的状态和行为。与此相对应,面向对象技术中的对象可以 具有自己的 和方法。 18.Delphi的一个项目由若干文件组成,其中与窗体文件对应的文件 是 0 19.在设计阶段,ListBox对象列表框中的内容是通过 属性来进行设置的。 20.调用主窗体的方法,可以结束程序。 2l.下面的语句用来删除Tmemo组件的第2行,请补充完整: memol.lines.delete( 22.当Query对象中存储一条Delete语句时,执行该语句需要调用Query的 方法。 23.与数学表达式osa+b2+5对应的Object Pascal表达式是 7-x 24.通过Animate对象的 属性设置,可以 指定系统标准的AVI动画演示。 25.打开的数据集通过BDE访问一个数据表Table,则调用Table的 方法可以使记录指针指向table第一个记录。 1190
|得分|评卷人| I I I 三、填空题 0分,每空 2分} 16. 要求程 循环三种 种结 能有一个人口和 17. 对象具 对应 象技 具有自己的 和方法。 18. Delphi 文 件 组 成 文 件 对 应 19. ListBox 表框 是通 属性来进行设置的。 20. 主窗 方法,可以结束程序。 1. 下面 句用 除Tmemo 组件 第2 整z memol. lines. delete( 22. 句 时 行 该 语 需 要 调 用 方法。 S2 (a+b) 23. 学表 叮+5对应的Object Pascal 表达式 24. 过Animate 指定系统标准的AVI动画演示。 25. 据集 过BDE 表Table 用Table 方法可以使记录指针指向 e第一个记录。 1190 属性设置,可以
得 分 评卷人 四、程序填空题(30分,每题10分) 26.(10分,每空2分) 本程序由主窗体forml和子窗体form2组成,设计界面如下图所示: Form2 否出 退出 主窗体上建立的对象有Imagel.Buttonl(加载图片)、Button2(退出)、OpenDialog1。 子窗体上建立的对象有Labell.BitBtm1(Yes)、BitBtm2(No)。 单击“加载图片”按钮,会弹出打开文件对话框。用户指定一个图像文件后,图像加载到 Imagel显示区中。 单击“退出”按伍,会弹出确认对话框(Form2)。如果用户按“Yes”键,程序结束:如果按 “No”键,返回主窗体。 下面是Unit1的代码部分,请在下划线处完成程序填空。 implementation ($R *dfm) uses① procedure TForm1.ButtonlClick(Sender:TObject); begin if then Imagel.Picture.LoadFromFile(3 end; procedure TForm1.Buttor.2Click(Sender:TObject); begin if④ =mrYes then ⑤ end; end. 1191
|得分|评卷人| I I I 四、程序填空题 0分,每题 0分} 26. e. 本程序由主窗体 l和子窗体 2组成,设计界面如下图所示: 主窗体上建立的对象有 Buttonl (加载图片〉、 t t (退出 子窗体上建立的对象有 ll BitBtml<Yes) 、BitBtm2(No) 单击"如载图片"按笆,会弹出打开文件对话框。用户指定一个匮像文件后,图像加载到 Imagel 显示 单击"退出"按钮,会弹出确认对话框 键9 果按 "No" 下面是 it1的代码部分,请在下划线处完成程序填空。 implementation {$R 养.dfmj uses procedure TForml. ButtonlClick(Sender: TObject); begin if ( then Imagel. Picture. LoadFromFile( end; procedure TForml. B\ltton2Click(Sender: TObject); begin if ( = mrYes then end; end. ) ; 1191
27.(10分,每空2分) 数据库mydb中有关系表student,其结构如下: student(sno学号,sname姓名,sex性别,birthday生日) 现编写一个学生信息浏览程序,设计界面和运行界面如下图所示。 Formt DBEdit1 性厨 DBEdit3 DBEdit2 生日 DBEdit4 赵 1982-4-25 在下划线处填写相应数据库组件的属性值: Databasel.DatabaseName mydb Tablel.DatabaseName mydb Tablel.TableName student Tablel.Active ① Datasourcel.DataSet ② DBNavigator1.DataSource ③ DBEdit2.DataSource ④ DBEdit2.DataField ⑤ 28.(10分,每空2分) 本程序的功能是对books表(图书信息)进行浏览,设计界面和运行界面如下图所示。其 中,“在借册数”是根据当前显示的书号和borrow表(借书记录)的数据动态计算得到的。用 户还可以输人指定书号,查找并定位到指定的记录。 Forml Forml 书异 DBEdit1 mo 001 衣 书名 DBEdit2 书名段据挖裙原理 作者 DBEdit3 作者 张志成】 指定书号 指定书用 在借册数 把dit1 Edit2 在借册数1 001 上记录 记录 查找 记录 1192
27. (1 每空 数据库 ydb中有关系表 t,其结构如下 student(sno ,sname ,sex birthday 现编写一个学生信息浏览程序,设计界面和运行界面如下图所示。 在下划线处填写相应数据库组件的属性值 Databasel. DatabaseName mydb Tablel. DatabaseName mydb Tablel. TableName student Tablel. Active Datasourcel. DataSet DBNavigatorl. DataSource DBEdit2. DataSource DBEdit2. DataField 28. (1 每空 本程序的功能是对 oo s表(图书信息)进行浏览,设计界面和运行界面如下图所示。其 中,"在借册数"是根据当前显示的书号和 rr w表(借书记录)的数据动态计算得到的。用 户还可以输入指定书号,查找并定位到指定的记录。 1192
在forml上建立的主要对象有: Databasel、Tablel、Queryl、DataSourcel、DBEdit1~DBEdit3 Editl~Edit2、Buttonl~Button3等 其中Databasel与mydb数据库相连,Tablel对象与books表相连,DBEdit1、DBEdit:2、 DBEdit3分别和bno(书号)、bnamet(书名)、author(作者)各列相连。 Queryl的SQL语句是: select count(*)num from borrow where bno =bno 下面是Unit1单元的代码实现部分,请完成程序填空。 implementation ($R *dfm) procedure TForm1.ButtonlClick(Sender:TObject);// begin tablel.① (‘bno',edit2.Text,☐) end; procedure TForml.Button2 Click(Sender:TObject);/下一记录 begin tablel.② end; procedure TForml.Button3 Click(Sender:TObject);/上一记录 begin tablel.③ end; procedure TForm1.TablelAfterScroll(DataSet:TDataSet); begin query1.Close 1193
l上建立的主要对象有 Databasel 、Tablel 、Queryl 、DataSourcel 、DBEditl-- DBEdit3 Edi tl--Edi t2 、Buttonl-- Button3 其中 ydb数据库相连, Tablel 对 象与books 相 连 ,DBEditl 、DBEdit2 DBEdit3 和bno( 、bname( 、author( 作者 列相 Queryl 的SQL 句是 select count( num from borrow where bno = : bno 下面是 l单元的代码实现部分,请完成程序填空。 implementation {$R dfm} procedure TForml. ButtonlClick(Sender: TObject); / /查找 begin tablel. end; (‘bno ' , edit2. Text , [J ) ; procedure TForml. Button2Click(Sender: TObject); / /下一记录 begin tablel. end; procedure TForml. Button3Click(Sender: TObject); / /上一记录 begin tablel. end; procedure TForml. TablelAfterScroll(DataSet: TDataSet); begin queryl. Close; 1193
queryl..④ :=tablel[‘bno]; query1.Open edit1.Text :inttostr(5 end; end. 得分 评卷人 五、编程题(10分) 29.下图是本程序的设计界面(左)和运行界面(右): Form】 孩荷区 Form Edit1 Edit2 Edit3 Edit4 21 出 在forml上建立的对象有:Edit1~Edit4,Buttonl(输出)、RadioGroupl。 该程序的功能是:用户在Edit1~Edit3中分别输人3个整数,并指定输出最大或最小数, 然后按“输出”键,输入数据中的最大或最小数将显示在Edit4中。 请编写单击“输出”按钮的事件处理程序。 1194
query l. query1. Open ; edit1.Text : = inttostrC end; end. := tablel[‘bno'] ; |得分|评卷人| I I I 五、编程题{l 29. 是本 l上建立的对象有: Editl ,....,Edit4. Buttonl 、RadioGroup1o 该程序的功能是:用户在 t1 ,...., Edit3 人3 定输 最大 最小 然后按"输出"键,输入数据中的最大或最小数将显示在 4中。 请编写单击"输出"按钮的事件处理程序。 1194
试卷代号:2235 中央广播电视大学2012一2013学年度第一学期“开放专科”期末考试 Delphi程序设计 试题答案及评分标准 (供参考) 2013年1月 一、单项选择题(30分,每题3分)】 1.D 2.A 3.B 4.C 5.B 6.D 7.B 8.A 9.D 10.D 二、判断题(10分,每题2分) 11.√ 12./ 13.× 14.X 15.X 三、填空题(20分,每空2分) 16.一个出口 17.属性 18.单元文件 19.Items 20.Close 21.1 22.ExecSQL 23.sgr(cos(a+b))/(7-x)+5 cos(a+b)*cos(a+b)/(7-x)+5 24.CommonAVI 25.First 四、程序填空题(30分,每题10分) 26.(10分,每空2分) ①unit2 2 opendialogl.Execute 3 opendialog1.FileName ④form2.ShowModal ⑤close 27.(10分,每空2分) ①True ②Tablel ③DataSourcel ④DataSourcel 1195
试卷代号 2 2 中央广播电视大学 3学年度第一学期"开放专科"期末考试 Delphi 试题答 及评分 (供参考) 2013 年1 5. B 10. D 15. X 4. C 9.D B.X -、单项选择题 0分,每题 3分} 1. D 2. A 3.B 6. D 7. B 8. A 二、判断题 0分,每题 2分} 11. .J 12. .J 13. X 三、填空题 0分,每空 2分} 16. 17. 18. 单元 19. Items 20. Close 21. 1 22. ExecSQL 23. sqr(cos(a+b» /(7-x)+5 或cos(a+b) 铃cos(a+b) /(7-x)+5 24. CommonAVI 25. First 四、程序填空题 0分,每题 0分} 26. (1 ( opendialogl. Execute ( opendialogl. FileName ( form2. ShowModal ( close 27. (1 ( T rue ( T able1 ( DataSource1 ( DataSource1 1195
⑤sname 28.(10分,每空2分) ①Locate ②Next ③Prior ④ParamByName(‘bno').Value ⑤queryl[‘num'] 五、编程题(10分) 29.procedure TForm1.Button1Click(Sender:TObject); var x,y,z integer begin x :strtoint(editl.Text); y :strtoint(edit2.Text); z:=strtoint(edit3.Text); if radiogroupl.ItemIndex=0 then begin if(x >y)and (x>z)then edit4.Text inttostr(x) else if (y>x)and (y>z)then edit4.Text :inttostr(y) else edit4.Text ;inttostr(z); end else begin if(x<y)and (x<z)then edit4.Text :inttostr(x) else if (y<x)and (y<z)then edit4.Text :=inttostr(y) else edit4.Text :inttostr(z); end end; 1196
( snam 28. (1 ( Locate ( Next ( Prior ( ParamByName( ‘ bno ' ) . Value ( queryl [ ‘ num ' ] 五、编程题(1 29. procedure TForml. ButtonlClick(Sender: TObject); var x ,y,z : integer; begin X : = strtoint(edit1. Text) ; Y : = strtoint(edit2. Text); Z : = strtoint(edit3. Text); if radiogroupl. Itemlndex = O then begin if(x >y) and (x>z) then edit4. Text: = inttostr(x) else if (y>x) and (y>z) then edit4. Text: = inttostr(y) else edit4. Text : = inttostr(z) ; end else begin if(x <y) and (x<z) then edit4. Text: = inttostr(x) else if (y<x) and (y<z) then edit4. Text: = inttostr(y) else edit4. Text: = inttostr(z) ; end; end; 1196