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

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

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

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

A = -15: B = 15

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

 

FUNCTION F(x)

F=10*x*x-100*ABS(x)+210

END FUNCTION

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

Function

F(x:integer):integer;

  begin

    F := 10*x*x-100*abs(x)+210

    end;

 

begin

  a := -15; b := 15;

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

end.

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

#include <iostream>

#include <cmath>

using namespace std;

int F(int x)

{

  return 10*x*x-100*abs(x)+210;

}

 

int main()

{

  int a, b, t, M, R;

  a = -15; b = 15;

  M = a; R = F(a);

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

    if (F(t) < R) {

      M = t; R = F(t);

    }

  }

  cout << M+50 << endl;

}

алг

нач

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

  a := -15; b := 15

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

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

    если F(t) < R

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

    все

  кц

  вывод M+50

кон

 

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

нач

  знач:=10*x*x-100*iabs(x)+210

кон

Python

def f(x):

    return 10*x*x-100*abs(x)+210

a = -15

b = 15

M = a

R = f(a)

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

    if (f(t) < R):

        M = t

        R = f(t);

print(M+50)

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

Ре­ше­ние.

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

За­ме­тим, что гра­фик функ­ции F = 10x2 − 100|x| + 210 сим­мет­ри­чен от­но­си­тель­но оси Oy. Гра­фик с пра­вой сто­ро­ны этой оси сов­па­да­ет с гра­фи­ком па­ра­бо­лы y = 10x2 − 100x + 210, а зна­чит точка, в ко­то­рых они при­ни­ма­ют наи­мень­шее зна­че­ние также сов­па­да­ют. Эта точка  — вер­ши­на па­ра­бо­лы. Её ко­ор­ди­на­ты [5; −40]. Од­на­ко, по­сколь­ку гра­фик сим­мет­ри­чен от­но­си­тель­но оси Oy, то такое же зна­че­ние функ­ция будет при­ни­мать в точке −5. А зна­чит, ал­го­ритм вы­ве­дет число −5 + 50 = 45.

 

Ответ: 45.


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