```vb
Module FactorialSum
Sub Main()
Dim n As Integer = 12 ' 设定 n 的最大值为 12
Dim sum As Long = 0
For i As Integer = 1 To n
sum += factorial(i)
Next
Console.WriteLine("从 1 到 " & n & " 的阶乘之和为: " & sum)
Console.ReadLine()
End Sub
Function factorial(ByVal num As Integer) As Long
If num = 0 Or num = 1 Then
Return 1
Else
Dim result As Long = 1
For j As Integer = 2 To num
result = j
Next
Return result
End If
End Function
End Module
```
解释:
- Main 子过程:这是程序的入口点。我们首先定义了变量 `n` 为 12,这是问题中给出的最大值。然后初始化一个长整型变量 `sum` 来存储阶乘的总和。
- For 循环:使用 `For` 循环从 1 遍历到 `n`,每次迭代调用 `factorial` 函数来计算当前数字的阶乘,并将结果累加到 `sum` 中。
- factorial 函数:这个函数接受一个整数参数 `num`,返回它的阶乘值。如果 `num` 是 0 或 1,则直接返回 1(因为 0! 和 1! 都等于 1)。对于其他情况,它会通过一个循环从 2 到 `num` 计算阶乘。
这段代码简单明了地实现了题目要求的功能,并且确保了 n 的值不会超过 12。这样的结构有助于减少错误,同时保持代码的可读性和效率。