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

Определите, какое число будет напечатано в результате выполнения следующего алгоритма:

 

 

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

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

A = -10: B = 10

M = A: R = F(А)

FOR T = A TO B

    IF F(T) < R THEN

        M = T

        R = F(T)

    END IF

NEXT T

PRINT R

FUNCTION F(x)

    F = 2*x*x + 8*x + 10

END FUNCTION

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

    Function F(x:integer): integer;

        begin

            F := 2*x*x + 8*x + 10

        end;

begin

    a := -10; b := 10;

    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(R)

end.

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

#include <iostream>

using namespace std;

int F(int x)

{

return 2*x*x + 8*x + 10;

}

int main()

{

    int a, b, t, M, R;

    a = -10; b = 10;

    M = a; R = F(a);

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

        if (F(t) < R) {

            M = t; R = F(t);

        }

    }

    cout « R « endl;

}

алг

нач

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

a := -10; b := 10

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

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

если F(t) < R

то

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

все

кц

вывод R

кон

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

нач

знач := 2*x*x + 8*x + 10

кон

Python

def f(x):

    return 2*x*x + 8*x + 10

a = -10

b = 10

M = a

R = f(a)

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

    if (f(t) < R):

        M = t

        R = f(t);

print(R)

 

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

Решение.

1. Алгоритм ищет наименьшее значение функции F(t) на интервале от a до b

2. F(x)=2x в степени 2 плюс 8x плюс 10 график этой функции – парабола, оси которой направлены вверх, поэтому функция имеет наименьшее значение в точке вершины.

 

3. Найдем абсциссу вершины

 

F(x)=2x в степени 2 плюс 8x плюс 10\Rightarrow x_{\min }= дробь, числитель — минус b, знаменатель — 2a = дробь, числитель — минус 8, знаменатель — 2 умножить на 2 = минус 2.

 

4. Теперь найдем ординату (которая и есть R(x_{\min }) ) R(x_{\min })=2 умножить на 4 минус 16 плюс 10 =2