Tipus 86183
Feu un procediment o busqueu una funcio que aplicada a una llista que tingui entre els seus elements altres llistes.....
> restart;
> with(ListTools);
Warning, the assigned name Group now has a global binding
> ?Flatten
> llis:=[[[a,[s]],[d,[f,g]]],[h,j],[k,l]];
> Flatten(llis);
A ma es pot fer
>
elems:= proc(l)
local ll,lll;
ll:=l;
lll:=map(op,l);
while ll<> lll do
ll:=lll;
lll:=map(op,ll);
end do;
end proc;
> elems(llis);
> restart;
a)
Feu un grafic de la funcio
per a ...
> f:=x->1/(x^2-4);
> plot(f(x),x=-5..5,-6..6,discont=true, scaling=constrained);
b)
Determineu una primitiva
de
i dibuixeu-ne el grafic....
> int(f(x),x);
> g:=x->1/4*ln(x-2)-1/4*ln(x+2);
> plot(g(x),x=-5..5,-4..4,scaling=constrained);
Si volem que funcioni, s'ha de definir g(x) d'una altra manera.
> g1:=x->1/4*ln(abs((x-2)/(x+2)));
> plot(g1,-5..5,-3..3,discont=true);
Les punxes en
i
son els infinits de la derivada de
!!!!!
c)
Calculeu l'area limitada pel grafic de
i l'eix d'abscisses per a
entre
i
> int(f(x),x=-3/2..3/2);
> g1(3/2)-g1(-3/2);
> g(3/2)-g(-3/2);
> simplify(%);
> restart;
Feu un procediment que tingui com arguments les coordenades de dos punts del pla i doni com a resultat.....
>
quadrats:= proc(A,B)
local C1,C2,C3,D1,D2,D3,v,vp,vd;
v:=B-A;
vp:=[v[2],-v[1]];
C1:=B+vp;D1:=A+vp;
C2:=B-vp;D2:=A-vp;
vd:= 1/2*(C1-A);
C3:= A+vd;D3:=B-vd;
[[A,B,C1,D1],[A,B,C2,D2],[A,C3,B,D3]];
end proc;
Provant-ho amb dos punts qualssevol
> qq:=quadrats([1,2],[-2,3]);
> plot([[op(qq[1]),[1,2]],[op(qq[2]),[1,2]],[op(qq[3]),[1,2]]],scaling=constrained);
Tipus 39051
> restart;
Sigui
la regio del pla determinada per les desigualtats.....
a)
> with(plots):
Warning, the name changecoords has been redefined
> desigs:={x>=0,y>=0,x-y<=3/2,x+3*y<=2,x+y>=1};
>
inequal(desigs,x=-1..2,y=-1..2,
optionsexcluded=(color=white),
optionsclosed=(color=red));
b)
Calculeu les coordenades dels vertexs de la regio
.
> s1:=solve({x+y=1,y=0});
> p1:=subs(s1,[x,y]);
> s2:=solve({x+y=1,x+3*y = 2});
> p2:=subs(s2,[x,y]);
> s3:=solve({y=0,x-y = 3/2});
> p3:=subs(s3,[x,y]);
> s4:=solve({x-y = 3/2,x+3*y = 2});
> p4:=subs(s4,[x,y]);
> plot([p1,p3,p4,p2,p1],0..2,0..1,scaling=constrained,style=line);
> restart;
a)
Feu un grafic de la funcio
per a
entre
i
.
> f:=x->1/(x^2+7*x+12);
> plot(f(x),x=-5..0,-10..6,discont=true);
b)
Determineu una primitiva
de
i dibuixeu-ne el seu grafic....
> int(f(x),x);
> g:= x-> -ln(x+4)+ln(x+3);
> plot(g(x),x=-5..0,-5..5);
Si es vol que funcioni s'ha de definir
d'una altra forma
> g1:=x->ln(abs((x+3)/(x+4)));
> plot(g1(x),x=-5..0);
Les punxes en
i
corresponen als valors on la derivada de
es infinita
c)
Calculeu l'area ...... entre
i
> int(f(x),x=-36/10..-32/10);
> simplify(g1(-32/10)-g1(-36/10));
> simplify(g(-32/10)-g(-36/10));
> restart;
a)
Feu un procediment que determini si quatre punts ordenats del pla son els vertexs consecutius d'un quadrat
>
sonquadrat:= proc(A,B,C,D)
local c1,c2,c3,v1,v2,v3,v4;
v1:=B-A;v2:=C-B;v3:=D-C;v4:=A-D;
c1:= evalb(v1=-v3);
c2:= evalb(v2=-v4);
c3:= evalb(v1[1]*v2[1]+v1[2]*v2[2]=0);
if (c1 and c2 and c3) then printf("Quadrat");return(true) else printf("No quadrat");return(false) end if;
end proc;
> sonquadrat([0,0],[1,0],[0,1],[1,1]);
No quadrat
> sonquadrat([0,0],[0,1],[1,1],[1,0]);
Quadrat
> plot([[0,0],[1,0],[0,1],[1,1],[0,0]],scaling=constrained);
> plot([[0,0],[0,1],[1,1],[1,0],[0,0]],scaling=constrained);
b)
Utilitzant el procediment anterior com a punt de partida.....
>
sonquadrat2:= proc(a,b,c,d)
local sonquadrat1;
sonquadrat1:=proc(A,B,C,D)
local c1,c2,c3,v1,v2,v3,v4;
v1:=B-A;v2:=C-B;v3:=D-C;v4:=A-D;
c1:= evalb(v1=-v3);
c2:= evalb(v2=-v4);
c3:= evalb(v1[1]*v2[1]+v1[2]*v2[2]=0);
if (c1 and c2 and c3) then return(true) else ;return(false) end if;
end proc;
if (sonquadrat1(a,b,c,d) or sonquadrat1(a,b,d,c) or sonquadrat1(a,c,b,d)) then
true else
false
end if;
end proc;
> sonquadrat2([0,0],[1,1],[0,1],[1,0]);
c)
Representeu els quadrilaters determinats per les families de punts
,
,
i comproveu el funcionament de les dues funcions de l'apartat anterior
>
l1:= [1, 3], [5, 0], [-2, -1], [2, -4];
l2:= [1, -1], [2, 3], [4, 1/2], [-1/2, 3/2];
l3:= [3, -1], [13/2, -3/2], [7, 2], [7/2, 5/2];
>
plot([l1,l1[1]],scaling=constrained);
sonquadrat(l1);
sonquadrat2(l1);
No quadrat
>
plot([l2,l2[1]],scaling=constrained);
sonquadrat(l2);
sonquadrat2(l2);
No quadrat
>
plot([l3,l3[1]],scaling=constrained);
sonquadrat(l3);
sonquadrat2(l3);
Quadrat
Tipus 47132
1.
Es el mateix que el 3. del tipus 86183
2.
Es exactament el mateix que el 2. del tipus 39051. L'unic canvi correspon als limits d'integracio de l'apartat c)
> int(f(x),x=-375/100..-325/100);
3.
El problema coincideix amb el 1. del tipus 86183
Tipus 94264
1.
Es el mateix exercici que el 3. del tipus 39051. Nomes canviaran les dades dels punts en l'apartat c)
>
l1:= [[1,-1],[2,3],[7/2,1/2],[-1/2,3/2]];
l2:= [[1,3],[5,0],[8,4],[4,7]];
l3:= [[2,3],[35/2,7/2],[17,19],[3/2,18]];
> plot([[op(l1),l1[1]]],scaling=constrained);
> sonquadrat(op(l1));sonquadrat2(op(l1));
No quadrat
> plot([[op(l2),l2[1]]],scaling=constrained);
> sonquadrat(op(l2));sonquadrat2(op(l2));
Quadrat
> plot([[op(l3),l3[1]]],scaling=constrained);
> sonquadrat(op(l3));sonquadrat2(op(l3));
No quadrat
2.
Es el mateix exercici que el 2. del tipus 86183. Nomes canvien els limits d'integracio de l'apartat c)
> int(f(x),x=-7/4..7/4);
3.
Es exactament el mateix problema que el 1. del tipus 39051 .