Дан линейный одномерный массив, заданный случайным образом, содержащий положительные , отрицательные числа и нули. найдите сумму элементов массива, если среди них есть хоть один элемент больше единицы, и произведение - в противном случае.
Program z1; var a, i, z, x, y, l: integer; mas: array [1..10] of integer; begin for l: =1 to 10 do readln(mas[l]); i: =0; for a: =1 to 10 do if mas[a]> 1 then i: =i+1; if i > 0 then begin z: =0; for x: =1 to 10 do z: =z+mas[x]; writeln(z); end else begin y: =1; for x: =1 to 10 do y: =y*mas[x]; writeln(y); end; end.
Sharap
25.04.2020
536_8= 101011110²=350_10=15е_16 объяснение: чтобы перевести число из восьмеричной сс(так проще, нежели переводить сразу в 10сс), нужно каждую цифру числа заменить таким же числом из двоичной сс, так, чтобы каждое число заменялось 3-мя цифрами (5 - 101, 3 - 011, 6 - 110). из 2сс в десятичную - мы расчитываем по формуле (x(основание) * 2 + 1/0) см. картинку. так же, чтобы перевести из 10сс в 16сс, надо делить полученное десятичное число на основание сс (16) и записываем остаток. 350/16 = 21 остаток 14 => 21 = 15, 14 = e