Pavel SE

Я не совсем понимаю, как решать эту задачу.

Из условий ясно, что мы принимаем функцию и некий дифферент. Т.е.

function smooth ($func, $dx) 
{ 
}

И тут я не понимаю.. Нужно что-то типа

function smooth ($func, $dx) 
{ 
$smooth1 = $func ($x - $dx);
$smooth2 = $func ($x);
$smooth3 = $func ($x + $dx);

return ($smooth1 + $smooth2 + $smooth3) / 3;
}

Но как мы можем знать заранее, какова $func?

3 1

Мы не можем знать и не должны какая функция к нам придет, но мы обговариваем (обычно в документации), что должна прийти функция от столько-ито параметров, параметры таких-то типов, и функция по смыслу должна делать то-то. В нашем случае договоренность эта произошла без нашего участия и зная какого рода функции нам будут передавать, дают задание - написать функцию, которая вернет новую функцию от $x, которая будет возвращать результат по-другому.

В целом, ты на правильно пути, только посмотри, что сейчас у тебя неоткуда получить икс, и твоя основная функция возвращает результат а не новую функцию. )

1

$smoothFunc(10) $x берется отсюда?

0

Похожие вопросы

Максим Чаплыгин 26 июля 2016 →

В приведенном примере опечатка - в передаваемой лямбда-функции аргумент $sum, но внутри лямбды используется...

Анатолий Сюняев 19 мая 2016 →

Мне кажется, формулировку задачи нужно немного подкорректировать: "Напишите функцию smooth, которая в каче...

Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Node, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →