Анализ программы с подпрограммами

За правильное выполненное задание получишь 1 балл. На решение отводится примерно 6 минут.

Задачи для тренировки

Задача №1

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

Бейсик Python
DIM A, B, T, M, R AS LONG
A = -10: B = 10
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 M
 
FUNCTION F (x)
     F = 2*x*x + 15*x + 13
END FUNCTION
def f(x):
     return 2*x*x + 15*x + 13
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 (M)
Паскаль Алгоритмический язык
var a, b, t, M, R :longint;
function F(x: longint) : longint;
    begin
         F:= 2*x*x + 15*x + 13;
    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(M)
end.
алг
нач
    цел 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)
        все
    кц
    вывод M
кон
алг цел F(цел x)
нач
    знач :=2*x*x + 15*x + 13
кон
С++

#include
using namespace std;


long F(long x) {
     return 2*x*x + 15*x + 13;
}
int main() {
     long a = -10, b = 10, M = a, R = F(a);
     for (int t = a; t <= b; ++t) {
         if (F(t) > R) {
            M = t; R = F(t);
        }
    }
     cout << M;
    return 0;}

Задача №2

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

Бейсик Python
DIM A, B, T, M, R AS LONG
A = 0: B = 20
M = 0
FOR T = A TO B
    IF F(T)  > 0 THEN
         M = M + 1
    END IF
NEXT t
PRINT M
 
FUNCTION F (x)
     F = x*x + 16*x + 15
END FUNCTION
def f(x):
     return x*x + 16*x + 15
a = 0; b=20
M=0
for t in range(a,b+1):
 
    if (F(t)  > 0):
         M=M + 1
print (M)
Паскаль Алгоритмический язык
var a, b, t, M, R :longint;
function F(x: longint) : longint;
    begin
         F:= x*x + 16*x + 15;
    end;
begin
     a:=0; b:=20;
     M:=0;
     for t:= a to b do begin
         if (F(t)  > 0) then begin
             M:=M + 1;
      end
    end;
     write(M)
end.
алг
нач
    цел a, b, t, M, R
    a:=0; b:=20
    M:=0
    нц для t от a до b
         если F(t)  > 0 то
            то
                 M:=M + 1; 
        все
    кц
    вывод M
кон
алг цел F(цел x)
нач
    знач :=x*x + 16*x + 15
кон
С++

#include
using namespace std;


long F(long x) {
     return x*x + 16*x + 15;
}
int main() {
     long a = 0, b = 20, M = 0;
     for (int t = a; t <= b; ++t) {
         if (F(t) > 0) {
            M = M + 1; 
        }
    }
     cout << M;
    return 0;}

Задача №3

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

Бейсик Python
DIM A, B, T, M, R AS LONG
A = -10: B = 0
M = -1
FOR T = A TO B
    IF F(T) < 0 THEN
         M = M + 1
    END IF
NEXT t
PRINT M
 
FUNCTION F (x)
     F = x*x + 16*x + 15
END FUNCTION
def f(x):
     return x*x + 16*x + 15
a = -10; b=0
M=-1
for t in range(a,b+1):
 
    if (F(t) < 0):
         M=M + 1
print (M)
Паскаль Алгоритмический язык
var a, b, t, M, R :longint;
function F(x: longint) : longint;
    begin
         F:= x*x + 16*x + 15;
    end;
begin
     a:=-10; b:=0;
     M:=-1;
     for t:= a to b do begin
         if (F(t) < 0) then begin
             M:=M + 1;
      end
    end;
     write(M)
end.
алг
нач
    цел a, b, t, M, R
    a:=-10; b:=0
    M:=-1
    нц для t от a до b
         если F(t) < 0 то
            то
                 M:=M + 1; 
        все
    кц
    вывод M
кон
алг цел F(цел x)
нач
    знач :=x*x + 16*x + 15
кон
С++

#include
using namespace std;


long F(long x) {
     return x*x + 16*x + 15;
}
int main() {
     long a = -10, b = 0, M = -1;
     for (int t = a; t <= b; ++t) {
         if (F(t) < 0) {
            M = M + 1; 
        }
    }
     cout << M;
    return 0;}

Задача №4

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

Бейсик Python
DIM A, B, T, M, R AS LONG
A = -5: B = 10
M = 10
FOR T = A TO B
    IF F(T) < 0 THEN
         M = M - 1
    END IF
NEXT t
PRINT M*M
 
FUNCTION F (x)
     F = x*x + 16*x + 15
END FUNCTION
def f(x):
     return x*x + 16*x + 15
a = -5; b=10
M=10
for t in range(a,b+1):
 
    if (F(t) < 0):
         M=M - 1
print (M*M)
Паскаль Алгоритмический язык
var a, b, t, M, R :longint;
function F(x: longint) : longint;
    begin
         F:= x*x + 16*x + 15;
    end;
begin
     a:=-5; b:=10;
     M:=10;
     for t:= a to b do begin
         if (F(t) < 0) then begin
             M:=M - 1;
      end
    end;
     write(M*M)
end.
алг
нач
    цел a, b, t, M, R
    a:=-5; b:=10
    M:=10
    нц для t от a до b
         если F(t) < 0 то
            то
                 M:=M - 1; 
        все
    кц
    вывод M*M
кон
алг цел F(цел x)
нач
    знач :=x*x + 16*x + 15
кон
С++

#include
using namespace std;


long F(long x) {
     return x*x + 16*x + 15;
}
int main() {
     long a = -5, b = 10, M = 10;
     for (int t = a; t <= b; ++t) {
         if (F(t) < 0) {
            M = M - 1; 
        }
    }
     cout << M*M;
    return 0;}

Задача №5

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

Бейсик Python
DIM A, B, T, M, R AS LONG
A = -2: B = 15
M = 10
FOR T = A TO B
    IF F(T) > 0 THEN
         M = M - 2
    END IF
NEXT t
PRINT M + 30
 
FUNCTION F (x)
     F = x*x + 16*x + 15
END FUNCTION
def f(x):
     return x*x + 16*x + 15
a = -2; b=15
M=10
for t in range(a,b+1):
 
    if (F(t) > 0):
         M=M - 2
print (M + 30)
Паскаль Алгоритмический язык
var a, b, t, M, R :longint;
function F(x: longint) : longint;
    begin
         F:= x*x + 16*x + 15;
    end;
begin
     a:=-2; b:=15;
     M:=10;
     for t:= a to b do begin
         if (F(t) > 0) then begin
             M:=M - 2;
      end
    end;
     write(M + 30
end.
алг
нач
    цел a, b, t, M, R
    a:=-2; b:=15
    M:=10
    нц для t от a до b
         если F(t) > 0 то
            то
                 M:=M - 2; 
        все
    кц
    вывод M + 30
кон
алг цел F(цел x)
нач
    знач :=x*x + 16*x + 15
кон
С++

#include
using namespace std;


long F(long x) {
     return x*x + 16*x + 15;
}
int main() {
     long a = -2, b = 15, M = 10;
     for (int t = a; t <= b; ++t) {
         if (F(t) > 0) {
            M = M - 2; 
        }
    }
     cout << M + 30;
    return 0;}

Пройти тест

Начать