> suma:=proc(f,i,j)
local g,a:
g:=0:
for a from i to j do:
g:=g+f(a):
end do:
print(g):
end proc:
> suma(x->1/x,1,2);
>
> iloczyn:=proc(f,i,j)
local g,a:
g:=1:
for a from i to j do:
g:=g*f(a):
end do:
print(g):
end proc:
> iloczyn(x->x^2,1,3);
> okregi:=proc(x1,x2,y1,y2,r1,r2)
local w,d:
w:=r1+r2:
d:=sqrt((x2-x1)^2+(y2-y1)^2):
if w>d then printf("okregi przecinaja sie") else
if w=d then printf("styczne"):
else
printf("nie przecianaja sie"):
end if:
end if:
end proc:
> okregi(1,1,1,1,1,1);
okregi przecinaja sie
>
> pole:=proc(x1,y1,x2,y2,r)
local pole,kat,bok,d:
d:=(sqrt((x2-x1)^2+(y2-y1)^2))/2:
kat:=arccos(d/r)*(180/Pi):
bok:=(sqrt(r^2-d^2))/2:
pole:=4*((kat/360)*Pi*r^2-bok*d):
print(evalf(pole)):
end proc:
> pole(0,1,0,1,4);
>
> koza:=proc(a,r)
local kat,h,polekola,poletroj,pole:
if is(r>=a*sqrt(2)) then
printf("koza zjadla cale trawe"):
pole:=a^2:
print(pole):
else
if is(r<=a) then
printf("koza zjadla"):
pole:=(Pi*r^2)/4:
print(pole):
else
h:=sqrt(r^2-a^2):
kat:=Pi/2-2*arccos(a/r):
poletroj:=a*h:
polekola:=kat/(2*Pi)*Pi*r^2:
pole:=poletroj+polekola:
printf("koza zjadla"): print(evalf(pole)):
end if:
fi:
end proc:
> koza(1,sqrt(2)-1/100);
koza zjadla
> budynek:=proc(cien,alfa,beta)
local h:
if is(alfa>0 and alfa<Pi/2 and cien>0 and beta=0) then
h:=cien*evalf(tan(alfa)):
printf("wysokosc"): print(h):
else
if is(alfa>0 and alfa<Pi/2 and cien>0 and beta<>0) then
h:=(cien*evalf(sin(alfa)))/evalf(sin(Pi/2+beta-alfa)):
printf("wysokosc to"): print(h):
else
printf("zmien dane"):
end if:
end if:
end proc:
> budynek(1,Pi/4,-Pi/4);
wysokosc to
>
> punktstaly:=proc(f,x,eps)
local x1,x0:
x0:=x:
x1:=evalf(F(x0)):
while is (abs(x1-x0)>=eps) do
x0:=x1:
x1:=evalf(F(x1)):
end do:
print(evalf(x1));
end proc:
> punktstaly(x->-1/2*cos(x),0,0.001);
>
> zapis:=proc(liczba,q)
local m,r,Q,k:
m:=liczba:
for k from 1 by 1
while is(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):
print(Q):
end proc:
> zapis(17,2);