
- •Курсова робота з дисципліни «Програмування. Частина ііі. Структури даних та алгоритми»
- •Завдання на курсову роботу
- •Теоретична частина
- •1.1 Базові типи даних
- •1.1.1 Логічний тип даних
- •1.1.2 Символьні типи даних
- •1.1.3 Цілочисельні типи даних
- •1.1.4 Дійсні типи даних
- •1.2 Похідні типи даних
- •1.2.1 Тип даних «Рядок»
- •1.2.2 Тип даних «Перерахування» («Перелік»)
- •1.2.3 Тип даних «Масив»
- •1.2.4 Тип даних «Структура»
- •1.2.5 Тип даних «Об’єднання»
- •Система тестів
- •3.1 Базові типи даних
- •3.2 Похідні типи даних
- •3.2.1 Рядок символів
- •3.2.2 Переліки
- •3.2.3 Масив
- •3.2.4 Структура
- •3.2.5 Об’єднання
- •Результати виконання програми
- •Висновки
- •Додатки
1.2.5 Тип даних «Об’єднання»
Об’єднання дуже схожі на структури. Однак на відміну від структури об'єднання зберігає значення тільки одного елемента в кожний момент часу. Інакше кажучи, коли виконується операція присвоювання значення елементу об'єднання, то перезаписується будь-яке попереднє присвоювання.
Головною особливістю об'єднання є те, що для кожного з оголошених елементів виділяється та сама область пам'яті, тобто вони перекриваються. Пам'ять, що відповідає змінній типу об'єднання, визначається величиною, необхідною для розміщення найбільш довгого елемента об'єднання. Коли використовується елемент меншої довжини, то змінна типу об'єднання може містити зайву пам'ять, що не використовується. Всі елементи об'єднання зберігаються в одній і тій cамій області пам'яті, починаючи з однієї адреси.
-
Система тестів
3.1 Базові типи даних
3.1.1 Логічний тип даних
b = (день народження * 5) % 10 * місяць народження;
b = (22* 5) % 10 * 9 = 99
Представлення логічної змінної bool b = 99;
Оскільки значення змінної b не нульове, отже b = false(99).
В пам’яті комп’ютера змінна b зберігається послідовність біт: 0110 0011.
В 16-ковій системі числення: 6316
Відповідь : 6316.
3.1.2 Символьний тип даних
-
Представлення символьної змінної :
wchar_t ch4;
ch4 = остання літера прізвища ‘t’
За таблицею кодів ASCIІ: символ ’k’ має порядковий номер 11610.
11610 = 7416
Тип wchar_t в пам’яті комп’ютера займає 2 байти.
Отже, цей символ в пам’яті комп’ютера буде представлений як послідовність:
16-ковій системі числення: 00 7416
Відповідь : 74 00 16.
3.1.3 Цілий тип даних
unsigned i3;
i3 = день народження * 215 ;
i5 = 22*215= 4 73010
Число 4 730 типу unsigned в пам'яті комп’ютера зберігається в двійковому коді і займає 4 байти: 4 73010 = 127A16
В пам’яті комп’ютера зберігається у зворотному порядку розміщення байт числа:
7A 12 00 00
Відповідь : 7A 12 00 00 16
3.1.4 Дійсний тип даних
long double d3
X – день народження(22), Y – місяць народження(9), Z = X * Y; Z = 22*9=198
d3 = – Z . X e Y;
d3 = – 198 .22 e 9;
– 198 .22 e 9 – константа еквівалентна - 198 220 000 00010
Оскільки у нас відсутня дробова частина , то перевід цілої частини:
198 220 000 00010= 2E 26 D5 2B 0016
Отже:
198 220 000 00010= 2E 26 D5 2B 0016 = 0010 1110 0010 0110 1101 0101 0010 1011 0000 0000
Нормалізація: 1.0111 0001 0011 0110 1010 1001 010112 * 1010 0101
Визначення мантиси: m=0111 0001 0011 0110 1010 1001 0101 1
Визначення зміщеного порядку: е = 102310 + 3710 = 106010 = 42416 = 100 0010 01002
Визначення знакового розряду: s=1 (бо число від’ємне ).
Схема внутрішнього представлення:
-
s
e
m
1 біт
11 біт
52 біт
Збірка за схемою:
s |
e |
M |
1 |
100 0010 0100 |
0111 0001 0011 0110 1010 1001 0101 1000 0000 0000 0000 0000 0000 |
В 16- ковій системі числення: 1100 0010 0100 0111 0001 0011 0110 1010 1001 0101 1000 0000 0000 0000 0000 00002 = C2 47 13 6A 95 80 00 0016
В пам’яті комп’ютера буде зберігатися у зворотному порядку розміщення байт числа
Результат в 16- ковій системі числення: 00 00 80 95 6A 13 47 C2.
Відповідь : 00 00 80 95 6A 13 47 C2.