试卷代号:2235 座位号■■ 中央广播电视大学2006一2007学年度第一学期“开放专科”期末考试 软件信息等专业Delphi程序设计 试题 2007年1月 题 号 三 四 五 总 分 分 数 得 分 评卷人 一、填空题(20分,每空2分) 1.结构化程序设计要求程序中仅采用顺序、分支和循环三种控制结构,其中每种结构只 能有 和一个出口。 2.现实世界中对象具有自己的状态和行为。与此相对应,面向对象技术中的对象可以具 有自己的属性和 3.Delphi的-个项目由若干文件组成,其中主程序文件的默认名是 4.RadioGroup对象中的单选按钮个数及名称是通过 属性来进行设置的。 5.调用主窗体的 方法,可以结束程序。 6.如果要在窗体上设计一个主菜单,首先要建立 对象。 7.当Query对象中存储一条Insert语句时,执行该语句需调用Query的 方法。 8.与数学表达式o(a+b)+5对应的Objeet1 Pascal表达式是 3x 9.在设计阶段,利用Image对象的 属性,可以加载一幅图片。 10.利用 对象的LineTo等绘图方法,可以绘制基本图形。 1475
试卷代号:2235 座位号〔二习 中央广播电视大学2006-2007学年度第一学期“开放专科”期末考试 软件信息等专业 Delphi程序设计 试题 200 年 1月 题 号 四 五 总 分 分 数 得 分 评 卷人 一、填空题 (20分,每空 2分) 1.结构化程序设计要求程序中仅采用顺序 、分支和循环三种控制结构 ,其 中每种结构 只 能 有 和一个出口。 2.现实世界中对象 具有 自己的状态和行 为。与此相对应 ,面向对象技术中的对象 ia}以具 有.自己的属性和 3. Delphi的一个项 目由若干文件组成,其 中主程序文件的默认名是 .RadioGroup对象中的单选按钮个数及名称是通过 .调用主窗体的 方法 ,可 以结束程序。 属性来进行设置的。 6.如果要在窗体上设计一个主菜单 ,首先要建立 对 象 。 7.当Query对象中存储一条Insert语句时,执行该语句需调用Query的 方 法 。 8.与数学表达式cos2(3ax}b)-15对应的Object I' asca、表达式是 9.在设计阶段,利用 Image对象的 属性 ,可以加载一幅图片。 10.利用 对象的 Liner。等绘图方法 ,可以绘制基本图形 1475
得 分 评卷人 二、单项选择题(30分,每题3分) l1.下面哪句话比较准确地定义了Delphi( A.面向对象的编程语言 B.多媒体制作工具 C.数据库的客户端开发工具 D.面向对象的可视化的开发环境 2.下面哪个功能键可以调出Delphi的联机帮助信息( A.F1键 B.F2键 C.F3键 D.F4键 3.“x是小于100的非负数”的Object Pascal表达式是( )。 A.0≤x=0)ANID(x=0,x=0)OR(x<100)》 4.工具栏上的一组按钮如果要构成互斥关系(如“左对齐”、“居中”,“右对齐”),它们的 Grouplndex属性正确的设置是(). A.GroupIndex属性值都为0 B.GroupIndex属性值非0,且互不相同 C.GroupIndex属性值非O,且相同 D.GroupIndex属性值互不相同 5.利用Image对象的哪个属性设置,可以使加载的图像自动放大或缩小,以适应Image 的显示区域()。 A.Stretch B.AutoSize C.Align D.Center 6.现建立一个简单报表,仅包含数据列标题栏、数据栏和汇总栏,则在Bands属性的子属 性中,不需要选择的是()。 A.HasColumnHeader 'B.Detail C.Title D.Summary 7.在工具栏上最常采用的工具按钮是( )。 A.Button B.RadioButton C.BitBtm D.SpeedButton 8.只能输出、而不能输人的数据感知控件是( )。 A.DBEdit B.DBText C.DBRadioGroup D.DBCheckBox 1476
得 分 评卷人 二、单项选择题 (30分 ,每题 3分) 下面哪句话比较准确地定义了 Delphi( )。 A.面向对象的编程语言 B.多媒体制作工具 C.数据库的客户端开发工具 D.面向对象的可视化的开发环境 下面哪个功能键可以调出 Delphi的联机帮助信息( )。 A. F1键 B. F2键 C. F3键 D. F4键 是小于 100 0毛 x 二0)AND(x<"100) D. ( x =0)OR(x< 100) x A. C. 4.工具栏上的一组按钮如果要构成互斥关系 (如“左对齐”、“居 中”、“右对 齐”),它们的 tsrouplndex属性正确的设置是( )。 A. GroupLndex属性值都为 0 B. GroupLndex属性值非。,_且互不相同 C. GroupLndex属性值非 。,且相同 D. GroupLndex属性值互不相同 5。利用 Image对象的哪个属性设置,可以使加载的图像自动放大或缩小,以适应 lm<:}ge 的显示 区域( )。 A. Stretch ’ B. AutoSize C. Align D. Center 6.现建立一个简单报表 ,仅包含数据列标题栏 、数据栏和汇总栏,则在 Bands属性的子属 性 中,不需要选择的是( )。 A. HasColumnHeader B. Detail C. Title D. Summary 7.在工具栏上最常采用的工具按钮是 ( )} A. Button B. RadioButton C. BitBtm D. SpeedButton 只能输出、而不能输人的数据感知控件是( )。 A. DBEdit B. DBText C. DBRadioGroup D. DBCheckBox 1476
9.如果要检查edit编辑框中输人的字符,可以在哪个事件处理程序中编写代码检查 A.OnClick B.OnEnter C.OnKeyPress D.OnMouseDown 10.下面哪个组件不是容器组件()。 A.Form B.Panel C.GroupBox D.Image 得分 评卷人 三、判断题(10分,每题2分) 请给下列论述中正确的打上“√”,错误的打上“X”。 l.在Delphi环境中,“类”和“对象”是两个不同的概念。() 2.4ABC可作为Delphi的变量名。() 3.一个Table对象不能同时指定与之相连的两个关系表。() 4.状态条组件一般放置在窗体的底部,用于显示应用程序的执行状态及相关的提示信 息,状态条无法划分多个区域,所以只能显示一条信息。() 5.在设计阶段,如果在Query对象的SQL语句中设置了参数,则必须在Query的 Params属性中为参数设置初始值。() 得分 评卷人 四、程序填空题(30分,每题15分) 1.(15分,每空3分) 本程序由主窗体forml和子窗体form2组成,设计界面如下图所示: 7.Form1 餐可 Memol 打开文件 For2 -口x 是香坑出 保存文件 回 √Yes ⊙NMo 退出 1477
9.如果要检查 edit编辑框中输入的字符,可以在哪个事件处理程序中编写代码检查 A. OnClick C. OnKeyPress 10.下面哪个组件不是容器组件( I3. OnEnter D. OnM ouseDown A. Form C. Groupl3ox 13. Panel D. Image 得 分 评卷人 三、判断题 (10分 ,每题 2分) 请给下列论述中正确的打上“};,错误的打上“X"o 1.在 Delphi环境中,“类”和“对象,,是两个不同的概念。( ) 2. 4A13C可作为Delphi的变量名。( ) 3.一个 Table对象不能同时指定与之相连的两个关系表 。( ) 4.状态条组件一般放置在窗体的底部,用于显示应用程序的执行状态及相关的提示信 息,状态条无法划分多个区域,所以只能显示一条信息。( ) 5.在设计 阶 段,如 果在 Query对 象 的 SQL语 句 中设 置 了参 数 ,则 必须 在 Query的 Params属性 中为参数设置初始值。( ) 得 分 评卷人 四、程序填空题(30分,每题 15分) 1. (15分 ,每空 3分 ) 本程序由主窗体 forml和子窗体 f orm2组成 ,设计界面如下图所示 : 黔琴日回习 。少 冰一悦 井 娜︸ j 沈 冲 J 飞 J J J J J 1477
主窗体上建立的对象有Memol、Buttonl~3、OpenDialogl,SaveDialogl。 子窗体上建立的对象有Labell、BitBtml(Yes)、BitBtm2(No)。 单击“打开文件”按钮(Buttonl),会弹出打开文件对话框。用户指定一个文本文件后,文 件内容加载到编辑区中(Memol)。 单击“保存文件”按钮(Button2),会弹出保存文件对话框。用户输入文件名后,缓冲区 (Memol)内容保存到指定文件中。 单击“退出”按钮(Button3),会弹出确认对话框(Form2)。如果用户按“Yes”键,程序结 束;如果按“No”键,返回主窗体。 下面是Unit1的代码部分,请在下划线处完成程序填空。 implementation ($R *dfm) uses ① procedure TForml.Button1Click(Sender:TObject);//打开文件 begin if② then memol.Lines.LoadFromFile (3 ) end; procedure TForml.Button2 Click(Sender:TObject);/保存文件 begin if savedialogl.Execute then ④ (savedialog1.FileName); end; procedure TForm1.Button3Click(Sender:TObject);// begin if⑤- =mrYes then close; end; end. 1478
主窗体上建立的对象有Memol , )3uttonl ^-3 , OpenI}ialogl , Savel)ialogl o 子窗体上建立的对象有 Labell,Bi tBttnl(Yes)、I3i tBtm2<No) o 单击,’打开文件”按钮(Buttonl ),会弹出打开文件对话框。用户指定一个文本文件后,文 件内容加载到编辑区中(Memol ) o 单击“保存文件”按钮(Button2),会弹出保存文件对话框。用户输入文件名后,缓冲区 ( Memol)内容保存到指定文件中。 单击“退出”按钮(Button3 ),会弹出确认对话框(Form2 )。如果用户按“Yes”键,程序结 束 ;如果按“},o}}键 ,返回主窗体。 下面是 Unitl的代码部分,请在下划线处完成程序填空。 implementation {$R ,.dfm} u ses ① ; procedure TForml. ButtonlClick (Sender;TObject);//打开文件 begin if② then memol. Lines. LoadFromFile(③ ); end; procedure TForml. 13utton2Click(Sender;TObject);//保存文件 begin if savedialogl. Execute then ④ (savedialogl. FileName); end; procedure begin if⑤ - close; end; end. TForml. Button3Click(Sender; TObject) ; //退出 二tnrYes then 1478
2.(15分,每空3分) 本程序实现一个简单的借书程序。设计界面和运行界面如下图所示: 7.Forml 宝书信空国。 图书信息 圆书号书名 餐现有册数 昌书得书名 现有册翅· 001 数据摄原理 001 数据挖摄项理 2』 002 知识工程和知识餐理 002 知识工程和知识警理 003 面向对象软件开发原理 2 心■面向对数软件开发源理 004 特征呢动开发方法原理与实 004 特征驱动开发方法原理与实 3 借书证导尼diti 借书 借书证号r01 借书 该程序涉及到数据库中的两张表:books(图书信息)和borrow(借书记录)。表的结构为: books(bno,书号,bname书名,num现有册数) borrow(rno读者号,bno书号,rdate还书日期) 其中,rno和bno都是字符型(3位)。 在用户界面,操作员选中一本书、输入借书证号后,按“借书”键完成借书功能,即在 borrow表中插入一条借书记录,并将books表中该书现有册数减1。 该界面要实现以下合法性检查: ●当该读者已经借了此书,不能再借。 ●当所借的书现有册数为0,不能再借。 在Forml上建立的数据库组件对象及连接关系如下: Databasel-一Tablel(与books表相连)-DataSource】一DBGridl(显示图书信息) [Databasel-一Tablea2(与borrow表相连,用于插人借书记录) Databasel-Queryl 其中为Tablel建立了3个永久字段:Tablelbno(书号),Tablelbname(书名)、Tablelnum (现有册数)。 Queryl的SQL语句如下: select bno from borrow where rno=:rno and bno=:bno 1479
2. (15分,每空 3分) 本程序实现一个简单的借书程序。设计界面和运行界面如下图所示: 习列困 捆}} },: 书得!书名 乍 一 ,先 , 人 乃 口 ool ODL 致据挖掘r}理 知识工程和知识管理 面向对象软件开发原理 特征呢动开发方法 原理与实 现有册数 2 J t} }u`}E} 01_全纽」 该程序涉及到数据库中的两张表 ;books(图书信息)和 borrow(借书记录)。表的结构为: books( bno,书号,bname书名,num现有册数) borrow( rno读者号,b no书号,rdate还书日期) 其中,rno和 bno都是字符型(3位)。 在用户界面,操作员选中一本书、输入借书证号后,按“借书”键完成借书功能,即}) borrow表中插人一条借书记录,并将 books表中该书现有册数减 to 该界面要实现以下合法性检查 : . 当该读者 已经借了此书,不能再借 。 . 当所借的书现有册数为 。,不能再借 。 在 Form 1上建立的数据库组件对象及连接关系如下: Databasel-Tablel(与 books表相连)-DataSourcel-DI3Gridl(显示图书信息) Databasel-Tablet(与 borrow表相连,用于插人借书记录) Databasel一 Queryl 其中为Tablel建立了3个永久字段:Tablelbno(书号),Tablelbname(书名),Tablelnurn (现有册数)。 Queryl的 SQI。语句如下: select bno from borrow where rno二 :rno and bno= :bno 1479
下面是Unit1的代码实现部分,请完成程序填空: implementation {$R¥.dfm》 procedure TForml.ButtonlClick(Sender:TObject);//借书”键 begin query1.Close; query1.ParamByName('rno').Value:=1 query1.ParamByName('bno').Value:=2 query1.Open; if queryl['bno'<>null then begin showmessage('该读者正在借阅此书'); exit; end; if③ then begin showmessage('该书已全部借出'); exit; end; table2.④ ([edit1.Text,tablelbno.Value,date+15]);// 借书记录 tablel.Edit; tablelnum.Value:=tablelnum.Value-l;/现有册数减l tablel..⑤ end; end. 1480
下面是 Onitl的代码实现部分,请完成程序填空: implementation {$R ,.dfm } procedure TForml. ButtonlClick(Sender: TObject) ; //“借书”键 begin queryl queryl .Close; .ParamByName('rno' ). queryl. ParamByName('bno'). queryl. Open; if queryl['bno']<>null then begin Value:=① Value:“② showmessage(‘该读者正在借阅此书‘); exit; end; if③ then begin showmessage(‘该书已全部借出‘); exit; end; tablet.④ ( [editl. "Text, tablelbno. Value, date-+-15] ) ; //插人 借书记录 tablel. Edit; tablelnum. Value:=tablelnum. Value-1;//现有册数减 1 tablel.⑤ ; end; end. 1480
得分 评卷人 五、编程题(10分) 下图是本程序的设计界面(左)和运行界面(右): Form1 影口X 7.'Formi 请选择 作数1 Editl 操作数134 加 2 Edit2 操作数2何 除 结果:dit3 结果⑤ 。,, 运其 退出 运算 退出 在forml上建立的对象有:Edit1~Edit3、Buttonl(运算)、Button2(退出)、RadioGroupl 和Labell~Label4等。 该程序实现正整数四则运算,除法为整除。用户输入两个操作数,按运算键,结果显示在 结果框中。 输入的操作数必须是1~100之间的整数。如果输入有误,程序要给出错误提示信息。 请编写单击“运算”按钮的事件处理程序。 1481
!当 下图是 i} 本 } 程 } 序的设计 五 界 、 面 ” (左 题 )和 “ 运 ” 行 分 界 ’ 面(右): -u1剑: x} 在 forml上建立的对象有:Edit1-v Edit3 , Butt Ij o fir " n ; t. l } ( 运 ,. } 算 } ) 、} Butt A o ' n } l(退 } 出)、R_a f d . ioGroupl 和 Labell一Label4等。 该程序实现正整数四则运算 ,除法为整除。用户输入两个操作数,按运算键,结果显示在 结果框中。 输人的操作数必须是 1-100之间的整数。如果输入有误,程序要给出错误提示信息。 请编写单击“运算”按钮的事件处理程序 。 1481
试卷代号:2235 中央广播电视大学2006一2007学年度第一学期“开放专科”期末考试 软件信息等专业Delphi程序设计试题答案及评分标准 (供参考) 2007年1月 一、填空题(20分,每空2分) 1.一个入口 2.方法 3.project1.dpr 4.Items 5.Close 6.MainMenu 7.ExecSQL 8.sqr(cos(a+b))/(3*x)+5 cos(a+b)cos(a+b)/(3*x)+5 9.Picture 10.Canvas 二、单项选择题(30分,每题3分】 1.D 2.A 3.B 4.C 5.A 6.C 7.D 8.B 9.c 10.D 三、判断题(10分,每题2分)】 1.V 2.X 3.√ 4.X 5.X 四、程序填空题(30分,每题15分) 1.(15分,每空3分) ①unit2 @opendialog1.Execute opendialog1.FileName 4memol.Lines.SaveToFile ⑤form2.ShowModal 1482
试卷代号:2235 中央广播电视大学2006-2007学年度第一学期“开放专科”期末考试 软件信息等专业 Delphi程序设计 试题答案及评分标准 (供参考) 2007年 1月 一、填空题(20分,每空 2分) .一个人 口 .方法 projectl. dpr Item s 5. Close 6. M ainMenu 7. ExecSQL 8. sgr(cos(a-}-b))/(3二x)+5或 cos(a-f-b),cos(a-f-b)/(3*x)}-5 9. Picture 10. Canvas 二、单项选择题 (30分 ,每题 3分) 1. D 2. A 6.C 7.D 三、判断题(10分 ,每题 2分) 1.丫 2.又 四、程序填空题(30分,每题 15分) 1. (15分,每空 3分) Qunit2 ③opendialogl. FileName 5form2. ShowModal 1482 3.B 4. C 8. B 9. C 3.丫 4.X 5. A l0. D 5.X )opendialogl. Execute .memol. Lines. SaveToFile
2.(15分,每空3分) ①editl.Text ②tablelbno.Value ③tablelnum.Value=0 ④InsertRecord ⑤Post 五、编程题(10分) procedure TForml.Button1Click(Sender:TObject); var x,y,z:integer; begin x:=strtoint(edit1.Text); y:=strtoint(edit2.Text); if ((x>=1)and (x=1)and (y<=100))then begin case radiogroupl.ItemIndex of 0:z:=x十y; 1:z:=x-y 2:z:=x米y; 3:z:=x div y; end; end else begin showmessage('输人有错); exit; end; edit3.Text:=inttostr(z); end; 1483
2. (15分 ,每空 3分) } Ieditl, Text ③tablelnum. Value=0 ⑤Post 五、编程题(10分) ②tablelbno. Value ④InsertRecord procedure TForml. ButtonlClick(Sender;TObject); v a r x,y,z:integer; begin x;=strtoint(editl, Text) Y:=strtoint(edit2. Text); if ((x>=1) and =1) and (y<二100)) then begin case radiogroupl. Itemindex of :=x+y; = x一 y; = x关Y 2 2 2 : … ︵0 ‘es上 0 乙 3:z:=x div y; end end else begin showmessage(’输人有错‘); ex it end edit3. Text:= inttostr(z) end 1483