Silnia

0
var
  l1,wyni:extended;
  i:longint;
begin
  box.Clear;
  l1:=0;
  wyni:=1;
  bar.Max:=spin.Value;
    for i:=1 to spin.Value do
      Begin
        l1:=l1+1;
        box.Items.Add(floattostr(wyni)+' * '+floattostr(l1)+' = ');
        wyni:=wyni*l1;     //77
        box.Items.Strings[i-1]:=box.Items.Strings[i-1]+floattostr(wyni);
        bar.Position:=bar.Position+1;
      end;
  Canvas.TextOut(32,120,'Wynik '+floattostr(wyni));
end;

Jest to sibie procedurka która liczy silnie pokazuje postęp na ProgressBarze i kolejne mnożenia na ListBoxie.
Działa piknie ale jest pare problemów
w środku niektórych liczb wyskakuje ,
W naturze Extended jest to że podaje on dla dużych liczb E (potęge)
a ja tak nie chce łeee... ;-( (potrzebna pełna liczba);

musze obliczyć silnie 77

Będę wdzięczny za pomoc

0

A nie lepiej zamiast Extended użyć Real?

0

A nie lepiej zamiast Extended użyć Real?

Real jest zmienną rzeczywistą a tu mamy do czynienia z liczbami naturalnymi.

Polecam operacje na liczbach w zapisie tablicowym. Wspominany był już 324534 razy na forum moduł do takich obliczeń.

0

Dobra poszukam w Downloadzie i zaraz dopisze wynik szukania ;-)

WYNIK:

Nie chce mi sie szukać ;-) (wydaje mi sie że tego nie ma) (trzeba samemu napisać) (jak?)

0

Jest na pewno. Łukasz Fronczyk umieszczał dosyć niedawno. Ale skoro tobie nie chce się szukać, to mi ma się chcieć?

0

ja pierniczę, jakie lenistwo. [boks]
http://4programmers.net/download.html?id=1184

Zawartość modułu trzeba przepisać pod Delphi, ale to chyba nie stanowi problemu?

0

Przepraszam ale byłem święcie przekonany że ten moduł jest do TP i nie zadziała pod Delphi

Dzięki

Wchodze do działu unity patrze a tam 12 stron!!!! 8-0 (komu by sie chciało) wyszukiwarka też mało pomogła

PS. To moja wada- z natury jestem leniwy

1 użytkowników online, w tym zalogowanych: 0, gości: 1