Computers, Programmering
Machtsverheffen in Pascal programmering: tips en trucs
Er is een groot aantal programmeertalen, en Pascal is niet de laatste plaats onder hen. En als je gaat om serieus deel te nemen in de toekomst programmeren wilt laten starten vertrouwd te maken met de wereld is door de taal te leren, omdat het gemakkelijker is om de perceptie en, nog belangrijker, het programma is helemaal gratis.
In dit artikel zullen we omgaan met dit moeilijke probleem, aangezien de machtsverheffing. Pascal, helaas, niet ons te bieden om dit probleem op te lossen, in tegenstelling tot andere programmeertalen, een enkele operator. Dus hier hebben we, zoals ze zeggen, ga weg met geïmproviseerde middelen, toevlucht te nemen tot loops en wiskundige operators - het is hier dat we de vrije loop kan geven aan onze verbeelding. Overweeg verschillende methoden om dit probleem op te lossen.
Stel dat we een gemakkelijke taak, waar een bepaald nummer moet worden verhoogd tot het niveau van de hele positieve gegeven. Ga uit van een aantal rechtop bij 4 graden. Er wordt uitgevoerd een eenvoudige wiskundige bewerking: b: = a * a * a * a.
De voorgaande voorbeelden kunnen we een aantal te bouwen alleen in positieve gehele machten. Maar er zijn uitdagingen waar je nummer moet bouwen om een fractionele macht. Bij het schrijven van een dergelijk programma, moeten we weten logaritmen eigenschappen. In het bijzonder: a = b e b ln . Op basis hiervan wordt het gewenste deel van het programma de volgende notatie: r: = exp (b * ln (a)). Maar hier worden we geconfronteerd met het feit dat deze operator werkt niet met nul en negatieve getallen. Met het oog op ons programma exponentiation 0 te voldoen, moet u een voorwaarde te stellen: Als b = 0 Then r: = 1 Else r: = exp (b * ln (a)). Maar als voor negatief getal verschijnt exponentiation?
Pascal maakt ons eens na te denken. Hier is het noodzakelijk om deze operatie te maken met onze module nummer en neem de gegevens met een negatief resultaat. Controleer vervolgens de pariteit van graad: als ons niveau was zelfs, terwijl wij over het resultaat van de module. In dit geval zal het programma de vorm hebben: r: = (- 1) * exp (b * ln ( abs (a))); Indien Rond (b / 2) = b / 2 Toen r: = abs (r) . De voorwaarde hierbij controleert, even of geen diploma.
Als gevolg daarvan, komen we tot een meer universele model van ons programma dat zal werken met alle nummers. Dus nu moeten we verenigen in één geheel al het bovenstaande. De afbeelding aan de rechterkant kunt u de volledige tekst van onze afgewerkte programma te lezen. Besteed aandacht aan het opgegeven data. In tegenstelling tot het eerste programma, gebruikt het echt, want Hier zijn we al bezig met cijfers, niet alleen gehele getallen. Zo, de bevoegdheden van reële getallen we volledig beschouwd. Slechts één vraag blijft te worden beschouwd.
Similar articles
Trending Now