МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Ивангородский гуманитарно-технический институт (филиал) федерального государственного автономного образовательного учреждения высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
КАФЕДРА ПРИКЛАДНОЙ МАТЕМАТИКИ, ИНФОРМАТИКИ И ИНФОРМАЦИОННЫХ ТАМОЖЕННЫХ ТЕХНОЛОГИЙ
|
ОЦЕНКА
ПРЕПОДАВАТЕЛЬ
кандидат технических наук, доцент |
|
|
|
Л.Н. Бариков |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №1
|
Следование
|
по дисциплине: Основы программирования |
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. № |
Z222K |
|
|
|
А.А. Рахманова |
|
номер группы |
|
подпись, дата |
|
инициалы, фамилия |
|
|
|
|
|
Ивангород 2023
Лабораторная работа №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;
>> - поразрядный сдвиг вправо;
<< - поразрядный сдвиг влево
Моё задание определилось двумя последними цифрами зачётной книжки 68, т.е. задание №33
Выполнить поразрядные логические операции над целыми числами
87 ˄ 11
87 ∆ -11
87 >> 1
11 ˅ -87 ˄ (106 ˅ ¬39)
Математическая модель (ручной счёт)
1) Находим внутреннее представление используемых десятичных чисел. Для этого переводим их в двоичную форму и размещаем каждое в 1 байте.
|
8 |
7 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
6 |
|
4 |
3 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
4 |
2 |
|
2 |
1 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
2 |
0 |
|
1 |
0 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
1 |
0 |
|
|
5 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
4 |
|
|
2 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
2 |
|
|
1 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
0 |
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
8 |
7 |
= |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-8 |
7 |
= |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
= |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-1 |
1 |
= |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
0 |
6 |
= |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
9 |
= |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2) Выполняем необходимые поразрядные логические операции и переводим получившиеся результаты в десятичную форму.
|
|
|
|
|
8 |
7 |
= |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
|
|
|
|
|
||||||||||||||
|
|
|
|
|
1 |
1 |
= |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
|
|
|
|
|
||||||||||||||
8 |
7 |
A |
N |
D |
1 |
1 |
= |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
= |
3 |
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
8 |
7 |
= |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
|
|
|
|
|||||||||||||||
|
|
|
|
|
-1 |
1 |
= |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
|
|
|
|
|||||||||||||||
8 |
7 |
X |
O |
R |
-1 |
1 |
= |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
= |
1 |
6 |
2 |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
8 |
7 |
= |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
|
|
|
|
|||||||||||||||
|
|
|
8 |
7 |
>> |
1 |
= |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
= |
4 |
3 |
|