Лабораторная работа №3
.pdfЛабораторная работа №3 Страница 1 из 16
Лабораторная работа №3
Практическое применение основ алгебры логики.
Цель работы: изучение логических операций и правил их преобразований. Получение навыков практической работы по построению таблиц истинности, синтезу логических выражений.
ЗАДАНИЯ:
1)Для данной программы вычислить итоговый результат (в десятичной системе счисления) со всеми расчетами в двоичной системе счисления. Задание выполнить в двух вариантах, в зависимости от того, как описываются переменные:
Var |
Var |
a, b, rez : shortint; |
a, b, rez : byte; |
2)Запишите единое составное логическое выражение (в формате одного из языков программирования или табличного редактора Excel)
If <условие> then <действие> else <действие>, ЕСЛИ(<условие>;<действие>;<действие>)
которое принимает значение "истина" тогда и только тогда, когда точка с координатами (x,y) принадлежит заштрихованной области, и "ложь" в противном случае.
3)Запишите логическое выражение (в формате одного из языков программирования или табличного редактора Excel), истинное только при выполнении указанных условий. Например, условию «x принадлежит отрезку [a, b]» соответствует логическое выражение
If (x>=a) and (x<=b) then write('Yes') else write('No');
4)Для данного целого числа А определенного типа осуществить отдельно указанные виды битовых сдвигов со всеми выкладками в двоичной системе счисления. Запишите получившиеся числа в десятичной системе счисления.
5)Используя логические, арифметические и битовые действия, осуществите указанные действия, написав необходимую последовательность команд на одном из языков программирования. Привести два примера работы данной программы над разными числами со всеми выкладками в двоичной системе счисления. Во всех таких задачах предполагается, что все используемые числа являются однобайтовыми беззнаковыми целыми (если не указано отдельно другое описание числа), а также, что отсчет битов в байте начинается с единицы, начиная с младшего бита.
6)Для заданного IP адреса и маски подсети рассчитать следующие параметры: адреса хостов в подсети (минимальный/максимальный IP), адрес подсети, число хостов, широковещательный адрес (Broadcast), префикс сети (см. дополнительную теоретическую часть).
Лабораторная работа №3 Страница 2 из 16
Задания по вариантам:
Вариант 1.
Задание 1: begin
a := not $A7;
a := not (a + 5); b := 11;
rez := a and not b; writeln(rez);
end.
Задание 2:
Задание 3:
отрезок АВ, где А(xa, ya) и B(xb, yb) целиком лежит в одной координатной четверти;
треугольник со сторонами a, b и с является равнобедренным;
целое k является двузначным числом, не кратным пяти.
Задание 4:
А= -17 (a:shortint)
логический сдвиг на 2 бита влево,
циклический сдвиг на 5 бит вправо.
Задание 5:
проверить, оканчивается ли данный байт на битовую последовательность «011»,
обнулить пятый бит целого числа,
взвести два младших бита целого числа.
Задание 6:
IP: 192.168.10.10,
маска подсети: 255.255.255.224.
Лабораторная работа №3 Страница 3 из 16
Вариант 2.
Задание 1: begin
a := $C7;
a := not (a + 4); b := 107;
rez := not a xor b; writeln(rez);
end.
Задание 2:
Задание 3:
числа А и В являются трехзначными, кратными числу С.
точки с координатами (А, В) и (С, D) лежат в одной четверти.
среди чисел А, В, С и D нет одинаковых чисел
Задание 4:
А= 201 (a: byte)
логический сдвиг на 7 бит влево,
циклический сдвиг на 2 бита вправо.
Задание 5:
проверить, удовлетворяет ли данный байт битовой маске «0??11???»,
обнулить два старших бита целого двухбайтового числа,
взвести три младших бита целого числа.
Задание 6:
IP: 100.19.103.69,
маска подсети: 255.255.248.0.
Лабораторная работа №3 Страница 4 из 16
Вариант 3.
Задание 1: begin
a := $EF;
a := not (a - 13); b := $F2;
rez := a xor b; writeln(rez);
end.
Задание 2:
Задание 3:
точки с координатами (А, В) и (С, D) лежат в разных четвертях.
только одно из чисел А, В, С четное.
прямая, проходящая через точки (А, В) и (С, D), проходит через начало координат.
Задание 4:
А= 61 (a: shortint)
логический сдвиг на 2 бита вправо,
циклический сдвиг на 5 бит влево.
Задание 5:
проверить, удовлетворяет ли данный байт битовой маске «??11???1»,
обнулить пятый и седьмой биты целого числа,
взвести младший и старший биты целого двухбайтного числа.
Задание 6:
IP: 207.88.13.25,
маска подсети: 255.128.0.0.
Лабораторная работа №3 Страница 5 из 16
Вариант 4.
Задание 1: begin
a := 42;
a := not (a and $15); b := 11 xor a;
rez := a + b; writeln(rez);
end.
Задание 2:
Задание 3:
хотя бы одно из чисел А, В и С кратно 2.
число D лежит вне отрезка [A, B].
из чисел А, В, С меньшим является С, а большим В.
Задание 4:
А= -78 (a: shortint)
арифметический сдвиг на 4 бита вправо,
циклический сдвиг на 5 бит влево.
Задание 5:
проверить, удовлетворяет ли данный байт битовой маске «*11?1»,
обнулить старший байт двухбайтового числа,
взвести пять младших бит целого числа.
Задание 6:
IP: 24.0.110.89,
маска подсети: 255.240.0.0.
Лабораторная работа №3 Страница 6 из 16
Вариант 5.
Задание 1: begin
a := 47;
a := not (a + not a + 1); b := $C1;
rez := a or b; writeln(rez);
end.
Задание 2:
Задание 3:
целое А кратно B или C и не оканчивается нулем.
неверно, что D ; 0 5; 10 .
среди чисел А, В, С есть взаимно противоположные.
Задание 4:
А= -88 (a: shortint)
арифметический сдвиг на 4 бита влево,
циклический сдвиг на 2 бита вправо.
Задание 5:
проверить, удовлетворяет ли данный байт битовой маске «11?0*»,
обнулить младший байт двухбайтового числа,
взвести два старших бита целого числа.
Задание 6:
IP: 197.100.10.107,
маска подсети: 255.252.0.0.
Лабораторная работа №3 Страница 7 из 16
Вариант 6.
Задание 1: begin
a := 13;b := $51; a := not (a * b);
rez := a and not b; writeln(rez);
end.
Задание 2:
Задание 3:
числа А, В и С одинаковые по знаку.
точки с координатами (А, В) и (С, D) лежат на координатных осях.
среди чисел А, В, С есть ровно одно отрицательное число.
Задание 4:
А= 79 (a: shortint)
логический сдвиг на 2 бита вправо,
циклический сдвиг на 5 бит влево.
Задание 5:
проверить, удовлетворяет ли данный байт битовой маске «01?11??1»,
обнулить младшую часть байта целого числа,
взвести первый и последний биты целого двухбайтового числа.
Задание 6:
IP: 142.250.0.17,
маска подсети: 255.224.0.0.
Лабораторная работа №3 Страница 8 из 16
Вариант 7.
Задание 1: begin
a := $23;
a := (a - 13) or (a + 100); b := 111;
rez := a xor b; writeln(rez);
end.
Задание 2:
Задание 3:
среди чисел А, В, С есть ровно два отрицательных числа.
точки с координатами (А, В) и (С, D) лежат по разные стороны от прямой y=x.
число Х является трехзначным числом, оканчивающимся на 25.
Задание 4:
А= 140 (a: byte)
арифметический сдвиг на 3 бита влево,
циклический сдвиг на 5 бит вправо.
Задание 5:
проверить, удовлетворяет ли данный байт одной из двух битовых масок: «11*1»,
«00*0»,
обнулить старшую часть байта целого числа,
взвести пять старших бит целого двухбайтового числа.
Задание 6:
IP: 92.118.22.7,
маска подсети: 255.255.255.252.
Лабораторная работа №3 Страница 9 из 16
Вариант 8.
Задание 1: begin
a := $A7;
a:= a + 97;
b:= 11 or a;
rez := not (a + b); writeln(rez);
end.
Задание 2:
Задание 3:
числа А, В, С одинаковы по модулю.
прямая, проходящая через точки (А, В) и (С, D), параллельной одной из осей координат.
точка с координатами (х, y) лежит во второй или третьей четверти.
Задание 4:
А= 100 (a: shortint)
арифметический сдвиг на 4 бита вправо,
циклический сдвиг на 2 бита влево.
Задание 5:
проверить, оканчивается ли данный байт на битовую последовательность «0111»,
заменить в данном байте отдельные биты так, чтобы данный байт удовлетворял битовой маске «11????00».
Задание 6:
IP: 102.198.20.100,
маска подсети: 255.255.255.248.
Лабораторная работа №3 Страница 10 из 16
Вариант 9.
Задание 1: begin
a := 13;
a := not a and (a - $13); b := $11;
rez := a - b; writeln(rez);
end.
Задание 2:
Задание 3:
из трех чисел А, В, С есть хотя бы одно число кратное 2 или 3.
число А кратно пяти или семи и не оканчивается нулем.
из чисел А, В, С меньшим является С, а большим В.
Задание 4:
А= 46 (a: shortint)
логический сдвиг на 3 бита влево,
циклический сдвиг на 5 бит вправо.
Задание 5:
проверить, присутствует ли в данном байте целиком битовая последовательность
«111111»,
заменить в данном байте отдельные биты так, чтобы данный байт удовлетворял битовой маске «??10??10».
Задание 6:
IP: 148.200.199.250,
маска подсети: 255.255.255.240.