试卷代号:2235 座位号■■ 中央广播电视大学2008一2009学年度第一学期“开放专科”期末考试 Delphi程序设计i 试题 2009年1月 题 号 二 三 四 五 总分 分 数 得分 评卷人 一、填空题(20分,每空2分) 1.结构化程序设计的基本原则是取消g0t0语句,程序中仅采用顺序、分支和 三 种控制结构。 2.Delphi中与窗体文件对应的文件是单元文件,其最常用的文件扩展名是, 3.与数学表达式sin(ab)-ab对应的Object Pascal表达式是 3+y2 4.调用主窗体的 方法,可以结束程序关闭窗体。 5.ListBox对象列表框中的内容是通过 属性来进行设置的。 6.时钟组件(Timer)能有规律的以一定时间间隔触发 事件。 7.如果让界面上的一个按钮变为不可用,需要将它的 属性设为False。 8.通过Animate对象的 属性设置,可以指定系统标准的AVI动 画演示。 9.在Delphi集成开发环境中,如果想要直接设置或者修改对象的属性,可以通过对象查 看器(Object Inspector)中的 窗口直接进行设置。 1O.利用DBGrid的 属性,可以设置DBGrid每一列的标题和对齐方式等。 1405
试卷代号 :2235 座位号巨口 中央广播电视大学2008-2009学年度第一学期“开放专科”期末考试 Delphi程序设计 试题 2009年 1月 题 号 四 五 总 分 分 数 得 分 评 卷人 一、填空题 (20分,每空 2分) 1.结构化程序设计的基本原则是取消 goto语句 ,程序 中仅采用顺序 、分支和 种控制结构。 2. Delphi中与窗体文件对应的文件是单元文件,其最常用的文件扩展名是 , 3.与数学表达式sin(a十b) 3+yZ -ab对应的 Object Pascal表达式是 4.调用主窗体的 方法,可以结束程序关闭窗体。 5. ListBox对象列表框中的内容是通过 属性来进行设置的。 6.时钟组件(Timer)能有规律的以一定时间间隔触发 事件。 7.如果让界面上的一个按钮变为不可用 ,需要将它的 属性设为 False a 8.通过 Animate对象的 属性设 置 ,可 以指定 系统标准 的 AVI动 画演示。 9.在 Delphi集成开发环境中,如果想要直接设置或者修改对象的属性,可以通过对象查 看器(Object Inspector)中的 窗口直接进行设置。 10.利用 DI3Grid的 属性,可以设置 DI3Grid每一列的标题和对齐方式等 。 1405
得 分 评卷人 二、单项选择题(30分,每题3分) l.下面哪句话对Delphi的描述是正确的() A.Delphi的编程语言是C+十 B.Delphi的编程语言全部是面向过程的 C.只能用于数据库客户端开发的工具 D.面向对象的可视化的开发环境 2.下面哪个功能键可以调出Delphi的联机帮助信息() A.F1键 B.F2键 C.F3键 D.F4键 3.表达式30+19div2的值是() A.37 B.49 C.39 D.40 4.下列哪个常量说明语句是正确的( A.const x:=(c<16); B.const x:16; C.const x:=16; D.const x=16; 5.最适合于在工具栏上放置的工具按钮是( ) A.Button B.RadioButton C.SpeedButton D.BitBtm 6.编辑框(Edit)中的文本发生改变时引发的事件是() A.AutoSize B.OnChange C.SetFocus D.SetText 7.现建立一个简单报表,要求其中要包含报表的汇总栏,则在Bands属性的子属性中,需 要选择的是() A.ColumnHeader B.Detail C.Title D.Summary 1406
得 分 评卷人 二 、单项选择题 《30分.每题 3分) 1.下面哪句话对 Delphi的描述是正确的( ) A. Delphi的编程语言是 C十+ B. Delphi的编程语言全部是面向过程的 C.只能用于数据库客户端开发的工具 D.面向对象的可视化的开发环境 2.下面哪个功能键可以调出Delphi的联机帮助信息( ) A. F1键 B. F2键 C. F3键 D. F4键 3.表达式 30+19 div 2的值是( ) A. 37 B. 49 C. 39 D. 40 4.下列哪个常量说 明语句是正确的( ) A. const x:=(c< 16); B. const x:16; C. const x:= 16; D. const x=16; 5.最适合于在工具栏上放置的工具按钮是( ) A. Button B. RadioButton C. SpeedButton D. BitBtm 6.编辑框(Edit)中的文本发生改变时引发的事件是( ) A. AutoSize B. OnChange C. SetFocus D. SetText 7.现建立一个简单报表,要求其中要包含报表的汇总栏,则在 Bands属性的子属性中,需 要选择的是( ) A. ColumnHeader B. Detail C. Title D. Summary 1406
8.如果要检查edit编辑框中输入的字符,可以在哪个事件处理程序中编写代码检查 A.OnClick B.OnEnter C.OnMouseUp D.OnKeyPress 9.数据库组件中,提供了对数据库读写操作功能的核心组件是() A.数据源组件 B.用户界面组件 C.数据集组件 D.数据感知控件 10.以下控件中没有Items属性的是() A.ComboBox B.ListBox C.RadioGroup D.Memo 得 分 评卷人 三、判断题(请给下列论述中正确的打上“√”,错误的打上“×”。10 分,每题2分)】 )l.Delphi是面向对象的可视化的开发环境,编程语言采用Object C。 )2.若已在窗体中加入了一个通用对话框OpenDialog组件:要求在运行时,打开对话框 时只显示扩展名为TXT的文件,则对通用对话框的Filter的属性进行设置,设置可 以是:TXT Files|*.TXT。 ( )3.要想在数据集中增加计算字段,必须先将数据集的字段全部置为动态字段。 ( )4.4ABC可作为Delphi的变量名。 ( )5.在一个项目中,第一个建立的窗体固定就是主窗体,并且再也不设置其他窗体为主 窗体。 1407
8.如果要检查 edit编辑框中输人的字符,可以在哪个事件处理程序中编写代码检查 A. OnClick B. OnEnter C. OnMouseUp D. OnKeyPress 9.数据库组件中,提供了对数据库读写操作功能的核心组件是( A.数据源组件 B。用户界面组件 C.数据集组件 D.数据感知控件 10.以下控件中没有 Items属性的是( ) A.ComboBox B. ListBox C. RadioGroup D.M emo 得 分 评卷人 三、判断题(请给下列论述中正确的打上“丫”,错误的打上“X ", 10 分.每题 2分) ) 1. Delphi是面向对象的可视化的开发环境,编程语言采用 Object Co )2.若已在窗体中加人了一个通用对话框 OpenDialog组件:要求在运行时,打开对话框 时只显示扩展名为 TXT的文件,则对通用对话框的 Filter的属性进行设置,设置可 以是 :TXT Files I二.TXT. )3.要想在数据集中增加计算字段,必须先将数据集的字段全部置为动态字段。 )4. 4ABC可作为 Delphi的变量名。 )5.在一个项目中,第一个建立的窗体固定就是主窗体,并且再也不设置其他窗体为主 窗体。 1407
得 分 评卷人 四、程序填空题(30分,每题15分) 1.(15分,每空3分) 本程序由主窗体forml和子窗体form2组成,设计界面如下图所示: 主窗体上建立的对象有Panel1l、Animatel、Buttonl'(加载AVI文件)、Button2(退出)、 Button3(播放)、Button4(停止)和OpenDialog1。 子窗体上建立的对象有Labell、BitBtml(Yes)、BitBtm2(No)。 单击“加载AVI文件”按钮,会弹出打开文件对话框。用户指定一个,avi的文件后,动画 文件加载到Animatel显示区中。单击“播放”按钮可播放动画,单击“停止”按钮可停止播放。 单击“退出”按钮,会弹出确认对话框(Form2)。如果用户按“Yes”键,程序结束;如果按 “No”键,返回主窗体。 下面是Unitl的代码部分,请在下划线处完成程序填空。 implementation ($R*.dfm) uses ① procedure TForml.ButtonIClick(Sender:TObject);/加载AVI文件 begin if② then animatel.FileName :=3 end; 1408
得 分 评卷人 四、程序填空题(30分 .每题 15分) 1. (15分,每空 3分) 本程序由主窗体 forml和子窗体 form2组成,设计界面如下图所示: 主窗体上建立的对象有 Panell, Animatel, Buttonl(加载 AVI文件)、Button2(退出)、 Button3(播放)、Button4(停止)和OpenDialogl, 子窗体上建立的对象有Label , BitBtml (Yes) , BitBtm2 (No) , 单击“加载 AVI文件”按钮,会弹出打开文件对话框。用户指定一个.avi的文件后,动画 文件加载到 Animatel显示区中。单击“播放”按钮可播放动画,单击“停止”按钮可停止播放。 单击“退出”按钮,会弹出确认对话框(Form2 )。如果用户按“Yes”键,程序结束;如果按 "No"键,返回主窗体。 下面是 Unitl的代码部分,请在下划线处完成程序填空。 implementation ($R*.dfm} u ses ① procedure TForml, Button 1Click (Sender:TObject);//加载AVI文件 begin if② then animatel. FileName :‘③ end; 1408
procedure TForm1.Button2Click(Sender:TObject);// begin if④ =mrYes then close; end; procedure TForml.Button3Click(Sender:TObject);// begin animatel.Play(1,animatel.FrameCount,0); end; procedure TForm1.Button4Click(Sender:TObject);// begin animatel.⑤ end; end. 2.(15分,每空3分) 本程序的功能是实现对dep表(系)~student表(学生)的主从查询。用户可以依次查询 系的记录,也可以通过指定系号,查找并定位到指定的记录。每当显示一个系的记录后,系统 自动显示该系的学生记录。设计界面和运行界面如下: DBEdit1 Editl d01 d01 DBEdit2 计算机睡系 BEdit3 2934 摇839BhwD0 010002只成女1982-11-17d01 030002幸林女1984-35d01 040001换成文男1985-1-21d01 在Forml上建立的主要对象及连接如下: Databasel一Tablel(与dep表相连)一DataSourcel-DBEdit1~DBEdit3 Databasel-一Queryl一Data Source2-DBGrid1(显示学生信息) 1409
procedure begin if④ TForml. Button2Click(Sender:TObject);//退出 =mrYes then close end procedure TForml. Button3Click(Sender : TObject) ; J/播放 begin animatel. Play(1,animatel. FrameCount,0); end; procedure TForml. Button4Click(Sender: TObject);//停止 begin animatel.⑤ ; end; end. 2. (15分 ,每空 3分) 本程序的功能是实现对dep表(系)- student表(学生)的主从查询。用户可以依次查询 系的记录,也可以通过指定系号,查找并定位到指定的记录。每当显示一个系的记录后,系统 自动显示该系的学生记录。设计界面和运行界面如下: 森燕一蠢一 在 Forml上建立的主要对象及连接如下: Databasel一Tablel(与 dep表相连)一DataSourcel一DBEditl一DBEdit3 Databasel一Queryl一DataSource2-D13Grid1(显示学生信息) 1409
Edit 1、Button](查找)、Buttor2(下-记录)、Button3(上-记录)等。 Qury】的SQL,语句是: select from student where dno=:dno 下面是Unitl单元的代码实现部分,请完成程序填空。 implernentation {$R dfm) procedure TForml.Button:2 Click(Sender:T(bject);/下-记录 begin tablel.① end; procedure TForml.Button3 Click(Sender:TObject);/上-i记录 begin tablel.② end; procedure TForm1.ButtonlClick(Sender:TObject);// begin 1 ablel.③ ('dno,editl.Text,[]) end; procedure TForm1.TablelAfterScroll(DataSet:TDataSet); begin queryl.Close; query1.ParamByName('dno).Value:=1 queryl..⑤ end; end. 1410
Edit 1 , Butt onI查找),liutton2(卜一记录),l3utton3(l;一记录)等 。 Queryl的 SQ1, i}r,c.句是 : select、 from student where duo= :duo 下面是 Unit l单元的代码实现部分,请完成程序填空。 implementation {$R二.dfm} procedure TForml. But ton2Click(Sender:"I'Object);//下一记录 begin tablel.① ; end; procedure "TForml. But ton3Click(Sender;"I'Object);//上一记录 begin tablel.② ; end; procedure TForml. Button 1Click (Sender;"TObject);//查找 begin tablel.③ ('dno',editl. "Text,[〕); end; procedure TForml. TablelAfterScroll(DataSet:TDataSet); begin queryl. Close; queryl. ParamByName("duo’).Value:二④ ; queryl.⑤ ; end end. 1410
得分 评卷人 五、编程题(10分) 某公司卖软盘,价格为每片3元。但是对500片以上(含500片)有优惠,每片将按照2元 收费。编程在“软盘数量”框中输入购买的软盘数,单击“计算”按钮后在“应收金额”框中显示 应收钱数。单击“结束”按钮结束程序。 本程序设计界面及运行界面如下: 究款壁指序 买软台程丹 回☒ 软盘数量: 应收金额: 软盘数量: 应收金额: Edit1 片 Edit2 75 元 25 片 元 Button1 Button2 计算 结束 请编写单击“计算”(Buttonl)按钮的事件处理程序。 procedure TForm1.ButtonlClick(Sender:TObject); begin end; procedure TForm1.Button2Click(Sender:TObject); begin Close; end; 1411
得 分 评卷 人 五 、编程题(10分) 某公司卖软盘,价格为每片 3元 。但是对 500片以上(含 500片)有优惠 ,每片将按照 2元 收费。编程在“软盘数量”框中输人购买的软盘数,单击“计算”按钮后 在“应收金额”框 中显示 应收钱数。单击“结束”按钮结束程序。 本程序设计界面及运行界面如下 : 请编写单击“计算”(Buttonl)按钮的事件处理程序 。 procedure TForml. Butt onlClick (Sender:TObject); begin end; procedure TForml.Button2Click (Sender:TObject); begin Close; end; 1411
试卷代号:2235 中央广播电视大学2008一2009学年度第一学期“开放专科”期末考试 Delphi程序设计试题答案及评分标准 (供参考) 2009年1月 一、填空题(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.A 3.C 4.D 5.C 6.B 7.D 8.D 9.C 10.D 三、判断题(10分,每题2分)】 1.× 2.√/ 3.× 4.× 5. 四、程序填空题(30分,每题15分】 1.(15分,每空3分) ①unit2 2opendialogl.Execute 3opendialogl.FileName 1412
试卷代号:2235 中央广播电视大学2008-2009学年度第一学期“开放专科”期末考试 Delphi程序设计 试题答案及评分标准 (供参考) Zoos年 1月 一、填空题 (20分.每空 2分) 1.循环 2. PAS 3. sin(a+b)/(3-}-sgr(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. A 3. C 4. D 5.C 6. B 7. D 8. D 9. C 1 0. D 三、判断题 (10分 ,每题 2分) 1. X 2.了 3. X 4. X 5. X 四、程序填空题(30分,每题 15分) 1. <15分 ,每空 3分) ① unit2 ② opendialogl. Execute ③ opendialogl. FileName 1412
④form2.ShowModal ⑤stop 2.(15分,每空3分) ①Next ②Prior ③Locate ④tablel[dno] ⑤Open 五、编程题(10分】 procedure TForm1.ButtonlClick(Sender:TObject); Var Disk,Money:Integer; begin Disk:=StrTolnt(edit1.Text); IF Disk>>=500 Then Money:=2*Disk Else Money:=3 Disk; edit2.text:=IntToStr(Money); end; 1413
.form2. ShowModal ⑤stop 2.05分,每空 3分) ①Next ②Prior ③Locate .tablel ['dno ⑤Open 五、编程题 《10分 ) procedure TForml. ButtonlClick (Sender:TObject); Var Disk,Money: Integer; begin Disk:=StrTolnt(editl. Text); IF Disk> =500 Then Money:=2 * Disk Else Money:=3 * Disk; edit2. text:=IntToStr(Money); end; 1413