Shoelace formula for polygonal area: Difference between revisions

Content added Content deleted
m (→‎{{header|REXX}}: changed whitespace and comments, simplified code, elided use of temporary variables.)
Line 849: Line 849:
ReadChar;
ReadChar;
END ShoelaceFormula.</lang>
END ShoelaceFormula.</lang>

=={{header|Nim}}==
<lang nim>import math

type
Point = tuple
x: float
y: float

func shoelace(points: openArray[Point]): float =
var leftSum, rightSum = 0.0
for i in 0..<len(points):
var j = (i + 1) mod len(points)
leftSum += points[i].x * points[j].y
rightSum += points[j].x * points[i].y
0.5 * abs(leftSum - rightSum)

var points = [(3.0, 4.0), (5.0, 11.0), (12.0, 8.0), (9.0, 5.0), (5.0, 6.0)]

echo $shoelace(points)</lang>

{{out}}

<pre>
30.0
</pre>


=={{header|Perl}}==
=={{header|Perl}}==