function IsItABinarySearchTree(t: BinaryTree): TAnswer; begin Result.known := true; Result.answer := true; if Assigned(t.left) then begin if t.left.data > t.data then begin Result.answer := false; Result.feedback := IntToStr(t.left.data) + ' is greater than '+ IntToStr(t.data) end else Result := IsItABinarySearchTree(t.left); end; if Assigned(t.right) and (Length(Result.feedback) = 0) then begin if t.right.data < t.data then begin Result.answer := false; Result.feedback := IntToStr(t.right.data) + ' is less than '+ IntToStr(t.data) end else Result := IsItABinarySearchTree(t.right); end; end;