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

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

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

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

A =-5: B = 5

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 = (x+3)*(1-x)

END FUNCTION

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

    Function F(x:integer): integer;

        begin

            F := (x+3)*(1-x)

        end;

begin

    a :=-5; b := 5;

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

}

int main()

{

    int a, b, t, M, R;

    a =-5; b = 5;

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

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

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

если F(t) < R

то

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

все

кц

вывод R

кон

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

нач

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

кон

Python

def f(x):

    return (x+3)*(1-x)

a =-5

b = 5

M = a

R = F(a)

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

    if (f(t) < R):

        M = t

        R = f(t);

print(R)

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

Ре­ше­ние.

1.  Цикл "for t:=a to b do begin..." ищет наи­мень­шее зна­че­ние функ­ции F(t) на ин­тер­ва­ле от a до b

2.  F левая круг­лая скоб­ка x пра­вая круг­лая скоб­ка = левая круг­лая скоб­ка x плюс 3 пра­вая круг­лая скоб­ка * левая круг­лая скоб­ка 1 минус x пра­вая круг­лая скоб­ка = минус x в квад­ра­те минус 2x плюс 3 гра­фик этой функ­ции – па­ра­бо­ла, оси ко­то­рой на­прав­ле­ны вниз, по­это­му функ­ция имеет наи­мень­шее зна­че­ние на одном из кон­цов ин­тер­ва­ла.

 

3.  По­счи­та­ем зна­че­ние функ­ции на кон­цах ин­тер­ва­ла:F_a= минус 12; F_b= минус 32 .

 

4.  В про­грам­ме на­пи­са­но "write(R)", сле­до­ва­тель­но, наи­мень­шее зна­че­ние из двух по­лу­чив­ших­ся и будет от­ве­том.