试卷代号:2235 座位号■■ 中央广播电视大学2010一2011学年度第-一学期“开放专科”期末考试 Delphi程序设计试题 2011年1月 题 号 一 二 三 四 五 总分 分 数 得分 评卷人 一、填空题(共20分,每空2分) 1.对象的三个要素是属性、方法和 2.结构化程序设计要求程序中仅采用 三种控 制结构,其中每种结构只能有一个入口和一个出口。 3.Delphi应用程序中项目文件的扩展名是 4.在设计阶段,利用Image对象的 属性,可以加载一幅图片。 5.如果要在窗体上设计一个主菜单,首先要建立 对象。 6.Delphi程序与数据库之间进行数据交换一般要由多个数据库组件协作完成。如果用 户要查询数据库中的一条信息,该指令通过用户界面组件发出,经数据源组件到达数据集组 件。数据集组件利用 组件与数据库建立连接,并读取数据库 中的数据,而后又经过 组件将数据送到用户界面组件中显示。 7.与数学表达式osa十) a2+xy 十a对应的Object Pascal表达式是 8.利用 对象的LineTo等绘图方法,可以绘制基本图形。 9.RadioGroup对象中的单选按钮个数及名称是通过 属性来进行设置的。 1450
试卷代号 E 中央广播电视大学 2 0 11学年度第一学期"开放专科"期末考试 Delphi 程序 设 试题 2011 年1 |题号|一|二|三|四|五|总分| |分数 I I I I I I 得分|评卷人 一、填空题{共 0分,每空 2分} 1.对象的三个要素是属性、方法和 2. 化程 计要求程 制结构,其中每种结构只能有一个人口和一个出口。 3. Delphi 4. 设计 利用 5. 先要建立 6. Delphi 序与 进行数据交换一般要 个数据库 件协作完成 户要查询数据库中的一条信息,该指令通过用户界面组件发出,经数据源组件到达数据集组 件。数据集组件利用组件与数据库建立连接,并读取数据库 中的数据,而后又经过组件将数据送到用户界面组件中显示。 cos2 (a 7. 表 达 十a 对 应 的Object Pascal a2 + x y 8. 的LineTo 方法 基本 9. RadioGroup 选按 是通 1450
得分 评卷人 二、单项选择题(共30分,每题3分)》 1.Delphi程序设计的基本特点是( )。 A.可视化程序设计 B.代码程序设计 C.事件驱动编程 D.A和C 2.修改窗体的标题时,应当在属性页中设置的属性是( )。 A.Caption B.Name C.Text D.Label 3.“x是小于100的非负数”的Object Pascal表达式是()。 A.0≤×=0,x=0)AND(x=0)OR(x<100) 4.下列说法错误的是()。 A.窗体文件的扩展名为.dfm B.一个窗体对应一个窗体文件 C.Delphi中的一个工程只包含一个窗体 D.·~dpr和.~pas是备份文件,便于用户恢复到较早的一个项目版本 5.要改变一个对象的高度,应使用属性( )。 A.Font B.ForcColor C.Name D.Height 6.工具栏上的一组按钮如果要构成互斥关系(如“左对齐”、“居中”、“右对齐”),它们的 GroupIndex属性正确的设置是()。 A.GroupIndex属性值都为0 B.GroupIndex属性值非O,且互不相同 C.GroupIndex属性值非0,且相同 D.GroupIndex属性值互不相同 7.下列说法正确的是()。 A.组件必须是可视的,这样用户才能使用 B.Delphi中组件就是控件,二者是完全相同的 C.控件都是可视的 D.按钮(Button)是组件,而窗体(Form)则不是组件 1451
|得分|评卷人| I I I 二、单项选择题{共 0分,每题 3分} 1. Delphi 设计 基本特 )。 A. 化程 计B. 程序设计 C. 动编 D.A 和C 2. 标题 性是 )。 A. Caption C. Text B. Name D. Label 3."x 于100 的Object Pascal 表达式是 )。 A. 0 x = 0, x=0) AND (x = 0 ) OR (x<100) 4. 下列 错误 )。 A.窗体文件的扩展名为.dfm B. 体对应 文件 C. Delphi D. . ~dpr ~pas 版本 5. 变一 对象 )。 A. Font C.Name B. ForcColor D. Height B. GroupIndex 非0 互不 D. GroupIndex 性值互不相 6. 成互 GroupIndex 置是 )。 A. GroupIndex C. Grouplndex 性值非0 7. 下列 )。 A. 件必 B. Delphi 就是控件 者是完 同 的 C. 都是 D. 钮(Button) 体(Form) 1451
8.以下能够触发编辑框(Edit)组件OnChange事件的操作是()。 A.鼠标单击编辑框 B.鼠标双击编辑框 C.在编辑框中选择文本 D.在编辑框中输入文本 9.以下叙述中错误的是()。 A.一个项目包含不止一种类型的文件 B.窗体的Show方法的作用是显示该窗体 C.窗体的Hide方法和Release方法的作用完全相同 D.若项目文件中有多个窗体,可以根据需要指定一个窗体为主窗体 10.只能输出、而不能输入的数据感知控件是()。 A.DBEdit B.DBText C.DBRadioGroup D.DBCheckBox 得 分 评卷人 三、判断题(请给下列论述中正确的打上“√”,错误的打上“X”。共 10分,每题2分) l.时钟Timer组件的时间间隔是由Interval属性控制,例如其值为l000时表示时间间 隔是1秒。() 2.在Delphi环境中,组件页上的组件是“对象”的概念,在窗体上建立的按钮是“类”的概 念。() 3.一个Table对象不能同时指定与之相连的两个关系表。() 4.在Data Controls组件页上,只有DBNavigator组件可以不用指定DataField属性值。 () 5.Delphi中的菜单项有3种类型:普通按钮型、复选框型和单选按钮型。() 1452
8. 够触发 框(Edit) 件OnChange )。 A.鼠标单击编辑框 B. 标双击 辑框 c.在编辑框中选择文本 D. 辑框 输入文本 9. 错误 )。 A.一个项目包含不止一种类型的文件 B. Sh C. 的Hide 方法和Release 方法 用完 D. 根据需要指 主窗 10. 数据感 )。 A. DBEdit B. DBText C. DBRadioGroup D. DBCheckBox |得分|评卷人| I I I 三、判断题{请给下列论述中正确的打上 ...j .错误的打上 10 1.时钟 r组件的时间间隔是由 l属性控制,例如其值为 0 0 0时表示时间间 隔是 1秒。( ) 2. 在Delphi 组件 件是 概念 体上 念。( ) 3. 个Table 对象不能 时指 相连 ) 4. 在Data Controls 有DBNavigator 用指定DataField ( ) 5. Delphi 有3 型z 普通按钮 选框 单选按钮 ) 1452
得分 评卷人 四、程序填空题(共30分,每题10分) 1.(10分,每空2分) 本程序根据用户选择的运算符对输人的二个操作数进行运算,并显示运算结果。设计界 面和运行界面如图所示。其中,运算符是一个含有4个单选按纽的RadioGroup1对象。 f0rI1】 Forttl Editl Edit2 Edit3 下面是单击“运算”按钮的事件处理程序,请根据功能要求完成程序填空。 procedure TForm1.ButtonlClick(Sender:TObject);// var x1,x2,y Integer; begin x1 :StrToInt(Edit1.1 x2 :=StrToInt(Edit2.2 ); Case③ ItemIndex of 0:y:=x1+x2; 1:y:=x1-x2; 2:y:=x1*x2; 3:y :x1 Div x2; End; Edit3.④ :=IntToStr(⑤ end; 1453
|得分|评卷人| I I I 四、程序填空题{共 0分,每题 0分) 1. (1 每空 本程序根据用户选择的运算符对输入的二个操作数进行运算,并显示运算结果。设计界 面和运行界面如图所示。其中,运算符是一个含有 4个单选按纽的 l对象。 下面是单击"运算"按钮的事件处理程序,请根据功能要求完成程序填空。 procedure TForm!' ButtonlClick(Sender: TObject); / /运算 var xl ,x2 ,y :Integer; begin xl : = StrToInt( Edit!. ( h x2 : = StrToInt( Edit2. ( h Case (.ItemIndex of O:y:=xl+ x2 ; l:y:=xl- x2; 2: y := xl 祷x2; 3: y := xl Div x2; end; End; Edit3. : = IntToStr( 1453
2.(10分,每空2分) 本程序由主窗体forml和子窗体form2组成,设计界面如下图所示: Formt Forn2 是否退出 四 Yes 打进文件出 主窗体Forml上建立的对象有Panell、MediaPlayer1、OpenDialog1、Button1(打开文 件)、Button22(播放)、Button3(暂停)、Button4(退出). 子窗体Form2上建立的对象有Labell、BitBtml(Yes)、BitBtm2(No)。 单击“打开文件”按钮,会弹出打开文件对话框。用户指定一个要播放的文件后,单击“播 放”按钮可播放多媒体文件,单击“暂停”按钮可暂停播放。 单击“退出”按钮,会弹出确认对话框(Form2)。如果用户按“Yes”键,程序结束;如果按 “No”键,返回主窗体。 下面是Unit1的代码部分,请在下划线处完成程序填空。 implementation {$R¥.dfm} uses ① procedure TForml.ButtonlClick(Sender:TObject); /打开文件 begin if then begin MediaPlayerl.FileName :=3 MediaPlayerl.Open MediaPlayer1..Display:=Panell;/将Panell做为播放屏幕 MediaPlayer1.DisplayRect :=Rect(0,0,Panell.Width,Panell.Height); end end; procedure TForml.Button2Click(Sender:TObject);// 1454
2. (1 本程序由主窗体 1和子窗体 2组成,设计界面如下图所示: 主窗体 1上建立的对象有 ll、 、OpenDialog1 、Button1 (打开文 件)、 tt (播放)、 tt (暂停)、 tt (退出)。 子窗体 2上建立的对象有 ll、 (Yes) 、BitBtm2(No) 单击"打开文件"按钮,会弹出打开文件对话框。用户指定一个要播放的文件后,单击"播 放"按钮可播放多媒体文件,单击"暂停"按钮可暂停播放。 单击"退出"按钮,会弹出确认对话框 )。如果用户按 "键,程序结束;如果按 "No" 主窗 下面是 it1的代码部分,请在下划线处完成程序填空。 implementation { $R dfm} uses procedure TFormlo Button1Click(Sender: TObject); / /打开文件 begin if then begin MediaPlayerlo FileName: =③ MediaPlayerlo Open; MediaPlay巳rlo Display: = Panell; / /将 ll 放屏幕 MediaPlayerlo DisplayRect : =Rect(O , 0 ,Panell. Width ,Panell. Height); end; end; procedure TFormlo Button2Click(Sender: TObject); / /播放 1454
begin MediaPlayer1..④) end; procedure TForm1.Button3Click(Sender:TObject);/ begin MediaPlayer1.Pause end; procedure TForm1.Button4Click(Sender:TObject); /退出 begin if⑤ =mrYes then close; end; end. 3.(10分,每空2分) 本程序实现一个简单的借书界面。程序的设计界面和运行界面如下图所示: 图中信息 图书信息: 串号压名现有研数】 书号名现有册数 烟001数据挖拇原理 2 001数据挖增原理 2 002 知识江程和知识管理 002 知识工程和如识管理 003面向对录款件开发原理 面向对象软件开发原理 00 特征驱动开发方法原理与实 004特在驱动开龙方法原理与列 借书证将 把dit1 指书 借书证r01 借$ 该程序涉及到数据库中的两张表:books(图书信息)和borrow(借书记录)。表的结构为: books(bno,书号,bname书名,num现有册数) borrow(rno读者号,bno书号,rdate还书日期) 其中,rno和bno都是字符型(3位). 在用户界面,操作员选中一本书、输入借书证号后,按“借书”键完成借书功能,即在borrow表中 插入一条借书记录,并将books表中该书现有册数诚1。 该界面要实现以下合法性检查: ·当该读者已经借了此书,不能再借。 当所借的书现有册数为0,不能再借。 在Form1上建立的数据库组件对象及连接关系如下: Databasel-Tablel(与books表相连)-DataSourcel-DBGridl(显示图书信息) Databasel一Table22(与borrow表相连,用于插入借书记录) 1455
begin MediaPlayer1. end; procedure TForml. Button3Click(Sender: TObject); / /暂停 begin l. Pause; end; procedure TForml. Button4Click(Sender: TObject) ; / /退出 begin if close; end; end. = mrYes then 3. (1 本程序实现一个简单的借书界面。程序的设计界面和运行界面如下图所示: 该程序涉及到数据库中的两张表: books( 和borrow( books(bno ,bname ,num borrow(rno 读者 ,bno rdate 其中, o和 都是 3位)。 在用户界面,操作员选中一本书、输入借书证号后,按"借书"键完成借书功能,即在 bo w表中 插人一条借书记录,并将 boo s表中该书现有册数减 该界面要实现以下合法性检查: 当该读者已经借了此书,不能再借。 当所借的书现有册数为 0,不能再借。 1上建立的数据库组件对象及连接关系如下: Database1 一Table1 (与 bo 表相 - DataSource1-DBGrid1(显示图书信息) Database1 一TableZ( 与borrow 用 于插入借 1455
Databasel-Queryl 其中为Tablel建立了3个永久字段:Tablelbno(书号)、Tablelbname(书名)、Tablelnum (现有册数)。 Query1的SQL语句如下: select bno from borrow where rno =rno and bno =bno 下面是Unit1的代码实现部分,请完成程序填空: implementation ($R *dfm) procedure TForm1..Button1Click(Sender:TObject).;/“借书”键 begin query1.Close query1.ParamByName('rno').Value :=D query1.ParamByName('bno').Value :=2 query1.Open if queryl['bno']<>null then begin showmessage('该读者正在借阅此书'); exit; end if③ then begin showmessage('该书已全部借出'); exit; end; table2.④ [editl.Text tablelbno.Value date+15]); /插入借书记录 tablel.⑤ tablelnum.Value:=tablelnum.Value一1;//现有册数诚1 tablel.Post end; end. 1456
Databasel 一Queryl 其中为 个永久字段 Tablelbno( 、Tablelbname( 、Tablelnum 〈现有册数〉。 Queryl 的SQL 如下 select bno from borrow where rno = ;rno and bno = ; bno 下面是 t1 代码实现部 implementation { $R dfm} procedure TForm1.ButtonlClick(Sender; TObject); I I"借书"键 begin query1. Close ; queryl. ParamByName null then begin showmessage<'该读者正 ; extt ; end; if then ( [edit1.Text , tablelbno. Value , date 十15J ); begin showmessage( ,该书己全部借.出'); eXIt; end; table2. II插入借 table1. tablelnum. Value : = tablelnum. Value - 1; I 现有 table1. Post ; end; end. 1456
得分 评卷人 五、编程题(共10分) 本程序设计界面及运行界面如下图所示。 10121 酒国 Fortl Hemol 3 6 Edit1 2099 起dit2 该程序的功能是:用户在界面上的两个编辑框(Edit1、Edit2)内分别输人两个正整数M和 N(M<N),单击“计算”按钮(Buttonl),程序求出M~N之间所有能被3整除的数,并在 Memo1对象中依次显示。 请编写单击“计算”按钮的事件处理程序。 procedure TForm1.ButtonlClick(Sender:TObject); begin end; 1457
|得分|评卷人| I I I 五、编程题{共 本程序设计界面及运行界面如下图所示。 圈圈翩翩翩醋黯躏重建 lemol 幽幽翩翩翩幢黯露自 369111 该程序的功能是 z用户在界面上的两个编辑框 )内分别输入两个正整数 M和 N (M < N) 钮(Buttonl) ,程序求出 N之间所有能被 3整除的数,并在 Memo 对象 次显示 请编写单击"计算"按钮的事件处理程序。 procedure TForml. Button1Click(Sender: TObject); begin end; 1457
试卷代号:2235 中央广播电视大学2010一2011学年度第一学期“开放专科”期末考试 Delphi程序设计 试题答案及评分标准 (供参考) 2011年1月 一、填空题(共20分,每空2分) 1.事件 2.顺序、分支和循环 3..dpr(或dpr) 4.Picture 5.MainMenu 6.数据库连接 数据源 7.sqr(cos(a+b)/(sqr(a)十x*y)十a或cos(a+b)*cos(a+b)/(a¥a+x*y)+a 8.Canvas 9.Items 二、单项选择题(共30分,每题3分) 1.D 2.A 3.C 4.C 5.D 6.C 7.C 8.D 9.C 10.B 三、判断题(共10分,每题2分) 1.√ 2.X 3.√ 4.X 5./ 四、程序填空题(共30分,每题10分) 1.(10分,每空2分) ①text ②text ③RadioGroupl 1458
试卷代号 2 2 中央广播电视大学 11学年度第一学期"开放专科"期末考试 Delphi 试题 及评分标 (供参考) 2011 年1 一、填空题{共 0分,每空 2分} 1.事件 2. 3.. dpr (或 dp 4. Picture 5. '1 '1 6. 数据库 接 数据源 7.sqr(cos(a十b)) I(sqr(a)十x 十a 或cos(a十b) 头cos(a+b) I(a 头 8. Canvas 9. Item s 二、单项选择题{共 0分,每题 3分} 1. D 2.A 3.C 6. C 7. C 8. D 三、判断题(共 0分,每题 2分} 1..J 2. X 3. .J 四、程序填空题(共 0分,每题 0分} 1. (1 每空 ( text ( text ( RadioG roup1 1458 4. C 9. C 4. X 5.D 10. B 5. .J
④text ⑤y 2.(10分,每空2分) ①unit2 2 opendialogl.Execute 3 opendialog1.FileName ④Play ⑤form2.ShowModal 3.(10分,每空2分) ①editl.Text ②tablelbno..Value ③tablelnum.Value=0 ④InsertRecord ⑤Edit 五、编程题(共10分) procedure TForm1.ButtonlClick(Sender:TObject); var m,n i:integer; begin m :StrToInt(edit1.Text); n :StrToInt(edit2.Text); Memol.Clear; for i:=m to n do if i MOD 3 0 then memol.Lines.Add(IntToStr(i)); end; 1459
( t ext ( y 2. (1 ( unit2 ( opendialogl. Execute ( opendialog1. FileName ( Play ( form2. ShowModal 3. (1 0 每空 ( editl. Text ( table1bno. Value ( tablel num. Value = 0 ( InsertRecord ( Edit 五、编程题{共 procedure TForml. Button1ClickCSender: TObject); var n , 1 : Integer ; begin m : = StrToIntCeditl. Text); n : = StrTolntCedit2. Text); Memol. Clear; for i ,= m to n do if i MOD 3 = 0 then memo1. Lines. AddC IntToStr(i) ); end; 1459