Какое наибольшее целое значение h нужно ввести чтобы программа напечатала число 30. var a,b,t,m,r,h : integer; function f(h, x: integer): integer; begin f : = 11*(x-h)*(x-h)+13; end; begin readln(h); a : = 0; b : = 30; m : = a; r : = f(h, a); for t : = a to b do begin if (f(h, t) > r) then begin m : = t; r : = f(h, t) end end; write(m); end.

topghalya228 topghalya228    2   07.07.2019 20:10    0

Ответы
yaooiojhh yaooiojhh  30.07.2020 23:16
Программа получает со ввода значение H и выполняет табуляцию функции F(t,H)=11(t-H)²+13 на интервале [0;30]. На вывод поступает значение t, при котором функция F(t,H) принимает максимальное значение.
В задании требуется определить максимальную величину H, при которой функция F(t,H) на заданном интервале принимает максимальное значение для t=30, т.е. на правом конце интервала.
График функции F(t,H) - это квадратная парабола, ветви которой направлены вверх, поэтому максимальное значение такой функции достигается на одном или одновременно на обоих концах интервала. Для нашего случая
F(30,H) > F(0,H)
11(30-H)²+13 > 11(0-H)²+13
11(900-60H+H²)+13 > 11H²+13
9900-660H+11H²+13 > 11H²+13
9900-660H > 0 ⇒ H < 9900/660 или H<15.
В целых числах получаем H=14 (в программе H описывается как integer).
ответ: H=14
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика