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


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

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

 

Бейсик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+10

 

FUNCTION F(x)

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

END FUNCTION

def F(x):

  return 2*(x*x-1)*(x*x-1)+7

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

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

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

Function F(x:integer):integer;

  begin

    F := 2*(x*x-1)*(x*x-1)+7;

  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+10);

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

кон

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

нач

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

кон

Си++

#include <iostream>

using namespace std;

int F(int x)

{

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

}

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+10 << endl;

  return 0;

}

 

Решение.

Пусть .

Программа ищет такой целый x из промежутка [-10; 20], что , то есть функция принимает минимальное значение на этом промежутке. При этом, если минимальное значение функции достигается в нескольких точках, из них выбирается минимальная.

. Но -1 меньше, поэтому программа найдёт -1.

И так как на экран выводится x + 10, программа выведет 9.