我在我正在查看的电子表格的一个单元格中看到了这个公式
=IF(F28<1189,2.2,IF(F28 <1568,0.000792049*F28+1.258,IF(F28<2491,0.004873 * F28-5.142,0.02269*F28^0.7329)))
我正在创建一个程序,我需要有人用英语单词翻译它,以便我知道先编码哪个,这看起来很混乱,因为如果一个人在 excel 中查看一个单元格,公式会出现在一行中,我不知道哪个会去首先..伪代码也可以提供帮助
我在我正在查看的电子表格的一个单元格中看到了这个公式
=IF(F28<1189,2.2,IF(F28 <1568,0.000792049*F28+1.258,IF(F28<2491,0.004873 * F28-5.142,0.02269*F28^0.7329)))
我正在创建一个程序,我需要有人用英语单词翻译它,以便我知道先编码哪个,这看起来很混乱,因为如果一个人在 excel 中查看一个单元格,公式会出现在一行中,我不知道哪个会去首先..伪代码也可以提供帮助
如果您根据括号缩进,它会有所帮助:
=IF(F28<1189,
2.2,
IF(F28 <1568,
0.000792049*F28+1.258,
IF(F28<2491,
0.004873 * F28-5.142,
0.02269*F28^0.7329
)
)
)
所以这意味着:
if (F28 < 1189) {
return 2.2
} else if (F28 < 1568) {
return 0.000792049 * F28 + 1.258
} else if (F28 < 2491) {
return 0.004873 * F28 - 5.142
} else {
return 0.02269 * F28 ^ 0.7329
}
应该被IF(a, b, c)
视为take value b if a is true or take c otherwise
.
所以把它翻译成通常的伪代码(不是简单的英语):
if F28 < 1189:
return 2.2
if F28 < 1568:
return 0.000792049*F28+1.258
if F28 < 2491:
return 0.004873 * F28-5.142
return 0.02269*F28^0.7329
所以它是一个函数 f(x) 的定义,或者更确切地说F28
是这里的变量名称,它由一些规模范围内的几个表达式组成x
。
在伪代码中,此公式说明
int val;
if(F28<1189)
val = 2.2
else if(F28<1568)
val = 0.000792049*F28+1.258
else if(F28<2491)
val = 0.004873 * F28-5.142
else
val =0.02269*F28^0.7329