Examen final Flashcards
(28 cards)
1
Q
(u, v, w) vector u, v vector w pentru i = 1, n wi = ui + vi retur
A
adunarea vectorilor w=u+v
2
Q
(a, v, w) real a vector v vector w pentru i = 1, n wi = avi retur
A
inmulteste vectorul v cu scalarul a
3
Q
tip vector euclidian funct¸ie produs(u, v) euclidian u, v real p p = 0 pentru i = 1, n p = p + uivi ˆıntoarce p
funct¸ia norma (u) euclidian u, v real norma norma = pprodus(u, u) ˆıntoarce norma
A
definirea unui spatiu euclidian
4
Q
tip vector polinom procedur˘a xxxx(n, r, q, p); intreg n polinom r, q polinom p ˆıntreg i, j, k pentru i = 0, 2n pi = 0 pentru i = 0, n pentru j = 0, n k = i + j pk = pk + riqj retur
A
inmultirea polinoamelor p=rq
5
Q
funct¸ie yyyy(n, p, x) intreg n polinom p real x real v v = pn pentru i = n − 1, 0, −1 v = pi + vx ˆıntoarce v
A
evaluarea polinomului p(x)
6
Q
tip tablou real matrice (n, n) procedur˘a xxxx(a, b, c) matrice a, b matrice c pentru i = 1, n pentru j = 1, n cij = aij + bij retur
A
adunarea matricelor
7
Q
procedur˘a yyyy(α, b, c) real α matrice b matrice c pentru i = 1, n pentru j = 1, n cij = αbij retur
A
inmultirea matricei b cu scalarul α
8
Q
procedur˘a xxxx(a, b, c) matrice a, b matrice c pentru i = 1, n pentru j = 1, n cij = 0 pentru k = 1, n cij = aikbkj + cij retur
A
inmultirea matricelor
9
Q
procedur˘a yyyy(u, v, w) complex u, v complex w w.re = u.re + v.re w.im = u.im + v.im retur
A
suma numerelor complexe
10
Q
procedur˘a xxxx(u, v, w) complex u, v complex w w.re = u.re · v.re − u.im · v.im w.im = u.re · v.im + u.im · v.re retur
A
produsul numerelor complexe
11
Q
procedur˘a yyyy(u, v, w) complex u, v complex w w.re = u.re − v.re w.im = u.im − v.im retur
A
diferenta numerelor complexe
12
Q
procedur˘a xxxx(u, v, w) complex u, v complex w real v2 v2 = v.re · v.re + v.im · v.im w.re = (u.re · v.re + u.im · v.im)/v2 w.im = (u.im · v.re − u.re · v.im)/v2 retur
A
raportul numerelor complexe
13
Q
funct¸ia yyyy(u) complex u real m m = p (u.re · u.re + u.im · u.im) ˆıntoarce m
A
modulul numarului complex
14
Q
funct¸ie xxxx (n, p, x) ˆıntreg n polinom p real x real v real xk v = p0 pentru i = 1, n xk = pi pentru k = 1, i xk = xk · x v = v + xk ˆıntoarce v
A
evaluarea polinomului
15
Q
real err err=1 repet˘a err=err/2 pˆan˘a cˆand (1 + err = 1) scrie err
A
calcularea erorii relative de rotunjire
16
Q
real tip inregistrare interval
real val
real er
procedura xxxx (x,y,s) interval x, y, s s.val = x.val + y.val s.er = err + (|x.val · x.er| + |y.val · y.er|)/|s.val| retur
A
suma erorii relative
17
Q
procedura yyyy(x,y,d) interval x, y, d d.val = x.val − y.val d.er = err + (|x.val · x.er| + |y.val · y.er|)/|d.val| retur
A
diferenta erorii relative
18
Q
procedura xxxx(x,y,p) interval x, y, p p.val = x.val · y.val p.er = err + |x.er| + |y.er| retur
A
produsul erorii relative
19
Q
procedura yyyy(x,y,c) interval x, y, c c.val = x.val/y.val c.er = err + |x.er| + |y.er| retur
A
diferenta erorii relative
20
Q
funct¸ia xxxx(x) real x, t, s ˆıntreg k t = x s = t k = 1 repet˘a k = k + 2 t = −tx2/k/(k − 1) s = s + t pˆan˘a cˆand |t|
A
functia sinus
21
Q
procedura yyyy(n, a, b, x) tablou real a(n, n), b(n), x(n) pentru k = 1, n − 1 pentru i = k + 1, n p = aik/akk pentru j = k + 1, n aij = aij − akjp bi = bi − bkp xn = bn/ann pentru i = n − 1, 1, −1 s = bi pentru j = n, i + 1, −1 s = s − aijxj xi = s/aii retur
A
Gauss fara pivotare
22
Q
funct¸ia xxxx (n, a, b, x) tablou real a(n, n), b(n), x(n) pentru k = 1, n − 1 max = k pentru m = k + 1, n dac˘a |amx| > |amax,k| atunci max = m dac˘a amax,k = 0 atunci ˆıntoarce 1 dac˘a max 6= k atunci pentru m = k, n temp = akm akm = amax,m amax,m = temp temp = bk bk = bmax bmax = temp pentru i = k + 1, n dac˘a aik 6= 0 atunci p = aik/akk pentru j = k + 1, n aij = aij − akj · p bi = bi − bk · p ; retrosubstitut¸ie dac˘a an,n = 0 atunci ˆıntoarce 1 xn = bn/an,n pentru i = n − 1, 1, −1 s = bi pentru j = n, i + 1, −1 s = s − aij · xj xi = s/aii ˆıntoarce 0
A
metoda Gauss cu pivotare partiala
23
Q
procedur˘a yyyy(n, m, a, B, X) întreg n întreg m tablou real a[n][n] tablou real B[n][m] tablou real X[n][m] întreg i, j, k real p, s pentru k = 1, n − 1 pentru i = k + 1, n p = −aik /akk pentru j = k + 1, n aij = aij + pakj • pentru j = 1, m bij = bij + pbkj • • • pentru k = 1, m xnk = bnk /ann pentru i = n − 1, 1, −1 s = 0 pentru j = i + 1, n s = s + aij xjk • xik = (bik − s)/aii • • retur
A
Gauss simultan
24
Q
procedur˘a xxxx(n, p, q, r, b, x) întreg n tablou real p[n], q[n], r[n] tablou real b[n] tablou real x[n] întreg i, k pentru k = 1, n − 1 m = −pk+1/qk qk+1 = qk+1 + mrk bk+1 = bk+1 + mbk • xn = bn/qn pentru i = n − 1, 1, −1 xi = (bi − ri xi+1 )/qi • retur
A
Gauss pentru matrice rara
25
```
pentru k = 1, n − 1
pentru i = k + 1, n
p = −aik /akk
pentru j = k + 1, n
aij = aij + pakj
•
aik = −p
•
•
procedur˘a factorizare_LU(n, a)
```
```
; varianta xxxx
; declara¸tii
· · ·
pentru k = 1, n − 1
pentru i = k + 1, n
aik = aik /akk
pentru j = k + 1, n
aij = aij − aik akj ; Factorizare "pe loc" : "A = L + U − I"
•
•
•
retur
```
varianta doolittle
26
```
procedur˘a rezolva_LU( ˘ n, a, b, x)
; rezolva sistemul de ecua¸tii ˘ ax = b prin factorizare LU
; matricea este presupusa a fi deja factorizat ˘ a în loc ˘
; varianta Doolittle
; declara¸tii
· · ·
; substitu¸tie progresiva˘
y1 = b1
; formula (55), unde l11 = 1
pentru i = 2, n
s = 0
pentru j = 1, i − 1
s = s + aij yj
; formula (56), unde L este memorat în a
•
yi = bi − s ; deoarce l
ii = 1
•
; substitu¸tie regresiva˘
xn = yn/ann ; formula (57), unde U este memorat în a
pentru i = n − 1, 1, −1
s = 0
pentru j = i + 1, n
s = s + aij xj
•
xi = (yi − s)/aii
•
retur
```
doolittle dupa factorizare
27
```
procedura yyyy (n,a,b,x,nrit,eps)
tablou real a(n,n),b(n),x(n)
ˆınteg nrit
real eps
tablou real xn(N)
k = 0
pentru i=1,n
xi = 0
repet˘a
err= 0;
pentru i= 1,n
s = b(i)
pentru j=1,n
s = s − a(i, j)x(j)
s = s + a(i, i)x(i)
xn(i) = s/a(i, i)
s = |xn(i) − x(i)|
dac˘a err < s atunci err = s
pentru i= 1,n
x(i) = xn(i)
k = k + 1
pˆan˘a cˆand (err < eps) sau (k > nrit)
retur
```
metode iterative - Jacobi
28
```
procedura Gauss-Seidel(n,a,b,x,nrit,eps)
tablou real a(n,n), b(n), x(n)
ˆıntreg nrit
real eps
init¸ializ˘ari
k = 0
pentru i=1,n
x(i) = 0
repet˘a
err = 0
pentru i=1,n
s = b(i)
pentru j=1,n
s = s − a(i, j)x(j)
s = (s + a(i, i)x(i))/a(i, i)
err = err + (s − x(i))
x(i) = s
k = k + 1
err = sqrt(err)
pˆan˘a cˆand (err < eps) sau (k > nrit)
retur
```
metode iterative - Gauss - Seidel