
- •Часть 1
- •Лабораторная работа №1 Следование
- •Варианты индивидуальных заданий Выполнить поразрядные логические операции над машинными кодами
- •Пример программы
- •Лабораторная работа №2 Операторы ветвления
- •3. Построить схему алгоритма решения задачи.
- •Варианты индивидуальных заданий
- •Пример разработки математической модели и схемы алгоритма решения задачи для варианта задания вида:
- •Текст программы
- •Лабораторная работа №3 Операторы цикла: заданное число повторений
- •Варианты индивидуальных заданий
- •Лабораторная работа №4 Статические одномерные массивы
- •Варианты индивидуальных заданий
- •Федеральное государственное автономное образовательное учреждение высшего образования
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное автономное образовательное учреждение
высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
(ГУАП)
__________________________________________________________________
Л.Н. Бариков
Основы алгоритмизации и программирования на C/C++
Учебное пособие
Часть 1
Санкт-Петербург
2019
Лабораторная работа №1 Следование
Цель лабораторной работы: изучение концепций и освоение технологии структурного программирования, приобретение навыков структурного программирования на языке C/C++ при решении простейших вычислительных задач.
Задание на программирование: используя технологию структурного программирования разработать линейную программу решения индивидуальной вычислительной задачи (выполнение поразрядных логических операций над целыми числами).
Порядок выполнения работы:
1. Получить у преподавателя индивидуальное задание.
2. Разработать математическую модель вычислений. Для этого выполнить все необходимые вычисления вручную, при этом учесть, что все исходные данные и результаты вычислений занимают по одному байту памяти. Конечные результаты интерпретировать как неотрицательные значения.
3. Принять полученные результаты в качестве контрольных значений.
4. Построить схему алгоритма решения задачи.
5. Составить программу на языке C/C++.
6. Для хранения результатов использовать переменные типа unsigned char.
7. Выходные данные (сообщения) выводить на экран в развернутой форме.
8. Проверить и продемонстрировать преподавателю работу программы.
9. Оформить отчет о лабораторной работе в составе: постановка задачи, математическая модель, схема алгоритма решения, текст программы, контрольный пример (скриншот).
10. Вариант задания определяется как две последних цифры номера зачетной книжки (цц), взятых по модулю 50, плюс 1 (цц mod 50 + 1). Например, 00 – 1-й вариант, 01 – 2-ой вариант, 49 – 50-ый вариант, 60 – 11-ый вариант, и т.д.
Варианты индивидуальных заданий Выполнить поразрядные логические операции над машинными кодами
Условные обозначения операций:
˄ - конъюнкция, поразрядное логическое умножение;
˅ - дизъюнкция, поразрядное логическое сложение;
¬ - поразрядное логическое отрицание;
∆ - поразрядное суммирование по модулю 2;
>> - поразрядный сдвиг вправо;
<< - поразрядный сдвиг влево
1.
137 ˄ 90
-137 ∆ 90
137 >> 3
¬21 ∆ -13 ˄ (-137 ˅ ¬9)
2.
113 ˄ 106
113 ˅ -106
113 >> 4
¬17 ˅ (¬113 ∆ -19) ˄ 91
3.
108 ˄ 37
108 ∆ -37
25 << 2
-25 ˄ (¬108 ˅ -20) ∆ ¬59
4.
217 ˄ 13
-217 ˅ 13
217 << 2
¬21 ∆ -3 ˄ (¬217 ˅ -13)
5.
-21 ˅ 43
21 ∆ 43
43 << 1
(¬19 ˅ -6) ˄ -19 ∆ 14
6.
115 ˄ 15
115 ∆ -15
115 << 1
¬7 ˄ -5 ∆ (¬115 ˅ -8)
7.
99 ˅ -17
99 ˄ 17
17 << 3
(17 ˅ ¬-8) ˄ -99 ∆ 13
8.
219 ˅ -49
219 ∆ 49
49 << 2
(¬49 ∆ -26) ˄ 219 ∆ -59
9.
112 ˄ 27
112 ˅ -27
112 >> 3
¬112 ∆ -14 ˄ (¬27 ˅ -100)
10.
213 ˄ 12
213 ∆ 12
12 << 3
-213 ∆ 15 ˄ (¬28 ˅ -36)
11.
215 ˄ 18
215 ∆ 18
215 << 2
¬215 ˅ -44 ˄ (¬24 ˅ -19)
12.
119 ˄ 14
119 ˅ -14
119 << 1
¬119 ˄ -25 ˅ (45 ˄ -29)
13.
249 ˄ 11
-249 ∆ 11
249 >> 2
249 ˅ -13 ˄ (34 ˅ ¬46)
14.
108 ˄ 35
108 ∆ 35
35 << 2
-108 ˅ 38 ˄ (26 ∆ ¬59)
15.
120 ˄ 37
120 ˅ -37
120 >> 2
120 ˅ -69 ˄ (¬46 ˅ -13)
16.
117 ˄ 80
117 ∆ 80
117 >> 3
-117 ∆ ¬15 ˄ (¬82 ˅ -25)
17.
125 ˄ 14
125 ∆ 14
125 >> 4
110 ˅ -125 ˄ (¬46 ∆ -11)
18.
119 ˄ 18
119 ˅ -18
119 >> 3
80 ˅ -119 ˄ (¬48 ∆ -15)
19.
125 ˄ 20
125 ˅ -20
125 << 1
50 ˅ -125 ˄ (¬50 ∆ -47)
20.
94 ˄ 15
94 ∆ 15
94 >> 2
-94 ∆ -117 ˄ (¬40 ˅ -79)
21.
102 ˄ 31
102 ˅ -31
102 >> 3
35 ∆ -102 ˄ (¬28 ˅ -67)
22.
90 ˄ 11
90 ˅ -11
90 << 1
57 ∆ -90 ˄ (¬30 ˅ -35)
23.
74 ˄ 111
74 ∆ 111
74 << 1
28 ˅ -74 ˄ (¬36 ∆ -28)
24.
36 ˄ 21
36 ∆ 21
36 << 2
47 ˅ -36 ˄ (¬36 ∆ -47)
25.
116 ˄ 18
116 ˅ -18
116 << 1
29 ∆ -116 ˄ (¬60 ˅ -45)
26.
115 ˄ 26
115 ∆ 26
115 << 1
¬80 ∆ -115 ˄ (-16 ˅ ¬115)
27.
81 ˄ 34
81 ∆ 34
81 << 1
70 ∆ -81 ˄ (¬36 ˅ 55)
28.
111 ˄ 14
111 ∆ 14
111 << 1
65 ∆ -111 ˄ (¬65 ˅ 131)
29.
105 ˄ -15
105 ∆ 15
105 >> 2
¬105 ˄ -75 ∆ (¬75 ˅ -70)
30.
-99 ˅ 27
99 ˄ 27
99 << 1
(27 ˅ -99) ˄ ¬119 ∆ -37
31.
97 ˅ -29
97 ∆ 29
97 >> 3
(¬119 ∆ -29) ˄ 39 ∆ -119
32.
79 ˄ 24
79 ˅ -24
79 << 1
¬79 ˄ -24 ˅ (33 ˄ ¬169)
33.
87 ˄ 11
87 ∆ -11
87 << 1
111 ˅ -87 ˄ (106 ˅ ¬39)
34.
48 ˄ -25
48 ∆ 25
48 >> 2
-48 ˅ -25 ˄ (136 ∆ ¬119)
35.
10 ˄ 117
10 ˅ -117
10 << 3
(-10 ˅ ¬117) ˄ ¬36 ˅ -11
36.
27 ˄ -115
27 ∆ 115
27 << 2
-27 ∆ ¬115 ˄ (¬42 ˅ -65)
37.
35 ˄ 103
35 ∆ -103
35 << 4
(-35 ˅ ¬103) ˄ ¬126 ∆ -71
38.
19 ˄ 108
19 ˅ -108
19 << 3
(19 ∆ ¬108) ˄ (¬78 ∆ -35)
39.
34 ˄ 120
34 ˅ -120
120 >> 2
(120 ∆ ¬34) ˄ ¬40 ˅ -67
40.
29 ˄ 102
29 ∆ -102
29 << 3
(-29 ∆ 102) ˄ (¬47 ˅ -96)
41.
95 ˄ -18
95 ∆ 18
95 >> 2
¬95 ˅ -38 ˄ (¬74 ˅ -91)
42.
109 ˄ 24
109 ˅ -24
24 << 2
¬109 ˄ -24 ˅ (113 ˄ ¬89)
43.
147 ˄ 11
147 ∆ -11
147 >> 3
11 ˅ -147 ˄ (104 ˅ ¬36)
44.
98 ˄ -25
98 ∆ 25
98 << 1
-98 ˅ 25 ˄ (146 ∆ ¬29)
45.
100 ˄ 17
100 ˅ -17
100 >> 2
-100 ˅ ¬117 ˄ (¬36 ˅ -111)
46.
107 ˄ -15
107 ∆ 15
107 << 1
-107 ∆ ¬115 ˄ (¬52 ˅ -75)
47.
105 ˄ 13
105 ∆ -13
105 << 1
-105 ˅ ¬13 ˄ (¬86 ∆ -141)
48.
109 ˄ 18
109 ˅ -18
18 << 3
-109 ˅ ¬118 ˄ (¬158 ∆ -65)
49.
95 ˄ 20
95 ˅ -20
95 >> 2
120 ∆ -95 ˄ (¬20 ˅ -37)
50.
184 ˄ 35
184 ∆ -35
35 << 2
-184 ∆ ¬35 ˄ (¬22 ˅ -91)