Информатика (Анализ программ с циклами и подпрограммами)


1
2
3
4
5
6
7
8
9
10
  • 1
  • 2

Вопрос 21

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

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

 

DIM A, B, T, M, R AS INTEGER
 A = -20: B = 20
 T = A: M = A: R = F(A)
 FOR T = A TO B
    IF F(T) < R THEN
        M = T
        R = F(T)
    ENDIF
 NEXT T
 PRINT M
 FUNCTION F(x)
    F = 2*(x-9)*(x-9);
 END FUNCTION

 

 

var a,b,t,M,R :integer;
    Function F(x: integer):integer;
        begin
            F := 2*(x-9)*(x-9);
        end;
 BEGIN
    a := -20; b := 20;
    M := a; R := F(a);
    for t := a to b do
        if (F(t)< R) then begin
            M := t;
            R := F(t);
        end;
    write(M);
 END.

 

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

 

#include <iostream>
using namespacestd;
int F(int x)
{
    return 2*(x-9)*(x-9);
}
int main()
{
    int a, b, t, M, R;
    a = -20; b = 20;
    M = a; R = F(a);
    for (t=a; t<=b; t++){
        if (F(t) < R ) {
            M = t; R = F(t);
        }
    }
    cout « M « endl;
}

 

 

алг
нач
цел a, b, t, R, M
a := -20; b := 20
M := a; R := F(a)
нц для t от a до b
если F(t)< R
то
M := t; R := F(t)
все
кц
вывод M
кон
алг цел F(цел x)
нач
знач := 2*(x-9)*(x-9)
кон

 

Python
deff(x):
    return 2*(x-9)*(x-9)
a = -20
b = 20
 M = a
 R = f(a)
for t inrange(a, b+1):
    if (f(t) < R):
        M = t
        R = f(t);
print(M)