Добавил:
t.me Инфо для ГУАП студентов от меня: https://kafaka.notion.site/99e6d9b70ca74f7baef3daea17839e5a Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Чурилов / лаб 1

.docx
Скачиваний:
0
Добавлен:
14.10.2024
Размер:
58.29 Кб
Скачать

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

      1. федеральное государственное автономное образовательное учреждение высшего образования

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

(ГУАП)

КАФЕДРА № 44

Преподаватель

канд. техн. наук, доцент Бариков Л.Н.

Отчёт

по лабораторной работе №1

по дисциплине ОСНОВЫ ПРОГРАММИРОВАНИЯ

на тему: «Следования»

Работу выполнил

студент гр. Z9411 Чурилов А.С.

Санкт-Петербург

2020

Формулировка задания:

Выполнить поразрядные логические операции над целыми числами

10 ˄ 117

10 ˅ -117

10 << 3

(-10 ˅ ¬117) ˄ ¬36 ˅ -11

Математическая модель (ручной счёт)

1) Находим внутреннее представление используемых десятичных чисел. Для этого переводим их в двоичную форму и размещаем каждое в 1 байте.

1010 =000010102

-1010=111101102

11710=011101012

-11710=100010112

310=000000112

3610=001001002

-1110=111101012

2) Выполняем необходимые поразрядные логические операции и переводим получившиеся результаты в десятичную форму.

10 = 00001010

117 = 01110101

10 ˄ 117 = 00000000 = 010

10 = 00001010

-117 = 10001011

10 ˅ -117 = 10001011 = 13910

10 = 00001010

10 << 3 = 01010000 = 8010

117 = 01110101

¬117 = 10001010

36 = 00100100

¬36 = 11011011

-10 = 11110110

¬117 = 10001010

-10 ˅ ¬117 = 11111110

10 ˅ ¬117 = 11111110

¬36 = 11011011

(-10 ˅ ¬117) ˄ ¬36 = 11011010

(-10 ˅ ¬117) ˄ ¬36 = 11011010

-11 = 11110101

(-10 ˅ ¬117) ˄ ¬36 ˅ -11 = 11111111 = 255

Схема алгоритма решения

Начало

a = 10 ˄ 117

Вывод

a

b = -10 ˅ -117

Вывод

b

c = 10 << 3

Вывод

c

d = (-10 ˅ ¬117) ˄ ¬36 ˅ -11

Вывод

d

Конец

Текст программы

#include<stdio.h>

using namespace std ;

int main()

{unsigned char a, b, c, d ;

a = 10 & 117 ;

printf("10 AND 117 = (0) = %i\n", a) ;

b = 10 | -117 ;

printf("10 OR -117 = (139) = %i\n", b) ;

c = 10 << 3 ;

printf("10 << 3 = (80) = %i\n", c) ;

d = (-10 | ~117) & ~36 | -11;

printf("(-10 OR NOT117) AND NOT36 OR -11 = (255) = %i\n", d);

return 0 ;

}

Скриншот контрольного примера выполнения программы

Соседние файлы в папке Чурилов