我不知道该怎么做。
通过创建,计算和显示N个斐波那契元素来保存算法。序列的前两个元素等于1,而每个后续元素根据f(n)= f(n-2)+ f(n-1)
我必须在图NS,流程图,伪代码中执行此操作
可以使用Informatica计算斐波那契数列,但实际上并不是正确的工具!斐波那契数列是基于递归的,而Informatica大多是线性的。
为了模拟Informatica中的递归性,可以使用在Expressions中声明为变量的字段的属性:当Expression中有新行时,它们保持相同的值,并按顺序对其求值。
基于此知识,您可以创建具有以下元素的映射:
Un_2
,Un_1
,Un
)和一个BigInt类型的输出字段(Un_out
)在表达式转换中,字段包含以下表达式:
n_unused
(输入,无表达式)Un_2
:Un_1
Un_1
:IIF(Un_1 = 0, 1, Un)
Un
:Un_2 + Un_1
Un_out
:Un_2
这些表达式起作用,因为变量的初始值为零。 Un_out
接收Un_2
以查看斐波那契数列的第一个值:0和1。
将源字段链接到n_unused
,将Un_out
链接到目标字段。然后为该映射创建并配置工作流。您必须提供包含一些行的输入文件才能使它起作用!
作为补充,在Informatica因溢出而停止之前可以计算多少个值? (毕竟我们处于堆栈溢出!)