Переписать функцию с Pascal на C#
Формулировка задачи:
Как написать эту функцию C#
Эта функция написана packal
.
uses GraphABC; const T=35; Go=1e+10; kt=0.02575*T/300; function GN(e:real;m:array[-1000..2000]of integer):real; var i,k:integer; s:real; begin s:=0; for i:=-1000 to 2000 do s:=s+m[i]*exp((e-i/1000)/kT-exp((e-i/1000)/kT))/kT; GN:=s end; var . . .
Решение задачи: «Переписать функцию с Pascal на C#»
textual
Листинг программы
public double GN(double e, Dictionary<int, int> m)
{
var s = 0.0;
var T = 35;
var kt = 0.02575 * T / 300;
foreach (var item in m)
{
var expr1 = (e - item.Key / 1000) / kt;
var expr2 = Math.Exp((e - item.Key / 1000) / kt);
s += item.Value * Math.Exp(expr1 - expr2) / kt;
}
return s;
}