TietokoneetOhjelmointi

Eksponentointiin Pascal ohjelmointi: vinkkejä ja niksejä

On valtava joukko ohjelmointikieliä, ja Pascal ei ole viimeinen paikka joukossa. Ja jos aiot vakavasti harjoittaa tulevaisuudessa ohjelmointi halutaan käynnistettäväksi perehtymällä maailma on opettelemalla kieltä, koska se on helpompi käsitys ja, mikä tärkeintä, ohjelma on täysin ilmainen.

Tässä artikkelissa me käsittelemme tämän vaikean ongelman, sillä potenssiinkorotusta. Pascal valitettavasti ei tarjoa meitä ratkaisemaan tämän ongelman, toisin kuin muut ohjelmointikielet, yhden operaattorin. Joten tässä meillä on, kuten sanotaan, saada ulos improvisoituja keinoin turvautumatta silmukoita ja matemaattisia operaattoreita - se on täällä, että voimme antaa vapaat kädet mielikuvitustamme. Harkitse useita menetelmiä ongelman ratkaisemiseksi.

Oletetaan meille annetaan helppo tehtävä, jossa tietty määrä on nostettava tasolle koko positiivista. Olettaa useita pystyssä 4 astetta. Siellä tehdään yksinkertainen matemaattinen operaatio: b: = a * a * a * a.

Seuraavassa vaiheessa, me hankaloittavat ja universaali ohjelma, joka rakentaa minkä tahansa määrän tahansa koko positiivista astetta. Tässä on mahdollisuus hyödyntää kaikki kierron, mutta harkitsemme yksinkertainen menetelmä käyttäen silmukka laskuri. Vasemmalla voit lukea koko tekstin ohjelmamme on, ja selitykset toiminnan. Muuten, on huomattava, että useat pystytetty valinnaisesti asettaa Integer, ja voi olla, esimerkiksi, Real, joka rakennetaan murto-aste.

Edellä olevat esimerkit antavat meille mahdollisuuden rakentaa useita vain positiivisia kiinteä valtuuksia. Mutta on haasteita, jossa sinun täytyy rakentaa numeron murto vallan. Kun kirjoitat tällaista ohjelmaa, meidän on tiedettävä logaritmit ominaisuuksia. Erityisesti: a b = e b ln . Tämän perusteella, haluttu osa meidän ohjelma olla muotoa: r: = exp (b * ln (a)). Mutta tässä joudumme siitä, että tämä toimija ei toimi nollan ja negatiivisia lukuja. Täyttääkseen ohjelmaamme eksponentiaation 0, sinun on asetettava ehto: Jos b = 0 sitten r: = 1 Else r: = exp (b * ln (a)). Mutta kuten negatiivinen numero näkyy potenssiinkorotus?

Pascal saa meidät ajattelemaan uudelleen. Tässä se on tarpeen tehdä tämän kanssa meidän moduulin numero ja ottaa datan negatiivisen tuloksen. Tarkista yhdenvertaisuus aste: jos meidän taso oli vielä, kun otamme tuloksista moduulin. Tässä tapauksessa, meidän ohjelma on muodossa: r: = (- 1) * exp (b * ln ( abs (a))); Jos kierroksen (b / 2) = b / 2 Tällöin r: = abs (r) . Ehto tässä tarkistaa, tasainen tai ei tutkinto.

Tämän seurauksena tulemme entistä yleispätevää mallia meidän ohjelma, joka toimii kaikilla numeroita. Meillä on nyt siis yhdistää yhdeksi kokonaisuudeksi kaikki edellä. Kuva oikealle voit lukea koko tekstin valmiista ohjelmasta. Kiinnitä huomiota tarvittavien tietojen tyyppi. Toisin kuin ensimmäinen ohjelma, se käyttää Real, kuten Täällä olemme jo työskentelevät numeroita, ei vain kokonaislukuja. Siten valtuudet reaalilukuja olemme täysin huomioon. Vain yksi kysymys vielä tutkittava.

Turning hänelle on huomattava, että ratkaisu tähän ongelmaan on melko syvä tuntemus ohjelmoinnissa. Tämä eksponentiaation kompleksiluku. Voit yrittää käyttää erilaisia ratkaisuja, esimerkiksi Moivre kaava, mutta on vaikeuksia siirto kompleksiluvun trigonometriset muodossa. On ratkaisu tähän ongelmaan tehtäväksi kertomalla menettelyjä kahden kompleksiluvun ja yksinkertainen silmukka laskuri, eli Toistamalla tämä valtaan monta kertaa. Käyttäen esimerkkinä edellyttäen, voit ymmärtää tarkemmin tekstissä ohjelman.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 fi.atomiyme.com. Theme powered by WordPress.