Delphi程序设计试题及答案

合集下载

Delphi程序设计试题及解答

Delphi程序设计试题及解答

《Delphi 程序设计》试题及解答 卷6一、填空题(20分,每空2分)1、现实世界中对象具有自己的状态和行为。

对应着,面向对象技术中的对象可以具有自己的属性和 。

2、结构化程序设计要求程序中仅采用顺序、分支和循环三种控制结构,其中每种结构只能有 和一个出口。

3、Delphi 应用程序中单元文件的扩展名是 。

4、与数学表达式 53)(cos 2++xb a 对应的Object Pascal 表达式是 。

5、对于下面的条件表达式:((3 <= x )AND (x < 0)) OR (x in [1..10])当x = 3 时, 该表达式的值为 。

6、ListBox 对象列表框中的内容是通过 属性来进行设置的。

7、如果想设计DBGrid 对象的列标题和对齐方式,可以对DBGrid 对象的 属性进行设置。

8、时钟组件(Timer )能有规律的以一定时间间隔触发 事件9、能够实现格式化输入的编辑框组件是10、利用 对象的LineTo 等方法,可以绘制基本图形。

二、单项选择题(20分,每题2分)1、Delphi 程序设计的基本特点是( )。

A . 可视化程序设计B . 代码程序设计C . 事件驱动编程D . A 和C2、进度显示组件ProgressBar 的当前进度可以通过( )属性设置。

A . StepB .ScrollC . PositionD .Max3、下列变量命名正确的是( )。

A .7ABCB . My7C . page@2D .cmd..14、“x 是小于200的非负数”的Object Pascal 表达式是( )。

A .0 ≤ x < 200B . x >= 0, x<200C .(x >=0) AND (x < 200) D . (x >= 0 ) OR (x<200)5、在窗体上建立多页面的用户界面,需要首先建立的对象是( )A . TabControlB .PageControlC . HeaderControlD .PageScroller6、能够删除edit1中内容的语句是( )。

Delphi试卷A答案

Delphi试卷A答案

二、填空题。

(每空1分,共20分。

)1.:=2.对象名.属性名:=属性值;3.可视化组件库4.工程文件、单元文件5.代码完善、参数提示、代码模板、符号洞察6.声明、2557.字符型、布尔型、枚举型8.F129.shift10.Sqr(x)+3*x*y/ (2-y)11.Canvas.pen.color:=clblue;lineto(210, 195);12.Edit1.setfocus;三、程序简答题。

(共25分)1.功能是:计算并返回集合参数a中的字符个数。

(3分,叙述的意思对即可)2.25 (3分)3.(每题1分,共4分,叙述的意思对即可)⑴表达式书写错误,应为2*y+10 ⑵赋值号不能连用在一个语句中⑶赋值号左边只能是变量⑷赋值号左边不能是函数4.(每题2分,共8分,结果错误即不得分)⑴28 ⑵2 ⑶’cb’⑷197 5.(每题1分,共4分,结果错误即不得分)⑴’hello’⑵1968 ⑶’-459.65’⑷5 6.错误:const value;说明参数value是常量参数,其值在函数体中不能改变。

(3分,只说明value值不变即可得分)四、程序设计题。

(40分)1.(共7分)Function f (m:real) : real ; ………………………………(1分)BeginIf m<0 then f:=f(m+1)+2 ………………………………(2分)ElseIf m=0 then f:=5 ………………………………(2分)Else f:=f (m-1)-2 ………………………………(2分)End;2.(共8分)procedure TForm1.Button1Click(Sender: TObject);……………………(事件过程可以自己选择,注意语法错误1分)vari , j , temp : integer ;a:array [1..10] of integer; ……………………(变量定义,1分)beginrandomize;for i:=1 to 10 dobegina[i]:=random(i*100);end; …………………………………(初始化数组,2分)for i:=1 to 10 dofor j:=i+1 to 10 do ………………………………(循环嵌套,1分)if a[i]<=a[j] thenbegintemp:=a[i];a[i]:=a[j];a[j]:=tempend; ……………………………………(交换变量值,2分)for i:=1 to 10 dolistbox1.Items.add(inttostr(a[i]))………………(数组值输出,1分)end;3.(共9分)procedure TForm1.FormCreate(Sender: TObject); ……………………(事件过程可以自己选择,注意语法错误1分)vara:array[1..8,1..8] of integer;i , j:integer ; st:string; ……………………(变量定义,1分)beginfor i:=1 to 8 dofor j:=1 to 8 do ………………………………(循环嵌套,1分)if (i=j) or (i=9-j) then ………………………(条件,1分)a[i,j]:=8elsea[i,j]:=1; ………………………………(赋值,1分)for i:=1 to 8 do………………………………(循环变量值,1分)beginst:='';for j:=1 to 8 do …………………………(循环嵌套,1分)st:=st+ inttostr(a[i,j])+' ';listbox1.items.Add(st) …………………………(设置输出格式,2分)endend;4.(16分)第一部分:(共9分)procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);VartempP,p:PLink;beginif Key=#13 then …………………………(如果按下〈Enter〉键,1分)Beginnew(tempP);tempp^.Data:=Edit1.Text;tempP^.Next:=NIL; …………………………(创建一个结点,1分)if Dtrec=NIL Then ……………………(如果链表为空表,2分)beginhead:=tempP;endelsebeginp:=head;while p^.Next<>NIL do ………………(找表尾,1分)P:=P^.Next;P^.Next:=tempP;……………………(将新节点添加到表尾,2分)end;Edit1.Clear;Edit1.SetFocus; …………………(当前活动焦点置回到编辑框上,2分)end;End;第二部分:(7分)Procedure TForm1.Button1Click(Sender: TObject);Varp:Plink; ………………………………(变量定义,1分)BeginListBox1.Clear; …………………………(清列表框,1分)P:=head;if head=nil thenshowMessage('链表为空表!')…………………………(2分)elserepeatListBox1.Items.Add(P^.Data);P:=P^.Next;until P=Nil;………………………………(遍历链表,将所有节点数据域中的数据赋给ListBox1的Items属性,3分)End;。

delphi程序期末试题答案

delphi程序期末试题答案

第一学期期末考试试卷(A-2-1)考试学科Delphi 程序设计组、命题教师考场考号考生班级系主任考生姓名装订线题目一二三四五六七总分核分登分人得分一、单选题(每小题2分,共30分)1.在RadioGroup 组件中有4 个单选框,当选中第2 个单选框时,RadioGroup 组件中的ItemIndex 属性值应为( B B ))。

A A..0 B 0 B..1 C 1 C..2 D 2 D..3 2.函数和过程的区别为(.函数和过程的区别为( A A A ))。

