nzagrebin363
?>

Сномером 5 , нужно) в долгу не останусь)​

Информатика

Ответы

picassovrn

ответ:

всё показано схематично на фото

in-1973
Строго объяснять не вижу смысла, поскольку придется тратить время на разъяснение массы попутных вещей, начиная от λ-исчисления и алонзо чёрча. если бы вам было понятно одно из определений, вроде " лямбда-выражение — это анонимная функция, с которой можно создавать типы делегатов или деревьев выражений", вы бы не стали писать сюда вопрос. поэтому постараюсь рассказать "на пальцах" и примерах. "лямбды" - это функции (а также, выражения и процедуры), позволяющие эффектно в одном месте и объявить их, и использовать, причем, зачастую, даже не давая этим функциям имени (анонимные функции). вот такие они "одноразовые". записывается лямбда обычно в форме t -> f(t) и читается "t переходит в f(t)". фактически, тут много общего с обычной функцией, имеющей формальный параметр t и определяющей в своем теле значение при f(t). конечно, параметр может быть и не один. изюминка "лямбд" в том, что они могут использоваться на правах простых переменных. например, можно присвоить переменной "лямбду" и передать её, как параметр в программную единицу вместо функции, например var f: real-> real: =t-> 3*sin(t)+cos(t); tab(f,0,10,0.1); лямбды активно присутствуют в операциях, пришедших в pascalabc.net из linq .net, в частности, в проецировании и фильтрации. var n: =arrgen(20,i-> 2*i+5).where(t-> cos(t/6)< 0).count; последние версии pascalabc.net 3.3 имеют развитые средства для программирования в функциональном стиле, построенные на "лямбдах". примеры множественного использования лямбд можно найти в файлах, входящих в стандартную поставку, в также в справочном руководстве по библиотеке численных методов, ставшей стандартной с версии 3.3.0.1552 от 20.10.2017 (файл \program files\pascalabc.net\doc\numlibabc.pdf)
olqa27
//pascalabc.net 3.3,сборка 1611 от 06.01.2018 //внимание! если программа не работает, обновите версию! begin   var mas: =arrrandomreal(10,-99,99);   var c: =mas.select(t-> round(t*100) / 100).toarray; c.println;   var b: =c.min;   c[7]: =b;   c.println; end. program m2 begin var n: =readinteger('введите количество n='); var (b,a,c): =(3,1,2); var k: real: =0; for var i: =1 to n do begin   k: =k+b/(a*c); b: =b+3; a: =a+1; c: =c+2; end; writeln('сумма=',k); end. program m3; begin   var n: =readinteger('введите количество n=');   var c: real: =0;   var b: =1; for var i: =1 to n do begin c: =c+b**2; b: =b+1; end; var y: =n*(n+1)*(2*n+1)/6; if c=y then writeln('тождество верно') else writeln('тождество не верно') end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Сномером 5 , нужно) в долгу не останусь)​
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

sinicin80
andrew-lev2501
masamosijcuk140244
pizzaverona
zoomagazinkotmatroskin
mmihail146
olgolegovnak
ragimovelshad
akarabut343
dearmaria
sveta1308
KonovalovKonstantinovna1306
Margarita
lovely138887
Aleksandrivanovna