Jak budować do potęgi w pascal

Język programowania Pascal różni się od większości innych tym, że w nim nie ma operatora potęgowania. Dlatego fragment programu dla realizacji tego działania matematycznego musi wynosić samodzielnie.

Jak budować do potęgi w pascal

Instrukcja

1
Najprostszy przypadek występuje, gdy liczba należy zbudować małą całą pozytywną stopień. To jest matematyczny czynności można wykonać dosłownie w ciągu jednej linii. Na przykład, jeśli liczba zawsze należy budować w czwarty stopień, skorzystaj taki ciąg znaków:b:=a*a*a*a;Same zmienne a i b muszą mieć typ odpowiedni do zakresu i rodzaju liczb, narażonych na budowie w stopień.
2
Jeśli liczba jest również budowany w całą pozytywną stopień, ale ona wielka, a do tego, może się zmieniać, skorzystaj z cyklem. W tym celu umieść w program taki fragment:c:=a;if b=0 then c:=1;if (b>=2 then for i:=2 to b do c:=a*c;Tu a – liczba podmiot w budowie stopień, b – wykładnik, c – wynik. Zmienne i i b – koniecznie typu integer.
3
Aby podnieść liczbę dziesiętną stopień, należy skorzystać z właściwości logarytmów. Odpowiedni fragment programu przy tym będzie wyglądać tak:c:=exp(b*ln(a));metoda Ta nie pozwala na pracę z zerem i ujemnymi liczbami. Do rozwiązania pierwszego z tych wad skorzystaj taka konstrukcja:if a=0 then c:=1 else c:=exp(b*ln(a));To pozwoli ominąć ograniczenia na zakres wartości parametru wejściowego logarytmu naturalnego, który przy zerze nie ma matematycznego sensu. Drugą wadą, jednak pozostanie w mocy: budować do potęgi liczby ujemne nadal nie uda. Wszystkie zmienne użyj typu real.
4
Aby podnieść do potęgi liczbę ujemną, weź jego moduł, podstawiając w poprzedni wyraz, po czym zmień znak wyniku. W języku Pascal to będzie wyglądać w następujący sposób:c:=(-1)*exp(b*ln(abs(a)));Następnie, jeśli sama stopień jest parzysta, weź moduł od wyniku:if round(b/2)=b/2 then c:=abs(c);
5
Czasami występuje konieczność w uniwersalnym fragmencie programu, pozwalającym wykonywać potęgowanie w odniesieniu do dowolnych liczb. Następnie ułóż go w następujący sposób:c:=0;if a0 then c:=exp(b*ln(a));if b=0 then c:=1;if round(b/2)=b/2 then c:=abs(c);Tutaj wszystkie zmienne typu real.
logo
Kategoria:
Matematyka

Możliwość dodawania komentarzy nie jest dostępna.