Решение задач
Разбор задачи B14 (демо ЕГЭ 2013)
Определите, какое число будет напечатано в результате выполнения
следующего алгоритма (для Вашего удобства алгоритм представлен на
четырёх языках).
Бейсик | Паскаль |
---|---|
DIM A, B, T, M, R AS INTEGER A = -20: B = 20 M = A: R = F(A) FOR T = A TO B IF F(T) < R THEN M = T R = F(T) ENDIF NEXT T PRINT M FUNCTION F(x) F = 3*(x-8)*(x-8) END FUNCTION | var a,b,t,M,R :integer; Function F(x:integer):integer; begin F := 3*(x-8)*(x-8) 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); end. |
Си | Алгоритмический |
#include<stdio.h> int F(int x) { return 3*(x-8)*(x-8); } void main() { int a, b, t, M, R; a = -20; b = 20; M = a; R = F(a); for (t=a; t<=b; t++){ if (F(t)<R) { M = t; R = F(t); } } printf("%d", M); } | алг нач цел a, b, t, R, M a := -20; b := 20 M := a; R := F(a) нц для t от a до b если F(t)< R то M := t; R := F(t) все кц вывод M кон алг цел F(цел x) нач знач := 3*(x-8)*(x-8) кон |
Ответ: 8
Решение:
2 способ.
Данная программа анализирует функцию F=3*(x-8)*(x-8) на интервале, где х ∈ [-20, 20] (цикл проходит с шагом 1 все значения х на этом интервале: -20,-19 и т.д).
М хранит значение х, а R-значение F(x), где F(x)-минимальное. Т.е. программа осуществляет поиск минимума функции: min F(x) и соответствующее минимуму значение х. Выводится х. Поэтому х мы должны определить.
1 способ.
Нарисуем, как выглядит функция 3*(x-8)*(x-8):
На рисунке видно ,что функция минимальна при х=8.
2 способ.
Преобразуем функцию F=3*(x-8)*(x-8):
3*(x-8)*(x-8)=3(х2-16х+64)=3х2-48х+192.
Найдем F´(x):
F´(x)=6х-48.
В точках экстремума F´(x)=0. Тогда 6х-48=0. Отсюда х=48\6=8.
Экстремум у нас один, поэтому x=8 - минимум.