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

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

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

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

A = -12: B = 12

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

FUNCTION F(x)

  F = 10*x*x-120*ABS(x)+320

END FUNCTION

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

Function F(x:integer):integer;

begin

  F := 10*x*x-120*abs(x)+320

  end;

begin

  a := -12; b := 12;

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

end.

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

#include <iostream>

using namespace std;

int F(int x)

{

  return 10*x*x-120*abs(x)+320;

}

int main()

{

  int a, b, t, M, R;

  a = -12; b = 12;

  M = a; R = F(a);

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

    if (F(t) <= R) {

      M = t; R = F(t);

    }

  }

  cout << M+9 << endl;

}

алг

нач

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

  a := -12; b := 12

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

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

    если F(t) <= R

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

    все

  кц

  вывод M+9

кон

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

нач

  знач:= 10*x*x-120*iabs(x)+320

кон

Python

def f(x):

    return 10*x*x-120*abs(x)+320

a = -12

b = 12

M = a

R = f(a)

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

    if (f(t) <= R):

        M = t

        R = f(t);

print(M+9)

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

Ре­ше­ние.

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

За­ме­тим, что гра­фик функ­ции F = 10x2 − 120|x| + 320 сим­мет­ри­чен от­но­си­тель­но оси Oy. Гра­фик с пра­вой сто­ро­ны этой оси сов­па­да­ет с гра­фи­ком па­ра­бо­лы y = 10x2 − 120x + 320, а зна­чит точка, в ко­то­рых они при­ни­ма­ют наи­мень­шее зна­че­ние также сов­па­да­ют. Эта точка  — вер­ши­на па­ра­бо­лы. Её ко­ор­ди­на­ты [6; −40]. По­это­му, ал­го­ритм вы­ве­дет число 6 + 9 = 15.

 

Ответ: 15.


Аналоги к заданию № 9656: 9702 Все