我在电子表格中的一个单元格中看到了这个公式,我正在研究
=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中查看一个单元格,公式出现在一行中,我不知道哪个一个人会先行..伪代码也可以帮助
答案 0 :(得分:1)
如果你根据括号缩进它会有所帮助:
=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
}
答案 1 :(得分:1)
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
范围内的某些范围中的几个表达式组成。
答案 2 :(得分:1)
在伪代码中,此公式表示
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