试卷代号 : 2 2 3 5 座位号仁口 国家开放大学 ( 中央广播电视大学 ) 2 0 1 4 年春季学期 " 开放专科 " 期末考试 Delphi 程序设计 试题 题号 一! 二 三 四! 五 总分 分数 I I I I I I I l 得分! 评卷人 I I I- 单项选择题 ( 3 0 分, 每题 3 分 ) 2014 年 7 月 1. 下面哪句话对 De l p hi 的描述是正确的 ( ) A. Delphi 的编程语言是 C+ 十 B. Delphi 的编程语言全部是面向过程的 C. 只能用于数据库客户端开发的工具 D. 面向对象的可视化的开发环境 2. 要改变一个对象的高度, 应使用属性 ( ) A. Font C. Name B. ForcColor D. Height 3. 下列叙述中正确的是 ( ) A. 对于一组 Ch e c kbo x 组件, 用户只能选择其中的一个 B. 对于一组 CheckBox 组件, 用户可以选择其中的一个或多个 c. 对于一组 Rad i obu tton 组件, 用户可以选择其中的一个或多个 D. 对于一组 RadioButton 组件, 用户可以选择其中的多个 4. 下列合法的变量名是 ( ) A. na+e C. r_3 B. e-3r D. 5we 1019
5. 利用对象监视器可以设置窗体或组件的 ( ) A. 方法 B. 属性 c. 外观 D. 执行代码 6. 编辑框 (Edi t) 中的文本发生改变时引发的事件是 ( ) A. AutoSize C. SetFocus B. OnChange D. SetText 7. 现建立一个简单报表, 要求其中要包含报表的汇总栏, 则在 Bands 属性的子属性中, 需 要选择的是 ( ) A. ColumnHeader C. Title B. Detail D. Summary 8. 如果要检查 edit 编辑框中输入的字符, 可以在哪个事件处理程序中编写代码检查 ( ) A. OnC1ick C. OnMouseUp B. OnEnter D. OnKeyPress 9. 数据库组件中, 提供了对数据库读写操作功能的核心组件是 ( ) A. 数据源组件 B. 用户界面组件 c. 数据集组件 D. 数据感知控件 10. 在 Table 组件中, 用来设置打开或关闭与其相连的数据表的属性是 ( ) A. ReadOnly B. BOF 和 EOF C. Keep D. Active 得分 评卷人 I I I 二 判断题 { 请给下列论述中正确的打上 "~", 错误的打上..X", 10 分, 每题 2 分 ) )1 1. Delphi 是面向对象的可视化的开发环境, 编程语言采用 Object C )12. 在 Delphi 环境中, 组件板上的组件就是类的概念, 例如按钮组件就是按钮类 而用 户在窗体上创建的一个按钮就是对象的概念 ( 按钮对象 ) ) 13. 用于建立菜单项的下划线快捷方式的字符是 " I I" )14. 4ABC 可作为 Delphi 的变量名 ) 15. 在一个项目中, 第一个建立的窗体固定就是主窗体, 并且再也不设置其他窗体为主 1020 窗体
得分 评卷人 I I I 三 填空题 ( 20 分, 每空 2 分 ) 16. 结构化程序设计的基本原则是取消 goto 语句, 程序中仅采用 分支和循环 三种控制结构 17. Delphi 中与窗体文件对应的文件是单元文件, 其最常用的文件扩展名是长. in(a+b) 18. 与数学表达式一一一一一 -ab 对应的 Object Pascal 表达式是 3+y2 19. 调用主窗体的方法, 可以结束程序关闭窗体 20. 下面的语句用来删除 Tmemo 组件的第 6 行, 请补充完整 : memo!. lines. delete(,3 1. 时钟 J2 组件 (Timer) 能有规律的以一定时间间隔触发事件 22. 如果让界面上的一个按钮变为不可用, 需要将它的 属性设为 False 23. 通过 Animate 对象的 属性设置, 可以指定系统标准的 AVI 动 画演示 24. 在 Delphi 集成开发环境中, 如果想要直接设置或者修改对象的属性, 可以通过对象查 看器 ( Object Inspector) 中的 窗口直接进行设置 25. 利用 DBGrid 的 属性, 可以设置 DBGrid 每一列的标题和对齐方式等 得分 评卷人 I I I 四 程序填空题 ( 30 分. 每题 1 0 分 } 26. (1 0 分, 每空 2 分 ) 下图是本程序的设计界面 ( 左 ) 和运行界面 ( 中 右 ) : 在 fo r m 1 上建立的对象有 : Edit1 ~ Edit3 Button1 ( 确定 ) 和 C h e ckbo x1 等 1021
该程序实现两个整数的大小比较 用户输入两个整数, 按 " 确定 " 键后, 比较结果显示在 Edit3 中 如果 " 汉字 " 复选框选中, 比较结果采用 " 大于 " " 小于 " " 等于 "; 否则比较结果采用 ">" "<" "="( 如图所示 ) 下面是单击 " 确定 " 按钮的事件处理程序 procedure TForml. Button1Click(Sender:TObject); var x, y: mteger; gt, eq,it: string; x:=((editl. Text);// 取得输人值 y: =strtoint(edit2. ( ) ; if checkboxl.(then gt:=' 大于 ; eq:= 等于 ; It: =' 小于 ; end 4 gt:='>'; eq:==-; It:='<'; if (x>y) then edit3. Text: =editl. Text+gt 十 edit2. Text 1022 else if (x=y) then
else edit3. Text: =editl. Text 十 eq+edit2.text edit3. Text: =editl. Text 十 5 +edit2. Text: 27.00 分, 每空 2 分 ) 本程序由主窗体 fo rm1 和子窗体 fo rm2 组成, 设计界面如下图所示 z 主窗体上建立的对象有 Pa ne ll A n im a t e 1 Bu t t o n 1 ( 加载 AVI 文件 ) B u tton 2 ( 退出 ) Button3( 播放 ) Button4( 停止 ) 和 OpenDialog1 子窗体上建立的对象有 La b e ll Bi t B tm l( Ye s ) B i t Btm 2 ( No ) 单击 " 加载 AVI 文件 " 按钮, 会弹出打开文件对话框 用户指定一个.aVl 的文件后, 动画文件加载到 A n i m a t e1 显示区中 单击 " 播放 " 按钮可播放动画, 单击 " 停止 " 按钮可停止播放 单击 " 退出 " 按钮, 会弹出确认对话框 ( Fo rm2 ) 如果用户按" Y e s" 键, 程序结束 ; 如果按 "No" 键, 返回主窗体 下面是 Un i t1 的代码部分, 请在下划线处完成程序填空 implementation {$R 提. dfm} uses 1 procedure TForml. Button1Click(Sender: TObject);// 加载 AVI 文件 1023
if 2 then animatel. FileName: =3 procedure TForml. Button2C1ick(Sender: TObject);// 退出 if 4 =mryes then close; procedure TForml. Button3Click(Sender:TObject);// 播放 animatel. Play(1,animatel. FrameCount,O) ; procedure TForml. Button4Click(Sender:TObject) ; / / 停止 end. animate l. 5 28. (1 0 分, 每空 2 分 ) 本程序的功能是实现对 d ep 表 ( 系 ) - student 表 ( 学生 ) 的主从查询 用户可以依次查询系的记录, 也可以通过指定系号, 查找并定位到指定的记录 每当显示一个系的记录后, 系统自动显示该系的学生记录 设计界面和运行界面如下 : 1024
在 Fo rm 1 上建立的主要对象及连接如下 : Database1 - Table1 ( 与 dep 表相连 ) 一 Da t aso urc e 1 - DBEdit1-DBEdit3 Database1-Query1-DataSource2- DBGrid1( 显示学生信息 ) Edit1 Button1( 查找 Button2( 下一记录 ) Button3( 上一记录 ) 等 Query1 的 SQL 语句是 z select 祷 from student where dno=, dno 下面是 U ni t! 单元的代码实现部分, 请完成程序填空 implementation { $R 赞. dfm} procedure TForm!. Button2Click(Sender:TObject);// 下一记录 table!. 1 procedure TForml. Button3Click(Sender:TObject);// 上一记录 table!. 2 procedure TForm!. Button1Click(Sender:TObject);// 查找 table!. 3 ('dno,edit1. Text,[J); procedure TForml. Table1AfterScroll(DataSet: TDataSet); query!. Close; queryl. ParamByName(,dno'). Value: =4 1025
query1. ad end. 得分 评卷人 五 编程题 (10 分 ) 29. 输入 个数字, 程序判断如下情况 : 如果能被 3 整除但同时不能被 5 整除, 显示 " 该数只能被 3 整除 "; 如果只能被 5 整除但是不能被 3 整除, 显示 " 该数只能被 5 整除 ", 若被 3 整除同时被 5 整除, 显示 " 该数可以同时被 3 5 整除 " 本程序设计界面及运行界面如下 : -H-至1 -一 圃圄噩噩噩输d入.J g也最-r M A以一字一内一E, υfh, 4严白加阳EE 号,, - 请编写单击 " 判断 " ( Bu t t on!) 按钮的事件处理程序 procedure TForml. Button}Click(Sender: TObject) ; 1026
试卷代号 : 2 2 3 5 国家开放大学 ( 中央广播电视大学 ) 2 0 1 4 年春季学期 " 开放专科 " 期末考试 Delphi 程序设计 试题答案及评分标准 ( 供参考 ) 2014 年 7 月 - 单项选择题 ( 30 分, 每题 3 分 } 1. D 2. D 3. B 6. B 7. D 8. D 二 判断题 (I O 分, 每题 2 分 ) 11. X 12..J 13. X 三 填空题 ( 2 0 分, 每空 2 分 ) 4. C 9.C 14. X 5. B 10. D 15. X 16. 顺序 17. PAS 18. sin(a+b)/(3+sqr(y»-a 祷 b 或 sin(a+b)!(3 十 y 铃 y)-a 铸 b 19. Close 20. 5 21. OnTimer 22. Enabled 23. CommonAVI 24. 属性或 Properties 25. Columns 四 程序填空题 ( 30 分, 每题 1 0 分 ) 26. (1 0 分, 每空 2 分 ) ( st rtoint ( T ext ( Checked 1027
( else ( it 27. (1 0 分, 每空 2 分 ( unit2 ( opendialogl. Execute ( opendialogl. FileName ( for m2. ShowModal ( stop 28. (1 0 分, 每空 2 分 ( Next ( Pr ior ( Locat e ( t able1['dno'] ( Open 五 编程题 (l 0 分 } 29. procedure TForml. Button1Click(Sender:TObject); var N urn: In teger; Num: =StrTolnt(editl. Text); IF (Num mod 3=0) and (Num mod 5=0) Then showmessagec 该数可以同时被 3 5 整除 ' ) Else IF Num mod 3 = 0 Then Else showmessage( 该数只能被 3 整除 ' ) showmessage(' 该数只能被 5 整除 ) 1028