- •1. Программирование линейных алгоритмов
- •2. Табулирование функций
- •3. Работа с одномерными массивами
- •3.1. Вычисление сумм, количеств и произведений элементов массива
- •3.2. Вычисление сумм, количеств и произведений элементов массива
- •4. Работа с двумерными массивами
- •4.1. Вычисление сумм, произведений и количеств элементов матрицы.
- •4.2. Выполнение вычислений в строках и столбцах матрицы.
- •5. Программирование c использованием подпрограмм, разработанных пользователем
- •6. Побитовые операции
- •7. Обработка структур данных
6. Побитовые операции
Даны три целых числа А, В, С. Если в числах установлены биты, заданные в первой строке задания (табл. 6.1), то выполнить расчет выражения, записанного в первой строке, иначе, если в числах А, В, С установлены биты, заданные во второй строке задания, то выполнить расчет выражения, записанного во второй строке, иначе очистить (обнулить) А, В, С.
Для операций умножения и деления использовать команды сдвига.
Программа должна вводить и выводить исходные данные, выводить следующие результаты: значение выражения и номер выражения (1 или 2) или сообщение о том, что числа А, В, С очищены.
Исходные данные и результаты вывести в шестнадцатеричной системе счисления. Все переменные, используемые в программе должны быть положительными и иметь целочисленный тип. Переменные А, B должны иметь тип unsigned int, С – тип unsigned char.
Результаты выполнения программы вывести в таблицу, вид которой придумать самостоятельно.
Таблица 6.1
Вариант |
Тестируемые биты |
Выражение 1, 2 или очистка А.В,С |
||
А |
В |
С |
||
1 |
1, 2, 5, 8 |
3, 4, 7-12 |
1 |
|
2, 6-11, 15 |
4,9,13,15 |
2 |
|
|
В остальных случаях |
очистить А, В, С |
|||
2 |
1-4, 12-15 |
5, 8, 10, 13 |
3 |
|
2,8,12,15 |
1,7,9,15 |
4 |
|
|
В остальных случаях |
очистить А, В, С |
|||
3 |
3,6,9,13 |
1-7,12 |
5 |
|
10,12,16 |
3,7,12 |
6 |
|
|
В остальных случаях |
очистить А, В, С |
|||
4 |
5-8,14,16 |
4-8,12 |
7 |
|
4,6,8,10 |
12,15 |
8 |
|
|
В остальных случаях |
очистить А, В, С |
|||
5 |
1,6,14 |
2-7,12,15 |
1,2 |
|
1,5-9 |
1,3,8-13 |
3,4 |
|
|
В остальных случаях |
очистить А, В, С |
|||
6 |
7,9,11,13 |
5-8,10-14 |
5,6 |
|
1,2,11,12 |
2,4,12,14 |
7,8 |
|
|
В остальных случаях |
очистить А, В, С |
|||
7 |
3,13,16 |
5,10,15 |
1,2,3 |
|
4-7,10,12 |
3-6,9-12 |
4,5,6 |
|
|
В остальных случаях |
очистить А, В, С |
|||
8 |
1,2,3 |
4,5,6 |
2,4,6 |
|
6-10,13 |
все |
1,3,5 |
|
|
В остальных случаях |
очистить А, В, С |
|||
9 |
все |
2-6,12,16 |
1,8 |
|
1,5,8,10 |
4,6,12,15 |
2,6 |
|
|
В остальных случаях |
очистить А, В, С |
|||
10 |
четные |
1,9,7,6 |
2,6 |
|
1,12,14,16 |
нечетные |
4,6 |
|
|
В остальных случаях |
очистить А, В, С |
|||
11 |
все |
8,9,12-16 |
1,3 |
|
10-16 |
нечетные |
2,8 |
|
|
В остальных случаях |
очистить А, В, С |
|||
12 |
2,4,6 |
1,5,9-13 |
все |
|
2,3,10-16 |
7,13,15 |
1,5,6 |
|
|
В остальных случаях |
очистить А, В, С |
|||
13 |
9,11,14,16 |
4,6,8,13 |
2,8 |
|
все |
нечетные |
1,4,7 |
|
|
В остальных случаях |
очистить А, В, С |
|||
14 |
3,5,12,13 |
четные |
4,8 |
|
3,12-16 |
2,3,5,12-16 |
1-5 |
|
|
В остальных случаях |
очистить А, В, С |
|||
15 |
нечетные |
все |
5,7,8 |
|
2,14-16 |
1,5,13-15 |
1,5,6 |
|
|
В остальных случаях |
очистить А, В, С |
|||
16 |
2,4,8 |
все |
нечетные |
|
11,13,16 |
четные |
4,8 |
|
|
В остальных случаях |
очистить А, В, С |
|||
17 |
1,10,15 |
7,9,11,15 |
1 |
|
10,13,15 |
нечетные |
6,5 |
|
|
В остальных случаях |
очистить А, В, С |
|||
18 |
все |
2,8,10,16 |
5,8 |
|
3,5,7,16 |
1,5,9,16 |
1,4,7 |
|
|
В остальных случаях |
очистить А, В, С |
|||
19 |
нечетные |
2,3,12,13 |
6,8 |
|
5,11,14 |
четные |
2,6 |
|
|
В остальных случаях |
очистить А, В, С |
|||
20 |
1-4,8-14 |
2-4,12-15 |
5,8 |
|
7-13,16 |
все |
1,4 |
|
|
В остальных случаях |
очистить А, В, С |
|||
21 |
12,14-16 |
4,14,16 |
1,4 |
|
все |
1,3,5,11 |
4,8 |
|
|
В остальных случаях |
очистить А, В, С |
|||
22 |
3,5,9,12 |
2,3,14,16 |
все |
|
1-8,13 |
4-8,14 |
1-4 |
|
|
В остальных случаях |
очистить А, В, С |
|||
23 |
1,5,8,14 |
2,4,6,7 |
2,4,8 |
|
1-3,6-9,11 |
все |
3,6 |
|
|
В остальных случаях |
очистить А, В, С |
|||
24 |
12,15,16 |
четные |
все |
|
все |
5,8,11-14 |
2,3 |
|
|
В остальных случаях |
очистить А, В, С |
|||
25 |
все |
2,3,13,15 |
2,4,6 |
|
4,5,6,15 |
1,12,16 |
1,4,6 |
|
|
В остальных случаях |
очистить А, В, С |
|||
26 |
2,3,14,16 |
все |
3 |
|
8,9,13-16 |
5,9,10,12 |
5,8 |
|
|
В остальных случаях |
очистить А, В, С |
|||
27 |
10,12,15 |
4,5,8,13 |
2,8 |
|
6,11,15 |
2-6,12-16 |
1,3,8 |
|
|
В остальных случаях |
очистить А, В, С |
|||
28 |
2,6,10-13 |
все |
3,7 |
|
7,12,14,16 |
4,6,13,14 |
все |
|
|
В остальных случаях |
очистить А, В, С |
|||
29 |
7,9,13,16 |
2,4,6,14 |
3 |
|
все |
2,5,8,12,16 |
7,8 |
|
|
В остальных случаях |
очистить А, В, С |
|||
30 |
1,2,3,5-9 |
все |
2,6 |
|
10,12,14,16 |
4,6,8,16 |
3,5,8 |
|
|
В остальных случаях |
очистить А, В, С |