КомпјутериПрограмирање

Степенување во Pascal програмирање: совети и трикови

Постои голем број на програмски јазици, и Паскал не е на последното место меѓу нив. И ако ви се случува да сериозно да се вклучат во идните програми треба да почнат да се запознаат со светот е со учење на јазик, затоа што е полесно да се забележи и, уште поважно, на програмата е апсолутно бесплатна.

Во оваа статија ние ќе се справи со овој тежок проблем, како степенување. Паскал, за жал, не ни понуди да се реши овој проблем, за разлика од другите програмски јазици, со еден оператор. Значи тука имаме, како што велат, да излезе со импровизирани средства, прибегнуваат кон јамки и математички оператори - тоа е тука дека ние може да се даде слобода на нашата имагинација. Размислете за неколку методи за да се реши овој проблем.

Да претпоставиме дека се дадени лесна задача, каде што одреден број треба да се издигнат на ниво на целата позитивна. Да претпоставиме дека голем број на ерекција на 4 степен. Таму се врши едноставна математичка операција Б: = a * а * а * а.

Во следниот чекор, ние комплицира задачата и на универзална програма со која ќе се изгради било кој број во било која целиот позитивен степен. Тука е можност да ги искористат предностите на секој циклус, но ние ќе се разгледа на едноставен начин со помош на телефонска линија со контра. На левата страна можете да го прочитате целиот текст на нашата програма, постои, и објаснувањата на операции. Патем, треба да се забележи дека голем број подигната опционално постави цел број, и може да биде, на пример, Реал, кој ќе биде изграден во фракционо степен.

Претходните примери ни овозможи да се изгради голем број само во позитивна составен сили. Но, постојат предизвици, каде што мора да се изгради број на фракционо моќ. При пишувањето на таква програма, треба да знаеме логаритми својства. Во особено: a b = e b ln a . Врз основа на ова, саканиот дел од нашата програма ќе бидат во облик: r = exp (б * ln (а)). Но, тука сме соочени со фактот дека овој оператор не работи со нула и негативните бројки. Со цел да ја исполниме нашата програма степенување 0, треба да се постави услов: Ако b = 0 тогаш r: 1 = Друго r = exp (б * ln (а)). Но, како и за негативните појави степенување?

Паскал не тера да размислуваме повторно. Овде е потребно да се направи оваа операција со нашиот број модул и да ги преземат на податоци со негативен резултат. Потоа проверете на паритет на степен: ако нашето ниво беше дури, додека ние се ќе зависи од исходот на модулот. Во овој случај, нашата програма ќе имаат форма: r = (- 1) * exp (б * ln ( ABS (а))); Ако круг (b / 2) = b / 2 тогаш r: = abs (r) . Состојбата тука проверува, па дури и без диплома.

Како резултат на тоа, ние се дојде до повеќе универзален модел на нашата програма со која ќе работат со која било броеви. Па сега ние треба да се обединат во една целина сите од горенаведените. Сликата на правото може да го прочитате целиот текст на нашите готови програма. Обрне внимание на одреден тип на податок. За разлика од првата програма, тоа го користи во реално, како што е Еве ние веќе работиме со сите броеви, а не само цели броеви. Така, овластувањата од реални броеви имаме целосно смета. Само едно прашање останува да се разгледуваат.

Свртувајќи се кон него, треба да се напомене дека за решавање на овој проблем бара прилично длабоко познавање во програмирање. Ова степенување комплексен број. Може да се обидете да се користи на различни решенија, на пример, Moivre формула, но постојат тешкотии со трансферот на комплексен број тригонометриски форма. Постои решение за овој проблем во задачата за множење процедури на две комплексни броеви и едноставна јамка со контра, т.е. Повторување на оваа постапка на моќта на бројот на пати. На пример предвидено, може да се разбере во повеќе детали на текстот на програмата.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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