Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit prawiedobrze;
- {$mode objfpc}{$H+}
- interface
- uses
- Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
- type
- { TForm1 }
- TForm1 = class(TForm)
- Button1: TButton;
- Button2: TButton;
- Edit1: TEdit;
- Edit2: TEdit;
- Edit3: TEdit;
- Label1: TLabel;
- Label2: TLabel;
- Label3: TLabel;
- Label4: TLabel;
- procedure Button1Click(Sender: TObject);
- procedure Button2Click(Sender: TObject);
- procedure Label4Click(Sender: TObject);
- private
- { private declarations }
- public
- { public declarations }
- end;
- var
- Form1: TForm1;
- suma,i,t, n, p, k, n_minus_i_silnia, wynik: Int64;
- n_str, k_str: string ;
- implementation
- {$R *.lfm}
- { TForm1 }
- procedure TForm1.Button2Click(Sender: TObject);
- begin
- Close;
- end;
- procedure TForm1.Label4Click(Sender: TObject);
- begin
- end;
- procedure TForm1.Button1Click(Sender: TObject);
- begin
- n_str:=Edit1.Text;
- k_str:=Edit2.Text;
- TryStrToInt64( n_str,n);
- TryStrToInt64( k_str,k);
- begin
- if not TryStrToInt64( n_str,n) then Edit1.Text:='Podales stringa!'
- else begin
- n:=StrToInt64(n_str) ;
- if not n>-2 then Edit1.text:='Zla liczba'
- else n:=StrtoInt64(n_str);
- begin
- if not TryStrToInt64( k_str,k) then Edit2.Text:='Podales stringa!'
- else begin
- k:=StrToInt64(k_str) ;
- if not k>-2 then Edit2.text:='Zla liczba'
- else k:=StrtoInt64(k_str);
- wynik:=0;
- for p:=1 to k do //petla ktora oblicza ciag dwumianow newtona
- begin
- suma:=1;
- for i:=k+1 to n do //petla ktora oblicza licznik ulamka
- begin
- suma:=suma*i;
- end;
- n_minus_i_silnia:=1;
- for i:=1 to n-k do //petla, ktora oblicza mianownik ulamka
- begin
- n_minus_i_silnia:=n_minus_i_silnia*i;
- end;
- if (wynik+(suma div n_minus_i_silnia) < 2147483647) then
- wynik:=wynik+(suma div n_minus_i_silnia)
- else Edit3.text:='przepelnienie danych';
- k:=k-1;
- end;end;end;end;
- Edit3.Text:=IntToStr(wynik); //pokazuje wynik
- wynik:=0;
- end;end;end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement