Добавил:
anrakhmanowa@yandex.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2 сем / Рахманова А.А. Лабораторная работа_1_следование

.docx
Скачиваний:
15
Добавлен:
16.06.2023
Размер:
72.26 Кб
Скачать

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Ивангородский гуманитарно-технический институт (филиал) федерального государственного автономного образовательного учреждения высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

КАФЕДРА ПРИКЛАДНОЙ МАТЕМАТИКИ, ИНФОРМАТИКИ И ИНФОРМАЦИОННЫХ ТАМОЖЕННЫХ ТЕХНОЛОГИЙ

ОЦЕНКА

ПРЕПОДАВАТЕЛЬ

кандидат технических наук, доцент

Л.Н. Бариков

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №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