|
Главная -> Справочник по алгоритмам 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [17] 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 ственным вычислением л по формуле цепной дроби. Программа 3.5. Пример. [3. 7. 15, 1, 292. 1, К 4] ->3.141592654. Деление числа А на число В с произвольной точностью выполняется выделением целой части отношения А/В при вычислении f=int(i4/B) и затем использованием рекуррентной формулы Л, = 1 - fx В) X10. Программа 3.6. Пример. 32/9,3=3,4408602150537 . . . Цифры результата выдаются до остановки ЭВМ пользователем. Получение Н-го числа Фибоначчи, т. е. числа из последовательности О, 1, 1, 2, 3. 5, 8, 13, 21, 34, у которой новый член равен предыдуших (Ci=0; С-г-Х): сумме двух С, = С,-, + С,-2. г = 3, 4. 5, ... Программа 3.7. 10 PRINTВЫДАЧА N-rO ЧИСЛА ФИБОНАЧЧИ 20 LETA=0:LETB=l!lNPIJTBBEfiHTE N>=3 N=N 30 FOR 1=3 TO N 40 LETC=A+B:LETA=B:LETB=C 50 NEXT I 60 PRINT!F1.9!FN=C 70 GOTO 20!END Для Л/=10 получим Cin = 34. § 3.2. Операции и функции с комплексными числами и переменными Комплексные числа записываются в алгебраической форме Z==/l+yB = ReZ + yImZ или в тригонометрической Z = Re", причем /? = л/ + б и е = агс1д(В/Л). Сложение- и вычитание комплексных чисел Z,=A,-\-jB, и Z2=i42 + yB2 выполняется по формулам 2,+г2=(Л,+Л2) + /(В,-В2), г,-г2=(Л,-Л2)+/(в,-В2). . • Умножение и деление комплексных чисел Zl=Лl+Bl и г2=Л2 + ;В2 выполняется по формулам г,г2=(Л,Л2-ВВ2)+7(л,В2+в,Л2). Z, Л,Л2 + В,В2 , . В1Л2 -л,в Л1 + В1 а в тригонометрической форме Z, Z2 = Re" = R cos е +; R sin е, где /? = /?/?2, 6 = 61+62, и Z,/Z2 = Re=R cose + ? sin8, где R = R,/R2. 8 = 6,-62. Программа 3.8. Контрольный -пример, ние выражения (5-/-3)(3 + у-2) (3.1) Вычисле- (5 + у-3)(2-у.4) + (0,5 + у-1) дает результат ReZ„= 1,158823529 и ImZo = = 1,464705882, т. е. Zn= 1.158823529+УХ X 1,464705882. Программа 3.9. гх о /-0.5 „ /-0,25 Для Zi=2e и Z2 = 3e получим Z,Z2 = Z„ = 6e-- и Z4/Z2 = Z„=l,5e-°-25 Алгебраические функции комплексного переменного: Z2= (Л-В)+У2ЛВ, 1 Л . В - /- Z- (ЛНВ) (Л + В) -л+л/л+в л+зм!+в1 . Л ехр Z = = е COS в+\е sin В, 1п Z=5ln (Л+В) Ч-у (arctg-dz2n*). fe = 0, 1, 2..... Программа 3.8. 05 PRINT!Р1.Э! -г РЛ;!!АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ С КОМПЛЕКСНЫМИ 0 PRINT ЧИСЛАМИ В АЛГЕБРАИЧЕСКОЙ ФОРМЕ 30 INPUTВВЕДИТЕ RE гь IM 21 А,В 40 INPUTВВЕДИТЕ RE 22, IM 22 CD 50 INPUTВВЕДИТЕ КОД ОПЕРАЦИИ +1,-2,жЗ,,4 К 60 IF К=1 THEN 110 70 IF K=2 THEN 130 S0 IF K=3 THEN 140 90 IF K=4 THEN 160 1Й0 FRIHTKOfi УКА.ЗАН НЕВЕРНО:г.ОТО ?1й 110 LETA=A+C!LETB=B+D 120 Р1?1НТ2 0=A + J*<B>:GOTO 40 130 LETA=A-C!LETB=B-D:G0T0 120 140 LETE=A*C-B*D s LETF=A*D+C*B 150 LETA=E:LETB=F:60T0 120 160 LETL=C*C+D*D!LETE=A*C+B*D:LETF=B*C-ft*D 170 LETA=EL:LETB=FL:G0T0 12fi:EHD 10 PRINTУМНОЖЕНИЕ И ДЕЛЕНИЕ КОМПЛЕКСНЫХ 20 PRINT-ЧИСЕЛ В ТРИГОНОМЕТРИЧЕСКОЙ ФОРМЕ 30 INPUTB КЙКОЙ ФОРМЕ 21 0-ЙЛГЕЕ. 1-ТРИГОНОМ. К 4й IF К=1 THEN 70 50 INPUTВВЕДИТЕ RE 2b IM Zl ftj.B 60 LETRl=SGR<Йжft+BжB>!LETGl=ftTH<B-Й>!GOTO 80 70 INPUTВВЕДИТЕ Rb Gl RlrOl 80 INPUTB КАКОЙ ФОРМЕ Z2 0-ЙЛГЕЕ. 1-ТРИГОНПМ. К Э0 IF К=1 THEN 120 100 INPUTВВЕДИТЕ RE Z2, IM Z2 СП 110 LETR2=SGR<CжC:+DжrO:LET02=йTN<:D/C>!GnT0 130 120 INPUTВВЕДИТЕ R2.. D2 R2,G2 130 INPUTВВЕДИТЕ КОД ОПЕРАЦИИ 0 1 К 140 IF К=0 THEN 160 150 LETR=R1R2!LETG=G1-G2!G0T0 176 160 LETR=R1*R2!L ETQ=G1+G2 170 PRINTZ0=R* EXP<J*<0)> 180 LETR1=R".LETG1=G;G0T0 80:END =€1"= cos A, + j{Ir sin A,„ Ai, = e/n + 360k/n, ft = 0, 1, 2, .... Z" = R"e"" = R" cosпв + jR" sin «6. Программа 3.10. Jfi PRINTВЫЧИСЛЕНИЕ FtZ)=Z"2 20 IКРИТВВЕДИТЕ RE Z=A:ХНРиТВВЕДИТЕ IM Z=B I.ETE=h"2-B-2:LETF=2*h*B 4Й 1.ЕТЙ=Е!ЬЕТВ=Р S0 PRINTRE Р«:г;)=й:РР1НТ1М FtZ>=B Кй GOTO 20:ENIi Пример. (3 + y-2)2=5 + y-12. Программа 3.11. 10 PRINTВЫЧИСЛЕНИЕ Fa>=l>-Z 20 INPUTВВЕДИТЕ RE Z=Й!INPUTВВЕДИТЕ IM Z=B 30 ЬЕТб=А2+В2:ЬЕТЕ=Й/0 40 LETF=-B6!LETЙ=E!LETB=F -50 PRINTRE Р<г>=Й!рР1НТIM Fa>=B 60 GOTO 20:ЕНГ1 П p и M e p. l/(3 + /-2) =0.2307692308-/-0.15,38461538. Программа 3.12. 10 PRINTВЫЧИСЛЕНИЕ F;ZJ=lZ-2 20 1КриТВБЕДИТЕ RE Z=ft!1нриТВВЕДИТЕ IM Z=B 30 LET6= tH"2-bB-2)"£LETE= tft"£-B2>/6 46 LETF=-2*ft*B/b;L£Tft=E:LETB=F 50 PRIKTRE F<Z> = H3pRIHTIM F<.7> = B 66 GOTO 20 г E HI: П p и M e p. 1/(3 +у • 2) = 0.02958579882~y-0,07100591716. Программа 3.13. 10 PRINTВЫЧИСЛЕНИЕ F<Z>=SORCZ> 20 INPUTВВЕДИТЕ RE •Z=ft: INPUTВВЕДИТЕ IM.Z=B 30 ЬЕТС-.=80РСЙ"2-нВ"2>!ЕЕТЕ=50Р<:<:й+6)/2> 40 LETF=SG!R<: <-Й-н6>/2> s ЬЕТЙ=Е! LETB=F 50 PRINTRE Z=+-A!PRINTIM Z=+-B 60 GOTO 20!END Пример. V3 + y-2= ±1.81735402!±/-0,5502,=")0.5227. Программа 3.14. 10 PRINTВЫЧИСЛЕНИЕ F<Z>=EKP<:X> 20 INPUTВВЕДИТЕ RE Z=Й!INPUTВВЕДИТЕ IM Z=B 30 LETE=EKP (. Й > *COS С В >: LETF=EKP< Й > *S IN С В > 40 LETft=E!LETB=F -50 PRINTRE EKP<Z>=Й!PRINTIM EKP<Z> = B 60 GOTO 20!END Пример, e.xp (3+ /• 2) =-8.358532651 f/ 18.26,37270-1. Пример. \3 + /-2=1,36311829+/-0,2018352064. Программа 3.17. 10 PRINTВЫЧИСЛЕНИЕ ФУНКЦИИ F(Z)=Z-H 20 INPUTВВЕДИТЕ RE Z=ft:INPUTВВЕДИТЕ IM Z=B 30 INPUTВВЕДИТЕ N=N:LETX=S0R(ft-2+B"2> 40 LETV=ftTN(Bft>:LETft=XN*COS(V*H> -50 LETB=X-N*SIH<V*N>:PRINTRE F<Z>=ft 60 PRINTIM F<Z>=B!EHD Пример. (3 + /- 2) = 8.999999999 + /• 46. Тригонометрические функции комплексного переменного: sin Z = sin A ch В+/ cos Л sh B, cos Z=cos Л ch B -/ sin Л sh B, siп2Л sh2B ~ cos 2Л +ch 2B cos 2Л +ch 2B " Программа 3.18. 10 PRINTВЫЧИСЛЕНИЕ F<Z>=SIH<Z> 20 INPUTВВЕДИТЕ RE Z=й:INPUTВВЕДИТЕ IM Z=B 30 LETE=SIN<ft >ЖНС8(В>!LETF=COS < A> жН5Н <В) 40 LETft=E:LETB=F 50 PRINTRE F(Z>=A!PRINTIM F<Z>=B 60 GOTO 20:END Пример, sin (3 + /-2)=0,5309210863-/-3,59056459. • Программа 3.19. 10 PRINTВЫЧИСЛЕНИЕ FfZXiOSfZ) 20 INPUTBBEfiHTE RE Z=ft:INPUTВВЕДИТЕ IM Z=B 30 LETE=COS < ft >*HCS С В >:LETF=-SIH < ft)жН8Н(В) 40 LETA=E:LETB=F 50 PRINTRE FCZ>=A:PRINTIM F<Z>=B 60 GOTO 20:END Пример, cos (3 + /-2) = -3,724545505-/-0,51182257. Программа 3.20. 10 PRINTВЫЧИСЛЕНИЕ FCZ>=TAHCZ> 20 IHPUTBBEfiHTE RE 2=ft:INPUTBBEfiHTE IM Z=B 30 LETft=ft!«2: LETB=B*2: LETG=COSCft>+HC:SCB> 35 LETE=SIH<A>.G!LETF=HSN<:B>/G 40 LETft=E:LETB=F 50 PRINTRE F<:Z> = ft:pRINTIM F<Z>=B 60 GOTO 20:END П p и M e p. tg (3 + /-2) = -0,009884375039 +/-0,965385879. le prIWTвычисление fc2>=l0g<::Z> ге 1НритввЕдитЕ re z=--ft: inputвведите IM Z=b 30 lete=l0g<ft"2+b"2>/2:letf=ftTN(b/ft> 40 LETft=e!letb=f 50 printf=ft+Ji*<b +г*Кж#р1> 60 goto 20:END Пример. In (3 + У• 2) = 1,282474679 + / (0,5880026035+ 2fe.). Программа 3.16. 10 printвычисление функции f<Z>=Z"i; 1-н> 20 inputвведите re Z=й:inputвведите im Z=b 30 inputвведите h=n: letk=sgr<:ft-2+b-2> 35 letу=йтн < b/-ft >: LETft=X- < 1 .h > *cos (. УЛ\) 40 letb=k<1.n>*sihcv/h>:printre f<Z>=ft 50 printim F<Z>=B:EHD 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [17] 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 0.0133 |
|