muzruno.com

Exponentiation в програмния език на Pascal: съвети и трикове

Има огромен брой езици за програмиране, а Паскал не е най-малко сред тях. И ако ще се занимавате сериозно с програмирането в бъдеще, трябва да започнете да се запознаете с този свят с изучаването на този език, тъй като той е по-прост в възприемането и най-важното е, че програмата е абсолютно безплатна.

В тази статия ще анализираме един толкова труден проблем като надигането на властта. Паскал, уви, не ни предоставя отделен оператор за решаването на този проблем, за разлика от други езици за програмиране. Така че тук е необходимо, както се казва, да се отървете от импровизираните средства, прибягвайки до цикли и математически оператори - тук можем да дадем на въображението си. Нека разгледаме няколко метода за решаване на този проблем.

Нека бъдем дадени най-простата задача, в която определен брой трябва да бъде повдигнат в цялата положителна степен. Да предположим, че номерът а ние повишаваме в 4 градуса. Тук изпълняваме проста математическа операция: b: = а * а * а * а.

Текст на програматаВ следващата стъпка ще усложним задачата и ще съставим универсална програма, която ще вдигне някакъв брой в някаква цялостна положителна степен. Има възможност да се използва всеки цикъл, но ще разгледаме по-прост метод, използвайки цикъл с брояч. В изображението отляво можете да видите пълния текст на нашата програма, има и обяснение на извършените операции. Между другото, трябва да се отбележи, че броят а не е необходимо да се уточнява Цяло число, но можете да кажете, Реал, което ще повиши степента на частичния брой.

Предишните примери ни позволяват да изграждаме числа само в положителни цели числа. Но има проблеми, при които е необходимо да се повиши броят на частичните мощности. Когато пишете такава програма, се нуждаем от знание свойства на логаритмите. По-специално: аб= дb ln a. Като се започне от това, необходимият фрагмент от нашата програма ще има формата: r: = exp (b * ln (а)). Но тук сме изправени пред факта, че този оператор не работи с нулеви и отрицателни числа. За да може програмата да изпълни експоненцията до 0, трябва да определим условието: Ако b = 0 Тогава r: = 1 Else r: = exp (b * ln (a)). Но как изглежда експонацията за отрицателен номер?



Текст на програмата

Паскал ни кара да мислим отново. Тук трябва да извършим тази операция с модула на нашия номер и да вземем данни с отрицателен резултат. След това проверете паритета на степента: ако степента ни е равна, тогава ще вземем модула от резултата. В този случай нашата програма ще изглежда така: r = (-1) * exp (b * ln (abs (a))) - Ако кръг (b / 2) = b / 2 Тогава r: = abs. Състоянието тук проверява дали степента е равна или не.

В резултат на това стигаме до един по-универсален модел на нашата програма, който ще работи с всякакви числа. Сега трябва да обединим всичко това в едно цяло. В изображението вдясно можете да видите пълния текст на завършената ни програма. Обърнете внимание на дадения тип данни. За разлика от първата програма, тя използва реален, защото тук вече работим с номера, а не само с цели числа. Така че, експонирането реални номера ние сме напълно обмислени. Остава да се разгледа само един въпрос.

Текст на програматаОбръщайки се към него, трябва да се отбележи, че при решаването на този проблем се нуждаете от доста дълбоко познаване на програмирането. Това ексцентриране сложен номер. Тук можете да опитате да използвате различни решения, да речем формулата Moivre, но има трудности при превръщането на комплексното число в тригонометрична форма. Има решение на този проблем в задачата за умножаване на две сложни числа и прост цикъл с брояч, т.е. Повторението на тази процедура е равно на броя пъти. На този пример можете да разберете по-добре текста на тази програма.

Споделяне в социалните мрежи:

сроден