Sunteți pe pagina 1din 14

Probleme Laborator 1.

Problema 1
Atribuiti numelui w valoarea aproximativa pentru : si . (utilizati :=, simplify, sqrt, evalf) Rezolvare > restart: > w:=2*Pi/3; si apoi gasiti valoarea exacta si o valoare zecimala

> evalf(w^2);

>

> > simplify(sqrt(w));

> evalf(cos(w)); >

Problema 2
Factorizati peste R si peste C. (utilizati factor) Rezolvare > restart: > factor(x^8-2*x^4+1,real);

> factor(x^8-2*x^4+1,complex);

> factor(x^8-2*x^4+1);

Problema 3
Definiti functia Aproximati valorile cu 10 si apoi cu 20 de zecimale (utilizati f := (x,y)-> ... , evalf). Rezolvare > restart: > f := (x,y)->20*x+30*x^2-sqrt(46-x^2);

> evalf(f(3.29) + f(-3.1)); > Digits:=20; > evalf(f(3.29) + f(-3.1)); > > >

Probleme Laborator 3.
> >

Problema 1
Generati o lista de 1000 stringuri aleatoare, fiecare avand lungimea 10 si continand numai litere majuscule (A-Z). Calculati cate dintre acestea contin substringul "AZ". Generati lista obtinuta prin transformarea literelor din mijloc (pozitiile 5 si 6) in minuscule. Rezolvare > convert("AZ",bytes);

> r:=rand(65..90): > [seq(r(),i=1..10)];

> convert([seq(r(), i=1..10)], bytes);

> cuvant:='convert([seq(r(), i=1..10)], bytes)';

> L:=[seq(cuvant, j=1..100)]: > contineAZ:=s->evalb(searchtext("AZ",s)>0);

> nops(select(contineAZ,L));

> trans56:=proc(s)

local L; L:=convert (s,bytes); L[5]:=L[5]+32; L[6]:=L[6]+32; convert(L, bytes); end;

> map(trans56,L);

>

Problema 2
(a) Generati o lista cu 100 numere intregi aleatoare din intervalul [-10,10]. (b) Eliminati dublurile din lista (numere egale alaturate). (c) Selectati din lista (b) numerele divizibile cu 2 sau 3. (d) Selectati din lista (b) numerele mai mari decat 5. (e) Pentru fiecare element din lista (d) calculati numarul de aparitii ale acestuia in lista initiala (a). . Rezolvare > restart: > r:=rand(-10..10): > L:=[seq(r(),i=1..100)];

> for j to 99 do if L[j]=L[j+1] then L[j]:=" " fi;

od; > L;

> b:=subs(" "=NULL,L);

> select(x->evalb((x mod 2=0)or (x mod 3=0)),b);

> nr:=nops(b);

> for k to nr do if b[k]<=5 then b[k]:=" " fi; od; > b;

> d:=subs(" "=NULL, b);

> d1:=select(a->evalb(a>5),b);

> for t in d do select (u->evalb(u=t),L); print (t, nops(%)); od:

Problema 4
Scrieti o procedura Maple care sa calculeze polinoamele Legendre Acestea sunt definite de relatiile de recurenta

, (pentru n>1)

Calculati

si verificati raspunsul cu functia Maple LegendreP ?

Puteti calcula cu procedura dvs

Rezolvare > restart: > L:=proc(n,x) option remember; if n=0 then return 1 fi; if n=1 then return x fi; 1/n*(2*n*x*L(n-1,x)+(1-n)*L(n-2,x))-x*L(n-1,x); expand(%); end; >

> L(50,x);

> LegendreP(50,x);

> expand(%);

>

Probleme Laborator 4.
> >

Problema 1
Trasati graficul functiei si a derivatei sale in intervalul ( sistem de coordonate iar graficele de culori diferite. . Rezolvare > a:=factorial(x); ). Folositi acelasi

> b:=diff(a,x);

> plot([a,b],x=-4..4,y=-10..10, color=[blue, red]);

> > > >

S-ar putea să vă placă și