Zad. 1
suma:=proc(n,i,j)
local g:
g:=sum(a[k], k=i..j):
print(g):
end proc:
a[k]:=k^2:
suma(n,1,2);
5
Zad. 2
iloczyn:=proc(n,i,j)
local g:
g:=product(a[k], k=i..j):
print(g):
end proc:
a[k]:=1/k:
iloczyn(n,1,3);
1
-
6
Zad. 5
a:=1.5:
r:=2:
if is(r >=a*sqrt(2)) then
print("Koza zjadla cala trawe na lace");
else
print("Koza zjadla : ");
if is(r <= a) then
Pole:=(Pi*r^2)/4:
else
k:=r^2:
bok:=sqrt(k-a^2):
kat:=90-2*arccos(a/r)*(180/Pi):
Pole:=bok*a+(kat/360*Pi*k);
fi:
eval(Pole,5);
print("W przybli?eniu: ");
evalf(Pole,5);
print(" j^2 trawy.");
fi;
"Koza zjadla : "
1 / 260.1843292\
1.984313484 + -- |90 - -----------| Pi
90 \ Pi /
"W przybli?eniu: "
2.2350
" j^2 trawy."
Zad. 8
metoda bisekcji (polowienia)
polowienie:=proc(f,A,B,M,epsilon,delta)
local a,b,u,v,e,m,c;
global z,w;
a:=A:
b:=B:
u:=f(a):
v:=f(b):
e:=b-a:
if is(signum(u)<>signum(v)) then
for m from 0 by 1 while m<=M do
c:=a+e/2:
w:=f(c):
if is(signum(u)<>signum(w)) then
b:=c:
v:=w:
else
a:=c:
u:=w:
fi:
e:=b-a:
od:
if is(abs(e)>=delta or abs(w)>=epsilon) then
printf("przekroczono liczbe krokow, bez osiagniecia wymaganej dokladnosci. Przyblizona wartosc funkcji");
print(evalf(c)):
else
printf("Przyblizona wartosc funkcji:");
print(evalf(c)):
fi:
else
printf("W zadanym przedziale moze nie byc pierwiastka rownania");
fi;
printf("Wykonano petli: ");
print(m);
printf("Wartosc funkcji w obliczonym punkcie: "):
evalf(w);
end proc:
metoda Newtona
newton:=proc(f,fp,A,B,M,epsilon,delta)
local x0,x1,m,v,v1:
m:=0:
if is((fp(A)>=0 and (D@@2)(f)(A)>=0) or (fp(A)<0 and (D@@2)(f)(A)<=0)) then x0:=max(A,B): x1:=min(A,B) else x0:=min(A,B): x1:=max(A,B): fi:
v:=evalf[30](f(x0)):
v1:=evalf[30](fp(x0)):
if is(signum(f(A))<>signum(f(B))) then
while is(m<=M and (abs(x1-x0)>=delta or abs(v)>=epsilon)) do
x1:=x0-v/v1:
v:=evalf[30](f(x1)):
v1:=evalf[30](fp(x1)):
x0:=x1:
m:=m+1:
od:
if is(abs(x1-x0)>=delta and abs(v)>=epsilon) then
printf("przekroczono liczbe krokow, bez osiagniecia wymaganej dokladnosci. Przyblizona wartosc funkcji");
print(evalf(x1)):
else
printf("Przyblizona wartosc funkcji:");
print(evalf(x1)):
printf("Z dokladnoscia: "):
print(delta):
fi;
printf("Wykonano nastepujaca liczbe iteracji: "):
print(m):
printf("Wartosc funkcji w punkcie: ");
print(evalf[10](v));
else
printf("W zadanym przedziale moze nie byc pierwiastka rownania");
fi;
end proc:
metoda cieciw
cieciw:=proc(f,A,B,M,epsilon,delta)
local fa,fb,m,a,b,s:
m:=0:
if B>A then a:=B: b:=A else a:=A: b:=B: fi:
fa:=evalf[30](f(a)):
fb:=evalf[30](f(b)):
if is(signum(fa)<>signum(fb)) then
while is(m<=M and (abs(a-b)>=delta or abs(fa)>=epsilon)) do
s:=(b-a)/(fb-fa):
b:=a:
fb:=evalf[30](fa):
a:=a-fa*s:
fa:=evalf[30](f(a)):
m:=m+1:
od:
if is(abs(b-a)>=delta or abs(fa)>=epsilon) then
printf("przekroczono liczbe krokow, bez osiagniecia wymaganej dokladnosci. Przyblizona wartosc funkcji");
print(evalf(a)):
else
printf("Przyblizona wartosc funkcji:");
print(evalf(a)):
printf("Z dokladnoscia: "):
print(delta):
fi;
printf("Wykonano nastepujaca liczbe iteracji: "):
print(m):
printf("Wartosc funkcji w punkcie: ");
print(evalf[10](fa));
else
printf("W zadanym przedziale moze nie byc pierwiastka rownania");
fi;
end proc:
Zad. 9
F:=x->-1/2*cos(x):
eps:=0.001:
x0:=0:
x1:=evalf(F(x0)):
while abs(x1-x0)>=eps do
x0:=x1:
x1:=evalf(F(x1)):
end do:
evalf(x1);
-0.4502997782
Zad. 10
Zad. 11
m:=23:
q:=2:
for k from 1 by 1 while iquo(m,q) > 0 do
r[k]:= irem(m,q):
m:= iquo(m,q):
end do:
r[k]:= irem(m,q):
Q:=seq(r[k-i+1],i=1..k):
Q;
1, 0, 1, 1, 1
z podmiana na litery A,B,C,D,E,F
m:=1005252672:
q:=16:
for k from 1 by 1 while iquo(m,q) > 0 do
r[k]:= irem(m,q):
if r[k]=10 then r[k]:=A elif
r[k]=11 then r[k]:= B elif
r[k]=12 then r[k]:= C elif
r[k]=13 then r[k]:= D elif
r[k]=14 then r[k]:= E elif
r[k]=15 then r[k]:= F
fi;
m:= iquo(m,q):
end do:
r[k]:= irem(m,q):
Q:=seq(r[k-i+1],i=1..k):
Q;
3, B, E, A, F, 0, 4, 0
w druga strone
p:=nops([Q])-1:
s:=0:
for k from 1 by 1 to p+1 do
r[k]:=Q[k]:
if not type(Q[k],symbol) then elif
r[k] = A then r[k]:= 10 elif
r[k] = B then r[k]:= 11 elif
r[k] = C then r[k]:= 12 elif
r[k] = D then r[k]:= 13 elif
r[k] = E then r[k]:= 14 elif
r[k] = F then r[k]:= 15
fi;
s:=s+r[k]*16^(p-k+1);
end do:
s;
1005252672
Wyszukiwarka
Podobne podstrony:
Eksploatacja zadania na egzaminZadania na egzamin 1 (2)ZADANIA NA EGZAMINzadania na egzamin praktyczny koncowaZbiornik liniowy zadanie na egzaminzadania na egzaminPrzykładowe zadania na egzamin 2015na egzamin przykladowe zadaniaPKC pytania na egzaminPrzykładowe pytania na egzaminiePytania na egzaminwięcej podobnych podstron