好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

《Delphi程序设计》试题及解答卷5.docx

6页
  • 卖家[上传人]:碎****木
  • 文档编号:229367225
  • 上传时间:2021-12-25
  • 文档格式:DOCX
  • 文档大小:62.34KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 《Delphi 程序设计》试题及解答 卷 5一、填空题(20 分,每空 2 分)1、现实世界中对象具有自己的状态和行为对应着,面向对象技术中的对象可以具有自己的属性和 方法 2、Delphi 应用程序中项目文件的扩展名是 .dpr 3、结构化程序设计要求程序中仅采用顺序、分支和循环三种控制结构,其中每种结构只能有 一个人口 和一个出口4、在Delphi 集成开发环境中,如果想要直接设置或者修改对象的属性,可以通过对象查看器(Object Inspector)中的 属性 或 Properties 窗口直接进行设置5、ListBox 对象列表框中的内容是通过 items 属性来进行设置的6、时钟组件(Timer)能有规律的以一定时间间隔触发 ontimer 事件7、如果让界面上的一个按钮变为不可用,需要将它的 enabled 属性设为False8、Image 组件可通过设置其 Autosize 属性为 True 使 Image 组件根据图像的大小自动调整显示窗口大小9、Delphi 的一个项目由若干文件组成,其中文件名后缀含有“ ~”的文件为 备份文件 10、与数学表达式cos 2(a + b) + 5 对应的Object Pascal 表达式是3xCos*cos*(a+b) /(3*x) 二、单项选择题(30 分,每题 3 分)1、Delphi 程序设计的基本特点是(D )A. 可视化程序设计 B. 代码程序设计C. 事件驱动编程 D. A 和C2、修改窗体的标题时,应当设置form 的属性是( A )A.Caption B. Name C. Text D. Label 3、下列哪个常量说明语句是正确的( D )A. const x := (c < 16); B. const x : 16 ;C. const x := 16 ; D const x = 16 ;4、“x 是小于 100 的非负数”的Object Pascal 表达式是( C )A.0 ≤ x < 100 B. x >= 0, x<100C.(x >=0) AND (x < 100) D. (x >= 0 ) OR (x<100)5、编辑框(Edit)中的文本发生改变时引发的事件是( B )A.AutoSize B.OnChangeC.SetFocus D.SetText 6、表达式 30 + 19 div 2 的值是( C )A. 37 B. 49C. 39 D. 407、现建立一个简单报表,仅包含报表标题栏、数据栏和汇总栏,则在Bands 属性的子属性中,不需要选择的是( A )A.HasColumnHeader B.DetailC.Title D.Summary8、下面哪个功能键可以调出Delphi 的联机帮助信息( A )A.F1 键 B.F2 键C.F3 键 D.F4 键9、数据库组件中,提供了对数据库读写操作功能的核心组件是( C )A.数据源组件 B.用户界面组件C.数据集组件 D.数据感知控件10、以下控件中没有Items 属性的是(D)A.ComboBox B. ListBoxC.RadioGroupD.Memo三、判断题(10 分,每题 2 分)请给下列论述中正确的打上“√”,错误的打上“ ”(10 分,每题 1 分)1、( Y ) 一个数组中的各元素的数据类型必须相同。

      2、(Y )在一个项目中,可以根据需要将任何一个窗体定义为主窗体3、(N) 每个数据感知控件都必须指定DataSource 和DataField 两个属性值4、(N) label 和 Edit 组件都可以用于用户输入数据5、(Y ) 按钮组件和编辑框组件能够响应的事件有些是相同的四、程序填空题(30 分,每题 10 分)1、(10 分,每空 2 分)本程序根据用户选择的运算符对输入的二个操作数进行运算,并显示运算结果设计界面和运行界面如图所示其中,运算符是一个含有4 个单选按纽的RadioGroup1 对象下面是单击“运算”按钮的事件处理程序,请根据功能要求完成程序填空procedure TForm1.Button1Click(Sender: TObject);//运算varx1,x2,y :Integer; beginx1 := StrToInt( Edit1. ① );x2 := StrToInt( Edit2. ② ); Case ③ .ItemIndex of 0: y := x1 + x2 ;1: y := x1 - x2;2: y := x1 * x2; 3: y := x1 Div x2; End;Edit3. ④ := IntToStr( ⑤ ); end;2、(10 分,每空 2 分)数据库mydb 中有关系表student,其结构如下: student(sno 学号,sname 姓名,sex 性别,birthday 生日)现编写一个学生信息浏览程序,设计界面和运行界面如下图所示:在下划线处填写相应数据库组件的属性值: Database1. DatabaseName : mydb Table1. DatabaseName : mydb Table1. TableName : studentTable1. Active : ① true Datasource1.DataSet : ② table1 DBNavigator1. DataSource : ③ datasource1 DBEdit2. DataSource : ④ DataSource1 DBEdit2. DataField : ⑤ sname 3、(10 分,每空 2 分)本程序实现一个简单的借书界面。

      程序的设计界面和运行界面如下图所示:该程序涉及到数据库中的两张表:books(图书信息)和borrow(借书记录)表的结构为:books(bno,书号,bname 书名,num 现有册数) borrow(rno 读者号,bno 书号,rdate 还书日期)其中,rno 和 bno 都是字符型(3 位)在用户界面,操作员选中一本书、输入借书证号后,按“借书”键完成借书功能,即在borrow 表中插入一条借书记录,并将books 表中该书现有册数减 1该界面要实现以下合法性检查:l 当该读者已经借了此书,不能再借l 当所借的书现有册数为 0,不能再借在 Form1 上建立的数据库组件对象及连接关系如下:Database1-Table1(与 books 表相连)-DataSource1-DBGrid1(显示图书信息) Database1-Table2(与 borrow 表相连,用于插入借书记录)Database1-Query1其中为Table1 建立了 3 个永久字段:Table1bno(书号)、Table1bnam(e(现有册数)Query1 的 SQL 语句如下: select bnofrom borrowwhere rno = :rno and bno = :bno下面是Unit1 的代码实现部分,请完成程序填空:书名)、Table1numimplementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject); //“借书”键beginquery1.Close ;query1.ParamByName(rno).Value := ① ; query1.ParamByName(bno).Value := ② ; query1.Open ;if query1[bno] <> null then beginshowmessage(该读者正在借阅此书);exit ; end ;if ③ thenbeginshowmessage(该书已全部借出); exit ;end;table2. ④ ( [edit1.Text , table1bno.Value , date+15] ); //插入借书记录table1. ⑤ ;table1num.Value := table1num.Value - 1 ; // 现有册数减 1 table1.Post ;end; end.五、编程题(10 分)本程序设计界面及运行界面如下: 程序功能是:用户输入一个3 位正整数后,按“确定”键,该数字的个位、十位、百位数字分别显示在输出框中。

      如果输入的数据不在规定范围之内,程序要给出错误提示请编写单击“确定”按钮的事件处理程序procedure TForm1.Button1Click(Sender: TObject); varx : integer ; beginx := strtoint(edit1.Text);if (x<100) or (x>999) then showmessage(输入数据不在范围内);edit2.Text := inttostr(x DIV 100) ;edit3.Text := inttostr( (x DIV 10 ) Mod 10 ) ; edit4.Text := inttostr(x Mod 10) ;end;试题参考答案一、填空题(20 分,每空 2 分)1、方法 2、.dpr (或 dpr) 3、一个入口4、属性 或 Properties 5、Items 6、OnTimer 7、Enabled 8、AutoSize 9、备份文件10、 sqr(cos(a+b)) /(3*x)+5 或 cos(a+b) * cos(a+b) /(3*x)+5二、单项选择题(30 分,每题 3 分)1、 D2、 A3、D4、C5、 B6、 C7、 A8、A9、C10、 D三、判断题(10 分,每题 2 分)1、√ 2、√ 3、 4、 5、 √四、程序填空题(30 分,每题 10 分)1、(10 分,每空 2 分)① text ② text③ RadioGroup1 ④ text⑤ y2、(10 分,每空 2 分)① True ② Table1③ DataSource1 ④ DataSource1⑤ sname3、(10 分,每空 2 分)① edit1.Text ② table1bno.Value③ table1num.Value = 0 ④ InsertRecord⑤ Edit五、编程题(10 分)procedure TForm1.Button1Click(Sender: TObject); varx : integer ; beginx := strtoint(edit1.Text);if (x<100) or (x>999) then showmessage(输入数据不在范围内);edit2.Text := inttostr(x DIV 100) ;edit3.Text := inttostr( (x DIV 10 ) Mod 10 ) ; edit4.Text := inttostr(x Mod 10) ;e。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.