Given the n + 1 vertices x[0], y[0] .. x[N], y[N] of a simple polygon described in a clockwise direction, then the polygon's area can be calculated by:

abs( (sum(x[0]*y[1] + ... x[n-1]*y[n]) + x[N]*y[0]) -
     (sum(x[1]*y[0] + ... x[n]*y[n-1]) + x[0]*y[N])
   ) / 2
(Where abs returns the absolute value)

Task

Write a function/method/routine to use the the Shoelace formula to calculate the area of the polygon described by the ordered points:

     (3,4), (5,11), (12,8), (9,5), and (5,6) 



Show the answer here, on this page.




begin
    comment Shoelace formula for polygonal area - Algol 60;
    real array x[1:33],y[1:33];
    integer i,n;
    real a;
    ininteger(0,n);
    for i:=1 step 1 until n do
    begin
        inreal(0,x[i]);
        inreal(0,y[i])
    end;   
    x[i]:=x[1];
    y[i]:=y[1];
    a:=0;
    for i:=1 step 1 until n do
        a:=a+x[i]*y[i+1]-x[i+1]*y[i];   
    a:=abs(a/2.);
    outreal(1,a)
end
