Управляющая структура “Следование”
Цель лабораторной работы: изучение концепций и освоение технологии структурного программирования, приобретение навыков структурного программирования на языке C/С++ при решении простейших вычислительных задач.
Задание на программирование: используя технологию структурного программирования, разработать линейную программу решения индивидуальной вычислительной задачи.
Порядок выполнения работы:
1) Получить у преподавателя индивидуальное задание и выполнить постановку задачи: сформулировать условие, определить входные и выходные данные.
2) Разработать математическую модель вычислений.
3) Построить схему алгоритма решения задачи.
4) Составить программу на языке C/С++.
5) В программе использовать данные типа unsigned char.
5) Выходные данные (сообщения) выводить на экран в развернутой форме.
6) Проверить и продемонстрировать преподавателю работу программы.
7) Оформить отчет о лабораторной работе в составе: постановка задачи, математическая модель, схема алгоритма решения, текст программы, контрольные примеры.
Варианты индивидуальных заданий
Выполнить поразрадные логические операции над машинными кодами
117 AND 90
-117 XOR 90
117 → 3
NOT 21 XOR –13 AND (-23 OR NOT 9)
135 AND 106
135 OR -106
135 → 4
NOT 17 OR (NOT 111 XOR –19) AND 91
207 AND 37
207 XOR -37
37 ← 2
-21 AND (NOT 75 OR –20) XOR NOT 59
27 AND 13
-27 OR 13
27 <- 2
NOT 21 XOR –3 AND (NOT 26 OR –13)
-21 OR 43
21 XOR 43
43 ← 2
(NOT 19 OR –6) AND NOT –9 XOR 4
55 AND 15
55 XOR -15
15 ← 3
NOT 7 AND –5 XOR (NOT 127 OR –8)
99 OR -17
99 AND 17
17 ← 2
(18 OR NOT –8) AND NOT –7 XOR 3
29 OR -49
29 XOR 49
49 ← 4
(NOT 8 XOR –6) AND 9 XOR NOT -12
42 AND 17
42 OR -17
42 → 3
NOT 25 XOR –4 AND (NOT 22 OR –10)
36 AND 12
36 XOR 12
36 ← 3
NOT –3 XOR 15 AND (NOT 8 OR –6)
25 AND 18
25 XOR 18
25 ← 2
NOT 23 OR –4 AND (NOT 24 OR –9)
39 AND 14
39 OR -14
39 ← 3
NOT 17 AND –5 OR (25 AND NOT –9)
49 AND 11
49 XOR 11
49 → 2
15 OR NOT –3 AND (14 OR NOT 16)
180 AND 35
180 XOR 35
35 ← 2
NOT –7 OR 8 AND (26 XOR NOT –9)
120 AND 37
120 OR -37
120 → 2
85 OR NOT –9 AND (NOT 46 OR –13)
137 AND 80
137 XOR 80
137 → 3
105 XOR NOT –15 AND (NOT 82 OR –25)
157 AND 14
157 XOR 14
157 → 4
110 OR NOT –25 AND (NOT 46 XOR –11)
139 AND 18
139 OR -18
139 → 3
80 OR NOT –11 AND (NOT 48 XOR –15)
125 AND 20
125 OR -20
125 ← 1
40 OR NOT –19 AND (NOT 50 XOR –7)
94 AND 15
94 XOR 15
94 → 2
86 XOR NOT –17 AND (NOT 40 OR –9)
102 AND 31
102 OR -31
102 → 3
35 XOR NOT –9 AND (NOT 28 OR –17)
90 AND 11
90 OR -11
90 ← 2
17 XOR NOT –11 AND (NOT 30 OR –15)
74 AND 111
74 XOR 111
74 ← 3
28 OR NOT –13 AND (NOT 16 XOR –25)
36 AND 21
36 XOR 21
36 ← 4
14 OR NOT –15 AND (NOT 26 XOR –17)
61 AND 18
61 OR -18
61 ← 4
9 XOR NOT –21 AND (NOT 60 OR –5)
75 AND 26
75 XOR 26
72 ← 4
NOT 80 XOR –31 AND (-16 OR NOT 11)
81 AND 14
81 XOR 14
81 ← 3
70 XOR NOT –11 AND (NOT 36 OR 15)
111 AND 14
111 XOR 14
111 ← 3
15 XOR NOT –9 AND (NOT 26 OR 31)
Пример программы
#include<stdio.h>
#include<conio.h>
void main()
{unsigned char a, b, c;
clrscr();
a = 41 & -21;
printf("41 AND -21 = (41) = %i\n", a);
a = -41 & -21;
printf("-41 AND -21 = (195) = %i\n", a);
b = 41 | 21;
printf("41 OR 21 = (61) = %i\n", b);
b = 41 ^ 21;
printf("41 XOR 21 = (60) = %i\n", b);
b = 41 << 2;
printf("41 << 2 = (164) = %i\n", b);
c = ~43 | -9 & (~-7 ^ 4);
printf("NOT 43 OR -9 AND (NOT-7 XOR 4) = (214) = %i\n", c);
getchar();
a = 141 & -121;
printf("141 AND -121 = (133) = %i\n", a);
a = -141 & -121;
printf("-141 AND -121 = (3) = %i\n", a);
b = 141 | 121;
printf("141 OR 121 = (253) = %i\n", b);
b = 141 ^ 121;
printf("141 XOR 121 = (244) = %i\n", b);
b = -1 >> 2;
printf("-1 >> 2 = (255) = %i\n", b);
getchar();
a = 111 & -12;
printf("111 AND -12 = (100) = %i\n", a);
a = -111 & -12;
printf("-111 AND -12 = (144) = %i\n", a);
b = 111 | 12;
printf("111 OR 12 = (111) = %i\n", b);
b = 111 ^ 12;
printf("111 XOR 12 = (99) = %i\n", b);
b = 111 >> 2;
printf("111 >> 2 = (27) = %i\n", b);
getchar();
}