СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
≡ информатика
сайты - меню - вход - новости




Задания
Версия для печати и копирования в MS Word
Задание 21 № 13605

Определите, какое число будет напечатано в результате выполнения следующего алгоритма (для Вашего удобства алгоритм представлен на пяти языках):

 

 

БейсикPython

DIM A, B, T, M, R AS INTEGER

A = -10: B = 20

M = A: R = F(A)

FOR T = A TO B

    IF F(T) <= R THEN

        M = T

        R = F(T)

    END IF

NEXT T

PRINT M*R

 

FUNCTION F(x)

    F = 2*(x*x-9)*(x*x-9)+9;

END FUNCTION

def F(x):

    return 2*(x*x-9)*(x*x-9)+9

a=-10; b=20

M=a; R=F(a)

for t in range(a,b+1):

    if F(t)<=R:

        M=t; R=F(t)

print(M*R)

ПаскальАлгоритмический язык

var a,b,t,M,R :longint;

Function F(x:integer):integer;

    begin

        F := 2*(x*x-9)*(x*x-9)+9;

    end;

BEGIN

    a := -10; 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.

алг

нач

    цел a, b, t, M, R

    a := -10; b := 20

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

    нц для t от a до b

        если F(t) <= R

            то

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

        все

    кц

    вывод M*R

кон

алг цел F(цел x)

нач

    знач := 2*(x*x-9)*(x*x-9)+9

кон

Си++

#include <iostream>

using namespace std;

int F(int x)

{

    return 2*(x*x-9)*(x*x-9)+9;

}

int main()

{

    int a, b, t, M, R;

    a = -10; b = 20;

    M = a; R = F(a);

    for (t=a; t<=b; t++) {

        if (F(t)<=R) {

            M = t; R = F(t);

        }

    }

    cout << M*R << endl;

    return 0;

}

 

Решение.

Изначально M = −10, а R = 16571. Далее при t от −10 до 20 проверяем, истинно ли выражение F(t) <= R, и обновляем значение, если это так. Поэтому программа находит минимальное t и F(t), при котором F(t) <=F(t-1), а F(t+1) > F(t). Получаем систему:

 

2*((x)*(x)-9)*((x)*(x)-9) <= 2*((x-1)*(x-1)-9)*((x-1)*(x-1)-9)

2*((x)*(x)-9)*((x)*(x)-9) <=2*((x+1)*(x+1)-9)*((x+1)*(x+1)-9)

 

Упростив, получаем:

 

(x-3)*(x+3)*(x-3)*(x+3) <=(x-4)*(x+2)*(x-4)*(x+2)

(x-3)*(x+3)*(x-3)*(x+3) <=(x-2)*(x+4)*(x-2)*(x+4)

 

Это возможно только при x = 3. Тогда R(3) = 9. Ответ 3*9 = 27.

 

 

Ответ: 27.

Источник: Тренировочная работа по ИНФОРМАТИКЕ 11 класс 12 мая 2017 года Вариант ИН10503