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

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

 

Бей­сикПас­каль

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

A = -11: B = 11

M = A: R = F(А)

FOR T = A TO B

    IF F(T) <= R THEN

        M = T

        R = F(T)

    END IF

NEXT T

PRINT M+8

FUNCTION F(x)

    F = (x*x-9)*(x*x-9)+5

END FUNCTION

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

    Function F(x:integer): integer;

        begin

            F := (x*x-9)*(x*x-9)+5

        end;

begin

    a := -11; b := 11;

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

end.

Си++Ал­го­рит­ми­че­ский

#include <iostream>

using namespace std;

int F(int x)

{

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

}

int main()

{

    int a, b, t, M, R;

    a = -11; b = 11;

    M = a; R = F(a);

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

        if (F(t) <= R) {

            M = t; R = F(t);

        }

    }

    cout << M+8 << endl;

}

алг

нач

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

a := -11; b := 11

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

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

если F(t) <= R

то

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

все

кц

вывод M+8

кон

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

нач

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

кон

Python

def f(x):

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

a = -11

b = 11

M = a

R = f(a)

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

    if (f(t) <= R):

        M = t

        R = f(t);

print(M+8)

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

Ре­ше­ние.

Ал­го­ритм пред­на­зна­чен для по­ис­ка точки, в ко­то­рой функ­ция F левая круг­лая скоб­ка x пра­вая круг­лая скоб­ка при­ни­ма­ет наи­мень­шее зна­че­ние на от­рез­ке [a; b]. Функ­ция F левая круг­лая скоб­ка x пра­вая круг­лая скоб­ка = левая круг­лая скоб­ка x в квад­ра­те минус 9 пра­вая круг­лая скоб­ка левая круг­лая скоб­ка x в квад­ра­те минус 9 пра­вая круг­лая скоб­ка плюс 5 = левая круг­лая скоб­ка x в квад­ра­те минус 9 пра­вая круг­лая скоб­ка в квад­ра­те плюс 5 имеет наи­мень­шее зна­че­ние рав­ное 5 в точ­ках 3 и −3. По­сколь­ку вы­пол­не­ние усло­вия «F(t) <= R» опре­де­ля­ет будет ли при­сва­и­вать­ся пе­ре­мен­ной M зна­че­ние пе­ре­мен­ной t, а F(3)  =  F(−3)  =  5, после вы­пол­не­ния цикла в пе­ре­мен­ной M будет за­пи­са­но зна­че­ние 3. После вы­пол­не­ния ко­ман­ды «write(M+8)» про­грам­ма вы­ве­дет на экран число 11.

 

Ответ: 11.


Аналоги к заданию № 5754: 6012 5786 5818 ... Все

Источник: ЕГЭ по ин­фор­ма­ти­ке 08.07.2013. Вто­рая волна. Ва­ри­ант 602