A A.函数执行后返回一个值,而过程不需返回值.函数执行后返回一个值,而过程不需返回值 B B.过程执行后返回一个值,而函数不需返回值.过程执行后返回一个值,而函数不需返回值C .过程在被调用时,能执行某种特殊功能并能返回到调用它的地方D D.函数在被调用时,能执行某种特殊功能并能返回到调用它的地方.函数在被调用时,能执行某种特殊功能并能返回到调用它的地方3.32 AND 27 的值是(的值是(的值是( B B B ))。

A .59 B 59 B..0 C 0 C..27 D 27 D..32 4.窗体与数据模块的扩展名是(.窗体与数据模块的扩展名是( B B B ))。

A A...dcu B B...dfm C C...pas D D...dpr 5.Delphi 中用什么函数来析构一个组件(中用什么函数来析构一个组件( C C C ))。

A .Constructor B B..Destroy C C..Free D D..Create 6.一个指针变量ptr 的域成员fs 访问的方法是(访问的方法是( C C C ))。

A .ptr->fs B B..ptr.fs C C..ptr^fs D D..ptr@fs7.Type aarrays=[1…8,1…5] of integer ,该类型定义了多少个下标元素(,该类型定义了多少个下标元素(,该类型定义了多少个下标元素( D D D ))。

Delphi程序设计试题二及答案

Delphi程序设计试题二及答案

Delphi 程序设计试题二及答案一、填空题(20分,每空2分)1、现实世界中对象具有自己的状态和行为。

对应着,面向对象技术中的对象可以具有自己的属性和 。

2、结构化程序设计要求程序中仅采用顺序、分支和循环三种控制结构,其中每种结构只能有 和一个出口。

3、Delphi 应用程序中单元文件的扩展名是 。

4、与数学表达式 53)(cos 2++xb a 对应的Object Pascal 表达式是 。

5、对于下面的条件表达式:((3 <= x )AND (x < 0)) OR (x in [1..10])当x = 3 时, 该表达式的值为 。

6、ListBox 对象列表框中的内容是通过 属性来进行设置的。

7、如果想设计DBGrid 对象的列标题和对齐方式,可以对DBGrid 对象的 属性进行设置。

8、时钟组件(Timer )能有规律的以一定时间间隔触发 事件9、能够实现格式化输入的编辑框组件是10、利用 对象的LineTo 等方法,可以绘制基本图形。

二、单项选择题(20分,每题2分)1、Delphi 程序设计的基本特点是( )。

A . 可视化程序设计B . 代码程序设计C . 事件驱动编程D . A 和C2、进度显示组件ProgressBar 的当前进度可以通过( )属性设置。

A . StepB .ScrollC . PositionD .Max3、下列变量命名正确的是()。

A.7ABC B.My7 C.page@2 D.cmd..14、“x 是小于200的非负数”的Object Pascal表达式是()。

A.0 ≤x < 200 B.x >= 0, x<200C.(x >=0) AND (x < 200)D.(x >= 0 ) OR (x<200)5、在窗体上建立多页面的用户界面,需要首先建立的对象是()A.TabControl B.PageControlC.HeaderControl D.PageScroller6、能够删除edit1中内容的语句是()。

Delphi_程序设计基础教程_习题答案(hzd)

Delphi_程序设计基础教程_习题答案(hzd)

Delphi 程序设计基础教程第 1 章Delphi 集成开发环境1. 填空题(1) Delphi 是一个集成开发环境,从 3程序设计、代码编译、调试,到最布程序的全部工作都可以在这个集成环境中完成。

(2) 在 Delphi 集成环境的主要组成部分中有许多功能强大的工具,如: 3主窗体、对象树状视图、对象观察器、窗体设计器、代码编辑器工具等。

(3) Delphi 集成开发环境的界面分为4个部分,分别是。

主窗口、窗体窗口、代码编辑窗口和对象查看器窗口(4) 对象查看器的功能是:编辑设置窗体、组件的属性,并为窗体、组件添加事件的响应处理过程(5) Delphi 主窗口由:标题栏、菜单栏、工具栏和组件板组成,它是打开其他窗口和退出D elphi 集成环境的主要界面。

2. 选择题D(1) 对象查看器由组成。

A. 标题栏、菜单栏、属性标签和事件标签B. 标题栏、菜单栏、对象选择器和事件标签C. 标题栏、菜单栏、对象选择器和属性标签D. 标题栏、对象选择器、属性标签和事件标签D(2) Delphi 用来管理用户开发的应用程序中的各个文件,有序地管理可以极大地提高应用程序开发的质量和速度。

A. 单元B. 组件C. 属性D. 项目B(3) 用来编写应用程序的代码。

A. 调试器窗口B. 代码编辑窗口C. 报表生成器窗口D. 数据库桌面窗口B(4) 代码编辑窗口分为左、右两部分:。

A. 左边是单元代码窗口,右边是单元浏览器窗口B. 左边是单元浏览器窗口,右边是单元代码窗口C. 左边是单元调试窗口,右边是单元浏览器窗口D. 左边是单元浏览器窗口,右边是单元调试窗口A(5) 属性选项卡即标签名为“Properties”的选项卡,用于设置当前组件的属性,属性选项卡是一个两列的表格,。

A. 左列是属性标题,右列是属性值B. 左列是组件名称,右列是事件名C. 左列是属性标题,右列是事件名D. 左列是组件名称,右列是属性值C(6) 事件选项卡即标签名为“Events”的选项卡,用于为当前组件添加各种响应事件(如单击、拖曳事件等),它随对象选择器中的所选组件而发生变化。

Delphi程序设计试题1

Delphi程序设计试题1

一、单项选择题:(每题 2 分,共30 分)(说明:将答案写在试卷后面的答题纸上)1、由于库模块在内存中只装载一次,因而调用FreeLibrary 首先使库模块的引用计数()。

A.减去1B. 不变C. 加上1D. 减小2、delphi是哪个公司的产品()A MicrosoftB DOMC BOMD Borland3、下列符号中,错误的自定义标识符是()A MydoubleB YtestC 3SSTD _SST4、以下组件中非可视组件为()A Memo组件B TTable组件C Buton组件D TDBGrid组件5、代码编辑窗口分左、右两部分()A. 左边是单元代码窗口,右边是单元浏览器窗口B. 左边是单元浏览器窗口,右边是单元代码窗口C.左边是单元调试窗口,右边是单元浏览器窗口D.左边是单元浏览器窗口,右边是单元调试窗口6、既能显示文本又能显示图形的图形栅格组件是()A StringGrid组件B ColorGrid组件C DBGrid组件D DrawGrid组件7、负责将DataSet组件和DataControl组件链接起来的组件是()A Date AccessB Date Control类C DateSourceD Ttable8、Delphi控制台程序中屏幕输出语句是()A cout<<表达式B cin>>表达式C write(变量表)D read(变量表)9、面向对象程序设计的简写形式是()A OOAB OOPC OOD D OOAD10、在程序运行时,如果要给Memo组件增加显示内容,可以使用一种方法,每调用该方法一次,存储框中就增加一行,该方法是()。

A. addB. insertC. creatD. copy11、DLLs中工程文件头标用到的关键字是()A LibraryB ConstructorC FreeD Class12、delphi中如果要创建一个非可视的组件,选择的祖先类为()。

delphi考试试题及答案

delphi考试试题及答案

delphi考试试题及答案Delphi考试试题及答案一、单选题(每题2分,共20分)1. Delphi中用于定义常量的关键字是()。

A. varB. constC. typeD. resource答案:B2. 在Delphi中,以下哪个是正确的字符串类型?()A. stringB. charC. textD. stringlist答案:A3. Delphi中,以下哪个不是TForm的属性?()A. CaptionB. HeightC. WidthD. Count答案:D4. 在Delphi中,哪个关键字用于声明一个方法?()A. procedureB. functionC. methodD. routine答案:C5. Delphi中,以下哪个是正确的数组声明方式?()A. var MyArray: array[1..10] of Integer;B. var MyArray: array of Integer;C. var MyArray: Integer[1..10];D. var MyArray: Integer;答案:A6. 在Delphi中,以下哪个是正确的类声明方式?()A. type TMyClass = class;B. class TMyClass;C. var TMyClass: class;D. procedure TMyClass;答案:A7. Delphi中,以下哪个不是TButton的事件?()A. OnClickB. OnDblClickC. OnMouseDownD. OnKeyPress答案:D8. 在Delphi中,以下哪个是正确的文件操作函数?()A. FileOpenB. FileCreateC. FileReadD. All of the above答案:D9. Delphi中,以下哪个是正确的异常处理语句?()A. try...exceptB. try...catchC. try...finallyD. All of the above答案:A10. 在Delphi中,以下哪个是正确的数据库连接组件?()A. TADOConnectionB. TDBConnectionC. TSQLConnectionD. TDataSet答案:A二、多选题(每题3分,共15分)1. Delphi中,以下哪些是合法的变量名?()A. _myVarB. 2myVarC. myVar2D. myVar$答案:AC2. 在Delphi中,以下哪些是合法的注释方式?()A. { This is a comment }B. // This is a commentC. / This is a comment /D. All of the above答案:D3. Delphi中,以下哪些是合法的循环控制语句?()A. for...toB. while...doC. repeat...untilD. All of the above答案:D4. 在Delphi中,以下哪些是合法的集合操作?()A. AddB. RemoveC. ClearD. All of the above答案:D5. Delphi中,以下哪些是合法的文件操作模式?()A. fmOpenReadB. fmOpenWriteC. fmCreateD. All of the above答案:D三、判断题(每题2分,共10分)1. Delphi中,所有的方法都必须在类中声明。

delphi试题-1

delphi试题-1

delphi试题-11、“x 是小于100的非负数”的Object Pascal表达式是()A0 ≤x < 100 B x >= 0, x<100 C (x >=0) AND (x < 100)D (x >= 0 ) OR (x<100)2、在定义常量时,用到的关键字是A ConstB varC typeD begin3、在定义变量时,用到的关键字是A constB varC typeD begin4、如何将a定义成一个字符串类型的变量A var a:integerB var integer aC var a:stringD var string a5. 如何将b定义成一个整数类型的变量A var b:integerB var integer bC var b:stringD var string b6. 如何将a,b定义成实数类型的变量A var a,b:RealB var a,b RealC var a,b=RealD var real a,b7、要想判断两个变量a和b是否相等,应该采用( )运算符A= B := C =: D ==8、表达式30 +19 mod 2 的值是()A 31B 32C 33D 349、表达式30 +19 div 2 的值是()A 37B 49C 39D 4010、把Y+Z的结果赋给X的表达式是()A X=Y+ZB X :=Y+ZC X=(Y+Z)D X:(Y+Z)11、下列运算符中,( )可以用来进行字符串的连接操作A DivB +C xorD <>12、a是一个字符串类型的变量,b也是一个字符串类型的变量,要想实现两者的连接应A a*bB a-bC a+bD a/b13、a是一个浮点类型的变量,b是一个字符串类型的变量,要想实现两者的连接应A a+bB floattoint(a)+bC a+strtofloat(b)D floattostr(a)+b14、delphi中语句可以分为简单语句和复合语句,复合语句包含在()之间A if 和thenB begin和endC case和endD if 和end15、7 mod 8 和8 mod 7的余数分别是A7,1 B 1,7 1,1 D 7,716、窗体的常用属性中,( )属性用来设置窗体的名称,在程序代码中用此名称引用窗体A NameB CaptionC editD Icon17、窗体的常用属性中,( )属性用来指定窗体标题栏中的说明文字A NameB CaptionC editD Icon18、要想设置组件的大小可以通过右键position菜单下的( )命令A positon-alignB positon-sizeC position-scaleD edit19、要想设置组件对齐方式可以通过右键position菜单下的( )命令A positon-alignB positon-sizeC position-scaleD edit20、下列值中不是formstyle属性的可能值的是A fsNormalB fsMIDChildC fsMIDformD fsDeskT op21、如果设置某个可视组件在程序运行时是不可见的,需设置属性( )的值为FalseA EnabledB VisibleC FontD Width22、button按钮组件上要想显示文本,应用()属性A CaptionB textC editD name23. bitbtn组件通过()属性来导入delphi指定的默认图形A KindB captionC imagelistD picture24、当radiobutton被选中时,它的checked属性为A TRUEB FALSEC 不确定D 没变化25、( )组件常与编辑框Edit配合使用,作为输入工具,它通过单击上下箭头增加或减少一个数值A ButtonB BitBtnC CheckBoxD UpDown26、标签组件显示的文本是由( )属性控制的.A NameB AlignmentC TextD Caption27、编辑框内的文本信息是通过( )属性控制的.A NameB BorderStyleC TextD SelText28、当编辑框获得输入焦点且用户按下键盘上的某一个键时,触发( )事件A OnChangeB OnEnterC OnExitD OnKeyPress29、写出在memo1中添加一行文本的语句( )A memo1.lines.add( )B memo1.lines.delete( )C memo1.lines.move( )D memo1.add( )30、写出在memo1中插入一行文本的语句( )A memo1.lines.insert( )B memo1.lines.add( )C memo1.lines.move( )D memo1.insert( )31、下列不是文本组件的是()A LableB editC TextD memo32、要想在memo组件中显示它的内容,采用的是该组件的( )属性A LinesB captionC itemD name33、RadioGroup组件为单选钮分组组件,通过它的()属性设置单选钮的标题A CaptionB textC editD Items34、TabControl组件的( )属性用于编辑TabControl中的选项卡A TabsB textC itemsD edit35、( )组件可以显示一些图形文件A MemoB imageC buttonD listbox36、弹出式菜单需赋予对象的( )属性A PopupMenuC NameD MenuItem37、欲建立下一级菜单,首先选中上一级菜单,然后按( )键A InsertB Shift+ →C Ctrl+InsertD Ctrl+ →38、MainMenu组件的( )属性可打开菜单设计器A NameB ItemsC ImageD Bitmap39、在菜单项中加入分隔条,需要用到菜单项的( )属性A NameB ShortcutC CaptionD ImageList40、在菜单项中加入分隔条,需要在菜单项的Caption中输入一个( )号,然后按回车即可A﹢ B ﹣ C ~D ‖41、为菜单项添加快捷键,需用到该菜单项的( )属性A CaptionB NameC ShortcutD ImageList42、假设要为一个菜单项热键字母是S,则按( )键就可以激活该菜单项A Alt+SB Shift+ SD S43、创建级联菜单,需要选中该菜单项,单击鼠标右键,在弹出的快捷菜单中选择( )命令A DeleteB InsertC Creat SubmenuD Select Menu44、)菜单是通过单击鼠标右键激活的,它必须和某个对象相关联,才能正常工作A主菜单 B 快捷菜单 C 级联菜单 D 子菜单45、若快捷菜单的AutoPopup属性设置为False,则需要()方法在指定的位置弹出菜单A PopupB ShowC HideD Shortcut46、通过PopupMain组件可以创建( )A快捷菜单 B 工具栏 C 状态栏 D 主菜单47、下列函数或过程中,()可以用来接收用户输入的信息A ShowMessage过程B ShowMessageFmt过程C MessageDlg函数D InputBox函数48、下列函数或过程中,()可以控制对话框出现的位置A ShowMessage过程B ShowMessageFmt过程C ShowMessagePos过程D MessageDlg函数49、( )允许用户查找信息并进行替换A TFindDialogB TReplaceDialogC TFontDialogD TOpenDialog49、Opendialog的()属性用于设置对话框的标题A NameB CaptionC TitleD Items50、()组件用于打开“字体”对话框A FontDialogB ReplaceDialogC ColorDialogD SaveDialog51、( )方法用于打开“打开”对话框和“另存为”对话框A ExecuteB InsertC DeleteD Show52、控制窗体的方法中,()方法将窗体设置为模态方式A ShowModalB ShowC HideD Close53、窗体的释放可以通过()方法来实现A FreeB CloseC StopD hide54、利用窗体的()属性也可以实现窗体的显示和隐藏A VisibleB WidthC EnabledD Font55、控制窗体的方法中,( )方法用于将窗体隐藏起来A FreeB CloseC HideD Show56、函数由()关键字引出A ProchureB functionC procdureD func57、下面那个不是转移语句()A GotoB breakC continueD while58、下面()不是Delphi的时间函数A DateB roundC timeD now59、下面()不是Delphi组件的属性()A FontB widthC clickD text60、Image组件用来显示一张图片,这些图片可以来自硬盘的图形文件,其中不包括()A位图文件(BMP)B图标文件(ICO)C JPG文件D 图像文件(GIF)61、标准对话框的打开使用()A OpenB executeC useD on62、用于建立菜单项的下划线快捷方式的字符是A ^B #C &D @63、已知a、b、c、d是同类型的简单变量,而且已有互不相同的值,执行下列语句:b:=a; a:=c; d:=a; d:=b; 后,其值相等的变量是()A a,cB a,dC c,bD b,a64、以下语句的循环执行次数是()x:=37; y:=3while y<=x do y:=y+yA 3B 4C 5D 665、程序For I:=1 to 5 dofor j:=2 to I dowriteln(\'*\');输出的\'*\'个数为()A5 B 10 C 15 D 2066、已知V ar a:array[1..10] of integer;k,I:integer;程序段:k:=1;for I:=1 to 10 doif a[i]>a[k] thenk:=I;writeln(a[k]);执行后输出的是( )A数组中的平均值 B 数组中的最大值 C 数组中的最小值D数组中的总和67、为让控件显示弹出式提示框文字,需用到控件的()属性A HandleB HintC ShowHintD Showing68、发生在鼠标左键单击控件时的事件是()A OnMouseDownB OnMouseUpC OnClickD OnDbClick69、能够删除edit1中内容的语句是()。

delphi期末考试题

delphi期末考试题

一、填空题(20分,每题2分)1、一个对象是由三部分组成,分别为:方法、属性和事件所组成。

2、当程序运行时,如果要求窗体中的某个按钮不再显示,可以将该按钮的Visible 属性设置为false即可。

3、Delphi应用程序中项目文件的扩展名是.dpr4、Delphi是基于面向对象技术的,在delphi中,属性表示对象中的数据,方法是对象能够执行的动作,事件是能够引起对象反应的条件。

5、写出下列表达式的值:Trunc(—1.3)+int(1.4)= 0Sqr(3)+strtoint(19)= 283-2<>Int(1.1)= FALSE6、在delphi集成开发环境中,如果想要直接设置或者修改对象的属性,可以通过对象观察器中的属性窗口直接进行设置。

7、复选框对象是否被选中,是由其checked 属性决定的。

8、delphi中程序与数据库之间进行数据交换一般由多个数据库组件协作完成,如果用户要查询数据库的一条信息,该指令通过界面组件发出,经数据源组件到达数据库组件。

数据库组件利用自身的读写功能,通过数据库连接组件从数据库中取得数据,再经数据源组件送到用户界面组件中显示。

9、delphi中设计应用程序的菜单时,有主菜单和弹出菜单两种菜单,它们各自“standard”页上的一个组件创建,主菜单由MainMenu 组件创建,而弹出菜单用PopupMenu 组件创建窗体中的多页面设计要用到PageControl组件。

10、计时器控件能有规律的以一定时间间隔触发Ontimer 事件,并执行该事件过程中的程序代码。

二、单项选择题(20分,每题2分)1、delphi程序设计的基本特点是(D)A.可视化程序设计 B.代码程序设计C.事件驱动编程 D.A和C2、下列哪个常量说明语句是正确的(D)A.const x := (c<16); B. const x : 16;C.const x :=16; D. const x = 16;3、编辑框中的文本发生改变时被触发的事件是(B)A.AutoSize B. OnChangeC.SetFocus D. SetFocus4、下列说法正确的是(B)A.组件必须是可视的,这样用户才能看见。

(Delphi)计算机程序设计模拟试题四及参考答案

(Delphi)计算机程序设计模拟试题四及参考答案

模拟试题四试题一1 .可视化编程的基本方法中并不包括( 1 )。

Delphi 构件包含(2 )和方法,属性和事件可以在设计期间设置,方法只能在运行时调用。

Delphi 的单元( Unit )包含 Interface 和 Implementation 两部分,其中 Implementation 部分存放的是(3 )。

在 Interface 部分放的是(4 )。

● 供选择的答案( 1 ) A. 创建窗体,并在窗体中安排控件B. 为各控件修改默认的属性值C. 为各控件修改默认的事件D. 为各控件的有关事件编写程序代码( 2 ) A .属性、事件 B .属性、函数C .属性、代码D .事件、代码( 3 ) A .所有函数和过程的声明 B .所有类型、常量和变量的定义C .所有函数和过程的实现代码D .所有类型、常量和变量的声明( 4 ) A .除了单元内部调用的常量和变量之外的其余定义和声明B .函数和过程的声明可以放在任何部分,但类型、常量和变量的定义必须C .所有类型、常量和变量的定义及函数和过程的声明都要D .被其他单元调用的函数或过程的声明2. 在 Windows 开发环境中,菜单选项和工具按钮被操作者选定后,将激活( 5 )事件,需要编写相应的事件处理例程。

通常,事件处理例程不宜包含过多的代码。

如果处理过程比较复杂,最好通过编写专门的函数来完成,然后由事件处理例程来调用此类函数。

这样做实际上是将事件和处理代码分离,其优点是:( 6 );( 7 )。

如果某个菜单选项和工具按钮在功能上相互对应,二者的事件处理例程( 8 )。

为了简化程序设计,可以有很多方法,比较好的方法是( 9 )。

● 供选择的答案( 5 ) A . OnEnter B. OnClick C. OnChange D. OnSelect( 6 ) A. 事件和处理过程不至于相互影响B. 程序运行比较稳定可靠,不容易出现意外错误C. 多个事件可以方便地调用同一处理过程D. 某一事件调用处理过程时不会影响其他事件( 7 ) A. 比较容易调整各事件和各处理过程的对应关系B. 事件和处理过程之间的对应关系比较清晰C. 修改处理过程时不需要改变各事件之间的关系D. 各事件之间的关系比较简明清晰( 8 ) A. 把处理过程写成函数,在菜单选项和工具按钮处理例程中分别调用B. 在菜单选项处理例程中调用工具按钮事件处理例程C. 需要包含完全相同的代码D. 创建一个 TActionList 对象,把菜单选项和工具按钮与 Action 关联( 9 ) A. 把处理过程写成函数,在菜单选项和工具按钮处理例程中分别调用B. 在菜单选项处理例程中调用工具按钮事件处理例程C. 在工具按钮事件处理例程中调用菜单选项处理例程D. 创建一个 TActionList 对象,把菜单选项和工具按钮与 Action 关联试题二应用程序主窗口必须在程序启动时创建。

Delphi程序设计试题及答案

Delphi程序设计试题及答案

一、填空题(20分,每空2分)1、结构化程序设计要求程序中仅采用顺序、分支和循环三种控制结构,其中每种结构只能有一个入口和。

2、现实世界中对象具有自己的状态和行为。

与此相对应,面向对象技术中的对象可以具有自己的和方法。

3、Delphi的一个项目由若干文件组成,其中与窗体文件对应的文件是。

4、在设计阶段,ListBox对象列表框中的内容是通过属性来进行设置的。

5、调用主窗体的方法,可以结束程序。

6、如果要在窗体上设计一个主菜单,首先要建立对象。

7、当Query对象中存储一条Delete语句时,执行该语句需要调用Query的方法。

8、与数学表达式对应的Object Pascal表达式是9、通过Animate对象的属性设置,可以指定系统标准的A VI动画演示。

10、利用对象的LineTo等方法,可以绘制基本图形。

二、单项选择题(20分,每题2分)1、下面哪句话比较准确地定义了Delphi ()。

A.面向对象的可视化的开发环境B.多媒体制作工具C.数据库的客户端开发工具D.高级编程语言2、下面哪个功能键可以调出Delphi 的联机帮助信息()A.F1键B.F2键C.F3键D.F4键3、“x 是小于10的非负数”的Object Pascal表达式是()A.0 ≤x < 10 B.(x >=0) AND (x < 10)C.x >= 0, x<10 D.(x >= 0 ) OR (x<10)4、工具栏上的一组按钮如果要构成互斥关系(如“左对齐”、“居中”、“右对齐”),它们的GroupIndex属性正确的设置是()A.GroupIndex属性值都为0 B.GroupIndex属性值非0,且互不相同C.GroupIndex属性值非0,且相同D.GroupIndex属性值互不相同5、利用Image对象的哪个属性设置,可以使Image对象的显示区域随着调入图像的大小自动调整以显示全图()A.Stretch B.AutoSizeC.Align D.Center6、现建立一个简单报表,仅包含报表标题栏、数据列标题栏和数据栏,则在Bands属性的子属性中,不需要选择的是()A.HasColumnHeader B.DetailC.Title D.Summary7、在窗体上建立多页面,需要首先建立的对象是()A.TabControl B.PageControlC.HeaderControl D.PageScroller8、既可以通过选择输入、又可以直接输入的数据感知控件是()A.DBRadioGroup B.DBListBoxC.DBComboBox D.DBCheckBox9、如果要求每当光标进入edit编辑框中时,编辑框都清空,可以在哪个事件处理程序中编写代码实现()A.OnClick B.OnMouseMoveC.OnKeyPress D.OnEnter10、下面哪个组件不是容器组件()A.Form B.PanelC.GroupBox D.Memo三、判断题(10分,每题1分)请给下列论述中正确的打上“√”,错误的打上“´”1、()在Delphi环境中,组件页上的组件是“类”而不是“对象”。

电大《Delphi程序设计》2019-2020期末题库及答案

电大《Delphi程序设计》2019-2020期末题库及答案

Welphi程序设计》2019-2020期末题库及答案一、单选题(共0题,共0分)1.“x是小于1000的非负数”的Object Pascal表达式是()A、0Wx<1000B、(x>=0)OR(x<1000)C、x>=0,x<1000D、(x>=0)AND (x<1000)正确答案:D2.Delphi程序设计的基本特点是()A、可视化程序设计B、代码程序设计C、事件驱动编程D、A和C正确答案:D3.(0分)表达式50 + 19 div 2的值是()A、57B、69C、59D、60正确答案:C4.结构化程序设计的基本原则或特点不包括()。

A、多态性B、自顶向下C、模块化D、逐步求精正确答案:A5.结构化程序设计的基本原则是取消()语句,程序中仅采用顺序、分支和循环三种控制结构。

A、ForC^ gotoD、Do正确答案:c6.利用对象监视器可以设置窗体或组件的()oA、方法B、属性C、外观D、执行代码正确答案:B7.通常控制组件在窗体中可见的属性是()A、VisibleNameC、ShowingD、Hint正确答案:A8.下列变量命名正确的是()A、7ABCB、My7C、page@2D、cmd.. 1正确答案:B9.下列表达式中()不是布尔表达式。

A、A=3B、A div BC、A and BD、A>B正确答案:B10.下列说法错误的是()A、窗体文件的扩展名为.dfmB、一个窗体对应一个窗体文件C、Delphi中的一个工程只包含一个窗体D、・~dpr和广pas是备份文件,便于用户恢复到较早的一个项目版本。

正确答案:C11.下面哪个不是对象的三个要素之一()A、事件B、名称C、属性D、方法正确答案:B12.B itBtn组件的哪个属性预定义了一些常用的位图按钮种类()。

A、nameCaptionC、kindD、type正确答案:c13.以下能够触发编辑框(Edit)组件OnChange事件的操作是()。

Delphi试题含答案

Delphi试题含答案

Delphi试题含答案《可视化程序设计》试卷适⽤专业及层次(由出卷教研室填写):信息管理与信息系统、医学信息⼯程本科姓名:班级:学号:(此试卷共8页,答案请填写在答题纸上,答案填写在试卷上者答题⽆效)⼀、单项选择题(15分,每⼩题1分)1.⼀个Delphi应⽤程序必有⼀个⽂件和⾄少⼀个单元⽂件。

A.程序B.⼯程C.数据D.图形2.在窗体中完成多个控件整齐排列,应使⽤的操作是。

A.AlignB.Bring to frontC.ScaleD.Send to back3.下列不能⽤来定义⼦界类型是。

A.实型数据(Real)B.⽤户定义的任何顺序类型C.字符型(Char)D.整型(Integer)4.在事件处理程序中编写代码,可以处理edit编辑框中输⼊的字符,。

A.OnClickB.OnEnterC.OnMouseUpD.OnKeyPress5.关于变量,全局变量与局部变量名相同时,下列说法错误的是。

A.在过程之外是全局变量作⽤B.过程内部是局部变量作⽤C.在过程之外全局变量⽆作⽤D.在过程之外是全局变量作⽤⽽在内部是局部变量作⽤6.procedure和function的结构和功能相似,。

A.前者可以取代后者B.后者可以取代前者C.但前者有返回值,后者没有D.⼆者都可以返回⼀个值7.动态数组与静态数组的区别是。

A.是否是⼀维数组B.元素类型是否是整型C.定义时是否明确了数组元素的个数D.元素类型是否⼀致8.⽤于建⽴菜单项的加速键的字符是。

A.^B.#C.&D.@9.绘制封闭图形时,要指定填充⾊的颜⾊时,可以设置画布对象的属性。

A. pen.colorB. brush.colorC. pen.styleD. bursh.style10.BDE的中⽂含义是,它是数据库应⽤中的⼀种连接⽅法。

A.数据库连接B.数据库引擎C.数据库⽂件D.开放式数据库11.下列语句中,⽴即中断当前循环继续执⾏下⼀次循环的语句是。

计算机程序设计(Delphi)

计算机程序设计(Delphi)

学习中心_________姓名_____________ 学号西安电子科技大学网络与继续教育学院《计算机程序设计(Delphi)》全真试题(闭卷90分钟)题号一二三四五六总分题分20 16 10 14 24 16得分试题一单项选择题(每题2分,共20分)1.一般程序设计都采用高级语言,很少使用汇编语言,因为(1)。

汇编语言的每一条语句与(2)条机器指令对应,通过助记符和符号地址书写程序。

最后,通过一个叫做Assembler的程序将汇编语言程序转换成机器语言程序。

为某个应用而用不同高级语言编写的程序模块分别编译产生(3),再经过连接程序处理后形成可执行程序。

(1)A. 高级语言编的程序执行效率较高B.汇编语言不容易学习,使用不方便C.历史上一直这样沿用下来D.高级语言种类很多,有更多的选择余地(2)A.1 B. 2 C. 3 D. 多(3)A. 汇编程序 B. 子程序 C. 动态程序 D. 目标程序2. 在Windows开发环境中,菜单选项和工具按钮被操作者选定后,将激活(4)事件,需要编写相应的事件处理例程。

通常,事件处理例程不宜包含过多的代码,如果处理过程(5)。

这样做实际上是将事件和处理代码分离,其优点是:(6);(7)。

(4)A . OnEnter B. OnClick C. OnChange D. OnSelect(5)A. 比较简单,通过编写专门的函数能明显减少代码量B. 比较简单,无须编写专门的函数,也能使多事件方便调用C. 比较复杂,无须编写专门的函数,也能使多事件方便调用D. 比较复杂,可通过编写专门的函数,并由事件处理例程来调用此类函数(6)A. 事件和处理过程不至于相互影响B. 程序运行比较稳定可靠,不容易出现意外错误C. 多个事件可以方便地调用同一处理过程D. 某一事件调用处理过程时不会影响其他事件(7)A. 比较容易调整各事件和各处理过程的对应关系B. 事件和处理过程之间的对应关系比较清晰C. 修改处理过程时不需要改变各事件之间的关系D. 各事件之间的关系比较简明清晰3. 在面向对象技术中,(8)不是对象。

delphi模拟试题2

delphi模拟试题2

delphi模拟试题2本试卷命题与审核:命题单位(盖章)教研室主任审核签名领导审核签名荆州职业技术学院×××学年度第××学期《delphi程序设计》期末考试试卷系班级姓名学号成绩一、选择题(20*2)1. 用户开发程序时需要经常在窗体和编辑器窗口之间来回切换,可使用快捷键()。

A、 F12和F11B、 F12和F13C、 F12和Ctrl+F12D、 F12和Alt+F12E、F12和Shift+F122. 某函数如下:Function check(n,k:Integer):Integer;Var m:Integer;BeginRepeatm:=n mod 10;n:=n div 10;K:=k-1Until k=0;Check:=mEnd;若调用语句y:=check(3725,3),运行后y值为:()A、 7B、 5C、 2D、 03. 以下那个组件不可以由用户输入编辑文本()A、 TEditB、 TcomboBoxC、 TMaskEditD、 TlabelE、 TStringGrid4. 一个对象类可以继承和直接使用它的父类的所有成员,除了:()A、 public域B、 private域C、 protected域和private域D、 protected域和方法E、 private域和方法5. Delph没有用到的文件类型有()。

A、.frmB、.pasC、.dfmD、.dprE、.res6. Query组件没有T able组件那样的()属性。

A、 DataSourceB、 TableNameC、 FilteredD、 DatabaseE、 UpdateObject7. 下面关于属性的论述正确的是()。

A、属性能实现write方法B、属性能实现read方法C、属性可以只读或只写D、属性可以公开或非公开E、属性不能直接存取8. 调试程序时,需要执行执行点所在的源代码行,并停留在下一个源代码行。

电大2846Delphi程序设计-期末考试资料word

电大2846Delphi程序设计-期末考试资料word

2846Delphi程序设计-0006试卷总分:100 答题时间:60分钟客观题单项选择题(共20题,共40分)1. 结构化程序设计的基本原则或特点不包括()。

A 多态性2. 下列表达式中()不是布尔表达式。

B A div B3. 利用对象监视器可以设置窗体或组件的( )。

B 属性4. 下列说法错误的是( )C Delphi中的一个工程只包含一个窗体5. 如果想设置Form1中字体颜色为clRed,应当设置Font的()属性。

A Color6. 如果要检查edit编辑框中输入的字符,可以在哪个事件处理程序中编写代码检查()D OnKeyPress7. 能够删除edit1中内容的语句是()。

A edit1.Clear;8. 在Delphi中,建立一个文本编辑区域,可采用下列哪个控件()。

C Edit控件9. 下列说明错误的是()D 按钮组件的属性Name设置为“确定”,则按钮上文本显示为“确定”10. 进度显示组件ProgressBar的当前进度可以通过()属性设置。

C Position11. 工具栏上的一组按钮如果要构成互斥关系(如“左对齐”、“居中”、“右对齐”),它们的GroupIndex属性正确的设置是()C GroupIndex属性值非0,且相同12. 用于建立菜单项的下划线快捷方式的字符是( )。

A &13. 在设计阶段,利用Image对象的哪个属性,可以加载一幅图片( )。

B Picture14. Delphi中可以实现绘制直线的方法是()D LineTo15. 利用Image对象的哪个属性设置,可以使加载的图像自动放大或缩小,以适应Image的显示区域()A Stretch16. 在Table组件中,用来设置打开或关闭与其相连的数据表的属性是()D Active17. 数据库组件中,提供了对数据库读写操作功能的核心组件是()C 数据集组件18. Table组件中,指定要访问的数据库名称,通常设置数据库的属性是()A databasename19. 下面哪个方法用于确定当前指针位置是否在数据表的第一个记录()。

完整的delphi程序设计教程课后习题答案

完整的delphi程序设计教程课后习题答案

1.239页1题小时钟procedureTForm1.Timer1Timer(Sender: TObject);varxt,yt:integer;h,m,s,ms:word;begindecodetime(time,h,m,s,ms);xt:=paintbox1.clientwidth div 2; yt:=paintbox1.clientheight div 2; paintbox1.refresh;paintbox1.canvas.moveto(xt,yt); paintbox1.canvas.pen.width:=3; paintbox1.canvas.lineto(xt+round(s in((60*h+m)/(12*60)*2*pi)*100), yt-round(cos((60*h+m)/(12*60)*2 *pi)*100));paintbox1.canvas.moveto(xt,yt); paintbox1.canvas.pen.width:=2; paintbox1.canvas.lineto(xt+round(s in(m/60*2*pi)*140),yt-round(cos(m/60*2*pi)*140)); paintbox1.canvas.moveto(xt,yt); paintbox1.canvas.pen.width:=1; paintbox1.canvas.lineto(xt+round(s in(s/60*2*pi)*180),yt-round(cos(s/60*2*pi)*180)); end;end.2.239页3题求两点间的距离procedureTForm1.Button1Click(Sender: TObject);beginpaintbox1.Refresh;formpaint(sender);end;procedureTForm1.FormPaint(Sender: TObject);varxt,yt:integer;ax,ay,bx,by:integer;beginxt:=paintbox1.ClientWidth div 2; yt:=paintbox1.Clientheight div 2; paintbox1.canvas.MoveTo(xt,0);paintbox1.canvas.lineTo(xt,2*yt);paintbox1.canvas.MoveTo(0,yt);paintbox1.canvas.lineTo(2*xt,yt);ax:=strtoint(edit1.text);ay:=strtoint(edit2.text);bx:=strtoint(edit3.text);by:=strtoint(edit4.text);edit5.Text:=floattostr(sqrt((ax-bx)*(ax-bx)+(ay-by)*(ay-by)));paintbox1.canvas.MoveTo(xt+ax*10,yt-ay*10);paintbox1.canvas.lineTo(xt+bx*10,yt-by*10);end;end.3.226页5题输入学生成绩varForm1: TForm1;typestudentrecord=recordxh,xm:string[6];xb:boolean;yy,sx,dz:integer;end;implementation{$R *.dfm}procedureTForm1.Button1Click(Sender:TObject);var t:studentrecord;f,f1:file of studentrecord;p1,p2:boolean;beginassignfile(f,'c:\mydocuments\stu.dat');reset(f);assignfile(f1,'c:\mydocuments\stu1.dat');rewrite(f1);while not eof(f) dobeginread(f,t);p1:=(t.sx>=85)and(t.yy>=85)and(t.dz>=85);p2:=t.sx+t.yy+t.dz>=270;if p1 or p2 thenwrite(f1,t);end;closefile(f);closefile(f1);end;procedureTForm1.FormCreate(Sender:TObject);var t:studentrecord;f:file of studentrecord;xingbie:string;beginassignfile(f,'c:\mydocuments\stu.dat');reset(f);while not eof(f) dobeginread(f,t);if t.xb thenxingbie:='男'elsexingbie:='女';listbox1.Items.Add(t.xh+' '+t.xm+''+xingbie+' '+inttostr(t.sx)+' '+inttostr(t.yy)+' '+inttostr(t.dz));end;closefile(f);end;procedureTForm1.Button2Click(Sender:TObject);beginclose;end;end.4.226页8题保存获得奖学金者varForm1: TForm1;typestudentrecord=recordxh,xm:string[6];xb:boolean;yy,sx,dz:integer;end;implementation{$R *.dfm}procedureTForm1.Button1Click(Sender: TObject);var t:studentrecord;f,f1:file of studentrecord;p1,p2:boolean;beginassignfile(f,'c:\mydocuments\stu.dat');reset(f);assignfile(f1,'c:\mydocuments\stu1.dat');rewrite(f1);while not eof(f) dobeginread(f,t);p1:=(t.sx>=85)and(t.yy>=85)and(t. dz>=85);p2:=t.sx+t.yy+t.dz>=270;if p1 or p2 thenwrite(f1,t);end;closefile(f);closefile(f1);end;procedureTForm1.FormCreate(Sender: TObject);var t:studentrecord;f:file of studentrecord;xingbie:string;beginassignfile(f,'c:\mydocuments\stu1.dat');reset(f);while not eof(f) dobeginread(f,t);if t.xb thenxingbie:='男'elsexingbie:='女';listbox1.Items.Add(t.xh+' '+t.xm+' '+xingbie+' '+inttostr(t.sx)+' '+inttostr(t.yy)+' '+inttostr(t.dz)); end;closefile(f);end;procedureTForm1.Button2Click(Sender: TObject);beginclose;end;end.5.166页22题素数procedureTForm1.Button1Click(Sender:TObject);typesushuset=set of byte;varsushu:sushuset;i,j,n,m,k:longword;s,s0:string;beginn:=strtoint(edit1.text);m:=strtoint(edit2.text);if n mod 2=0 then n:=n+1;k:=m-n;if k>255 thenshowmessage('范围太大,请重新输入区间端点!')elsebeginsushu:=[0..k];for i:=2 to n-1 dofor j:=n to m doif j mod i =0 thensushu:=sushu-[j-n];for i:=n to m div 2 dofor j:= i+1 to m doif j mod i =0 thensushu:=sushu-[j-n];s:='';s0:='';for i:=n to m doif i-n in sushu thenbeginif length(s0+' '+inttostr(i))>60 thenbegins:=s+s0+chr(13);s0:=''end;s0:=s0+' '+inttostr(i);end;s:=s+s0;label1.caption:=s;groupbox1.Top:=(panel1.Top-groupbox1.height) div 2;end;end;procedureTForm1.FormCreate(Sender:TObject);begingroupbox1.Top:=(panel1.Top-groupbox1.height) div 2;end;procedureTForm1.Edit1KeyPress(Sender:TObject; var Key: Char);var j:set of char;beginj:=['0'..'9',#8];if not(key in j) then key:=#0;end;end.6.148页12题整除的数implementation{$R *.dfm}function d7(x:integer):boolean;beginif x mod 7=0 then d7:=trueelse d7:=false;end;function d17(x:integer):boolean;beginif x mod 17=0 then d17:=trueelse d17:=false;end;procedureTForm1.FormActivate(Sender:TObject);varn:integer;beginfor n:=1000 to 4000 doif d7(n)and d17(n) thenmemo1.Lines.Add(inttostr(n));end;end.7.148页17题求斐波那契数列问题implementation{$R *.dfm}function fib(n:integer):int64; begincase n of1,2:fib:=1;elsefib:=fib(n-1)+fib(n-2);end;end;procedureTForm1.Button1Click(Sender: TObject);vark:integer;beginmemo1.lines.clear;for k:=1 to strtoint(edit1.text) do memo1.lines.add(format('%2d % 3d',[k,fib(k)]));end;end.8.120页10题,判断是否是闰年procedureTForm1.Button1Click(Sender: TObject);vary,m:integer;beginy:=strtoint(edit1.text);m:=strtoint(edit2.text);label3.Caption:='';if((y mod 4 = 0) and (y mod 100 <> 0)) or (y mod 400=0) then label3.Caption:=edit1.text+'年是闰年,'elselabel3.Caption:=edit1.text+'年不是闰年,';case m of3,4,5:Label3.Caption:=Label3.Capt ion+edit2.Text+'月份是春天,';6,7,8:Label3.Caption:=Label3.Capt ion+edit2.Text+'月份是夏天,';9,10,11:Label3.Caption:=Label3.C aption+edit2.Text+'月份是秋天,'; elseLabel3.Caption:=Label3.Caption+e dit2.Text+'月份是冬天,';end;case m of1,3,5,7,8,10,12:Label3.Caption:=Label3.Caption+'共有31天,';4,6,9,11:Label3.Caption:=Label3.Caption+'共有30天,';elseif((y mod 4 = 0) and (y mod 100<> 0) or (y mod 400=0)) thenLabel3.Caption:=Label3.Caption+'共有29天,'elseLabel3.Caption:=Label3.Caption+'共有28天,';end;end;end.9.120页11题求和的procedureTForm1.Button1Click(Sender:TObject);varn,k,j:integer;s:int64;beginn:=strtoint(edit1.text);j:=0;s:=0;for k:=1 to n dobeginj:=j+k;s:=s+j;end;panel2.Caption:=format('s= %d',[s]);edit1.setfocus;end;procedureTForm1.Edit1KeyPress(Sender:TObject; var Key: Char);var b:boolean;beginb:=(key<>#8)and(key<#48)or(key>#57);if b then key:=#0;end;end.10.120页12题男人,女人,小孩各有多少人procedureTForm1.Button1Click(Sender:TObject);varx,y,z:integer;p:string;beginmemo1.clear;for x:=0 to 16 dofor y:=0 to 24 dobeginz:=30-x-y;if 3*x+2*y+z/1=50 thenbeginp:=format('%3d %3d %3d',[x,y,z]);memo1.lines.add(p);end;end;end;end.11.98页2题求长方体的表面积procedureTForm1.Button1Click(Sender:TObject);vars,l,k,h:double;beginl:=strtofloat(edit1.text);k:=strtofloat(edit2.text);h:=strtofloat(edit3.text);s:=2*l*k+2*k*h+2*l*h;label1.Caption:=floattostr(s);end;end.12.98页5题计算圆的面积和周长procedureTForm1.Edit1KeyPress(Sender:TObject; var Key: Char);varr:real;b:boolean;beginb:=(key<>#8)and(key<>'.')and(key <>#13)and(key<#48)or(key>#57); if b then key:=#0;if key =#13 thenbeginif edit1.text='' then edit1.text:='0'; r:=strtofloat(edit1.text);if radiobutton1.Checked then label1.Caption:=format('圆的面积为:%f',[pi*r*r]);if radiobutton2.Checked then label1.Caption:=format('圆的周长为:%f',[2*pi*r]);if radiobutton3.Checked then label1.Caption:=format('圆的面积为:%f'+chr(13)+ '周长为: %f',[pi*r*r,2*pi*r]);edit1.SelectAll;end;end;procedureTForm1.RadioButton1Click(Sende r: TObject);varsender0:tobject;key:char;beginsender0:=edit1;key:=#13;form1.edit1keypress(sender0,key); end;procedureTForm1.RadioButton2Click(Sende r: TObject);varsender0:tobject;key:char;beginsender0:=edit1;key:=#13;form1.edit1keypress(sender0,key); end;procedureTForm1.RadioButton3Click(Sende r: TObject);varsender0:tobject;key:char; beginsender0:=edit1;key:=#13;form1.edit1keypress(sender0,key);end;end.13.98页6题统计奇数和偶数的个数procedureTForm1.Button1Click(Sender:TObject);vark,j,n:word;begink:=0;n:=combobox1.items.count;for j:=1to n doif strtoint(combobox1.items[j-1])mod 2 = 0 thenk:=k+1;label1.caption:=format('共有:'+#13+'%d个偶数,'+#13+'%d个奇数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、填空题(20分,每空2分)1、结构化程序设计要求程序中仅采用顺序、分支和循环三种控制结构,其中每种结构只能有一个入口和。

2、现实世界中对象具有自己的状态和行为。

与此相对应,面向对象技术中的对象可以具有自己的和方法。

3、Delphi的一个项目由若干文件组成,其中与窗体文件对应的文件是。

4、在设计阶段,ListBox对象列表框中的内容是通过属性来进行设置的。

5、调用主窗体的方法,可以结束程序。

6、如果要在窗体上设计一个主菜单,首先要建立对象。

7、当Query对象中存储一条Delete语句时,执行该语句需要调用Query的方法。

8、与数学表达式对应的Object Pascal表达式是9、通过Animate对象的属性设置,可以指定系统标准的A VI动画演示。

10、利用对象的LineTo等方法,可以绘制基本图形。

二、单项选择题(20分,每题2分)1、下面哪句话比较准确地定义了Delphi ()。

A.面向对象的可视化的开发环境B.多媒体制作工具C.数据库的客户端开发工具D.高级编程语言2、下面哪个功能键可以调出Delphi 的联机帮助信息()A.F1键B.F2键C.F3键D.F4键3、“x 是小于10的非负数”的Object Pascal表达式是()A.0 ≤x < 10 B.(x >=0) AND (x < 10)C.x >= 0, x<10 D.(x >= 0 ) OR (x<10)4、工具栏上的一组按钮如果要构成互斥关系(如“左对齐”、“居中”、“右对齐”),它们的GroupIndex属性正确的设置是()A.GroupIndex属性值都为0 B.GroupIndex属性值非0,且互不相同C.GroupIndex属性值非0,且相同D.GroupIndex属性值互不相同5、利用Image对象的哪个属性设置,可以使Image对象的显示区域随着调入图像的大小自动调整以显示全图()A.Stretch B.AutoSizeC.Align D.Center6、现建立一个简单报表,仅包含报表标题栏、数据列标题栏和数据栏,则在Bands属性的子属性中,不需要选择的是()A.HasColumnHeader B.DetailC.Title D.Summary7、在窗体上建立多页面,需要首先建立的对象是()A.TabControl B.PageControlC.HeaderControl D.PageScroller8、既可以通过选择输入、又可以直接输入的数据感知控件是()A.DBRadioGroup B.DBListBoxC.DBComboBox D.DBCheckBox9、如果要求每当光标进入edit编辑框中时,编辑框都清空,可以在哪个事件处理程序中编写代码实现()A.OnClick B.OnMouseMoveC.OnKeyPress D.OnEnter10、下面哪个组件不是容器组件()A.Form B.PanelC.GroupBox D.Memo三、判断题(10分,每题1分)请给下列论述中正确的打上“√”,错误的打上“´”1、()在Delphi环境中,组件页上的组件是“类”而不是“对象”。

2、()按钮组件和编辑框组件能够响应的事件有些是相同的。

3、()在对文件的操作中,reset是建立并打开一个新文件。

4、()编辑框edit中的内容能够设置为只读(即不能输入)。

5、()OpenDialog组件的功能是指定一个文件名,并将文件内容加载到指定的编辑区中。

6、()在一个项目中,可以有多个窗体,但只能有一个主窗体。

7、()在Data Controls组件页上,有的数据控件没有datafield属性。

8、()在程序运行期间,一个Table对象只能固定和一个关系表相连。

9、()要想在数据集中增加计算字段,必须先将数据集的字段全部置为动态字段。

10、()在设计阶段,如果在Query对象的SQL语句中设置了参数,则必须在Query的Params属性中为参数设置数据类型。

四、程序填空题(40分,每题10分)1、(10分,每空2分)本程序由主窗体form1和子窗体form2组成,设计界面如下图所示:主窗体上建立的对象有Image1、Button1(加载图片)、Button2(退出)、OpenDialog1。

子窗体上建立的对象有Label1、BitBtm1(Yes)、BitBtm2(No)。

单击“加载图片”按钮,会弹出打开文件对话框。

用户指定一个图像文件后,图像加载到Image1显示区中。

单击“退出”按钮,会弹出确认对话框(Form2)。

如果用户按“Yes”键,程序结束;如果按“No”键,返回主窗体。

下面是Unit1的代码部分,请在下划线处完成程序填空。

---------------------------------------------------------------------------------------------------------------------implementation{$R *.dfm}uses①;procedure TForm1.Button1Click(Sender: TObject);beginif ②thenImage1.Picture.LoadFromFile( ③);end;procedure TForm1.Button2Click(Sender: TObject);beginif ④= mrYes then⑤;end;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表(借书记录)的数据动态计算得到的。

用户还可以输入指定书号,查找并定位到指定的记录。

在form1上建立的主要对象有:Database1、Table1、Query1、DataSource1、DBEdit1~DBEdit3Edit1~Edit2、Button1~Button3等其中Database1与mydb数据库相连,Table1对象与books表相连,DBEdit1、DBEdit2、DBEdit3分别和bno(书号)、bname(书名)、author(作者)各列相连。

Query1的SQL语句是:select count(*) numfrom borrowwhere bno = :bno下面是Unit1单元的代码实现部分,请完成程序填空。

---------------------------------------------------------------------------------------------------------------------implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject); //查找begintable1. ①( 'bno' , edit2.Text , [] ) ;end;procedure TForm1.Button2Click(Sender: TObject); //下一记录begintable1. ②;end;procedure TForm1.Button3Click(Sender: TObject); //上一记录begintable1. ③;end;procedure TForm1.Table1AfterScroll(DataSet: TDataSet);beginquery1.Close ;query1. ④:= table1['bno'] ; query1.Open ;edit1.Text := inttostr( ⑤) ;end;end.---------------------------------------------------------------------------------------------------------------------4、(10分,每空2分)本程序实现一个简单的选课界面。

设计界面和运行界面如下图所示:该程序涉及到数据库中的两张表:course(课程表)和sc(选课表),表结构如下:sc(sno 学号,cno课程号,grade成绩)course(cno课号,cname课名,quota名额)其中:sno和cno都是字符型。

在用户界面,操作员选中一门书、输入学号后,按“选课”键,完成选课功能,即在sc表中插入一条选课记录,并将course表中该课程的名额减1。

该界面要实现以下合法性检查:l 当该学生已经选过此课,不能再选。

l 当所选课程名额已为0,不能再选。

在Form1上建立的数据库组件对象及连接关系如下:Database1-Table1(与course表相连)-DataSource1-DBGrid1(显示课程信息)Database1-Table2(与sc表相连,用于插入选课记录)Database1-Query1其中为Table1建立了3个永久字段:Table1cno(课程号)、Table1cname(课程名)、Table1quota (名额)。

Query1的SQL语句如下:select cnofrom scwhere sno = :sno and cno = :cno下面是Unit1的代码实现部分,请完成程序填空:--------------------------------------------------------------------------------------------------------------------- implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject); //“选课”键beginquery1.Close ;query1.ParamByName('sno').Value := ①;query1.ParamByName('cno').Value := ②;query1.Open ;if query1['cno'] <> null thenbeginshowmessage('已选过此课');exit ;end ;if ③thenbeginshowmessage('没有名额');exit ;end;table2. ④( [edit1.Text , table1cno.Value , null] );table1.Edit ;table1quota.Value := table1quota.Value - 1 ; //名额减1table1. ⑤;end;end.---------------------------------------------------------------------------------------------------------------------五、编程题(10分)下图是本程序的设计界面(左)和运行界面(右):在form1上建立的对象有:Edit1~Edit4、Button1(输出)、RadioGroup1。

相关文档
最新文档