Here is the final version of our program, being used to test a new triangle. Use the Codelens view to run the program. As you watch it run, here are some things to pay attention to:
What distance calls x1, x2, y1, and y2 does not always match the names used for those values in triangle_area. For example, when we call distance(x2, y2, x3, y3) in triangle_area, distance will be given the value that triangle_area is calling x2 as its first parameter. distance calls its first parameter x1.
This is a little confusing if we try to think of something like x1 as some fixed value that all functions agree on. But that is not how variables work. If multiple functions or procedures have a parameter or variable named x1, each one is potentially talking about a different piece of information.