Delphi程序设计试题及解答(wan)

合集下载

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程序期末试题答案

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面试题及答案

delphi面试题及答案

delphi面试题及答案【篇一:delphi程序期末试题答案】一、单选题(每小题2分,共30分)1.在 radiogroup 组件中有 4 个单选框,当选中第 2 个单选框时,radiogroup 组件中的 itemindex 属性值应为(b)。

a.0 b.1c.2d.3 2.函数和过程的区别为(a)。

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

a.59b.0c.27d.32 4.窗体与数据模块的扩展名是(b)。

a..dcu b..dfm c..pas d..dpr 5.delphi 中用什么函数来析构一个组件(c)。

a.constructor b.destroy c.free d.create 6.一个指针变量ptr 的域成员 fs 访问的方法是(c)。

a.ptr-fsb.ptr.fsc.ptr^fs d.ptr@fs7.type aarrays=[1?8,1?5] of integer ,该类型定义了多少个下标元素(d)。

a.45 b.54 c.48 d.40 8.delphi 的所有类都是从什么类继承下来的(b)。

a.tcomponent b.tobject c.tstream d.tnull9.定义构造函数时用到的保留字是(c)。

a.class b..implementation c.create d.construction 10.下列组件中属于可视组件的是哪一个(d)。

a.tdatasource b.topendialog c.ttable d.tscrollbar11.设有过程 procedure pro(var x,y:integer); 变量 a , b 为整型变量,其值分别为 5、6,则合法的过程调用语句是(a.pro(5,6) b.pro(5,b) c.pro(a,6)d.pro(a,b) 12.下列组件中不能获取焦点的是(b)。

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程序设计-作业1

Delphi程序设计-作业1

Delphi 程序设计-作业1班级 ) 姓名 高 分数(一)填空题1、Delphi 是基于面向对象技术的。

在Delphi 中,属性表示 对象中的数据 ,方法是对象 能够执行的动作 ,事件是能够引起对象 反映的条件 。

2、Delphi 应用程序中单元文件的扩展名是 pas ;应用程序中项目文件的扩展名是 dpr 。

