您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 畜牧/养殖 > 福建工程学院《可视化编程技术》考试试题及解答
福建工程学院2008-2009第二学期期末考试《可视化编程技术》考试试题及解答一、填空题(20分,每空2分)1、现实世界中对象具有自己的状态和行为。对应着,面向对象技术中的对象可以具有自己的属性和。2、Delphi应用程序中项目文件的扩展名是。3、结构化程序设计要求程序中仅采用顺序、分支和循环三种控制结构,其中每种结构只能有和一个出口。4、在Delphi集成开发环境中,如果想要直接设置或者修改对象的属性,可以通过对象查看器(ObjectInspector)中的窗口直接进行设置。5、ListBox对象列表框中的内容是通过属性来进行设置的。6、时钟组件(Timer)能有规律的以一定时间间隔触发事件。7、如果让界面上的一个按钮变为不可用,需要将它的属性设为False。8、Image组件可通过设置其属性为True使Image组件根据图像的大小自动调整显示窗口大小。9、Delphi的一个项目由若干文件组成,其中文件名后缀含有“~”的文件为。10、与数学表达式对应的ObjectPascal表达式是二、单项选择题(30分,每题3分)1、Delphi程序设计的基本特点是()A.可视化程序设计B.代码程序设计C.事件驱动编程D.A和C2、修改窗体的标题时,应当设置form的属性是()A.CaptionB.NameC.TextD.Label3、下列哪个常量说明语句是正确的()A.constx:=(c16);B.constx:16;C.constx:=16;Dconstx=16;4、“x是小于100的非负数”的ObjectPascal表达式是()A.0≤x100B.x=0,x100C.(x=0)AND(x100)D.(x=0)OR(x100)5、编辑框(Edit)中的文本发生改变时引发的事件是()A.AutoSizeB.OnChangeC.SetFocusD.SetText6、表达式30+19div2的值是()A.37B.49C.39D.407、现建立一个简单报表,仅包含报表标题栏、数据栏和汇总栏,则在Bands属性的子属性中,不需要选择的是()A.HasColumnHeaderB.DetailC.TitleD.Summary8、下面哪个功能键可以调出Delphi的联机帮助信息()A.F1键B.F2键C.F3键D.F4键9、数据库组件中,提供了对数据库读写操作功能的核心组件是()A.数据源组件B.用户界面组件C.数据集组件D.数据感知控件10、以下控件中没有Items属性的是()A.ComboBoxB.ListBoxC.RadioGroupD.Memo三、判断题(10分,每题2分)请给下列论述中正确的打上“√”,错误的打上“”(10分,每题1分)1、()一个数组中的各元素的数据类型必须相同。2、()在一个项目中,可以根据需要将任何一个窗体定义为主窗体。3、()每个数据感知控件都必须指定DataSource和DataField两个属性值。4、()label和Edit组件都可以用于用户输入数据。5、()按钮组件和编辑框组件能够响应的事件有些是相同的。四、程序填空题(30分,每题10分)1、(10分,每空2分)本程序根据用户选择的运算符对输入的二个操作数进行运算,并显示运算结果。设计界面和运行界面如图所示。其中,运算符是一个含有4个单选按纽的RadioGroup1对象。下面是单击“运算”按钮的事件处理程序,请根据功能要求完成程序填空。---------------------------------------------------------------------------------------------------------------------procedureTForm1.Button1Click(Sender:TObject);//运算varx1,x2,y:Integer;beginx1:=StrToInt(Edit1.①);x2:=StrToInt(Edit2.②);Case③.ItemIndexof0:y:=x1+x2;1:y:=x1-x2;2:y:=x1*x2;3:y:=x1Divx2;End;Edit3.④:=IntToStr(⑤);end;---------------------------------------------------------------------------------------------------------------------2、(10分,每空2分)数据库mydb中有关系表student,其结构如下:student(sno学号,sname姓名,sex性别,birthday生日)现编写一个学生信息浏览程序,设计界面和运行界面如下图所示:在下划线处填写相应数据库组件的属性值:Database1.DatabaseName:mydbTable1.DatabaseName:mydbTable1.TableName:studentTable1.Active:①Datasource1.DataSet:②DBNavigator1.DataSource:③DBEdit2.DataSource:④DBEdit2.DataField:⑤3、(10分,每空2分)本程序实现一个简单的借书界面。程序的设计界面和运行界面如下图所示:该程序涉及到数据库中的两张表:books(图书信息)和borrow(借书记录)。表的结构为:books(bno,书号,bname书名,num现有册数)borrow(rno读者号,bno书号,rdate还书日期)其中,rno和bno都是字符型(3位)。在用户界面,操作员选中一本书、输入借书证号后,按“借书”键完成借书功能,即在borrow表中插入一条借书记录,并将books表中该书现有册数减1。该界面要实现以下合法性检查:当该读者已经借了此书,不能再借。当所借的书现有册数为0,不能再借。在Form1上建立的数据库组件对象及连接关系如下:Database1-Table1(与books表相连)-DataSource1-DBGrid1(显示图书信息)Database1-Table2(与borrow表相连,用于插入借书记录)Database1-Query1其中为Table1建立了3个永久字段:Table1bno(书号)、Table1bname(书名)、Table1num(现有册数)。Query1的SQL语句如下:selectbnofromborrowwhererno=:rnoandbno=:bno下面是Unit1的代码实现部分,请完成程序填空:---------------------------------------------------------------------------------------------------------------------implementation{$R*.dfm}procedureTForm1.Button1Click(Sender:TObject);//“借书”键beginquery1.Close;query1.ParamByName('rno').Value:=①;query1.ParamByName('bno').Value:=②;query1.Open;ifquery1['bno']nullthenbeginshowmessage('该读者正在借阅此书');exit;end;if③thenbeginshowmessage('该书已全部借出');exit;end;table2.④([edit1.Text,table1bno.Value,date+15]);//插入借书记录table1.⑤;table1num.Value:=table1num.Value-1;//现有册数减1table1.Post;end;end.---------------------------------------------------------------------------------------------------------------------五、编程题(10分)本程序设计界面及运行界面如下:程序功能是:用户输入一个3位正整数后,按“确定”键,该数字的个位、十位、百位数字分别显示在输出框中。如果输入的数据不在规定范围之内,程序要给出错误提示。请编写单击“确定”按钮的事件处理程序。试题参考答案一、填空题(20分,每空2分)1、方法2、.dpr(或dpr)3、一个入口4、属性或Properties5、Items6、OnTimer7、Enabled8、AutoSize9、备份文件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分)procedureTForm1.Button1Click(Sender:TObject);varx:integer;beginx:=strtoint(edit1.Text);if(x100)or(x999)thenshowmessage('输入数据不在范围内');edit2.Text:=inttostr(xDIV100);edit3.Text:=inttostr((xDIV10)Mod10);edit4.Text:=inttostr(xMod10);end;判断素数varForm1:TForm1;i,j,k,s:integer;t:boolean;a,b:integer;flag:boolean;functionprimes(x:integer):boolean;implementationfunctionprimes(x:integer):boolean;beginifx=2thenbeginresult:=true;exit;end;fori:=2tox-1dobeginifxmodi=0thenbeginflag:=false;break;endelseflag:=true;end;result:=flag;end;{$R*.dfm}procedureTForm1.FormCreate(Sender:TObject);beginmemo1.Clear;end;procedureTForm1.Button1Click(Sender:TObject);beginmemo1.Clear;a:=strToint(edit1.text);b:=strToint(edit2.text);k:=0;s:=0;forj:=atobdobegint:=primes(j);ift=truethenbeginmemo1.Lines.Add(intTostr(j));k:=k+1;s:=s+j;end;end;memo1.Lines.Add(intTostr(a)+'~'+intTostr(b)+'共有素数'+intTostr(k)+'个');memo1.Lines.add('总和为:'+intTostr(s)+'。');end;procedureTForm1.Button2Click(Sender:TObject);beginedit1.Text:='';edit2.Text:='';memo1.Clear;end;end.阶乘累加a:=strtoint(edit1.Text);k:=0;b
本文标题:福建工程学院《可视化编程技术》考试试题及解答
链接地址:https://www.777doc.com/doc-2232168 .html