注册 登录
编程论坛 Delphi论坛

delphi编程求N的阶乘

我TDST 发布于 2011-07-03 22:53, 859 次点击

1、用各种快捷键(方式)运行你的程序;
2、使用异常处理语句try…except等完成对  语句的保护。
3、使用assert断言,断点的设置调试你的程序。
4、在服务器  LGSERVER\F\01五班\学生作业\  目录下建立以自己名字(中文)命名的文件夹;将你的源程序放到该文件夹下
1 回复
#2
yuutian2011-07-06 15:59
计算阶乘,可按回车键计算
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Edit1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  
   
  private
    { Private declarations }
  public
    { Public declarations }
  end;



var
  Form1: TForm1;

implementation

{$R *.dfm}
function jiecheng(n:integer):integer;
begin
   if (n=0) or (n=1) then
      result:=1
   else
      result:=jiecheng(n-1)*n;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
    try
       if (strtoint(edit1.Text)>=0) and (strtoint(edit1.Text)<10) then
          edit2.Text:=inttostr(jiecheng(strtoint(edit1.text)))
       else
         begin
          edit2.Clear;
          showmessage('输入数不在0-9之间');
         end;
    except
       showmessage('输入数错误');
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
    close;
end;

procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if key=vk_return then
     try
       if (strtoint(edit1.Text)>=0) and (strtoint(edit1.Text)<10) then
          edit2.Text:=inttostr(jiecheng(strtoint(edit1.text)))
       else
         begin
          edit2.Clear;
          showmessage('输入数不在0-9之间');
         end;
    except
       showmessage('输入数错误');
end;
end;

end.
1