Мiнiстерство освiти і науки, молоді та спорту України
Національний університет «Львівська політехніка»
Кафедра ЕОМ
Розрахункова робота з дисципліни «Програмування. Частина ІІІ.Структури даних та алгоритми»
1: № варіанта = ((7% 5), (10 % 6)) = (2, 4)
2.1 № варіанта =(((10*5)%912)*7+5)%30=25
2.2 № варіанта = ((10+5)*(912+7))%30 = 15
2.3 № варіанта =(5*10+912*7)%30 = 14
2.4 № варіанта = (10*3*912+(7%3)*5)%30 = 5
2.5№ варіанта = (10+7+912*5+10*7)%30 = 27
Завдання
Завдання 1. Визначити внутрішнє представлення в пам’яті комп’ютера даних базових типів. Розглянути основні прості (цілі, дійсні, символьні, логічні) типи даних:
Варіант: MN(11)%5 = 2;
DN(28)%6 = 4;
bool b=0;
signed char ch3='y';
short i2=-1250;
double d2= 70.10e+7;
Завдання 2: Внутрішні формати похідних типів
Визначити представлення в пам’яті комп’ютера рядків символів. Оголосити рядок символів і ініціалізувати його. Після цього виконати деякі переприсвоювання згідно варіанту.
//0966379338
char *string25 = "\6h3\x24\4 " " fdf\xf\\df\\\\v\n\\\n";
string0 [0] = '6';
string0 [2] = '6';
string0 [4] = '3';
string0 [6 ] = '7';
string0 [8] = '9';
string0 [10] = '3';
string0 [12] = '3';
string0 [14] = '8';
Визначити представлення в пам’яті комп’ютера переліків. Оголосити три змінні перелікового типу і надати їм значення згідно варіанту.
enum color15 {
BLUE,
GREEN,
CYAN,
RED,
BROWN = 3,
GRAY,
YELLOW,
WHІTE = 2,
MAGENTA,
LІGHTGRAY,
DARKGRAY,
BLACK
} c1= CYAN,
c2= BROWN,
c3= DARKGRAY;
Визначити представлення в пам’яті комп’ютера масивів. Оголосити масив та ініціалізувати його. Після цього виконати переприсвоювання згідно варіанту.
unsigned short array14[][3][2] = {{2}, {'*', 234}, {2,5}}
array0[0][0][0] = 0 * 10 = 0
array0[0][0][1] = 9 * 10 = 90
array0[0][1][0] = 6 * 10 = 60
array0[0][1][1] = 6 * 10 = 60
array0[0][2][0] = 3 * 10 = 30
array0[0][2][1] = 7 * 10 = 70
array0[1][0][0] = 9 * 10 = 90
array0[1][0][1] = 3 * 10 = 30
array0[1][1][0] = 3 * 10 = 30
array0[1][1][1] = 8 * 10 = 80
Визначити представлення в пам’яті комп’ютера структур. Оголосити структуру, після цього надати всім елементам структури значення згідно варіанту.
struct str5 {
signed short d;
unsigned :0;
short b:7;
unsigned long e:12;
wchar_t f;
unsigned long :2;
double a;
char c[11];
}str;
str.a = 10.70;
str.b = 5*912*124; // 5*912*124 = 565440
str.c[0] = ‘G’;
str.c[1] = ‘r’;
str.c[2] = ‘y’;
str.c[3] = ‘t’;
str.c[4] = ‘s’;
str.d = 764 * 5 * 3; // 764 * 5 * 3 = 11460
str.e = 10 * 7 * 36; // 10 * 7 * 36 = 2520
str.f = 8;
Визначити представлення в пам’яті комп’ютера об'єднань. Оголосити об'єднання, надати деяким елементам об'єднання початкові значення.
union un27 {
struct {
wchar_t c;
float e;
};
double d[2];
char a[11];
struct {
bool b;
char f[14];
};
} un;
un.e = 912 * 325 + 1992 * 10; // 912 * 325 + 1992 * 10 = 316320
un.c = 10* (7 + 5) * 100; // 10* (7 + 5) * 100 = 12000
un.a[0] = ‘7’;
un.a[1] = ‘9’;
un.a[2] = ‘3’;
un.a[3] = ‘3’;
un.a[4] = ‘8’;
Зміст
Вступ
Теоретична частина
Алгоритм розв’язання задачі
Система тестів
Внутрішні формати базових типів
Логічний тип
Символьний тип
Цілий тип
Дійсний тип
Внутрішні формати похідних типів
Рядок символів
Перерахування
Масив
Структура
Об’єднання
Результати виконання програми
Висновки
Список літератури
Додатки
Вступ
Дана розрахункова робота полягає у вивченні представлення в мові програмування С++ різних типів даних, як простих (логічний, символьний, дійсні, цілі), так і похідних(структури, масиви, перерахування, об’єднання)
Знати про структури даних важливо, оскільки від правильного вибору структур, на яких буде реалізуватися програмний продукт, залежить ефективність роботи програми. В цій роботі й буде продемонстровано, як саме різні типи даних зберігаються в комп’ютері.
Теоретична частина
1.1 Базові типи даних
1.1.1 Логічний тип даних
В мові C++ логічний тип (bool) характеризується двома зн...