Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

if (F(t)< R)then begin. Var a,b,t,M,R:integer;. Function F(x:integer):integer;. F:= abs( abs(x-5) + abs(x+5)- 20 ) + 4;




if (F(t)< R)then begin

M: =t;

R: =F(t);

end;

14) поэтому после нахождения точки минимума x = –5 никаких изменений не произойдет, и в переменной M останется значение «–5»; таким образом, будет найдет первый минимум

(Примечание: если бы в условии было нестрогое неравенство (< =), была бы найдена последняя из точек с минимальной ординатой, M = 5)

15) обратим внимание, что на экран выводится не M, а M+R, поэтому результат будет равен

(–5) + 19 = 14

16) Ответ:  14.

Ещё пример задания:

P-16. Определите, какое число будет напечатано в результате выполнения следующего алгоритма:

Var a, b, t, M, R: integer;

Function F(x: integer): integer;

begin

F: = abs( abs(x-5) + abs(x+5)- 20 ) + 4;

end;

BEGIN

a: =-20; b: =20;

M: =a; R: =F(a);

for t: =a to b do begin

if (F(t)< R)then begin

M: =t;

R: =F(t);

end;

end;

write(M+R);

END.

Решение:

1) заметим, что в программе есть цикл, в котором переменная t принимает последовательно все целые значения в интервале от a до b:

for t: =a to b do begin

...

end;

2) до начала цикла в переменную M записывается значение a, а в переменную R – значение функции в точке a:

M: =a; R: =F(a);

3) внутри цикла есть условный оператор, в котором вычисляется значение функции F(t) и сравнивается со значением переменной R:

if (F(t)< R)then begin

M: =t;

R: =F(t);

end;

если новое значение функции меньше, чем значение R, в R записывается значение функции в точке t, а в переменной M запоминается само значение t (аргумент функции, соответствующий значению в R)

4) в результате анализа пп. 1-3 можно сделать вывод, что цикл ищет минимум функции F(t) на интервале от a до b, и после выполнения цикла в переменной M оказывается значение аргумента t, при котором функция достигает минимума на заданном интервале (здесь это интервал [-20, 20])

5) запишем заданную функцию в привычном «математическом» виде:

f(x) = | | x – 5 | + | x + 5 |  – 20 | + 4

чтобы найти минимум этой функции без ручного перебора всех целых значений x, нам нужно представлять, как идёт её график

6) сначала рассмотрим функцию под знаком «большого» модуля g(x) = | x – 5 | + | x + 5 | – 20;

7) находим нули выражений под знаком модуля и отмечаем их на числовой оси:

8) рассматриваем интервал (–¥; –5), раскрываем модули (оба с обратным знаком):

g(x) = – (x – 5) – (x + 5) – 20 = –2x – 20

на этом интервале функция g(x) убывает

9) рассматриваем полуинтервал [–5; 5), раскрываем модули:

g(x) = – (x – 5) + (x + 5) – 20 = – 10

на этом интервале значение функции g(x) постоянно

10) рассматриваем полуинтервал [5; ¥ ), раскрываем модули:

g(x) = (x – 5) + (x + 5) – 20 = 2x – 20

на этом интервале функция g(x) возрастает

график функции g(x) показан на рисунке справа

11) как видно по графику, на интервале (–10; 10) функция имеет отрицательные значения; найти границы этого интервала можно решив уравнения

g(x) = –2x – 20 = 0 Þ x = – 10

g(x) = 2x – 20 = 0 Þ x = 10

12) поскольку f(x) = |  g(x)  | + 4, за счёт модуля «язык», вылезший вниз за ось OX, загнётся вверх, так что функция f(x) будет иметь минимальные значения, равные 4, как раз в точках x = – 10 и x = 10 (см. рисунок справа)

13) осталось понять, какую именно точку она найдёт; посмотрим на программу: запоминание новой точки минимума происходит только тогда, когда только что вычисленное значение F(t) станет строго меньше, чем хранящееся в переменной R:

if (F(t) < R)then begin

M: =t;

R: =F(t);

end;

14) поэтому в точке второго минимума x = 10 никаких изменений не произойдет, и в переменной M останется значение «–10»; таким образом, будет найдет первый минимум

(Примечание: если бы в условии было нестрогое неравенство (< =), была бы найдена последняя из точек с минимальной ординатой, M = 10)

15) обратим внимание, что на экран выводится не M, а M+R, поэтому результат будет равен

(–10) + 4 = – 6

16) Ответ: – 6.

Ещё пример задания (досрочный ЕГЭ-2017):

P-15. Напишите в ответе число, равное количеству различных значений входной переменной k, при которых приведённая ниже программа выводит тот же ответ, что и при входном значении k = 25. Значение k = 25 также включается в подсчёт количества различных значений k.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...