notacja wykładnicza

0

Jak obliczyć notację wydładniczą?
Zakładam, że uzytkownik:

  • wpisał liczbę
  • wpisał wykładnik notacji
  • kliknął na przycisk i zobaczył wynik.

Z początku wydawało mi się to nienajtrudniejsze - siądę, napiszę, wstanę. Jednak jest inaczej i liczę na waszą pomoc.

0

ogólnie to matematyka z drugiej klasy ogólniaka - ln i exp. ale tak czy inaczej nie do końca rozumiem, o co Ci chodzi - możesz się sprecyzować, albo napisać to samo, ale w inny sposób?

0

ogólnie to matematyka z drugiej klasy ogólniaka

No nie wiem czy z drugiej klasy ogólniaka bo ja to miałem w drugiej gimnazjum.

Ale chodzi o coś takiego np.:

400000 w notacji wykładniczej to 4 razy 10 do 5 potegi
200000000 to 2 razy 10 do 8 potęgi

pierwsza liczba jest wieksza niż 1 i mniejsza niż 10 a nastepnie mnożeona przez odpowiednią potegę liczby 10. Czy można zapisac liczbę 123456789 w notacji tego nie wiem, ale chodzi mi o liczby takiej jak pozkazałem powyżej.

0
var n:integer;
    liczba:extended;
begin
 n:=trunc(Log10(liczba));
 if liczba<1 then n:=n-1;
 showmessage(floattostr(liczba/Power(10,n))+'*10^'+inttostr(n));

Chyba o to ci chodziło :D

//ta wersja niestety nie działa na liczbach ujemnych...

0

No nie zupełnie (chociaż to mi się też przyda), ponieważ to działą tek, że uzytkownik wpisał liczbe 400000 to mu wyswietli 4*10^5, czyli liczba została rozłozona na notację, a ja chcę coś takiego

Na przykładie liczby 5

  1. Uzytkownik wpisał liczbę 5
  2. kliknął na przycisk, liczba została zapamiętana
  3. wprowadził 7, czyli wykładnik potęgi. W tym momencie działanie powinno wyglądac tak 5*10^7
  4. Otzrymuje wynikpowyzszego działanie.

Jeszcze jednak ważna rzecz jeśli uzytkownik na poczatku (tam gdzie w prztykładzie jest 5) wpisze liczbę >= 10 (np. 15 to zliczba zostaniepodzielona przez 10 (zeby otrzymac 1,5 - czili większą od 1 i mniejsa od 10), i jesli liczba zostanie podzielona przez 10 - wykładnik notacji zwieksza się o 1, jeżeli zmiejszona o 100 to o 2. Np.;
liczba 1400000 = 1,4 * 10 ^ 6

Jezu ale namieszałem teraz, ale mam nadzieję że wiecie o co mi biega i jesteście w stanie mi pomóc.

0

LOL...

function pow(liczba,potega:double):double;
  pow:=exp(potega*ln(liczba))
end;

var 
  a,b,f,g:double;
  e,c:integer;
begin
  e:=1;
  write(liczba : );
  readln(a);
  f:=a;
  if(a=0)halt;
  if(a<0)then
    begin
      a:=-a;
      e:=-1;
    end;
  write('wykladnik :');
  readln(b);
  g:=b;
  c:=trunc(ln(a));
  a:=a/pow(10,c);
  b:=b+c;
  writeln(f,'*10^',g,'=',e*a,'*10^',b,'=',e*a*pow(10,b))
end.

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