3、写出下列表达式的值:Trunc(-1.3)+Int(1.4) = 0Sqr(3) + StrToInt(‘19’) = 283-2 <> Int(1.1) = FALSE4、与数学表达式 53)(cos 2++xb a 对应的Object Pascal 表达式是 sqr (cos(a+b))/(3*+x)+5 。

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

6、在Delphi 集成开发环境中,如果想要直接设置或者修改对象的属性,可以通过 对象观察器 中的属性窗口直接进行设置。

(二)单项选择题1、下列变量命名正确的是( B )。

A 7ABCB Program7C page@21D program2、设a = True ,b = True ,c = False ,以下表达式值为False 的是( D )。

A .a or b or c B. ( not a or b ) and ( b or c )C. False or not a and b or not cD. not a and not b and (12 in [1..10] )3、Delphi程序设计的基本特点是(D )。

A.可视化程序设计 B. 代码程序设计C.事件驱动编程 D. A和C4、下列哪个常量说明语句是正确的(D )。

A. const x := (c < 16);B. const x : 16 ;C. const x := 16 ; D const x = 16 ;5、“x 是小于100的非负数”的Object Pascal表达式是( C )。

delphi模拟试题7

delphi模拟试题7

本试卷命题与审核:命题单位(盖章)教研室主任审核签名领导审核签名荆州职业技术学院×××学年度第××学期《delphi程序设计》期末考试试卷系班级姓名学号成绩一、填空题:(20*2)1下列哪组语句可以将变量A、B的值互换?()(A)A:=B;B:=A;A:=A―B;(B)A:=A+B;B:=A-B;B:=A;(C)A:=C;C:=B;(D)A:=(A+B)/2;B:=(A-B)/2;2.在面向对象的Pascal程序中,将数值200赋予X变量的正确语句是哪个?()A.X:=200B.X==200C.X=200D.200=X3.请指出下列字符串中哪些属于对象Pascal语言指令字?()A.mod B.not C.write D.finally4.下列中错误的PASCAL表达式是()A.20DIV2*5B.16DIV4C.10e3*5D.4.018DIV35.下列哪种类型的常量不能用来定义子界类型?()A.实型数据(Real)B.整型(Integer)C.字符型(Character)D.用户定义的任何顺序类型6.Query组件没有Table组件那样的()属性。

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

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

可通过()菜单项进行。

A、RunB、Step OverC、Trace IntoD、Trace To Next Source LineE、Run to Cursor9.设a是布尔变量,其它是整型变量,下面正确的赋值语句是()A、x=y div7B、x:=y:=z+1C、a:=x=y mod zD、x+y:=zE、x+y=a10.表达式round(4.2)mod trunc(2.8)的值是()A、0B、1C、2D、3E、410.已知Var f:file of integer;则f所代表的文件是()A、ASCII码文件B、二进制文件C、文本文件D、存放整数的文本文件E、HTML文件11.在VCL中()是TDBListBox的父类A、TCustomListBoxB、TListBoxC、TDBDatasetD、TDatabaseE、TDBEdit12.为让控件显示弹出式提示框文字,需用到控件的()属性A、HandleB、HintC、ShowHintD、ShowingE、Visible13.发生在鼠标左键单击控件时的事件是()A、OnMouseDownB、OnMouseUpC、OnClickD、OnDbClickE、OnEnter14.下列值中不是FormStyle属性的可能值的是()A、fsNormalB、fsMIDChildC、fsMIDFormD、fsStayOnTopE、fsDeskTop15.使用Delphi多线程的优点是()A、程序运行速度加快B、不需要考虑同步访问共享资源与内存C、程序编写更简单D、可以在后台运行线程E、不会是Windows出错16.“工程选项对话框”中,当默认的checkbox位True时,会出现下面那种情况?()A.Delphi把所有的工程选项都重置为最初的默认值B.“工程选项“值覆盖“环境选项”值C.当前被选页上所有checkbox的属性都自动变成为TrueD.当前的工程选项作为新创建的工程的默认值17.XML的含义是什么?()A.Express Manage LanguageB.Extensible Markup Language18.下面关于单元的初始化Initialization部分的说法哪一个是正确的?()A.如果调用了Initialization,必须调用FinalizationB.该部分代码单元被其他单元或程序引用时就会自动运行C.这部分代码与单元中的FormCreate事件的作用是相同的D.初始化部分的代码只能在单元中有OLE和COM对象时才有效19.以下关于Redcord(记录)的描述,不正确的是:()A.Object Pascal支持可变Record,它允许在记录种不同的数据共同覆盖相同的内存(这个概念与C/C++中的union概念一样)B.Record类型定义中列出了若干个域,每个域对应一个域名,通过域名访问C.Record类型用于定义不同类型数据项的固定集合D.record类型是类的一种补充20.在每一个枚举类型中,默认编译的情况下,我们最多只能定义()个值。

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

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

(Delphi)计算机程序设计模拟试题一试题一1 .一般程序设计都采用高级语言,很少使用汇编语言,因为( 1 )。

软件设计和程序设计是两个不同的概念,(2 )。

一份详细的程序设计说明书常常比程序源代码更有保存价值,这是因为(3 )。

程序代码重用可以提高编程效率,源代码和编译后的目标代码都可以重用,比较好的重用方法是(4 )。

设计Windows 程序必须时时想到计算机不是由某个程序独占的,因此(5 )。

( 1 ) A .高级语言编的程序执行效率较高B .汇编语言不容易学习,使用不方便C .历史上一直这样沿用下来D .高级语言种类很多,有更多的选择余地( 2 ) A .程序设计不仅包括软件设计,还包括硬件设计B .程序设计和软件设计涉及完全不同的知识领域C .如果把软件设计比做桥梁工程设计,程序设计则是桥梁设计D .软件设计必须考虑各方面的协作问题,而程序设计不涉及此问题( 3 ) A .从程序设计说明书可以自动生成源程序B .设计说明书比源程序更精炼,更容易保存C .源程序将随着时间的流逝逐渐失去价值,设计说明书则不会D .从源程序中不容易看出设计中包含的某些关键问题( 4 ) A .直接复制源代码,因为这样可以看请代码的功能和接口方法B .直接复制源代码,因为这样比较容易修改C .直接调用目标代码,但要通过源代码说明其功能和接口方法D .直接调用目标代码,但要有清晰的调用接口( 5 ) A .应尽快释放程序所占用的资源B .应该尽量减少打开和关闭文件的操作C .程序不应长期保持运行状态D .程序应当减少循环处理,以免影响其他程序运行试题二一般应用程序都有个主窗口,其中包含一个主菜单。

为了使程序操作简便,定义菜单选项需要注意若干问题。

首先,选项名称应该( 1 );其次,层次数不宜过多,每一层选项数也不宜过多;再者,( 2 )。

工具栏包含的按钮可以和菜单选项一一对应,也可以不完全对应,但工具栏中包含的功能项应该在菜单中都能找到。

delphi面试题及答案

delphi面试题及答案

delphi面试题及答案Delphi是一种功能强大的编程语言和集成开发环境(IDE)。

在进行Delphi相关职位的面试过程中,常常会遇到一些特定的问题。

本文将提供一些常见的Delphi面试题目以及它们的答案,帮助读者更好地准备自己的面试。

以下是一些常见的Delphi面试题及其答案:1. 请解释一下Delphi是什么以及它的特点。

Delphi是一种使用Object Pascal作为主要编程语言的集成开发环境,由Borland公司开发。

它具有易于使用、快速开发和可移植性等特点。

Delphi还支持面向对象编程和可视化设计,使开发人员能够轻松创建图形用户界面(GUI)应用程序。

2. 请解释一下Delphi中的VCL(可视化组件库)是什么,并举例说明。

VCL是Delphi中的一个重要概念,它是一组可视化组件的库,开发人员可以使用这些组件来创建各种GUI应用程序。

例如,TButton是VCL的一个组件,用于创建按钮。

TListBox用于创建列表框。

开发人员可以通过拖放这些组件到窗体上来设计他们的界面,然后使用代码来实现组件的行为。

3. 请解释一下Delphi中的事件和事件处理程序是什么。

在Delphi中,事件是指在应用程序中发生的操作或者改变的特定瞬间,例如按钮被点击或者鼠标移动。

事件处理程序是一段代码,用于响应和处理特定的事件。

通过将事件处理程序与相应的事件关联,可以在事件发生时执行特定的操作。

4. 请解释一下Delphi中的单元(Unit)是什么,并举例说明。

在Delphi中,单元是一个代码模块,用于组织和管理代码。

可以将一个功能相关的代码放在一个单元中,并在需要的地方引用它。

例如,可以创建一个名为MathUtils的单元,其中包含一些数学相关的功能,然后在其他单元中引用这个单元以使用这些功能。

5. 请解释一下Delphi中的异常处理是什么,并举例说明。

在Delphi中,异常处理是一种机制,用于处理程序运行过程中可能出现的错误。

Delphi程序设计

Delphi程序设计

Delphi程序设计2235考试类别:填空题单项选择题判断题程序填空题《Delphi程序设计》试题1及解答一、填空题(20分,每空2分)二、单项选择题(30分,每题3分)1、Delphi程序设计的基本特点是()。

A.可视化程序设计B.代码程序设计C.事件驱动编程D.A和C2、修改窗体的标题时,应当在属性页中设置的属性是()。

A.Caption B.Name C.Text D.Label3、下列哪个常量说明语句是正确的()。

A. const x := (c < 16);B. const x : 16 ;C. const x := 16 ; D const x = 16 ;4、“x 是小于100的非负数”的Object Pascal表达式是()。

A.0 ≤x < 100 B.x >= 0, x<100C.(x >=0) AND (x < 100) D.(x >= 0 ) OR (x<100)5、工具栏上的一个SpeedButton按钮如果要设置为状态按钮,则正确设置的方法是()A.将SpeedButton按钮的GroupIndex属性设置为0,且AllowAllUp属性设置为True。

B.将SpeedButton按钮的GroupIndex属性设置为0,且Allow AllUp属性设置为False。

C.将SpeedButton按钮的GroupIndex属性设置为非0值,且AllowAllUp属性设置为True。

D.将SpeedButton按钮的GroupIndex属性设置为非0值,且AllowAllUp属性设置为False。

6、表达式30 +19 div 2 的值是()。

A.37 B.49C.39 D.407、在RadioGroup 组件中有 4 个单选框,当选中第2 个单选框时,RadioGroup 组件中的ItemIndex 属性值应为()。

A.0 B.1 C.2 D.38、以下能够触发编辑框(Edit)组件OnChange事件的操作是()A.鼠标单击编辑框B.鼠标双击编辑框C.在编辑框中选择文本D.在编辑框中输入文本9、现建立一个简单报表,仅包含报表标题栏、数据栏和汇总栏,则在Bands属性的子属性中,不需要选择的是()A.Title B.DetailC.HasColumnHeader D.Summary10、只能输出、而不能输入的数据感知控件是()A.DBEdit B.DBTextC .DBRadioGroupD .DBCheckBox三、判断题,请给下列论述中正确的打上“√”,错误的打上“ ”(10分,每题2分)1、( ) const c := 80 的说明语句是合法的。

delphi 面试题及答案

delphi 面试题及答案

delphi 面试题及答案Delphi是一种基于Pascal语言的面向对象的编程语言,被广泛应用于Windows平台的软件开发。

在Delphi的面试中,经常会涉及到一些基础知识和技巧的问题,下面是一些常见的Delphi面试题及其答案:1. 请简要介绍一下Delphi语言及其特点。

Delphi是一种由Borland公司开发的编程语言,它继承了Pascal语言的特性,同时也引入了一些面向对象的概念。

Delphi有以下特点:- 可视化开发环境:Delphi提供了一个强大的可视化开发环境,可以通过拖拽控件来构建用户界面。

- 快速编译:Delphi的编译速度非常快,能够提高开发效率。

- 丰富的组件库:Delphi提供了一个丰富的组件库,使得开发者可以快速构建功能强大的应用程序。

2. Delphi中的事件是什么?请简要说明事件的使用方法。

在Delphi中,事件是一种特殊的数据类型,用于处理用户交互、控件触发等操作。

事件可以通过赋值的方式关联到某个具体的方法上。

事件的使用方法如下:- 声明事件类型:使用关键字"procedure of object"来定义事件类型。

- 声明事件变量:在类或Form中声明相应类型的事件变量。

- 关联事件:将事件变量赋值为某个方法,即可关联事件。

- 触发事件:当相关的操作发生时,调用事件变量即可触发事件执行。

3. 请简要说明Delphi中的异常处理机制,并提供一个示例。

Delphi提供了一套完善的异常处理机制,用于捕获和处理程序运行中的异常。

开发者可以使用try...except...finally语句块来捕获和处理异常。

示例代码如下:```delphitry// 可能引发异常的代码块except// 处理异常的代码块finally// 无论是否发生异常,都会执行的代码块end;```4. 在Delphi中,如何实现两个窗体之间的数据传递?在Delphi中,可以通过以下几种方式实现两个窗体之间的数据传递:- 使用公共变量:将数据保存在一个公共单元中,供其他窗体访问。

新疆电大一体化Delphi程序设计形考2答案

新疆电大一体化Delphi程序设计形考2答案

新疆电大一体化Delphi程序设计形考2答案2021年秋季Delphi程序设计第二次作业-1总分:100分单选题多选题判断题问答题一、单选题(共10题,共40分)得分:40分1.使计时器控件Timer1每隔0.5秒就触发一次事件并执行事件代码,应将Timer1控件的Interval属性设置为:()。

A:500B:0.5C:5D:50得分:4分本题分值:4分回答正确您的答案:A正确答案:A试题解析:2.GroupBox组件位于组件面板的Standard标签页上,通常称为组框,用于对其他组件进行()。

A:分组B:存放C:表示D:选择得分:4分本题分值:4分回答正确您的答案:A正确答案:A试题解析:3.Time这种类型是用来存储日期、时间或日期时间一起的,每个日期/时间字段需要()个字节的存储空间。

A:4B:8C:16D:2得分:4分本题分值:4分回答正确您的答案:B正确答案:B试题解析:4.在Delphi中,建立一个文本编辑区域,可采用下列()。

B:文本标签控件C:Edit控件D:Timer控件得分:4分本题分值:4分回答正确您的答案:C正确答案:C试题解析:5.下列说明错误的是()。

A:OpenDialog是打开文件对话框B:Edit组件的Clear方法是清除编辑框中的内容C:CheckBox控件是通过Checked属性确定选择状态D:按钮组件的属性Name设置为“确定”,则按钮上文本显示为“确定”得分:4分本题分值:4分回答正确您的答案:D:正确答案:D:试题解析:6、BitBtn组件位于组件面板的()标签页上,在对话框和窗体中广泛使用。

A:StandarD:B:AdditionalC:EditD:Name得分:4分本题分值:4分回答正确您的答案:B正确答案:B试题解析:7、一个Delphi窗体Form1中包含了一个Tbutton类的Button1控件,下面代码,将产生怎样的结果?()。

……Tform1.button1Click(Sender);begin Self.Caption:=’self’;Self.Color:=ClBlue;EventX(Sender);end;Tform1.EventX(Sender:TObject);begin Sender.Tag:=10;end;A:Button1的标题为Self,颜色为蓝色,窗体的Tag属性等于10B:Button1的标题为Self,颜色为蓝色,Tag属性等于10C:窗体的标题为Self,颜色为蓝色,Button的Tag属性等于10D:窗体的标题为Self,颜色为蓝色,窗体的Tag属性等于10得分:4分本题分值:4分回答正确您的答案:A正确答案:A8、要改变控件的宽度,应改变控件的()属性。

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程序设计教程课后习题答案

1.239 页 1 题小时钟procedure TForm1.Timer1Timer(Sender: TObject);varxt,yt:integer;h,m,s,ms:word;begin decodetime(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);var xt,yt:integer;ax,ay,bx,by:integer;begin xt:=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) do beginread(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); begin close; end; end.5.166 页22 题素数procedure TForm1.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(范围太大,请重新输入区间端点!')else begin sushu:=[0..k]; for i:=2to n-1 do for j:=n to m do if j modi sushu:=sushu-[j-n]; for i:=n to mdiv 2 do for j:= i+1 to m do if jmod i sushu:=sushu-[j-n];s:='';s0:='';for i:=n to m do if i-n in sushuthen begin if length(s0+''+inttostr(i))>60 then begins:=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 do if d7(n)andd17(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;else fib:=fib(n-1)+fib(n-2);end;end;procedureTForm1.Button1Click(Sender:TObject);var k:integer;beginmemo1.lines.clear;for k:=1 to strtoint(edit1.text) domemo1.lines.add(format('%2d3d',[k,fib(k)]));end;end.8.120页10 题,判断是否是闰年procedureTForm1.Button1Click(Sender:TObject);=0 then=0 thenvary,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) thenlabel3.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+edit2.Text+' 月份是冬天,';end;case m of1,3,5,7,8,10,12:Label3.Caption:=L abel3.Caption+'共有31 天,:4,6,9,11:Label3.Caption:=Label3.C aption+'共有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);var n,k,j:integer; s:int64; begin n:=strtoint(edit1.text);j:=0; s:=0;for k:=1 to n do begin j:=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);var x,y,z:integer; p:string;begin memo1.clear; for x:=0 to 16do for y:=0 to 24 do begin z:=30-x-y;if 3*x+2*y+z/1=50 then beginp:=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);var r: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='' thenedit1.text:='0';r:=strtofloat(edit1.text);if radiobutton1.Checked thenlabel1.Caption:=format(' 圆的面积为:%f',[pi*r*r]);if radiobutton2.Checked thenlabel1.Caption:=format(' 圆的周长为:%f',[2*pi*r]);if radiobutton3.Checked thenlabel1.Caption:=format(' 圆的面积为:%f'+chr(13)+ ' 周长为: %f',[pi*r*r,2*pi*r]);edit1.SelectAll;end;end;procedureTForm1.RadioButton1Click(Sender: TObject);varsender0:tobject; key:char;begin sender0:=edit1; key:=#13;form1.edit1keypress(sender0,key);end;procedureTForm1.RadioButton2Click(Sende r:TObject);var sender0:tobject;key:char;beginsender0:=edit1;key:=#13;form1.edit1keypress(sender0,key);end;procedureTForm1.RadioButton3Click(Sende r:TObject);var sender0:tobject; key:char;begin sender0:=edit1; key:=#13;form1.edit1keypress(sender0,key);end;end.13.98页6题统计奇数和偶数的个数procedureTForm1.Button1Click(Sender: TObject);var k,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 个奇数。

Delphi 部分编程题

Delphi 部分编程题

Delphi部分编程题和答案百元钱买百只鸡varx, y, z : integer;p : string;beginMemo1.Clear;For x := 0 To 19 doFor y := 0 To 33 dobeginz := 100 - x - y;If 5 * x + 3 * y + z / 3 = 100 Thenbeginp := Format('%3d %3d %3d',[x,y,z]);memo1.Lines.Add(p);end;判断一个数是否是素数function PrimeNumber(Source: Integer): boolean;vari: Integer;beginResult := True;for i := 2 to Source - 1 doif Source mod i = 0 thenbeginResult := False;Break;end;end;求出所有的水仙花数。

51页23 vari,j,k,l:Integer;s:String;begins:='水仙花数为:'#13;for i:=100 to 999 dobegin //百位数j:=Trunc(i/100); //十位数k:=i-j*100;k:=Trunc(k/10); //个位数l:=i-j*100-k*10;if i=j*j*j+k*k*k+l*l*l then//是水仙花数s:=s+IntToStr(i)+#13;end;ShowMessage(s);end;求1到100的累加和vari,j:integer;beginj:=1;repeati:=i+j;;j:=j+1;until j>=100;edit1.text:=inttostr(i);end;求阶乘program Project1;{$APPTYPE CONSOLE}usesSysUtils;function fact(m:integer):int64;beginif (m=0) thenbeginfact:=1;exit;endelsefact:=fact(m-1)*m;end;varn:integer;begin{ TODO -oUser -cConsole Main : Insert code here }writeln('请输入n的值(0<n<20):'); readln;if (n<0) thenwrite('输入错误')elsewriteln(n,'的阶乘等于:',fact(n));readln(n);end.斐波那契数列Function F(n:integer):integer;beginif n=1 or n=2 then F=1elseF=F(n-1)+F(n-2);end;Function Sum(n:integer):integer;var i,n:integer;beginn:=0;for i=1 to n do n:=n+F(i);Sum:=n;end;任意输入三个数,由大到小排列var a, b, c, e, f : integer;begina := strtoint(edit1.Text);b := strtoint(edit2.Text);c := StrtoInt(edit3.Text);e := Max(a, b);f := Max(e, c);showmessage(inttostr(f));end;ax2+bx+c=0,解方程Program project1;{$APPTYPE CONSOLE}VAR a,b,c,d:real;s,x1,x2:real;beginwrite(‘请输入系数a,b,c:’);readln(a,b,c);d:=b*b-(4*a*c);s:=sqrt(d);x1:=(-b+s)/(2*a);x2:= (-b-s)/(2*a);writeln(‘x1=‘,x1,’’,’x2=‘,x2);readln; end.。

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

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

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

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

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

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中内容的语句是( )。

A . edit1.Clear ;B .edit1. Focused ;C . edit1.Text= null ;D .edit1.text :='\0' ;7、现建立一个简单报表,仅包含数据列标题栏、数据栏和汇总栏,则在Bands 属性的子属性中,不需要选择的是()A.HasColumnHeader B.DetailC.Summary D.Title8、下面哪个功能键可以调出Delphi 的联机帮助信息()A.F1键B.F2键C.F3键D.F4键9、以下能够触发编辑框(Edit)组件OnChange事件的操作是()A.鼠标单击编辑框B.鼠标双击编辑框C.在编辑框中选择文本D.在编辑框中输入文本10、以下叙述中错误的是()A.一个项目包含不止一种类型的文件。

B.窗体的Show方法的作用是显示该窗体。

C.窗体的Hide方法和Release方法的作用完全相同。

D.若项目文件中有多个窗体,可以根据需要指定一个窗体为主窗体。

三、判断题(10分,每题1分)请给下列论述中正确的打上“√”,错误的打上“ ”1、(y)在事件处理程序中定义的变量,其生命周期仅限于该过程。

2、(y)在Delphi程序运行时动态设置属性的一般格式是:<对象名>.<属性名> := <属性值> ;3、(n) const c := 100 的说明语句是合法的。

4、(y) 若已在窗体中加入了一个OpenDialog对象,要求在运行时,打开对话框时只显示扩展名为TXT的文件,则对通用对话框的Filter的属性进行设置,设置可以是:'TXT Files|*.TXT'。

5、( n ) 在一个项目中可以有一个以上的主窗体。

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

7、(n) 时钟Timer组件的时间间隔是由Interval属性控制,该属性的单位是秒。

8、(n) Quick Report 组件用于产生报表,它只有一个组件。

9、(y) 编辑框edit的ReadOnly属性如果设置为true,在代码中还是可以对text属性赋值。

10、(y)在Delphi环境中,组件页上的组件是“类”而不是“对象”的概念。

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

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

单击“打开文件”按钮(Button1),会弹出打开文件对话框。

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

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

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

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

----------------------------------------------------------------------------------------------------------------- implementation{$R *.dfm}uses①;Procedu re TForm1.Button1Click(Sender: TObject); //加载图片beginif ②thenImage1.Picture.LoadFromFile( ③);end;procedure TForm1.Button2Click(Sender: TObject); //退出beginif ④= mrYes then⑤;end;end.---------------------------------------------------------------------------------------------------------------------2、(10分,每空2分)本程序设计界面和运行界面如下图所示:程序的功能是:用户在edit1中输入一个正整数n,然后按“计算”按钮,程序计算1~n中奇数之和,并在edit2中显示计算结果。

请完成程序填空:procedure TForm1.Button1Click(Sender: TObject); //“计算”按钮vari , n, sum : integer ;beginsum := 0 ;i := 1 ;n := StrToInt(edit1. ①); //读入正整数nwhile i <= n ②//循环语句beginif odd( i ) then sum := ③;i := i +1 ;end;edit2.Text :=IntToStr( ④); //将结果在编辑框中显示end;在程序中,odd为系统函数,其功能为:⑤。

3、(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 : ⑤4、(10分,每空2分)本程序实现一个简单的选课界面。

程序的设计界面和运行界面如下图所示:该程序涉及到数据库中的两张表:course(课程表)和sc(选课表)。

表结构如下:sc(sno 学号,cno课程号,grade成绩)course(cno课号,cname课名,quota名额)其中:sno和cno都是字符型。

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

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

●当所选课程名额已为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分)本程序设计界面及运行界面如下图所示。

相关文档
最新文档