/ / Eksponencija Pascal programavimo kalba: patarimai ir gudrybės

Eksponencija Pascal programavimo kalba: patarimai ir gudrybės

Yra daugybė kalbųprogramavimas, ir Pascal užima tarp jų ne paskutinę vietą. Jei ateityje ketinate rimtai įsitraukti į programavimą, turėtumėte pradėti susipažinti su šiuo pasauliu su šios kalbos mokymu, nes tai yra lengviau suvokti ir, svarbiausia, programa yra visiškai nemokama.

Šiame straipsnyje aptarsime tokią sudėtingą problemą,kaip exponentiation. Paskalis, deja, nesuteikia mums atskiro operatoriaus šios problemos sprendimo, skirtingai nuo kitų programavimo kalbų. Taigi čia, kaip sakoma, būtina atsikratyti improvizuotų priemonių, kreiptis į ciklus ir matematinius operatorius - čia mes galime suteikti ventą mūsų vaizduotę. Apsvarstykite kelis šios problemos sprendimo būdus.

Tegul mums pateikiama paprasčiausias uždavinys, kai tam tikras skaičius turi būti iškeltas iki visiško teigiamo lygio. Tarkime, kad numeris a mes keliaujame 4 laipsniais. Čia atliekame paprastą matematinę operaciją: b: = a * a * a * a.

Programos tekstas
Kitame žingsnyje mes apsunkinsime problemą ir sukursimeUniversali programa, kuri padės bet kokį skaičių bet kokiam teigiamam laipsniui. Yra galimybė naudoti bet kurį ciklą, bet mes suprasime paprastesnį metodą, naudojant kilpą su skaitikliu. Kairėje esančiame paveikslėlyje galite pamatyti visą mūsų programos tekstą, taip pat pateikiamas atliktų operacijų paaiškinimas. Beje, reikėtų pažymėti, kad numeris a nereikia nurodyti Sveikasis skaitmuo bet galite sakyti Tiesa kuris padidins trupmeninio skaičiaus laipsnį.

Ankstesni pavyzdžiai leidžia mums kurti numeriustik teigiamais sveikaisiais įgaliojimais. Tačiau yra problemų, kai reikia padidinti skaičių iki mažos galios. Rengiant tokią programą mums reikia žinoti apie logaritmų savybes. Visų pirma: ab= eb ln a. Atsižvelgiant į tai, mūsų programos dalis bus tokia: r: = exp (b * ln (a)). Bet čia mes susiduriame su tuo, kad taiOperatorius neveikia su nuline ir neigiama skaičiais. Kad mūsų programa atliktų exponentiation į 0, mums reikia nurodyti sąlygą: Jei b = 0 Tada r: = 1 Kita r: = exp (b * ln (a)). Bet kaip parodomas neigiamas skaičius?

Programos tekstas

Pascal daro mus galvoti dar kartą. Čia mes turime atlikti šią operaciją su mūsų skaičiaus moduliu ir priimti duomenis su neigiamu rezultatu. Tada patikrinkite laipsnio lygybę: jei mūsų laipsnis buvo lygus, tada mes priimame modulį iš rezultato. Tokiu atveju mūsų programa atrodys taip: r: = (-1) * exp (b * ln (abs (a))); Jei raundas (b / 2) = b / 2 Tada r: = abs (r). Čia būklė patikrina, ar laipsnis yra lygus, ar ne.

Todėl mes siekiame labiau universalaus modelioMūsų programa, kuri dirbs su bet kuriais numeriais. Būtent dabar turime sujungti visas minėtas į vieną bendrą. Vaizde dešinėje galite pamatyti visą mūsų užbaigtos programos tekstą. Atkreipkite dėmesį į nurodytą duomenų tipą. Skirtingai nei pirmoji programa, ji naudoja Realus, t. čia mes jau dirbame su bet kuriais skaičiais, o ne tik su sveikaisiais skaičiais. Taigi mes visiškai laikomės faktinių skaičių pasipriešinimo. Būtina apsvarstyti tik vieną klausimą.

Programos tekstas
Kreipdamiesi į jį, reikia pažymėti, kad kadaNorėdami išspręsti šią problemą, jums reikia gana gilių žinių apie programavimą. Tai sudėtingo skaičiaus ekspozicija. Čia galite pabandyti naudoti skirtingus sprendimus, tarkim, Moivre formulę, tačiau sudėtingo skaičiaus vertimas į trigonometrinę formą yra sudėtingas. Šios problemos sprendimas yra du kompleksinių skaičių padauginimo ir paprasto ciklo su skaitikliu t.y. Šios procedūros pasikartojimas lygus kartų skaičiui. Šiame pavyzdyje galite geriau suprasti šios programos tekstą.

Skaityti daugiau: