Integer i Currency i liczba pi

0

Dręczy mnie pewna rzecz. otóż mam:

var
a: integer;
b: integer;
wynik: integer;
begin
a := StrToInt(Edit1.Text);
b := StrToInt(Edit2.text);
wynik := (a * b) /2;
Label1.caption := IntToStr(wynik);
end;

i teraz. Dlaczego jak kopmiluję to zaznacza mi linijkę wynik := (a * b) / 2. przecieŻ to sią wartoścci liczbowe. Coi prawda jak wynik bedzie currency to wszystko Ok. Ale czy może mi to ktoś wytłumaczyć?
[hurra]

0

wynik := (a * b) / 2;

Nie możesz stosować operatora dzielenia zmiennoprzecinkowego do wartości całkowitych. Zamiast / użyj div

0

dzięki.
I przyszło mi do głowy jeszcze jedno pytanie.
czy jest w ogólne mozliwe wyliczyć liczbę pi, chciaż do 20 miejsc po przecinku.jesli tak to jak? [cya]

0

Mozna uzyc funkcje pi:

begin
write (pi);
end.

i tyle :-)

0

ale ta funkcja jest chyba w module Math. Więc jeszcze do uses moduł Math.

0

Oto kod w paszczalu na wyliczanie Pi z dowolną dokładnoscią (na jaką pozwala typ real).

uses Crt;
var pi : real;
i : longint;

begin
pi := 0;
i := 1;
repeat
pi := pi + ((1/i)-(1/(i+2)));
inc(i,4);
writeln(pi*4);
until keypressed;
end.

0

<font color="green">ale ta funkcja jest chyba w module Math. Więc jeszcze do uses moduł Math.</span>

u mnie nie trzeba pisać uses math

ale dobry jest pomysł AndRewa

0

pi := 0;

Nie wyskoczy błąd? Przecież Pi jest stałą...

0

pi := 0;

Nie wyskoczy błąd? Przecież Pi jest stałą...

Stała Pi jest zadeklarowana w module MATH, a czy widzisz w sekcji uses taki moduł ?

0

Nie wyskoczy błąd? Przecież Pi jest stałą...

Nie wyskoczy. Po pierwsze pi to nie stała, ale funkcja (akurat w tym pytaniu ma to nieiwelkie znaczenie, ale to tak dla sprostowania :) ). Po drugie, aby mieć do niej dostep, trzeba dodać do uses moduł math. W końcu po trzecie i najważniejsze, jeśli identyfikator (zmienna, stała, procedure, funkcja) jest zadeklarowany w innym module, delphi nie zaznaczy tego jako błąd, jednak nie będzie możliwości korzystania z tamtego identyfikatora, jedynie z nowego, zadeklarowanego przez ciebie.

0

A teraz sprostowanie:

  1. Pi jest funkcją zadeklarowaną w module System, który jest automatycznie dodawany do każdego projektu wobec czego zawsze jest dostęp do tej funkcji.
  2. Proponuję przeczytać rozdział z pomocy Delphi zatytułowany Scope, żeby wiedzieć dlaczego można użyć nazw zadeklarowanych już gdzieś indziej.
  3. Przedstawiony sposób na obliczanie liczby Pi ma 2 wady: jest wolny oraz jest strasznie ograniczony (ze względu na rozmiar zmiennej real). Jednakże obrazuje pewną metodę. Ja za to propunuję zajrzeć do działu Gorące tematy.
0

jak sie zaznacza liczbe pi w pascalu??

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