Строго объяснять не вижу смысла, поскольку придется тратить время на разъяснение массы попутных вещей, начиная от λ-исчисления и Алонзо Чёрча. Если бы Вам было понятно одно из определений, вроде "Лямбда-выражение — это анонимная функция, с которой можно создавать типы делегатов или деревьев выражений", Вы бы не стали писать сюда вопрос. Поэтому постараюсь рассказать "на пальцах" и примерах.
"Лямбды" - это функции (а также, выражения и процедуры), позволяющие эффектно в одном месте и объявить их, и использовать, причем, зачастую, даже не давая этим функциям имени (анонимные функции). Вот такие они "одноразовые".
Записывается лямбда обычно в форме t -> f(t) и читается "t переходит в f(t)". Фактически, тут много общего с обычной функцией, имеющей формальный параметр 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)
Наверное, здесь ошибка - текст занимает 10 дорожек, а не секторов. 180 Кбайт разбиты на 40 дорожек по 9 секторов, то есть на 40*9=360 частей (кластеров). 1 кластер занимает 180/360=0,5 Кбайта. Текст занимает 10 полных дорожек, то есть 10*9=90 кластеров. Объем текста равен 90*0,5 = 45 Кбайт. Текст записан с символьного алфавита, то есть на каждый символ уходит 4 бита = 0,5 байта, потому что 16 = 2^4. Количество символов в тексте равно 45*1024/2 = 45*512 = 23040.
Если же ошибки нет, и файл занимает 10 секторов, то это 1 дорожка и еще 1 сектор. Тогда объем файла 5 Кбайт = 5*1024/2=5*512=2560 символов
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку