DatorerProgrammering

Exponentiering i Pascal programmering: tips och tricks

Det finns ett stort antal programmeringsspråk och Pascal är inte den sista platsen bland dem. Och om du ska på allvar engagera sig i den kommande program ska börja bekanta med världen är att lära sig språket, eftersom det är lättare att perception och, ännu viktigare, är programmet helt gratis.

I denna artikel kommer vi att ta itu med detta svåra problem, som exponentiering. Pascal tyvärr inte erbjuda oss att lösa detta problem, till skillnad från andra programmeringsspråk, en enda operatör. Så här har vi, som de säger, komma ut med improviserade medel tillgripa loopar och matematiska operatörer - det är här som vi kan ge fria tyglar till vår fantasi. Överväga flera metoder för att lösa detta problem.

Antag att vi får en lätt uppgift, där ett visst antal måste höjas till samma nivå som för hela positiv. Antag ett antal upprätt vid 4 grader. Det genomförs en enkel matematisk operation: b: = a * a * a * a.

I nästa steg, komplicera vi uppgiften och universella program som kommer att bygga ett obegränsat antal i alla hela positiv grad. Här finns en möjlighet att dra nytta av någon cykel, men vi kommer att överväga en enkel metod med hjälp av en slinga med en räknare. Till vänster kan du läsa hela texten i vårt program, det finns, och förklaringar av verksamheten. För övrigt bör det noteras att ett antal uppförda valfritt satt Integer, och kan vara, till exempel Real, som kommer att byggas i bråk grad.

De föregående exemplen tillåter oss att bygga ett antal bara positiva integral krafter. Men det finns utmaningar där du måste bygga nummer till en bråk makt. När du skriver ett sådant program, behöver vi veta logaritmer egenskaper. I synnerhet: a b = e b ln en . På grundval av detta, kommer den önskade delen av vårt program vara av formen: r: = exp (b * ln (a)). Men här är vi konfronteras med det faktum att denna operatör inte fungerar med noll och negativa tal. För att uppfylla vårt program exponentiering 0, måste du ställa in ett villkor: Om b = 0 r sedan: = 1 Else r: = exp (b * ln (a)). Men som för negativt tal visas exponentiering?

Pascal gör oss tänka om. Här är det nödvändigt att göra denna operation med vår modulnummer och ta data med ett negativt resultat. kontrollera sedan paritet graden: om vår nivå var jämn, medan vi tar på resultatet av modulen. I detta fall, kommer vårt program ha formen: r: = (- 1) * exp (b * ln ( abs (a))); Om Rund (b / 2) = b / 2 Då r: = abs (r) . Villkoret här kontrollerar, jämn eller ingen examen.

Som ett resultat, kommer vi till en mer universell modell av vårt program som kommer att arbeta med några siffror. Så nu måste vi förenas i en helhet alla av ovanstående. Bilden till höger kan du läsa hela texten i våra färdiga program. Var uppmärksam på den angivna datatypen. Till skillnad från det första programmet, använder den Real, som Här är vi redan arbetar med några siffror, inte bara heltal. Således befogenheter av reella tal har vi helt övervägas. Bara en fråga återstår att övervägas.

Vänder sig till honom, bör det noteras att lösningen på detta problem kräver ganska djup kunskap i programmering. Denna exponentiering komplext tal. Du kan prova att använda en mängd olika lösningar, till exempel, Moivre formel, men det finns svårigheter med överföring av ett komplext tal i trigonometriska formen. Det finns en lösning på detta problem i arbetet med att multiplicera förfaranden två komplexa tal och en enkel slinga med en räknare, dvs. Upprepa denna procedur en effekt av det antal gånger. På exemplet, kan du förstå texten i programmet mer i detalj.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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