如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
实验2:函数过程的定义、调用,面向对象程序设计实验目的:掌握delphi7过程与函数的使用。熟悉类和对象的定义和使用。实验内容与步骤:根据Delphi程序设计过程,完成以下任务:编写函数isPrime,作用是判断一个整数是否为素数。设计并完成:显示指定的区间(如300到500之间)所有的素数,和,以及个数。编程实现计算:1!+2!+3!+……+N!的值,N的值由用户输入。要求定义并调用函数计算N!。编写TFORM1类的两个过程,一个过程的作用是设置button2,button3为不可用状态,另一个过程的作用为设置它们为可用状态。并且在过程TForm1.FormCreate中调用第一个过程,在TForm1.Button1Click中调用第二个过程。(可直接应用在实验1的三角形性质判定上)。定义一个类为形状,由它派生出圆、正方形、长方形。利用多态性以虚函数的形式完成计算圆、正方形、长方形的面积。(1)形状类名为Tshape,圆、正方形、长方形的类名分别为Tcircle,Tsquare,Trectangle。(2)基类Tshape是一个抽象类,只有一个公有的成员方法:area;用于求面积,这是一个虚拟、抽象方法。(3)各派生类的属性均是私有的,数据类型为实型。圆的半径为r,正方形的边长为a,长方形的边长为a,b,各派生类均需要定义公有的构造方法(有参数和无参数)。(4)设计一个完整的程序,分别计算圆、正方形、长方形的面积并输出结果。思考:如果让Tsquare作为Trectangle的子类,应当如何定义?补充:可思考如何用类和对象的方式实现一个计算器,既可用于可视化界面,也可用于控制台程序。实验要求:第1,2题画流程图开始实验步骤输入一个区间min和max判断素数关键函数代码:functionisPrime(a:integer):boolean;vari:integer;flag:boolean;beginifa<2thenflag:=falseelseifa=2thenflag:=trueelsefori:=2totrunc(sqrt(a))doifamodi=0thenbeginflag:=false;break;end;result:=flag;end;YYYNNNj<max输出该数是素数输出该数不是素数结束i++n是否能被i整除?i<n的平方根?输入一个整数n计算阶乘关键函数代码:functionfactorial(a:integer):integer;vari,n:integer;beginn:=1;{这里必须要给n赋初始值。否则在result可能会出现错误}ifa=0thenn:=1{这里最好使用n为1,因为使用result将其赋为1的话,并不会停止执行下列语句}elsefori:=1toadon:=n*i;result:=n;end;NNYY结束sum+=j输出阶乘输出阶乘之和i<nj<ij=1;j++j=j*i输入整数ni=0;sum=0开始TForm1类的两个过程关键代码:varForm1:TForm1;procedurepro1;procedurepro2;implementation{$R*.dfm}procedurepro1;beginform1.Button2.Enabled:=false;form1.Button3.Enabled:=false;end;procedurepro2;beginform1.Button2.Enabled:=true;form1.Button3.Enabled:=true;end;procedureTForm1.FormCreate(Sender:TObject);beginpro1;end;procedureTForm1.Button1Click(Sender:TObject);beginpro2;end;end.形状类先进行父类和子类的定义Tshape类的定义:typeTshape=classpublicfunctionarea:real;virtual;abstract;end;TCircle类的定义:typeTCircle=class(Tshape)privater:real;{publicfunctiongetr:real;}publicfunctionarea:real;override;end;TSquare类的定义:typeTSquare=class(Tshape)privat