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.