- •Курсова робота з дисципліни «Програмування. Частина ііі. Структури даних та алгоритми»
- •Завдання на курсову роботу
- •Теоретична частина
- •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 Об’єднання
- •Результати виконання програми
- •Висновки
- •Додатки
Мiнiстерство освiти і науки, молоді та спорту України
Національний університет «Львівська політехніка»
Кафедра ЕОМ
Курсова робота з дисципліни «Програмування. Частина ііі. Структури даних та алгоритми»
2 № варіанта = 4.4
3.2.1 № варіанта = (((22* 45) %1) * 9 + 45) % 30 = 15
3.2.2 № варіанта = ((22+45) * (1 +9)) % 30 = 10
3.2.3 № варіанта = (45* 10 +1*9) % 30 =10
3.2.4 № варіанта = (22 * 3 *1 + (9 % 3) *45) % 30 = 6
3.2.5 № варіанта = (22 + 9 + 1 * 45 +22 * 9) % 30 = 4
Виконав:
ст.гр.КІ-25
Кіндрат С.В.
Прийняв:
Матвейчук Т.А.
Львів 2011
Завдання на курсову роботу
Завдання 1. Визначити внутрішнє представлення в пам’яті комп’ютера даних базових типів. Розглянути основні прості (цілі, дійсні, символьні, логічні) типи даних:
Варіант: 4.0.
MN(09)%5 = 4;
DN(22)%6 = 4;
-
bool b;
-
wchar_t ch4;
-
unsigned i3;
-
long double d3;
Завдання 2: Внутрішні формати похідних типів
-
Визначити представлення в пам’яті комп’ютера рядків символів. Оголосити рядок символів і ініціалізувати його.
№ варіанта = (((день народження * номер будинку) % номер квартири) * місяць народження + номер будинку) % 30
№ варіанта = (((22* 45) %1) * 9 + 45) % 30 = 15
моб. тел..: 0631728647
char *string15 = "\xabn\\\n\v""abcde""vnsc6\x23";
Після цього виконати деякі переприсвоювання згідно варіанту.
string№ [0] = символ, що відповідає 3 цифрі string15 [0] = '3';
string№ [2] = символ, що відповідає 4 цифрі string15 [2] = '1';
string№ [4] = символ, що відповідає 5 цифрі string15 [4] = '7';
string№ [6] = символ, що відповідає 6 цифрі string15 [6 ] = '2';
string№ [8] = символ, що відповідає 7 цифрі string15 [8] = '8';
string№ [10] = символ, що відповідає 8 цифрі string15 [10] = '6';
string№ [12] = символ, що відповідає 9 цифрі string15 [12] = '4';
string№ [14] = символ, що відповідає 10 цифрі string15 [14] = '7';
-
Визначити представлення в пам’яті комп’ютера переліків. Оголосити три змінні перелікового типу і надати їм значення згідно варіанту.
Вибір варіанту індивідуального завдання:
№ варіанта = ((день народження + номер будинку) * (номер квартири + місяць народження)) % 30
№ варіанта = ((22+45) * (1 +9)) % 30 = 10
Тестування провести для наступних значень змінних:
enum color10 {
BLUE,
GREEN,
CYAN,
RED,
BROWN,
GRAY = 1,
YELLOW,
WHІTE,
MAGENTA,
LІGHTGRAY,
DARKGRAY = -2,
BLACK
} c1= CYAN,
c2= BROWN,
c3= DARKGRAY;
-
Визначити представлення в пам’яті комп’ютера масивів. Оголосити масив та ініціалізувати його.
Вибір варіанту індивідуального завдання:
№ варіанта = (номер будинку * 10 + номер квартири * місяць народження) % 30
№ варіанта = (45* 10 +1*9) % 30 =10
моб. тел..: 0631728647
Тестування провести для наступних значень змінних:
wchar_t array10[][3][2] = {{1,123}, {23,'4', true}}
Після цього виконати переприсвоювання згідно варіанту.
array10[0][0][0] = 0; // 0 * 22 = 0
array10[0][0][1] = 132; // 6 * 22 = 132
array10[0][1][0] = 66; // 3 * 22 = 66
array10[0][1][1] = 22; // 1 * 22 = 22
array10[0][2][0] = 154 // 7 * 22 = 154
array10[0][2][1] = 44; // 2 * 22 = 44
array10[1][0][0] = 176; // 8 * 22 = 176
array10[1][0][1] = 132; // 6 * 22 = 132
array10[1][1][0] = 88; // 4 * 22 = 88
array10[1][1][1] = 154; // 7 * 22 = 154
-
Визначити представлення в пам’яті комп’ютера структур. Оголосити структуру, після цього надати всім елементам структури значення згідно варіанту.
Вибір варіанту індивідуального завдання:
№ варіанта = (день народження * 3 * номер квартири + (місяць народження % 3) * номер будинку) % 30
№ варіанта = (22 * 3 *1 + (9 % 3) *45) % 30 = 6
моб. тел..: 0631728647
Тестування провести для наступних значень змінних:
struct str6 {
unsigned long e:3;
unsigned long :2;
short :2;
signed short d;
unsigned :7;
double a;
short b:7;
char f;
char c[9];
}str;
str.a = D.DM; // замість D підставити свій день народження
str.a = 22.198; // замість DM підставити значення, що дорівнює
// добутку дня народження на місяць народження
str.b = BD * KV * 124; // замість BD підставити номер свого будинку
str.b = 45 * 1 * 124 = 5 580; // замість KV підставити номер своєї квартири
str.c[0] = перша літера; str.c[0] = ‘K’
str.c[1] = друга літера; str.c[1] = ‘i’
str.c[2] = третя літера; str.c[2] = ‘n’
str.c[3] = четверта літера; str.c[3] = ‘d’
str.c[4] = п'ята літера; str.c[4] = ‘r’
str.d = 764 * BD * Х; // замість BD підставити номер свого будинку
str.d = 764*45*7=0; // замість Х підставити шосту з кінця цифру номера
// мобільного телефона
str.e = DN * MN * 36; // замість DN підставити свій день народження
str.e = 22 *9 * 36=7 128; // замість MN підставити свій місяць народження
str.f = Y; // замість Y підставити останню цифру номера
str.f = 7; // мобільного телефона
-
Визначити представлення в пам’яті комп’ютера об'єднань. Оголосити об'єднання, надати деяким елементам об'єднання початкові значення.
Вибір варіанту індивідуального завдання:
№ варіанта = (день народження + місяць народження + номер квартири * номер будинку +
+ день народження * місяць народження) % 30
№ варіанта = (22 + 9 + 1 * 45 +22 * 9) % 30 = 4
моб. тел..: 0631728647
Тестування провести для наступних значень змінних:
union un4 {
char a[14];
struct {
short d[5];
unsigned b;
float e;
};
int c;
} un;
un.e = KV * 325 + YEAR * DN; // замість KV підставити номер своєї квартири
un.e =1 * 325 + 1993 * 22=44 171; // замість YEAR підставити свій рік народження
// замість DN підставити свій день народження
un.c = DN * (MN + BD) * 100; // замість MN підставити свій місяць народження
un.c = 22 * (9 + 45) * 100= 118 800; // замість BD підставити номер свого будинку
un.a[0] = символ, що відповідає 6 цифрі номера мобільного телефона; un.a[0] = ‘2’
un.a[1] = символ, що відповідає 7 цифрі номера мобільного телефона; un.a[1] = ‘8’
un.a[2] = символ, що відповідає 8 цифрі номера мобільного телефона; un.a[2] = ‘6’
un.a[3] = символ, що відповідає 9 цифрі номера мобільного телефона; un.a[3] = ‘4’
un.a[4] = символ, що відповідає 10 цифрі номера мобільного телефона; un.a[4] = ‘7’
Зміст
Вступ
-
Теоретична частина
-
Система тестів
-
Внутрішні формати базових типів
-
Логічний тип
-
Символьний тип
-
Цілий тип
-
Дійсний тип
-
-
Внутрішні формати похідних типів
-
Рядок символів
-
Перерахування
-
Масив
-
Структура
-
Об’єднання
-
-
-
Результати виконання програми
Висновки
Список літератури
Додатки
Вступ
Дана курсова робота полягає у вивченні представлення в мові програмування С++ різних типів даних, як простих (логічний, символьний, дійсні, цілі), так і похідних(структури, масиви, перерахування, об’єднання)
Знати про структури даних важливо, оскільки від правильного вибору структур, на яких буде реалізуватися програмний продукт, залежить ефективність роботи програми. В цій роботі й буде продемонстровано, як саме різні типи даних зберігаються в комп’ютері.