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

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

Бей­сикПас­каль
DIM A, B, T, M, R AS INTEGER

A = -20: B = 20

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

FUNCTION F(x)

    F = 2*(x-15)*(x-17)+19

END FUNCTION

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

Function F(x:integer):integer;

    begin

        F := 2*(x-15)*(x-17)+19

    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)

END.

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

#include <iostream>

using namespace std;

int F(int x)

{

    return 2*(x-15)*(x-17)+19;

}

int main()

{

    int 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 « endl;

}

алг

нач

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

a := -20; b := 20

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

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

    если F(t) < R

    то

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

    все

кц

вывод M

кон

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

нач

    знач := 2*(x-15)*(x-17)+19

кон

Python

def f(x):

    return 2*(x-15)*(x-17)+19

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)

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

Ре­ше­ние.

1.  Цикл "for t:=a to b do begin..." ищет ми­ни­мум функ­ции F(t) на ин­тер­ва­ле от a до b

2.  F левая круг­лая скоб­ка x пра­вая круг­лая скоб­ка =2 левая круг­лая скоб­ка x минус 15 пра­вая круг­лая скоб­ка левая круг­лая скоб­ка x минус 17 пра­вая круг­лая скоб­ка плюс 19=2x в квад­ра­те минус 64x плюс 529 гра­фик этой функ­ции  — па­ра­бо­ла, оси ко­то­рой на­прав­ле­ны вверх, по­это­му функ­ция имеет ми­ни­мум.

3.  Най­дем абс­цис­су точки ми­ни­му­ма:

F левая круг­лая скоб­ка x пра­вая круг­лая скоб­ка =2x в квад­ра­те минус 64x плюс 529 \Rightarrow x_\min = дробь: чис­ли­тель: минус b, зна­ме­на­тель: 2a конец дроби = дробь: чис­ли­тель: 64, зна­ме­на­тель: 2 умно­жить на 2 конец дроби =16. Эта точка по­па­да­ет в от­ре­зок [−20; 20], на ко­то­ром ищет­ся ми­ни­мум функ­ции.

 

Ответ: 16.

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