Programare Delphi Laborator 2 a. Serii. Elaboraţi câte u program petru sumarea primilor 00 de termei ai seriilor următoare şi verificaţi umeric egalităţile date: () (2) (3) 2 + 3 4 + 5 + = l 2; 6 2 + 2 2 + 3 2 + 4 2 + 5 2 + 6 2 + = π2 6 ; 4 + 2 4 + 3 4 + 4 4 + 5 4 + 6 4 + = π4 90 ; (4) + q + q 2 + q 3 + q 4 + q 5 + =, petru q (, ); q (5) +! + 2! + 3! + 4! + 5! + = e; (6) + x! + x2 2! + x3 3! + x4 4! + x5 5! + = ex, petru orice x (, + ); (7) x! x3 3! + x5 5! x7 7! + x9 9! x + = si x, petru orice x (, + );! (8) x2 2! + x4 4! x6 6! + x4 4! x6 + = cos x, petru orice x (, + ); 6! (9) x + x3 3 + x5 5 + x7 7 + x9 9 + x + x + = l, petru orice x (, ); x (0) x+ 2 x3 3 + 3 2 4 x5 5 + 3 5 2 4 6 x7 + = arcsi x, petru orice x (, ); 7 () 2 x + 3 2 4 x2 3 5 2 4 6 x3 + = + x, petru orice x (, );
2 Exemplu de rezole. Relaţia a.. program Serii; {$APPTYPE CONSOLE} { /-/2+/3-/4+/5-/6+...=l 2 } uses SysUtils; fuctio suma(: iteger): double; i, sem: iteger; sem := ; result := 0; for i := to do result := result + sem / i; sem := -sem; Writel( exact=, L(2):0:5); Writel( aprox=, suma(000000):0:5); Writel( Press ENTER ); Readl; ed. { REZULTAT: exact=0.6934780559945 aprox=0.69346680560255 Press ENTER }
3 b. Şiruri. Verificaţi pri calcul umeric următoarele limite: () lim ( + x ) = e x, x (, + ); ( (2) lim ) ( ) ( ) = 2 2 3 2 2 2 ; (3) lim 3 5... (2 ) 2 4 6... (2) = 0; (4) lim! + 2! + +! (2)! = 0; α (5) lim = 0, α > 0; ( + α)( + α 2 ) ( + α ) ( (6) lim + + + 2 + + ) = l 2; + (7) lim 2 2 + 4 2 + + (2) 2 2 + 3 2 + + (2 ) 2 = ; l 2 + l 3 + + l( + ) 2 (8) lim l 2 + ( ) l 3 + + l( + ) = 0; ) (9) lim ( + k2 = 4 ; k= (0) lim a = + 5, ude a 0 = 0, a = 2 + a ; () lim a = 2, ude a 0 =, a = + 2 a ; (2) lim a = x, ude a 0 =, a = 2 ( a + x a ), x > 0; a + (3) lim = + 5, ude a 0 = 0, a =, a + = a + a ; a 2
4 Exemplu de rezole. Relaţia b.. program Expoetiala; {$APPTYPE CONSOLE} uses SysUtils; fuctio produs(x: exteded): exteded; i, : iteger; a: exteded; := 00000; a :=.0 + x / ; result := ; for i := to do result := result * a; x: double; Write( x= ); Readl(x); Writel( aprox=, produs(x):0:5); Writel( exact=, Exp(x):0:5); Writel( Press ENTER ); Readl; ed. { REZULTAT: x=-0. aprox=0.904837372794057 exact=0.90483748035960 Press ENTER }
c. Baze de umeraţie. ) Fiid dată o bază oarecare b {2, 3,..., 000}, pri cifră îtelegem u umăr c {0,, 2,..., b } iar pri umăr cu cifre îţelegem u tablou de cifre. Modificaţi codul fucţiei fuctio avasfaradepasire( a: umar): boolea; di listig-ul următor, astfel îcât programul să geereze toate umerele de cifre, petru u fixat. Fucţia trebuie sa icremeteze cu o uitate umărul a primit pri referiţă şi să reture valoarea de adevăr a propoziţiei operaţia a avut loc fără depăşire de format. program BazeDeNumeratie; {$APPTYPE CONSOLE} //$ cost b = 3; = 5; type cifra = 0.. b - ; umar = array [.. ] of cifra; fuctio avasfaradepasire( a: umar): boolea; Exit(false); procedure afiseaza(a: umar); i: iteger; for i := dowto do Write(a[i]:2); Writel; a: umar; i: iteger; for i := to do a[i] := 0; repeat afiseaza(a); util ot avasfaradepasire(a); Writel( Press ENTER ); Readl; ed. 5
6 2.) Demostraţi că seria (2) (5) + 0 (2) 0 (5) + (2) (5) + 00 (2) 00 (5) + 0 (2) 0 (5) + 0 (2) 0 (5) + (2) (5) + 000 (2) 000 (5) + = + 2 5 + 3 6 + 4 25 + 5 26 + 6 30 + 7 3 + 8 25 + este covergetă şi calculaţi suma primilor 000 de termei. 3.) Notăm cu σ suma cifrelor umărului atural îtr-o bază oarecare b. Demostraţi că seria σ 2 = este covergetă şi calculaţi suma primilor 000 de termei. Studiaţi depedeţa sumei de baza de umeraţie. d. Media aritmetico-geometrică. Fie a şi b două umere reale pozitive. Se cosideră şirurile (a ) şi (b ) defiite astfel: a = a + b 2, a 2 = a + b,..., a = a + b,... 2 2 b = ab, b 2 = a b,..., b = a b,... Verificaţi umeric că, petru orice date iiţiale a şi b pozitive, cele două şiruri sut covergete şi au aceeaşi limită (umită media aritmetico-geometrică a lui a şi b). e. Polioame Cebîşev. Sut biecuoscute idetităţile trigoometrice cos 2θ = 2 cos 2 θ, cos 3θ = 4 cos 3 θ 3 cos θ. Se poate arăta că există şirul de polioame T, umite polioame Cebîşev, astfel îcât (4) cos θ = T (cos θ), petru orice θ real. Altfel spus, T (x) = cos( arccos x) petru orice x [, ]. Este clar că T 0 (x) =, T (x) = x, T 2 (x) = 2x 2,
Plecâd de la idetitatea T 3 (x) = 4x 3 3x. cos( + )θ + cos( )θ = 2 cos θ cos θ, stabiliţi o relaţie de recureţă ître T, T şi T + care să vă permită să calculaţi coeficieţii lui T 30. Verificaţi umeric relaţia (4) petru = 30 şi θ = (2k+)π 2 cu k = 0,, 2,...,. Utilizâd deriea formală a polioamelor, verificaţi că T satisface ecuaţia difereţială ( x 2 )T (x) xt (x) + 2 T (x) = 0, umită ecuaţia lui Cebîşev. 7 f. Polioame Legedre. O altă clasă de fucţii speciale utilizate î aaliza umerică o formează polioamele Legedre, defiite recuret de relaţiile P 0 (x) =, P (x) = x, şi ( + )P + (x) = (2 + )xp (x) P (x), petru =, 2, 3,.... Este uşor de văzut că P 2 (x) = 3 2 x2 2, P 3 (x) = 5 2 x3 3 2 x, P 4 (x) = 35 8 x4 30 8 x2 + 3 8. Calculaţi pritr-u program coeficieţii lui P petru = 30 şi, utilizâd deriea formală a polioamelor, verificaţi că el satisface ecuaţia difereţială ( x 2 )P (x) 2xP (x) + ( + )P (x) = 0, umită ecuaţia lui Legedre.