完整的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中内容的语句是( )。
delphi11
一、单选1)下列符号哪一个是Delphi中的合法变量名()A6book B if C name[1] D count12)下列常量说明中哪一个是合法的()A const c:=(b>4.5);B const c:8.6;C const c=3.2;D const c:=”book ”;3)下列实数中哪个是不合法的( )A0.45E+02 B .25+2 C 25E -3 D 24.674)设n为整型变量,其值为4568,表达式(n mod 1000)div100 ( )A分离出个位数字B分离出千位数字 C 分离出百位数字D分离出十位数字5)有下面的程序段:a:=false; b:=false; c:=true; x:=20;if a then x:=x-10; x:=30;if b thenif c then x:=34;else x:=15; 假设所有变量都已定义,程序段执行后x的值()A15 B 20 C 34 D 306)有下面的程序段:ch1:= 'z'; ch2:= 'x';if ch1 <>'x' thencase ch2 of'x': case ch1 of'z': s:= 'xy';'y': s:='xz';end;'y': s:='yy';end; 假设所有变量均已说明,程序段被执行后s的值是()。
A'xz' B 'yy' C 'xy' D xy7)有下面的程序段:i:= 1;repeatn:= i * i; i:=i+2;until n>2*i; 假设所有变量均已说明,循环体执行的次数()。
A 1B 2C 3D 48)有下面的程序段:s:= 100; n:= 3;for ch:= 'a' to 'e' doif not odd(n) then s:=s-n;n:=n+5; 假设所有变量均已说明,s的值()。
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问题解答方案1、怎么样在delphi中调动其它*.exe文件?例如:winexec(''d:\Project1.exe'',sw_show);====================================== ========================================2、如何让工程运行时主窗体就是最大化的?答:设置主窗体的WindowsState属性为wsMaximized就可以了!wsNormal 窗体以普通状态显示wsMinimized 窗体以最小化状态显示。
wsMaximized 窗体以最大化状态显示。
====================================== ========================================3、我想先->闪现窗体->主窗体->登录窗体,工程源文件怎么设置?答:⒈开始一个新工程。
给表格起名为MainForm,MainForm的单元起名为Main, 工程文件起名为Test。
⒉在MainForm中插入一个Button部件,将其Caption属性设为“关闭”,为该部件的onClick事件创建一个过程,并在过程的begin和end之间插入Close语句。
⒊在应用程序添加一个表格,将这个表格起名为MoveForm,MoveForm 的单元起名为Move。
⒋为便于演示,在MoveForm中插入一个Label部件,设置其Caption 属性为“欢迎进入本系统”。
5.下一步修改工程的源代码。
选择View/Project Source,修改begin和end之间的语句如下:程序清单Test.Dprprogram Testusesforms,Main in ''MAIN.PAS'',Move in ''Move.PAS''{$R *.RES}beginMoveForm:=TMoveForm.Create(Application);MoveForm.Show;MoveForm.Update;Application.CreateForm(TMainForm,MainForm);MoveForm.Hide;MoveForm.Free;Application.Run;end.第一条语句创建了对象,该对象存在内存中,但还不能看见,为了让它出现并更新它的内容,调用对象的Show和Update成员函数:Show和Update。
Delphi8.0程序设计教程第7章
放*.AVI格式的文件。此组件位于工具面板的Win32下面,如图
7.3.1所示。
图7.3.1 TAnimate组件所在的位置
7.3.1 TAnimate组件的常用属性 TAnimate组件的常用属性有以下几个。 1.Active属性
7.3.4 应用实例
例7.3 制作一个AVI动画播放器,具有打开文件、播放文 件、停止播放的功能,界面如图7.3.3所示。
新建一个项目,在窗体上添加3个TButton组件和1个 TOpenDialog组件,并把“播放”按钮和“停止”按钮设置为不 可用。
第7章 多媒体程序
7.1 PlaySound函数 7.2 SndPlaySound函数 7.3 TAnimate组件 7.4 TMediaPlayer组件 7.5 小结 习题七
7.1 PlaySound函数
调用Windows API MMSystem单元中的PlaySound函数可以播 放Windows标准声音,即WAV格式的文件。此函数只能播放音 频文件。 7.1.1 功能和格式
{$R *.nfm}
procedure TForm1.FormShow(Sender: TObject); //启动时播放Windows.wav文件
begin
playsound(„Windows.wav‟,0,snd_sync);
end; procedure TForm1.Button1Click(Sender: TObject); //“打开文件”按钮 begin if OpenDialog1.Execute then filename:=OpenDialog1.FileName
delphi程序试题答案
一、单选题1.在RadioGroup 组件中有 4 个单选框,当选中第 2 个单选框时,RadioGroup 组件中的ItemIndex 属性值应为( B )。
A.0 B.1 C.2 D.32.函数和过程的区别为( A )。
A.函数执行后返回一个值,而过程不需返回值 B.过程执行后返回一个值,而函数不需返回值C.过程在被调用时,能执行某种特殊功能并能返回到调用它的地方 D.函数在被调用时,能执行某种特殊功能并能返回到调用它的地方3.32 AND 27 的值是( B )。
A.59 B.0 C.27 D.324.窗体与数据模块的扩展名是( B )。
A..dcu B..dfm C..pas D..dpr5.Delphi 中用什么函数来析构一个组件( C )。
A.Constructor B.Destroy C.Free D.Create6.一个指针变量ptr 的域成员fs 访问的方法是( C )。
A.ptr->fs B.ptr.fs C.ptr^fs D.ptr@fs7.Type aarrays=[1…8,1…5] of integer ,该类型定义了多少个下标元素( D )。
A.45 B.54 C.48 D.408.Delphi 的所有类都是从什么类继承下来的( B )。
A.Tcomponent B.TobjectC.Tstream D.Tnull9.定义构造函数时用到的保留字是( C )。
A.Class B..implementation C.create D.construction10.下列组件中属于可视组件的是哪一个( D )。
A.Tdatasource B.Topendialog C.Ttable D.Tscrollbar11.设有过程procedure pro(V AR x,y:integer); 变量a , b 为整型变量,其值分别为5、6,则合法的过程调用语句是( D )。
A.Pro(5,6) B.pro(5,b) C.pro(a,6) D.pro(a,b)12.下列组件中不能获取焦点的是( B )。
Delphi数据库编程侯太平着习题答案
第一章数据库系统基础1.模型中,同一个关系中的不同属性,其属性名__B__。
A. 可以相同 B. 不能相同C. 可以相同,但数据类型不同 D. 必须相同2.数据库系统由数据库、A组成。
A.DBMS、应用程序、支持数据库运行的软硬件环境和DBA3.计算机数据管理技术的发展可以划分为三个阶段,在某个阶段数据是以文件形式长期存储在辅助存储器中,程序和数据之间具有相对的独立性,数据不再属于某个特定的应用程序,数据可以重复使用,该阶段是B。
B.文件管理阶段C.数据库管理阶段D.信息管理系统阶段4.在数据库的三级体系结构中,数据库的模式对应于数据库的D B.内部视图C.存储视图D.概念视图5.在数据库的三级体系结构中,数据的逻辑独立性是通过D来实现的。
D.外模式-模式映射6.三层C/S结构包括客户机、应用服务器和数据库服务器三部分。
7.DDL是指数据描述语言,DML是指数据操纵-查询语言,DBMS是指数据库管理系统,DD是指数据字典。
8.在SPARC结构中,定义的数据库三层结构分别是外模式、模式和内模式。
9.数据的独立性包括物理独立性和逻辑独立性两个方面。
10.实体集之间的联系有三种,分别是一对一的联系,一对多的联系,多对多的联系11.试说明数据管理的数据库阶段的主要特点。
答:数据库管理的数据库阶段主要特点是:1、数据共享性;2、具有较高的数据与程序的独立性;3、便于对数据实行集中统一的控制。
12.试说明DBMS的组成。
答:DBMS是由一系列软件构成的复杂系统,一般来说DBMS由下列三类软件组成:语言系统;控制数据库运行的程序;数据库维护程序;13.数据模型的三要素是什么?答:数据模型的三要素是数据结构、数据操作、数据的约束条件。
14.关系模型有什么特点?答:关系模型有什么特点:1、关系模型与非关系模型不同,它是建立在严格的数学概念基础上的;2、关系模型的概念单一,无论实体或实体之间的联系都用关系表示3、存取路径对用户透明。
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程序设计试题及解答1-1-111
《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.未选中的,搞成恢色选中的状态了dbgrideh ,该如何设置呢Delphi2007:keylist设置:正确答案:10;null;2.把数据均分到两栏里面.答案:先把列标题按照两栏的格式设置好,然后对数据集设置成2栏,如下图然后再把对应列的数据来源设好,只设定一边就ok.3.在cds里新加了一个”计算”型字段,点击该列时,提示cds没有这个字段,只要在feildkind 属性设置为ftInternalCalc类型就ok了,一般数据库表有的字段,该属性的值是ftdata.4.网格新增记录后,统计数据刷新dbgrideh.SumList.Active := False;dbgrideh.SumList.Active := True;5.delphi/Oracle字符串反转Result := System.StrUtils.ReverseString(Value);Select reverse('Dan Morgan') from dual;6 TclientDataSet 字段新旧值,即网格列对应字段修改前后值都有记载.old值为未修改之前的值:cds1.FieldByName('关联比例').NewValue < cds1.FieldByName('关联比例').OldValue7DBGridEh1.SumList.SumCollection[1].SumValue 中的"1"表示统计类型为ftsum,且是该网格中的第二2个使用ftsumDBGridEh1.SumList.SumCollection[1].SumValue + DBGridEh2.SumList.SumCollection[0].SumValue;取得某列的脚注footercds1.AppendData(cdswlpz.Data,True); DBGridEh1.SumList.RecalcAll;9下面的如何才改才能显示中文呢下面的如何才改才能显示中文呢?:改下字段的displaylable即可9设置数据集的字段显示格式10DBgridEH导出数据111213 建立,删除索引Dbgrideh排序问题DBGridEH点击标题自动排序的设定①按DataSet源类型的不同,在工程中引用EhLib相应排序单元文件,如uses EhLibAdo,uses EhLibCDS,uses EhLibBDE、uses EhLibDBX等,我一般都会在一个公共文件中进行引用,这样就无须在所有用到DBGridEH的单元中都城加入引用语句了,如在DataModule之类的公共窗体中uses EhLibXXX;一次就行了。
【精品】《面向对象程序设计Delphi》第二次作业答案11
《面向对象程序设计D e l p h i》第二次作业答案11中山大学期末考试样题(参考答案)课程名称:面向对象程序设计(Delphi)专业:年级:学号: 姓名: 成绩:一、选择题(每小题2分,共40分)1.Delphi是基于__________语言的面向对象的开发工具,使用其集成开发环境可以快速地建立应用程序,在开发数据库应用程序方面具有独特的优势。
A. C++B. Object PascalC. BasicD. SQL2.Delphi提供了一个丰富的__________, 它由一些称作“组件”的预制对象所组成, 组件提供了可视设计应用程序的能力。
A. DLLB. OCXC. IDED. VCL3.Delphi中,____________是有效的标识符。
A. CalculateValueB. abc@C. beginD. program4.Delphi中,____________语句用于从For语句、While语句或Repeat语句中强行退出。
A. BreakB. ContinueC. ExitD. Halt5.将数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的整体,成为一个_________ 。
A. 类B. 对象C. 属性D. 方法6.在面向对象中,________是指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。
这使得同一个属性或行为在一般类及其各个特殊类中具有不同的语义。
A. 封装B. 重载C. 抽象D. 多态7.类通过一个简单的___________ ,与外界发生关系。
A. 外部接口B. 函数C. 过程D. 全局变量8.Delphi中,对象编辑器的_________页标签可用来观察、设置窗体上组件或窗体本身设计时的属性。
A. PropertiesB. EventsC. UnitD. Project9.Delphi中,____________是特殊的单元文件,可理解为主单元文件,或者说主程序,而其它的单元文件可以看作是被项目文件所调用的子程序。
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实验二(附答案)
实验二 选择结构程序设计一、实验目的1)掌握单分支结构语句:If …Then …;2)掌握双分支结构语句:If …Then …Else …;3)掌握多分支结构语句:Case …Of … End 。
二、实验要求(略)三、实验内容1.打开Console 应用程序Dlp0201.dpr ,实现输入一个整数x ,判断其能否既被3整除也能被7整除?如果能被3和7整除,则输出“Yes ”,否则输出“No ”。
输入包含1个整数,即整数x ;输出包含1个字符串,即“Yes ”或“No ”。
例如:输入:21输出:Yes2.打开Console 应用程序Dlp0202.dpr ,实现输入某学生的课程成绩score ,按如下公式输出成绩的等级。
⎪⎩⎪⎨⎧<≤<≤≤≤=60score 0Pass No 90score 60Pass100score 90Excellent grade 输入包含1个整数,即学生的课程成绩score ;输出包含1个字符串,即“Excellent ”、“Pass ”或“No Pass ”。
例如:输入:92输出:Excellent3.打开Console应用程序Dlp0203.dpr,实现输入3条线段长度,判断这3条线段构成的三角形类型。
如果不能构成三角形,则输出“No Triangle”,如果可以构成三角形,判断构成何种三角形(等边三角形、等腰三角形、一般三角形),分别输出“Equilateral Triangle”、“Isosceles Triangle”或“Triangle”。
输入包含3个整数,整数之间用空格隔开,分别表示3条线段的长度;输出包含1个字符串,表示判断结果(即“No Triangle”、“Equilateral Triangle”、“Isosceles Triangle”或“Triangle”)。
例如:输入:2 2 2输出:Equilateral Triangle4.打开项目Dlp0204.dpr,在标题为“水仙花数”的窗体Form1上,添加一个标题为“请输入3位整数”的标签Label1;然后再添加一个标题为“判断”的按钮Button1;最后添加两个文本内容为空的编辑框Edit1和Edit2。
Delphi程序设计基础
ByteBool、WordBool、 LongBool False<>True
Ord(False)=0 Ord(True)<>0 Pred(False)=true
Succ(False)=True
Succ(False)=True
简单数据类型->有序数据类型->枚举类型
表示一组带值符号的有序数据类型 枚举类型是一种高级数据类型,在使用其变量之前,必须 通过类型声明语句进行具体的声明
Unicode
UNICODE是目前用来解决ASCII码256个字符限制问题的 一种比较流行的解决方案。ASCII 字符集只有256个字符, 用 0-255 之间的数字来表示。包括大小写字母、数字以及 少数特殊字符;如标点符号、货币符号等。对于大多数拉 丁语言来说,这些字符已经够用。但是,许多亚洲和东方 语言所用的字符远远不止256个字符。有些超过千个。人 们为了突破 ASCII 码字符数的限制,试图用一种简单的方 法来针对超过256个字符的语言编写计算机程序。于是 UNICODE 应运而生。UNICODE 通过用双字节来表示一 个字符,从而在更大范围内将数字代码映射到多种语言的 字符集。
数据类型
数据的特征有其所属的数据类型来划分, 数据类型不仅可以确定某一类数据的表示 形式和取值范围,而且也确定了对该类数 据可以进行的有效操作。 Delphi是一种强类型的语言。
Delphi中的数据类型划分
根据不同的标准可以对数据类型作如下划分 简单类型、结构类型和其他类型。 有序数据类型 标准数据类型和高级数据类型 基本数据类型和通配数据类型
原因
有符号整型数在计算机中都是以二进制补码 形式显示。
电大《Delphi程序设计》2019-2020期末题库及答案
《Delphi程序设计》2019-2020期末题库及答案一、单选题(共0题,共0分)1. “x 是小于1000的非负数”的Object Pascal表达式是()A、0≤x<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、ForB、WhileC、gotoD、Do正确答案:C6.利用对象监视器可以设置窗体或组件的( )。
A、方法B、属性C、外观D、执行代码正确答案:B7.通常控制组件在窗体中可见的属性是()A、VisibleB、NameC、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.BitBtn组件的哪个属性预定义了一些常用的位图按钮种类( )。
A、nameB、CaptionC、kindD、type正确答案:C13.以下能够触发编辑框(Edit)组件OnChange事件的操作是()。
面向对象程序设计Delphi第一次作业答案202011
中山大学面向对象Delphi期中作业答案(提交Delphi源代码和exe文件)一、编写相应的Delphi程序,别离实现以下科学计算功能:1.利用公式!1!31!21!111n e+⋯⋯++++=编出程序计算自然对数底e,精准到10-6。
[解答]unit NaturalLog;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,math;typeTForm1 = 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 (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;max_i:=strtoint;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 then:='不收敛,迭代次数超过:'+else:='级数收敛于:'+floattostr(s)+' '+chr(13)+'迭代次数:'+floattostr(i); end;procedure (Sender: TObject);beginclose;end;end.2. 利用公式11212312341****** 23353573579π=+++++编出程序计算π。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
239页1题小时钟procedure TForm1.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(sin((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(sin(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(sin(s/60*2*pi)*180),yt-round(cos(s/60*2*pi)*180));end;end.239页3题求两点间的距离procedure TForm1.Button1Click(Sender: TObject);beginpaintbox1.Refresh;formpaint(sender);end;procedure TForm1.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.226页5题输入学生成绩varForm1: TForm1;typestudentrecord=recordxh,xm:string[6];xb:boolean;yy,sx,dz:integer;end;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);var t:studentrecord;f:file of studentrecord;size:integer;begint.xh:=edit1.Text;t.xm:=edit2.Text;t.sx:=strtoint(edit3.Text);t.yy:=strtoint(edit4.Text);t.dz:=strtoint(edit5.Text);if radiobutton1.Checked thent.xb:=trueelset.xb:=false;assignfile(f,'c:\my documents\stu.dat');if fileexists('c:\my documents\stu.dat') thenreset(f)elserewrite(f);size:=filesize(f);seek(f,size);write(f,t);closefile(f);edit1.Text:='';edit2.Text:='';edit3.Text:='';edit4.Text:='';edit5.Text:='';end;procedure TForm1.Button2Click(Sender: TObject); beginclose;end;end.226页8题保存获得奖学金者varForm1: TForm1;typestudentrecord=recordxh,xm:string[6];xb:boolean;yy,sx,dz:integer;end;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject); var t:studentrecord;f,f1:file of studentrecord;p1,p2:boolean;beginassignfile(f,'c:\my documents\stu.dat');reset(f);assignfile(f1,'c:\my documents\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;procedure TForm1.FormCreate(Sender: TObject);var t:studentrecord;f:file of studentrecord;xingbie:string;beginassignfile(f,'c:\my documents\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;procedure TForm1.Button2Click(Sender: TObject);beginclose;end;end.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('范围太大,请重新输入区间端点!')elsebeginsushu:=[0..k];for i:=2 to n-1 dofor j:=n to m doif j mod i =0 then sushu:=sushu-[j-n];for i:=n to m div 2 dofor j:= i+1 to m doif j mod i =0 then sushu:=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;procedure TForm1.FormCreate(Sender: TObject);begingroupbox1.Top:=(panel1.Top-groupbox1.height) div 2;end;procedure TForm1.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.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;procedure TForm1.FormActivate(Sender: TObject);varn:integer;beginfor n:=1000 to 4000 doif d7(n)and d17(n) then memo1.Lines.Add(inttostr(n)); end;end.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;procedure TForm1.Button1Click(Sender: TObject);vark:integer;beginmemo1.lines.clear;for k:=1 to strtoint(edit1.text) domemo1.lines.add(format('%2d %3d',[k,fib(k)]));end;end.120页10题,判断是否是闰年procedure TForm1.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.Caption+edit2.Text+'月份是春天,'; 6,7,8:Label3.Caption:=Label3.Caption+edit2.Text+'月份是夏天,'; 9,10,11:Label3.Caption:=Label3.Caption+edit2.Text+'月份是秋天,'; elseLabel3.Caption:=Label3.Caption+edit2.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)) then Label3.Caption:=Label3.Caption+'共有29天,'elseLabel3.Caption:=Label3.Caption+'共有28天,';end;end;end.120页11题求和的procedure TForm1.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;procedure TForm1.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.120页12题男人,女人,小孩各有多少人procedure TForm1.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.98页2题求长方体的表面积procedure TForm1.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.98页5题计算圆的面积和周长procedure TForm1.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 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;procedure TForm1.RadioButton1Click(Sender: TObject);varsender0:tobject;key:char;beginsender0:=edit1;key:=#13;form1.edit1keypress(sender0,key);end;procedure TForm1.RadioButton2Click(Sender: TObject);varsender0:tobject;key:char;beginsender0:=edit1;key:=#13;form1.edit1keypress(sender0,key);end;procedure TForm1.RadioButton3Click(Sender: TObject);varsender0:tobject;key:char;beginsender0:=edit1;key:=#13;form1.edit1keypress(sender0,key);end;end.98页6题统计奇数和偶数的个数procedure TForm1.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个奇数。