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

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

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

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

A = 0: B = 50

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 R

FUNCTION F(x)

    F = (x+50)*(x+50)+7

END FUNCTION

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

    Function F(x:integer):integer;

        begin

            F := (x+50)*(x+50)+7;

    end;

BEGIN

    a := 0; b := 50;

    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 (x+50)*(x+50)+7;

}

int main()

{

    int a, b, t, M, R;

    a = 0; b = 50;

    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 := 0; b := 50

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

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

если F(t) > R

то

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

все

кц

вывод R

кон

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

нач

знач := (x+50)*(x+50)+7

кон

Python

def f(x):

    return (x+50)*(x+50)+7

a = 0

b = 50

M = a

R = f(a)

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

    if (f(t) > R):

        M = t

        R = f(t);

print(R)

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

Ре­ше­ние.

Ал­го­ритм пред­на­зна­чен для по­ис­ка t, при ко­то­ром функ­ция F(t) при­ни­ма­ет наи­боль­шее зна­че­ние на от­рез­ке от a до b. Функ­ция: F(x)  =  (x + 50)(x + 50) + 7  — квад­рат­ный трёхчлен с по­ло­жи­тель­ным стар­шим ко­эф­фи­ци­ен­том, сле­до­ва­тель­но, он при­ни­ма­ет наи­боль­шее зна­че­ние на одном из кон­цов про­ме­жут­ка. За­ме­тим, что F(a) < F(b), сле­до­ва­тель­но, про­грам­ма вы­ве­дет число 10007.

 

Ответ: 10007.


Аналоги к заданию № 4953: 4986 5370 5402 ... Все