Определите число, которое будет напечатано в результате выполнения следующего алгоритма. Для Вашего удобства алгоритм представлен на пяти языках программирования.
Примечание. Функции abs и iabs возвращают абсолютное значение своего входного параметра.
Бейсик |
DIM A, B, T, M, R AS LONG A = -20: B = 20 FOR T = A TO B IF F(T) <= R THEN M = T R = F(T) END IF NEXT T PRINT M + R
FUNCTION F(x) F = abs(abs(x - 3) + abs(x + 4) - 11) + 4 END FUNCTION |
Python |
def F(x): return abs(abs(x - 3) + abs(x + 4) - 11) + 4
a = -20 b = 20 M = a R = F(a) for t in range(a, b + 1): if (F(t) <= R): M = t R = F(t) print (M + R) |
Алгоритмический язык |
алг нач цел a, b, t, M, R a := -20; b := 20 M := a; R := F(a) нц для t от a до b если F(t) <= R то M := t; R := F(t) все кц вывод M + R кон алг цел F(цел x) нач знач := iabs(iabs(x - 3) + iabs(x + 4) - 11) + 4 кон |
Паскаль |
var a, b, t, M, R : longint; function F(x: longint) : longint; begin F := abs(abs(x - 3) + abs(x + 4) - 11) + 4; end;
begin a := -20; b := 20; 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 + R) end. |
C++ |
#include
using namespace std;
long F(long x) { return abs(abs(x - 3) + abs(x + 4) - 11) + 4; }
int main() { long a = -20, b = 20, M = a, R = F(a); for (int t = a; t <= b; ++t) { if (F(t) <= R) { M = t; R = F(t); } } cout << M + R; return 0; } |