Delphi程序设计-作业1
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程序设计-作业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 并行程序设计
Delphi 并行程序设计 之 TTask
TTask(任务对象)和 ITask(任务实例) 执行一个任务的方式 一】直接运行一个任务,返回值为ITask型。 TTask.Run(…) 二】创建一个任务实例,需要的时候执行。 var aTask:ITask; //声明 aTask:=TTask.create(…); //创建 aTask.s 之 TTask
TTask.Future
Var aFutureValue:IFuture<String>;//声明 变量名:IFuture<值类型> aFutureValue:=TTask.Future<String>( // 创建Future任务 Function:string // 字符串型匿名函数 begin sleep(3000); result:=‘hello’; end); //当且只有当 Future 任务计算完成后才会执行以下过程,否 则一直等待 Memo1.lines.add(aFutureValue.Value);
Delphi 并行程序设计 之 TTask
• • • • • TTask 和 TThread TTask ITask Array of ITask Task.Future
Delphi 并行程序设计 之 TTask
TTask 和 TThread
TThread(线程) 是单核时代的产物, 多个Threads 按一定次序轮流占用CPU 时间,执行线程过程。 TTask (任务) 是多核时代的产物, 多个Tasks 占用各自的CPU,相对独立运行, 所以速度上,比TThread 快。
以下两种还没有尝试 Run(const Func: TProc; APool: TThreadPool): ITask; Run(Sender: TObject; Event: TNotifyEvent; APool: TThreadPool): ITask;
Delphi程序设计-作业2
Delphi程序设计-作业2班级姓名分数(一)填空题1、当程序运行时,如果要求窗体中的某个按钮不再显示,可以将该按钮的Visible 属性设置为false 即可2、复选框对象是否被选中,是由其checked 属性决定的。
3、Delphi 程序与数据库之间进行数据交换一般要由多个数据库组件协作完成。
如果用户要查询数据库中的一条信息,该指令通过界面组件发出,经数据源组件到达数据集组件。
数据集组件利用自身的读写功能,通过组件与数据库建立连接从数据库中取得数据。
再经组件送到用户界面组件中显示。
4、Delphi中设计应用程序的菜单时,有主菜单和弹出菜单两种菜单,它们各自“Standard”页上的一个组件创建。
主菜单由mainmenu 组件创建;而弹出菜单用popupmenu 组件创建。
窗体中的多页面设计要用到pagecontrol 组件。
5、计时器控件能有规律的以一定时间间隔触发OmTimer 事件,并执行该事件过程中的程序代码。
6、要使ListBox支持多项选择,则应设置Multiselect 属性的值。
7、在只有一个显示区域的状态条组件上显示的文本内容,需要将其Simpletext 属性设置为该文本的内容。
8、Image组件可通过设置其Autosize 属性为True使之根据图像自动调整大小;而通过设置其Stretch 属性为True,使其加载的图片能自动调整大小以适应Image。
9、执行下面程序段后x := 5 ;FOR K := 1 TO 3 DOX := X + K ;结果K= 4 X = 1110、使用窗体的ShowModal 方法可以将一个窗体作为一个模式窗体(modal form)来打开。
(二)单项选择题1、编辑框中的文本发生改变时被触发的事件是(B )A.AutoSize B.OnChange C.SetFocus D.SetFocus2、下列说法正确的是( B )A.组件必须是可视的,这样用户才能使用。
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 的说明语句是合法的。
2024版Delphi程序设计[1]
数据库性能。
21
05
Delphi网络编程
Hale Waihona Puke 2024/1/2922
网络通信原理简介
客户端/服务器模型
网络通信通常采用客户端/服务器模型,其中 客户端发送请求,服务器响应请求并返回数据。
2024/1/29
套接字编程
网络通信基于套接字(socket)进行,套接字是不同 计算机之间进行通信的端点。
传输协议
常见的传输协议包括TCP和UDP。TCP提供可 靠的、面向连接的通信服务,而UDP提供无 连接的、不可靠的通信服务。
23
TCP/IP协议在Delphi中实现
2024/1/29
使用WinSock控件
Delphi中可以使用WinSock控件实现TCP/IP协议,通过设置控件 属性并调用相关方法即可建立客户端或服务器应用程序。
熟悉窗体的事件处理机制,如加载、关闭、大小改变 等事件。
2024/1/29
13
常用控件介绍
基本控件
学习Delphi中常用的基本控件,如按钮、标签、 文本框等。
高级控件
了解高级控件的使用,如列表框、树形视图、 表格等。
2024/1/29
控件属性与事件
掌握控件的常用属性和事件,如控件的名称、大小、颜色、单击事件等。
编译器异常
编译时检测到的错误,如语法错误或类型不匹配。通过编译器提 示信息进行修复。
自定义异常
用户自定义的异常类型,用于特定业务逻辑的错误处理。通过创 建自定义异常类实现。
33
自定义异常处理机制
创建自定义异常类
继承自Exception类或其子类,添加自定义 属性和方法。
抛出自定义异常
在适当的位置使用raise语句抛出异常,并传 递异常实例。
《面向对象程序设计Delphi》第一次作业答案201011
中山大学面向对象Delphi 期中作业答案(提交Delphi 源代码和exe 文件)一、编写相应的Delphi 程序,分别实现以下科学计算功能:1. 利用公式 !1!31!21!111n e +⋯⋯++++= 编出程序计算自然对数底e ,精确到10-6 。
[解答]unit NaturalLog; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,math; type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Button1: TButton; Button2: TButton; Label2: TLabel; Label3: TLabel; Label4: TLabel; Edit2: TEdit; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;varForm1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);function factorial(n:integer):double;var i:integer;prod:double;beginprod:=1;if n>0 thenbeginfor i:=2 to n doprod:=prod*i;factorial:=prod;endelseif n=0 then factorial:=1else showmessage('阶乘参数不能为负数!')end;vareps,addor,s:double;i,max_i:integer;begineps:=strtofloat(edit1.Text);max_i:=strtoint(edit2.Text);i:=1;s:=1;repeataddor:=1/factorial(i);s:=s+addor;i:=i+1;until ((i>max_i) or (addor<eps));if i>max_i thenlabel2.Caption:='不收敛,迭代次数超过:'+edit2.textelselabel2.Caption:='级数收敛于:'+floattostr(s)+' '+chr(13)+'迭代次数:'+floattostr(i); end;procedure TForm1.Button2Click(Sender: TObject);beginclose;end;end.2. 利用公式11212312341****** 23353573579π=+++++编出程序计算π。
Delphi程序设计-作业1
Delphi程序设计-作业1Delphi程序设计-作业1一、问答题1、结构化程序设计的基本原则是什么?结构化程序设计的基本原则是:取消goto语句,程序中只允许顺序、分支和循环三种控制结构,其中每一种结构只能有一个入口和一个出口。
任何算法都必须(也可以)由这三种基本结构及三种结构的嵌套所构成。
结构化程序设计要求采用自顶向下、逐步求精的设计方法和单入口、单出口的控制结构。
2、简述面向对象技术中“类”与“对象”的概念。
结合Delphi 中使用的组件,举例说明什么是类、什么是对象。
类是对象的抽象及描述,它是具有统一属性和方法的一类对象的统一描述体,是用来定义某类对象共有属性和方法的模板。
而对象是类的实例。
在Delphi环境中,组件板上的组件就是类的概念,例如按钮组件就是按钮类。
而用户在窗体上创建的一个按钮就是对象的概念(按钮对象)。
用户可以在窗体上用按钮类创建若干个按钮对象,它们都是按钮类的实例。
3、在Delphi中,什么是对象的属性、方法和事件?一个对象是由属性、方法和事件所组成。
属性表示对象中的数据,方法是对象能够执行的动作,事件是能够引起对象反应的条件。
4、简述利用Delphi开发一个项目的基本步骤。
●建立一个新的项目●建立窗体●在窗体上加入对象●检查和设定对象属性●编写对象的事件处理程序●编译、试运行,并进行代码调试●保存项目文件,退出Delphi 环境5、下列哪些条目可作为Delphi的变量名,哪些不行,并说明原因。
abc 123 abc123 123abc file a!合法的变量名是:abc abc123不合法的变量名是:123 123abc(不能是数字或数字开头)file(变量名不能采用语言中的保留字)a!(变量名中不能包含某些特殊符号,如“!”)6、写出下列函数或表达式的值。
①int(2.718) = 2.0②round(2.718) = 3③odd(3) =true④ chr(65) = 'A'⑤ StrToInt('2005') = 2005 ⑥ IntToStr(121) = '121'⑦ (23 mod 5) + (23 div 5) = 7⑧ ( (x>=5) OR (x<=-5) ) AND ( x in [1..9] ) 当x=10时,表达式的值为假(或false )7、将下列数学式子写成Delphi 程序中的表达式① )s i n ()(s i n 222y x y x ++ 答案:sqr(sin(x+y)) / sin(sqr(x) + sqr(y)) ②))((b p a p p -- 答案 Sqrt(p*(p-a)*(p-b))8、要想在程序中定义一个常量p ,代表圆周率3.14,请写出该常量的定义语句。
新疆电大一体化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 程序设计试题一及答案一、填空题(20分,每空2分)1、现实世界中对象具有自己的状态和行为。
对应着,面向对象技术中的对象可以具有自己的属性和 。
2、Delphi 应用程序中项目文件的扩展名是 。
3、结构化程序设计要求程序中仅采用顺序、分支和循环三种控制结构,其中每种结构只能有 和一个出口。
4、在Delphi 集成开发环境中,如果想要直接设置或者修改对象的属性,可以通过对象查看器(Object Inspector )中的 窗口直接进行设置。
5、ListBox 对象列表框中的内容是通过 属性来进行设置的。
6、时钟组件(Timer)能有规律的以一定时间间隔触发 事件。
7、如果让界面上的一个按钮变为不可用,需要将它的 属性设为False 。
8、Image 组件可通过设置其 属性为True 使Image 组件根据图像的大小自动调整显示窗口大小。
9、Delphi 的一个项目由若干文件组成,其中文件名后缀含有“~”的文件为 。
10、与数学表达式 53)(cos 2++xb a 对应的Object Pascal 表达式是二、单项选择题(30分,每题3分)1、Delphi 程序设计的基本特点是( )。
A . 可视化程序设计B . 代码程序设计C . 事件驱动编程D . A 和C2、修改窗体的标题时,应当设置form 的属性是( )。
A .CaptionB . NameC . TextD . 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、编辑框(Edit)中的文本发生改变时引发的事件是()。
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实验指导书含答案
选择结构和循环结构的程序设计 ..................................................................5
[实验三] 截取钢管,使剩料最短 ....................................................................8 [实验四] 简单计算器 .......................................................................................8 第三章 数组、过程及函数 ........................................................................................9 [实验一] [实验二] 输入一串字符, 统计字母, 数字及汉字等的数量 ................................ 10 编写一评分程序 ............................................................................. 11
[实验五] ScrollBar 控制 shape 中的颜色 ......................................................... 25 第八章 键盘和鼠标事件 .......................................................................................... 26 [实验一] [实验二] [实验三] 第九章 [实验一] [实验二] 设计一鼠标演示程序 ......................................................................... 26 判断输入框全为数字否,实现 Enter 键代替 Tab 键 ........................... 27 由键盘的方向键或鼠标控制图片的移动 .......................................... 28 paintbox 中画正弦, 椭圆, 画弧, 文本, 色带, 渐变, 五角星 ....................... 29 动态生成控件数组 ............................................................................. 32
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.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个奇数。
国家开放大学《Delphi程序设计》形考任务阶段测验-参考答案(一)
国家开放大学《Delphi程序设计》形考任务阶段测验-参考答案(一)国家开放大学《Delphi程序设计》形考任务阶段测验-参考答案Delphi程序设计是计算机专业的一门重要课程,在IT行业中应用广泛。
国家开放大学开设了《Delphi程序设计》这门课程,为学生提供了良好的学习平台。
在学习过程中,形考任务阶段测验是必不可少的一部分,下面将给大家介绍这次形考任务阶段测验的参考答案。
一、选择题答案1. D2. A3. C4. B5. A6. D7. A 8. B 9. C10. B二、填空题答案1. Application2. Close3. Delphi4. Pascal5. ShowMessage三、简答题答案1. 程序和软件有什么区别?程序是计算机执行的指令集合,软件是由程序和数据组成的一种应用体系。
简单的说,程序是为了完成某项工作而编写的代码,而软件则是用这些程序为用户提供服务。
2. Delphi的特点是什么?Delphi以易用性,代码生成的高效性和组件化开发的理念而著称,它具备以下特点:(1)拥有优秀的可视化设计界面,能够简单方便的设计出高质量的用户界面;(2)采用Pascal编程语言,是一种结构化、语法简单易懂的编程语言;(3)拥有丰富的组件库,支持快速代码生成,使开发效率高;(4)融合了数据库编程的技术,提供了良好的数据库支持,开发效率更高。
四、编程题答案program sum;uses crt;vara,b:integer;beginclrscr;writeln('请输入两个整数:');readln(a,b);writeln('两数之和为:',a+b);readkey;end.上述程序实现了两个整数的加法运算,并输出结果。
本次形考任务阶段测验涉及选择题、填空题、简答题和编程题,共计四道题目。
通过本文对参考答案的介绍,相信大家对这门课程也有了更深入的了解。
在学习过程中,我们应该扎实地掌握Delphi的基础知识,理解基本概念,熟悉开发工具及相关技术,做好学习笔记和思维导图的整理和总结,这样才能更好地应对考试。
Delphi课程设计参考题目
Delphi课程设计参考题目指导教师:王铮,王建一,吕志峰课程地址:第十七周 S201 第十八周 S207课程时刻:第十七周/第十八周1,简单文本编辑器程序请仿照Windows系统记事本程序,设计一个文本编辑器,要求能够实现文本字体,字号等的设置,而且能够保留文本到磁盘中,能够打开一个文本文件。
2.简单的屏幕爱惜程序制作一个Windows屏幕爱惜程序,屏幕爱惜程序内容能够自概念。
3.绘制三角函数曲线程序利用画布实现一个用于显示三角函数曲线成效的程序,要求能够实现正弦,余弦,正切及余切函数的经常使用角度的曲线图。
显示特效制作实现图片显示成效的图片,实现图片的水平交织成效,扇形交织成效,积木成效,百叶窗成效等功能。
5.图片放大境制作图片的局部放大程序,要求鼠标移动到图片的相应位置,就将此位置图像放大显示。
播放器制作一个flash文件播放器,能够播放flash文件,操纵播放成效。
7.成绩治理系统制作一个用于成绩治理系统,实现成绩添加,修改,查询及删除操作。
8.学籍治理系统制作一个学籍治理系统,实现学籍的添加,修改,查询及删除操作。
9.公寓治理系统制作一个简单公寓治理系统,实现人员入住,房间的添加,修改,查询及删除操作。
10.石头、剪子、布游戏石头、剪子、布:本游戏由玩家和电脑对战,具体规那么是:剪子赢布,布赢石头,石头赢剪子。
玩家能够选择任何一种,同时电脑也选择一种,再对电脑和玩家的选择进行比较,看哪一方获胜。
最后在窗体下方记录成绩。
11.自动随机出题假设数学教师要求家长天天给小孩出20道算100之内的四那么运算题。
在窗体上显示一个名为“开火”按钮,在单击按钮的时候,会显现一火炮正开炮的动画,同时还伴随着火炮的声响。
开始游戏前,窗品中小球都是很规那么地排列着,每列的图案相同。
单击“开始新游戏”按钮以后,小球的位置被打乱,随机地出此刻每一名置上、玩家能够单击方向键的按钮来移动每一行或列。
移动一行(或列)时,要触动5个小球,可能为了把一个球放到适合位置,而了其他球的位置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Text : 该属性的值就是编辑框中的内容
15、简述Edit组件下面几个方法的功能:
Clear SetFocus SelectAll
答:Clear是清除编辑框中的内容;SetFocus是使编辑框获得焦点(光标进入编辑框中,编辑框变得可操作) ;SelectAll是选中编辑框中的全部文本。
if key in [‘0‘..‘9‘] then
exit
else
key:=chr(0);
end;
procedure TForm1.Edit1Enter(Sender: TObject); //预清
begin
if checkbox1.checked then
if (x<1)or(x>100) then
begin
showmessage(‘第1操作数越界‘);
edit1.SetFocus ;
end ;
end;
procedure TForm1.Edit2Exit(Sender: TObject); //检查edit2输入(空或越界)
16、简述Edit组件下面几个事件的引发条件:
OnChange OnClick OnEnter OnExit OnKeyPress
答:
OnChange 当编辑框中内容改变时引发该事件
OnClick :当鼠标单击编辑框时引发该事件
OnEnter :当光标进入编辑框时引发该事件
12、一个项目由一组文件组成。其中一些主要文件的后缀有:
.dpr .pas .dfm .dcu .~dpr .~pas .~dfm 等
请说出这些文件的中文名称及用途。
答:.dpr 项目文件,存放项目的主程序
.pas 单元文件,存放源代码,如事件处理程序等。
var
x,y,z :integer;
begin
x:= strtoint(edit1.Text);
y:= strtoint(edit2.Text);
case radiogroup1.itemindex of
0: z:= x+y ;
1: z:= x-y ;
2、简述面向对象技术中"类"与"对象"的概念。结合Delphi中使用的组件,举例说明什么是类、什么是对象。
类是对象的抽象及描述,它是具有统一属性和方法的一类对象的统一描述体,是用来定义某类对象共有属性和方法的模板。而对象是类的实例。
在Delphi环境中,组件板上的组件就是类的概念,例如按钮组件就是按钮类。而用户在窗体上创建的一个按钮就是对象的概念(按钮对象)。用户可以在窗体上用按钮类创建若干个按钮对象,它们都是按钮类的实例。
功能说明如下:
用户可以通过单选按钮选择运算类型(加减乘除),然后在两个输入框中输入操作数和被操作数,按"运算"键,答案显示在输出框。
在界面上,两个复选框的功能要求是:
当"预清"复选框被选中时,每当用户将焦点置入一个输入框,该输入框自动清空,否则输入框不清。
当"显示余数"复选框被选中后,在进行除法运算时,结果将显示商和余数(见图例),否则只显示整除的结果。
edit1.Clear ;
end ;
procedure TForm1.Edit2Enter(Sender: TObject); //预清
begin
if checkbox1.checked then
edit2.Clear ;
end;
procedure TForm1.Edit1Exit(Sender: TObject); //检查edit1输入(空或越界)
3、在Delphi中,什么是对象的属性、方法和事件?
一个对象是由属性、方法和事件所组成。属性表示对象中的数据,方法是对象能够执行的动作,事件是能够引起对象反应的条件。
4、简述利用Delphi开发一个项目的基本步骤。
建立一个新的项目
建立窗体
在窗体上加入对象
检查和设定对象属性
var
x : integer ;
begin
if (edit1.Text=‘‘) then
begin
showmessage(‘缺第1操作数‘) ;
edit1.SetFocus ;
exit ;
end ;
x:= strtoint(edit1.Text);
11、如果想查看showmessage过程的帮助信息,请你说出两种获取帮助信息的方式。
① 通过主菜单Help的Delphi Help命令调出帮助主页面,在"索引"页输入框中输入要查找的showmessage单词,即可找出相关的帮助信息。
② 在代码中如果调用了showmessage过程,可将光标置于该单词中,然后按F1键,即可找出该过程的帮助信息。
不合法的变量名是:
123 123abc(不能是数字或数字开头)
file(变量名不能采用语言中的保留字)
a!(变量名中不能包含某些特殊符号,如"!")
6、写出下列函数或表达式的值。
① int(2.718) = 2.0
② round(2.718) = 3
③ odd(3) = true
7、将下列数学式子写成Delphi程序中的表达式
① 答案:sqr(sin(x+y)) / sin(sqr(x) + sqr(y))
② 答案 Sqrt(p*(p-a)*(p-b))
8、要想在程序中定义一个常量p,代表圆周率3.14,请写出该常量的定义语句。
④ chr(65) = ‘A‘
⑤ StrToInt(‘2005‘) = 2005
⑥ IntToStr(121) = ‘121‘
⑦ (23 mod 5) + (23 div 5) = 7
⑧ ( (x>=5) OR (x<=-5) ) AND ( x in [1..9] ) 当x=10时,表达式的值为假(或false)
局部变量只能在定义它的程序块中使用,且其生命周期也只存在于从程序块开始执行到程序块执行结束。在一个事件处理程序中的变量说明部分,能够定义一个局部变量,供该事件处理程序内部使用。
而全局变量可以在单元中的各程序块中使用(共享),且生命周期存在于整个单元代码的活动期中。
在Implementation保留字后(但不要在程序块里)定义的变量就是全局变量。
对ComboBox:该属性的值(多行)为下拉选单中的内容。
对RadioGroup:该属性决定了一组单选按钮的个数和每个按钮的名称。
18:RadioGroup和CheckBox对象都是通过用户鼠标点击来确定输入。请你说出代码中如何获取用户在这两个对象上的选择。
答:
对RadioGroup对象,是通过对ItemIndex属性确定用户在一组单选按钮中的选择:该属性为0表示选择了第1个按钮,为1表示选择了第2个按钮,依此类推。
var
x : integer ;
begin
if (edit2.Text=‘‘) then
begin
showmessage(‘缺第2操作数‘) ;
edit2.SetFocus ;
编写对象的事件处理程序
编译、试运行,并进行代码调试
保存项目文件,退出Delphi 环境
5、下列哪些条目可作为Delphi的变量名,哪些不行,并说明原因。
abc 123 abc123 123abc file a!
合法的变量名是:abc abc123
const p = 3.14 ;
9、在Delphi程序代码中,打开一个老文件、以及创建并打开一个新文件所使用的过程各是什么?
打开一个老文件:reset(文件变量名)
创建并打开一个新文件:rewrite(文件变量名)
或简答 reset 和rewrite
10、在一个单元中,全局变量和局部变量的含义是什么?说明在单元文件中如何定义这两种变量(可举例说明)。
答:Panel 或 GroupBox
14、简述Edit组件下面几个属性的用途:
Font Hint Name ReadOnly Text
答:
Font :设置编辑框内的字体属性
Hint :设置提示信息(当光标指向编辑框时弹出的提示信息)
Name :对象标识名
对CheckBox对象,是通过Checked属性确定选择状态。该属性为True表示选中状态,为False表示未选中状态。
19、你如何理解OpenDialog(打开文件对话框)和SaveDialog(保存文件对话框)这两个组件的基本功能?它们负责文件的打开和保存吗?
答:
两个组件对象只是提供了一个Windows的标准对话框。用户在对话框中可以指定要打开或要保存的文件的名字,并将用户在对话框中选择的文件名存入Filename属性中。
这两个组件对象并不执行打开或保存文件的操作。
20、简要回答"什么是Delphi?"
答:Delphi是面向对象的、可视化的集成开发环境。它使用对象Pascal作为基本的编程语言,它可用来开发各种图形用户界面的程序,特别是数据库的应用程序。
二、编程题
1、开发用户界面如下图所示的应用程序:
edit3.text:=Edit3.text+‘ 余 ‘+ inttostr(x mod y) ;
end;
procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char);