Поделитесь своими знаниями, ответьте на вопрос:
Задано игровое поле следующего вида: Стрелка – точка старта объекта. Направление стрелки – то, куда смотрит объект перед началом движения Необходимо составить алгоритм движения так, чтобы объект собрал все «1». Алгоритм предполагает рекурсивный вызов функций F1, F2. Количество команд в функции ограничено. Для реализации алгоритма предоставлены функции следующего вида: F1: @ @ @ @ F2:@ @ @ @ Доступные команды: Ш Сделать 1 шаг в направлении движения К Закрасить клетку П Повернуться на месте направо Л Повернуться на месте налево ПЦ Повернуться на месте направо, если клетка, в которой находимся окрашена ЛЦ Повернуться на месте налево, если клетка, в которой находимся окрашена
begin
F := 3 * sin(x) + 2 * sqr(x) - 1;
end;
var
a, b, h, x, Fa, Fx: real;
begin
Write('Введите через пробел начало интервала, конец и шаг: ');
Readln(a, b, h);
x := a; Fa := F(a);
repeat
Fx := F(x);
if Fx = 0 then Writeln('Найден корень ', x:0:3)
else
if Fx * Fa < 0 then
Writeln('Найден интервал изоляции корня (', a:0:3, ';', x:0:3, ')');
a := x; Fa := Fx; x := x + h
until x > b;
end.
Тестовое решение:
Введите через пробел начало интервала, конец и шаг: 0 1.95 0.15
Найден интервал изоляции корня (0.150;0.300)
Введите через пробел начало интервала, конец и шаг: -5 5 0.1
Найден интервал изоляции корня (-1.500;-1.400)
Найден интервал изоляции корня (0.200;0.300)