Перевод делается отдельно для целой и дробной части числа. 1) переводим целую часть числа: для этого делим её нацело (т.е. вычисляем частное и остаток) на основание желаемой системы (на 8): 32 / 8 = 4 (и 0 в остатке) продолжим деление для частного (4) 4 / 8 = 0 (и 4 в остатке) далее делить не чего, т.к. частное равно нулю из полученных остатков составляем восьмеричное число 40₈ (это целая часть нашего числа в восьмеричной системе счисления). 2) переводим дробную часть числа: для этого умножаем её на основание желаемой системы (на 8): 0,25 * 8 = 2 если бы ответ содержал дробную часть, то мы бы продолжили умножать дробную часть, на каждом шагу отделяя её от целой части но, т.к. у нас результат умножения не содержит дробной части, то мы составляем полученные целые части ответов (у нас это цифра 2), и записываем полученный результат после десятичной запятой: 0,2₈ (это и есть дробная часть в восьмеричной системе счисления) 3) соединяем полученные целую и дробную часть вместе: ответ: 40,2₈
Sergei_sergei
10.03.2023
Вызов g(5)+f(5) вход g(5), вызов f(4)+2g(4) вход f(4), вызов 2f(3)-g(3) вход f(3), вызов 2f(2)-g(2) вход f(2), вызов 2f(1)-g(1) вход f(1), результат 1 вход g(1), результат 1 вход g(2), вызов f(1)+2g(1) вход f(1), результат 1 вход g(1), результат 1 вход g(3), вызов f(2)+2g(2) вход f(2), вызов 2f(1)-g(1) вход f(1), результат 1 вход g(1), результат 1 вход g(2), вызов f(1)+2g(1) вход f(1), результат 1 вход g(1), результат 1 вход g(4), вызов f(3)+2g(3) вход f(3), вызов 2f(2)-g(2) вход f(2), вызов 2f(1)-g(1) вход f(1), результат 1 вход g(1), результат 1 вход g(2), вызов f(1)+2g(1) вход f(1), результат 1 вход g(1), результат 1 вход g(3), вызов f(2)+2g(2) вход f(2), вызов 2f(1)-g(1) вход f(1), результат 1 вход g(1), результат 1 вход g(2), вызов f(1)+2g(1) вход f(1), результат 1 вход g(1), результат 1 вход f(5), вызов 2f(4)-g(4) вход f(4), вызов 2f(3)-g(3) вход f(3), вызов 2f(2)-g(2) вход f(2), вызов 2f(1)-g(1) вход f(1), результат 1 вход g(1), результат 1 вход g(2), вызов f(1)+2g(1) вход f(1), результат 1 вход g(1), результат 1 вход g(3), вызов f(2)+2g(2) вход f(2), вызов 2f(1)-g(1) вход f(1), результат 1 вход g(1), результат 1 вход g(2), вызов f(1)+2g(1) вход f(1), результат 1 вход g(1), результат 1 вход g(4), вызов f(3)+2g(3) вход f(3), вызов 2f(2)-g(2) вход f(2), вызов 2f(1)-g(1) вход f(1), результат 1 вход g(1), результат 1 вход g(2), вызов f(1)+2g(1) вход f(1), результат 1 вход g(1), результат 1 вход g(3), вызов f(2)+2g(2) вход f(2), вызов 2f(1)-g(1) вход f(1), результат 1 вход g(1), результат 1 вход g(2), вызов f(1)+2g(1) вход f(1), результат 1 вход g(1), результат 1 -14
ribcage52
10.03.2023
Var a,b: array[1..10000] of integer; i,j,m,n: integer; begin write('n = '); readln(n); write('исходный массив: '); for i: = 1 to n do begin a[i]: =random(10)+1; write(a[i],' '); end; writeln; write('полученный массив: '); for i: = 1 to n-1 do begin if a[i]> a[i+1] then m: =a[i] else m: =a[i+1]; j: =m-1; repeat j: =j+1; until (j mod a[i] = 0)and(j mod a[i+1] = 0); b[i]: =j; write(b[i],' ') end; end.