ՀամակարգիչներԾրագրավորում

Exponentiation է Pascal ծրագրավորման Tips եւ հնարքներ

Կա մի մեծ շարք ծրագրավորման լեզուների, եւ Pascal չէ վերջին տեղը նրանց մեջ: Եւ եթե դուք պատրաստվում են լրջորեն զբաղվել ապագա ծրագրավորման պետք է սկսել ծանոթանալուց աշխարհի հետ, ըստ ուսուցման լեզուն, քանի որ դա ավելի հեշտ է ընկալման եւ, ավելի կարեւոր է, որ ծրագիրը բացարձակապես անվճար.

Այս հոդվածում մենք հաղթահարել այս դժվարին խնդրի, քանի որ exponentiation: Պասկալ, ցավոք սրտի, չի առաջարկում մեզ լուծել այս խնդիրը, ի տարբերություն այլ ծրագրավորման լեզուներով, մեկ օպերատորի: Այնպես որ, այստեղ մենք ունենք, քանի որ նրանք ասում են, դուրս գալ ինքնաշեն միջոցներով, դիմելու loops եւ մաթեմատիկական օպերատորների, դա այն է, այստեղ է, որ մենք կարող ենք տալ անվճար սանձ մեր երեւակայության. Հաշվի առնել մի քանի մեթոդներ է լուծել այս խնդիրը.

Ենթադրենք, որ մենք տրվում է հեշտ խնդիր է, որտեղ որոշակի թվով պետք է բարձրացված մակարդակով ամբողջ դրական: Ենթադրել, մի շարք ճակատով է 4 աստիճանով: Կա կատարվում է պարզ մաթեմատիկական գործողություն: բ = a * A * ա * է.

Իսկ հաջորդ քայլ, մենք բարդացնել առաջադրանքը եւ համընդհանուր ծրագիր, որը կառուցել ցանկացած քանակությամբ ցանկացած ամբողջ դրական աստիճանի: Այստեղ հնարավորություն է ընձեռում օգտվել ցանկացած ցիկլի, բայց մենք պետք է հաշվի առնել մի պարզ մեթոդ, օգտագործելով մի հանգույց հետ counter. Ձախում դուք կարող եք կարդալ ամբողջական տեքստը մեր ծրագրի, կա, ու բացատրությունները գործողությունների: Ի դեպ, հարկ է նշել, որ մի շարք erected ընտրովի set Ամբող թվերի, եւ կարող է լինել, օրինակ, անշարժ, որը կկառուցվի կոտորակային աստիճանի.

Նախորդ օրինակները մեզ թույլ են տալիս կառուցել մի շարք միայն դրական ինտեգրալ ուժերի հետ. Սակայն կան մարտահրավերներ, որտեղ դուք պետք է կառուցել մի շարք է կոտորակային իշխանության. Երբ գրում այնպիսի մի ծրագիր, որ մենք պետք է իմանանք, logarithms հատկությունները: Մասնավորապես `ա բ = ե բ Ln է : Այս հիմքի վրա է, որ ցանկալի մասը մեր ծրագրի կլինի ձեւով: r: = Exp (բ * Ln (ա)): Բայց այստեղ մենք բախվում է նրանով, որ այս օպերատորը չի աշխատելու զրոյական եւ բացասական թվերով: Որպեսզի կատարել մեր ծրագրի exponentiation 0, դուք պետք է սահմանել պայման: Եթե բ = 0 Այնուհետեւ r = 1 Ուրիշ r. = Exp (բ * Ln (ա)): Բայց քանի որ բացասական շարք հայտնվի exponentiation.

Pascal ստիպում է մտածել կրկին. Այստեղ է, որ անհրաժեշտ է, որպեսզի այս գործողությունը մեր մոդուլի շարք, եւ վերցնել տվյալների հետ բացասական արդյունք: Ապա ստուգեք հավասարություն աստիճանի, եթէ մեր մակարդակը, նույնիսկ, իսկ մենք վերցնում արդյունքների վրա մոդուլի. Այս դեպքում, մեր ծրագիրը կունենա ձեւը: r = (- 1) * Exp (բ * ln ( ABS (ա))); Եթե մրցափուլի (բ / 2) = b / 2 Ապա r = ABS (r) : The պայման ստուգում, կամ նույնիսկ ոչ մի աստիճան.

Որպես հետեւանք, մենք գալիս ենք մի ավելի համընդհանուր մոդելի մեր ծրագրի, որը կարող է աշխատել ցանկացած համարներով. Այնպես որ, հիմա մենք պետք է միավորվի մեկ ամբողջություն բոլոր վերը նշված. Որ պատկերը դեպի աջ կարող եք կարդալ ամբողջական տեքստը մեր պատրաստի ծրագրի. Ուշադրություն դարձնել այն նշված տվյալների տեսակի. Ի տարբերություն առաջին ծրագրի, այն օգտագործում իրական, քանի որ Այստեղ մենք արդեն աշխատում ցանկացած թվերի, ոչ միայն ամբողջ թվեր. Այսպիսով, լիազորությունները իրական թվերի մենք լիովին համարել: Միայն մեկ հարց մնում է համարել:

Դառնալով նրա, պետք է նշել, որ այս խնդրի լուծումը պահանջում է բավականին խորը գիտելիքներ ծրագրավորման. Այս exponentiation կոմպլեքս թիվ է. Դուք կարող եք փորձել օգտագործել մի շարք լուծումներ, օրինակ, Moivre բանաձեւով, սակայն կան դժվարություններ փոխանցման բարդ շարք է Եռանկյունաչափական ձեւով: Կա մի լուծում այս խնդրին խնդիրը բազմապատկելով ընթացակարգերը երկու բարդ թվերի եւ պարզ հանգույց է counter, այսինքն, Կրկնելով այս կարգը ուժը թվի անգամ: Ին օրինակը տրամադրվել, դուք կարող եք հասկանալ, թե ավելի մանրամասնորեն տեքստը ծրագրի:

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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