Написать программу на С Дан массив чисел с плавающей точкой A[N]. Заменить все его элементы, большие введённого с клавиатуры числа Z, этим числом. Подсчитать количество таких замен.
a - уровень продаж, а затем зп первого менеджераb - второго менеджераc - третьегоуровень продаж у всех разный.язык программирования: паскальvara, b, c: integer; beginreadln (a); if a < 500 thena : = 0.03 * a + 200; if (a > 500) and (a < 1000) thena : = 0.05 * a + 200; if a > 1000 thena : = 0.08 * a + 200; readln (b); if b < 500 thenb : = 0.03 * b + 200; if (b > 500) and (b < 1000) thenb : = 0.05 * b + 200; if b > 1000 thenb : = 0.08 * b + 200; readln (c); if c < 500 thenc : = 0.03 * c + 200; if (c > 500) and (c < 1000) thenc : = 0.05 * c + 200; if c > 1000 thenc : = 0.08 * c + 200; if (a > b) and (a > c) thena : = a +200; elseif b > c thenb : = b + 200; elsec : = c + 200; wreteln ('зп первого менеджера: ', a, '$'); wreteln ('зп второго менеджера: ', b, '$'); wreteln ('зп третьего менеджера: ', c, '$')end.
Преобразуем ( применяем формулу a→b=¬a+b) (x&15 =0) ∪(x&35=0)∪(x&A≠0) =1 ( то есть, в данном случае, если Х при поразрядном умножении на 15 и 35 не даёт 0, то при умножении на А тоже не даёт 0) 15 (10сс) =1111 (2сс); 35(10сс) = 100011(2сс) Проверяем поразрядно: (в 2сс) x=1 x&1111 =0 x&100011=0 ( x&A≠0) =1 x=10 =0 =0 =1 x=100 =0 =1 = 0 или1 x=1000 =0 =1 = 0 или1 и так далее
В первых двух строках x&1111 ложно, x&100011 ложно, значит х&А обязательно должно быть истинно. Число А, логическое произведение которого на числа x=1 и х=10 (в2сс) не даёт 0 есть число 11(2сс) 11 (2сс) = 3 (10сс) ответ 3
a - уровень продаж, а затем зп первого менеджераb - второго менеджераc - третьегоуровень продаж у всех разный.язык программирования: паскальvara, b, c: integer; beginreadln (a); if a < 500 thena : = 0.03 * a + 200; if (a > 500) and (a < 1000) thena : = 0.05 * a + 200; if a > 1000 thena : = 0.08 * a + 200; readln (b); if b < 500 thenb : = 0.03 * b + 200; if (b > 500) and (b < 1000) thenb : = 0.05 * b + 200; if b > 1000 thenb : = 0.08 * b + 200; readln (c); if c < 500 thenc : = 0.03 * c + 200; if (c > 500) and (c < 1000) thenc : = 0.05 * c + 200; if c > 1000 thenc : = 0.08 * c + 200; if (a > b) and (a > c) thena : = a +200; elseif b > c thenb : = b + 200; elsec : = c + 200; wreteln ('зп первого менеджера: ', a, '$'); wreteln ('зп второго менеджера: ', b, '$'); wreteln ('зп третьего менеджера: ', c, '$')end.
(x&15 =0) ∪(x&35=0)∪(x&A≠0) =1
( то есть, в данном случае, если Х при поразрядном умножении на 15 и 35 не даёт 0, то при умножении на А тоже не даёт 0)
15 (10сс) =1111 (2сс); 35(10сс) = 100011(2сс)
Проверяем поразрядно: (в 2сс)
x=1 x&1111 =0 x&100011=0 ( x&A≠0) =1
x=10 =0 =0 =1
x=100 =0 =1 = 0 или1
x=1000 =0 =1 = 0 или1
и так далее
В первых двух строках x&1111 ложно, x&100011 ложно,
значит х&А обязательно должно быть истинно. Число А, логическое произведение которого на числа x=1 и х=10 (в2сс) не даёт 0 есть число 11(2сс)
11 (2сс) = 3 (10сс) ответ 3