Задания
Версия для печати и копирования в MS Word
Тип Д21 № 18800
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+R

 

FUNCTION F (x)

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

END FUNCTION

def f(x):

     return 2*(x*x-1)*(x*x-1)+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+R)

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

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

function F(x: longint) : longint;

    begin

         F:= 2*(x*x-1)*(x*x-1)+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+R)

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+R

кон

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

нач

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

кон

Си++

#include <iostream>

using namespace std;

 

long F(long x) {

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

}

 

int main() {

     long a = -20, b = 20, M = a, R = F(a);

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

         if (F(t)< R) {

            M = t; R = F(t);

        }

    }

     cout << M + R;

    return 0;

}

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

Ре­ше­ние.

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

2.  F левая круг­лая скоб­ка x пра­вая круг­лая скоб­ка = 2 умно­жить на левая круг­лая скоб­ка x умно­жить на x минус 1 пра­вая круг­лая скоб­ка умно­жить на левая круг­лая скоб­ка x умно­жить на x минус 1 пра­вая круг­лая скоб­ка плюс 5. Стар­ший ко­эф­фи­ци­ент квад­рат­но­го трёхчле­на по­ло­жи­те­лен, сле­до­ва­тель­но, наи­мень­шее зна­че­ние до­сти­га­ет­ся в вер­ши­не −1, и равно F(−1) = 5. На экран будет вы­ве­де­но: −1 + 5 = 4.

 

Ответ: 4.

Источник: ЕГЭ по ин­фор­ма­ти­ке 13.06.2019. Ос­нов­ная волна, Центр. Ва­ри­ант Има­е­ва-Зу­бо­вой — «Ко­то­лис»