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

На­пи­ши­те в от­ве­те число, ко­то­рое будет вы­ве­де­но в ре­зуль­та­те вы­пол­не­ния сле­ду­ю­ще­го ал­го­рит­ма. Для Ва­ше­го удоб­ства ал­го­ритм пред­став­лен на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сикPython

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

A = -20: 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 + 27

 

FUNCTION F(x)

    F = 2 * (x * x - 100) * (x * x - 100) + 5

END FUNCTION

def F(x):

    return 2 * (x * x - 100) * (x * x - 100) + 5

a = -20; 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 + 27)

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

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

function F(x: longint): longint;

    begin

        F := 2 * (x * x - 100) * (x * x - 100) + 5;

    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 + 27)

end.

алг

нач

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

    a := -20; b := 20

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

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

        если F(t) < R то

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

        все

    кц

    вывод M + 27

кон

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

нач

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

кон

Си++

#include <iostream>

using namespace std;

 

long F(long x)

{

    return 2 * (x * x - 100) * (x * x - 100) + 5;

}

int main()

{

    long 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);

        }

    }

    cout << M + 27 << endl;

    return 0;

}

Спрятать решение

Ре­ше­ние.

1.  Ал­го­ритм пред­на­зна­чен для по­ис­ка наи­мень­ше­го зна­че­ния функ­ции F(t) на от­рез­ке от a до b, сум­ми­ро­ва­ния абс­цис­сы, со­от­вет­ству­ю­щей ми­ни­маль­но­му зна­че­нию, с чис­лом 27 и вы­во­да этой суммы на экран.

2.  За­ме­тим, что гра­фик функ­ции F = 2 левая круг­лая скоб­ка x в квад­ра­те минус 100 пра­вая круг­лая скоб­ка в квад­ра­те плюс 5 имеет два ми­ни­му­ма на от­рез­ке [−20; 20] и эти ми­ни­му­мы до­сти­га­ет­ся в точ­ках −10 и 10. Усло­вие в цикле for стро­гое, по­это­му будет вы­ве­де­но зна­че­ние, со­от­вет­ству­ю­щее пер­во­му ми­ни­му­му, то есть −10 + 27 = 17.

 

Ответ: 17.

Источник: Де­мон­стра­ци­он­ная вер­сия ЕГЭ−2020 по ин­фор­ма­ти­ке