不使用公式: value := 0; for i := 1 to 100 do value := value + i
在Delphi软件里具体怎么编写呀,因为才学delphi,希望给予全部具体代码
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject); var i,n:integer; begin i:=0; n:=0; repeat n:=n+i; inc(i); until i=100; edit1.Text:=inttostr(n); end;end.
procedure TGetIEFrm.Button3Click(Sender: TObject); var count, index: integer; begin count := 0; index := 1; while index <= 100 do begin inc(count, index); inc(index); end; ShowMessage(IntToStr(count)); end;
function TForm1.calfn(n: integer): integer; begin if n=0 then Result := 0 else result := calfn(n-1)+n; end;procedure TForm1.Button1Click(Sender: TObject); begin showmessage(IntTostr(calfn(100))); end;
用等差数列求和公式,保证startnum到endnum为等差数列 function GetTotal(startnum, endnum: Integer): Integer; begin Result := endnum * (startnum + endnum) div 2; end;
function GetTotal2(startnum, endnum: Integer): Integer; var i, j, k: integer; begin j:= min(startnum, endnum); k:= max(startnum, endnum); Result:= 0; for i:= j do k do Result:= Result+ i; end;
procedure TForm1.Button1Click(Sender: TObject); var i,j:integer; begin Memo1.Clear; j:=0; for i := 0 to 100 do begin j:=j+i; end; Memo1.Lines.Add(IntToStr(j)); end;
procedure ShowResult; begin showmessage('5050'); end;
procedure ShowResult; begin showmessage('5050'); end; 凑热闹
使用数学公式: n*(n+1) -------- 2代码如下:procedure TForm1.btn1Click(Sender: TObject); var n : Integer; t : Integer; begin n := StrToInt(edt1.Text); t := n * (n + 1) div 2; ShowMessage(IntToStr(t)); end;
窗体上加个button,然后双击button 在里面加入下面代码就OK var i,j :integer; s :string; begin j :=0; for i:=1 to 100 do j :=j+i ; s := inttostr(j); showmessage(s);end.
prject sum;begin writeln('5050'); end;
我也来一个: program Project1;uses Windows,SysUtils,Dialogs; var ok:integer; begin asm push ebp xor eax,eax xor ebx,ebx @bijiao: add ebx,eax inc eax cmp eax,$64 jle @bijiao mov ok,ebx pop ebp end; showmessage('从1加到100的值为: ' + inttostr(ok)); end.
value := 0;
for i := 1 to 100 do
value := value + i
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
i,n:integer;
begin
i:=0;
n:=0;
repeat
n:=n+i;
inc(i);
until
i=100;
edit1.Text:=inttostr(n);
end;end.
var
count, index: integer;
begin
count := 0;
index := 1; while index <= 100 do
begin
inc(count, index);
inc(index);
end; ShowMessage(IntToStr(count));
end;
begin
if n=0 then Result := 0
else
result := calfn(n-1)+n;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(IntTostr(calfn(100)));
end;
用等差数列求和公式,保证startnum到endnum为等差数列
function GetTotal(startnum, endnum: Integer): Integer;
begin
Result := endnum * (startnum + endnum) div 2;
end;
var
i, j, k: integer;
begin
j:= min(startnum, endnum);
k:= max(startnum, endnum);
Result:= 0;
for i:= j do k do
Result:= Result+ i;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i,j:integer;
begin
Memo1.Clear;
j:=0;
for i := 0 to 100 do begin
j:=j+i;
end;
Memo1.Lines.Add(IntToStr(j));
end;
procedure ShowResult;
begin
showmessage('5050');
end;
begin
showmessage('5050');
end;
凑热闹
n*(n+1)
--------
2代码如下:procedure TForm1.btn1Click(Sender: TObject);
var
n : Integer;
t : Integer;
begin
n := StrToInt(edt1.Text);
t := n * (n + 1) div 2;
ShowMessage(IntToStr(t));
end;
var i,j :integer;
s :string;
begin
j :=0;
for i:=1 to 100 do
j :=j+i ;
s := inttostr(j);
showmessage(s);end.
writeln('5050');
end;
program Project1;uses
Windows,SysUtils,Dialogs;
var ok:integer;
begin
asm
push ebp
xor eax,eax
xor ebx,ebx
@bijiao:
add ebx,eax
inc eax
cmp eax,$64
jle @bijiao
mov ok,ebx
pop ebp
end;
showmessage('从1加到100的值为: ' + inttostr(ok));
end.