How to Program for Eksponenter

How to Program for Eksponenter


Programmering for et positivt heltall eksponenten er enkel. Bare sette opp en løkke som multipliserer bunnen av eksponent av seg selv og gjentar sløyfen for å samsvare med eksponent nummer. Den vanskelige programmering kommer i håndteringen av eksponenter som ikke er heltall.

Bruksanvisning

1 Anta basen din er 2 og eksponenten er noen rasjonell, ikke-heltall som 1,542. Sette desimal til en brøk: 1542/1000.

2 Form funksjonen f (x) = 2 ^ 1542-x ^ 1000, hvor cirkumflekstegnet (^) refererer til potenser. Hensikten fra heretter er å finne x som løser f (x) = 0. Slik at eksponensiering problemet har blitt redusert til en rot-løse problemet, for hvilke det er flere algoritmer. Hvor ble det av ligningen kommer fra? 2 ^ 1,542 er ukjent. Så vi setter den til x. Derfor, 2 ^ 1,542 = x. SO 2 ^ (1542/1000) = x. Heve begge sider av ligningen til en eksponent for 1000 gir [2 ^ (1542/1000)] ^ 1000 = x ^ 1000, eller 2 ^ 1542 = x ^ 1000.

3 Løs for x ved hjelp av en standard root-finding algoritme, som halveringsmetoden. Halveringsmetode finner en x1 og en x2 som gir f (x) motsatt fortegn. (. Se 1 og 2 som senket De er sekvensielle gjetninger på hva verdien av x vil løse f (x) = 0.) Deretter midtpunktet (x3) av x1 og x2 er funnet: x3 = (x1 + x2) / 2 . Uansett tegn x3 gjør funksjonen f (x), kaste deg ut uansett hvilken en av x1 og x2 ga samme fortegn til f (x).

For eksempel plukke x1 = 2 og x2 = 4. Fortsetter med funksjonen ovenfor, f (2) = 2 ^ 1542-2 ^ 1000 er klart positiv, og f (4) = 2 ^ 1542-4 ^ 1000 er klart negativ. x3 = 3 er midtpunktet mellom x1 og x2. f (3) = 2 ^ 1542-3 ^ 1000 er negativ. Så kaste ut x2 = 4 og finne midtpunktet mellom x1 og x3.

4 Hold beregne midtpunktene og kaste ut samme fortegn x-tallet til f (x) er så nær 0 som du trenger det å være, det vil si, helt til den absolutte verdien av f (x) er mindre enn den forhåndsbestemte toleranse du programmert i .

Hint

  • Hvis du ikke finner trinnene ovenfor en klar metode for å oversette dette til kode, se på det på denne måten: Disse trinnene ta basen B, telleren N av eksponenten, nevneren D av eksponenten og noen maksimale antallet betydelig tall S, og deretter identifiserer x som gjør at f (x) = B ^ (N * 10 ^ S) -x ^ (10 ^ S) så nær null som toleranse krever. Som for å bestemme x1 og x2, like rundt eksponenten opp og ned for å få x1 = 2 ^ 2 og x2 = 2 ^ 1.
  • Programmering for irrasjonale tall er et spørsmål om tilnærming. Men hvis brukeren angir en irrasjonell nummer, for eksempel e eller pi, vil det allerede være avkortet etter et visst antall desimaler allerede. For eksempel, ville antall pi bli behandlet som 3.141593-som er avrundet til seks desimaler.