I haven't worked with Pascal so far, and my problem is understanding the recursive aspects that prm assignment operators and how the final (correct) value is derived. Would someone please explain that line for me. Program test(output);FUNCTION prm(az:integer) : real;begin    if az = 1 then        prm := sqrt(12)    else        prm := sqrt(12*prm(az-1));end;begin    writeln(prm(30):0:2);end.
Trace code pascal
recursion;pascal
This is a recursive function in pascal.  The 'return' value that C like language people are familiar with is instead done by assigning a value to the psuedo-value of the function name itself.When passed a parameter of 1, it returns the square root of 12.When passed a parameter of 2, it returns the square root of 12 times the square root of 12 (the value it was passed with 1).When passed a parameter of 3, it returns the square root of 12 times the value when it was passed with 2.And so on...