- •До курсової роботи
- •"Програмування. Частина і. Представлення статичних данних в пам’яті комп’ютера" з дисципліни
- •6.050102 “Комп’ютерна інженерія”
- •1. Мета роботи
- •2. Вимоги до порядку виконання та оформлення курсової роботи
- •2.1. Вимоги до оформлення програмного продукту
- •2.2. Вимоги до оформлення звіту
- •3. Варіанти завдань
- •3.1. Завдання 1
- •Вибір варіанту індивідуального завдання:
- •Тестування провести для наступних значень змінних:
- •3.2. Завдання 2
- •Вибір варіанту індивідуального завдання:
- •Тестування провести для наступних значень змінних
- •Вибір варіанту індивідуального завдання:
- •Тестування провести для наступних значень змінних:
- •Вибір варіанту індивідуального завдання:
- •Тестування провести для наступних значень змінних:
- •Вибір варіанту індивідуального завдання:
- •Тестування провести для наступних значень змінних:
- •Вибір варіанту індивідуального завдання:
- •Тестування провести для наступних значень змінних:
- •4. Контрольні питання
- •5. Контрольні завдання
- •Список літератури
- •Методичні вказівки
- •" Програмування. Частина і. Представлення статичних даних в пам’яті комп’ютера "
- •6.050102 “Комп’ютерна інженерія
3. Варіанти завдань
3.1. Завдання 1
Визначити внутрішнє представлення в пам’яті комп’ютера даних базових типів. Розглянути основні прості (цілі, дійсні, символьні, логічні) типи даних:
bool b;
char ch1;
unsigned char ch2;
signed char ch3;
wchar_t ch4;
unsigned short i1;
short i2;
unsigned i3;
int i4;
unsigned long i5;
long i6;
float d1;
double d2;
long double d3;
Вибір варіанту індивідуального завдання:
Вибрати в таблиці номер варіанту і назви змінних для дослідження:
|
(день народження студента) % 6 |
||||||
(місяць народження студента) % 5 |
Варіанти |
0 |
1 |
2 |
3 |
4 |
5 |
0 |
b,ch1,i4,d1 |
b,ch1,i1,d2 |
b,ch1,i2,d3 |
b,ch1,i1,d1 |
b,ch1,i3,d2 |
b,ch1,i5,d3 |
|
1 |
b,ch1,i3,d3 |
b,ch2,i4,d2 |
b,ch2,i6,d1 |
b,ch2,i4,d3 |
b,ch2,i1,d2 |
b,ch2,i1,d1 |
|
2 |
b,ch2,i3,d3 |
b,ch2,i5,d2 |
b,ch3,i3,d1 |
b,ch3,i1,d3 |
b,ch3,i2,d2 |
b,ch3,i4,d1 |
|
3 |
b,ch3,i5,d2 |
b,ch3,i6,d2 |
b,ch3,i6,d3 |
b,ch3,i1,d2 |
b,ch4,i3,d2 |
b,ch4,i5,d1 |
|
4 |
b,ch4,i6,d3 |
b,ch4,i1,d2 |
b,ch4,i6,d1 |
b,ch4,i4,d2 |
b,ch4,i3,d3 |
b,ch4,i2,d2 |
Примітка: Варіанти міняються від (0,0) до (4,5), де перша цифра - номер рядка, друга - номер стовбця, наприклад, якщо дата народження студента 11.03.1989, то він має виконувати варіант (3,5), тобто досліджувати такі змінні: b,ch4,i5,d1
Тестування провести для наступних значень змінних:
b = (день народження * 5) % 10 * місяць народження;
Для надання значень символьним змінним використати одну з літер Прізвища (латинські літери, перша - велика, решта - малі). Якщо прізвище містить менше трьох літер, то замість відсутніх символів записати нулі.
ch1 = перша літера;
ch2 = друга літера;
ch3 = третя літера;
ch4 = остання літера;
i1 = день народження * 125 ;
i2 = – i1;
i3 = день народження * 215 ;
i4 = – i3;
i5 = день народження * 352 ;
i6 = – i5;
Для надання значень дійсним змінним використати такі позначення:
X – день народження, Y – місяць народження, Z = X * Y;
d1 = – Z . X e – Y;
d2 = Z . X e + Y;
d3 = – Z . X e Y;
3.2. Завдання 2
Визначити внутрішнє представлення в пам’яті комп’ютера даних похідних типів.
3.2.1. Представлення рядків символів. Визначити представлення в пам’яті комп’ютера рядків символів.
Вибір варіанту індивідуального завдання:
№ варіанта = (((день народження * номер будинку) % номер квартири) *
* місяць народження + номер будинку) % 30
Тестування провести для наступних значень змінних
Оголосити рядок символів і ініціалізувати його згідно наведеній нижче таблиці. Після цього виконати деякі переприсвоювання, задані після таблиці.
Варіант |
Завдання |
|
char *string0 = "he\xaaw\34\\""d\vf23\xfe\1e\xfjf"; |
|
char *string1 = "34yf\x3""25\v\\9\6\4\\""24ffh5"; |
|
char *string2 = "hfsd\xc\x13\\d\65\x14""fht\"""\\\""; |
|
char *string3 = "efg\\""""\x22\2!34\4\?545\\\\\"\'f\\df"; |
|
char *string4 = "gh\\\njdk\x44\\f\v\?''2%4df"; |
|
char *string5 = "35j\5\x4 3y\34d df\\""'4""\n"; |
|
char *string6 = "\xdf' '||'f'34((75""""dvfwg6""'\vd"; |
|
char *string7 = "\v\n\t\\\?\x45\\\67""\\\\x34df" """\?"; |
|
char *string8 = "1205\x3\?dfd\v""""\n34\n\\t\x4[f"""; |
|
char *string9 = "34\xe5\\\\\\v3\x4g5\xdfvdfw""""f"; |
|
char *string10 = "fsggg4\x11 4vv\vnn n\"df""\\\?6\6"; |
|
char *string11 = "\v\nfff\nf\\\?\nnn3445\3 4\2pk["; |
|
char *string12 = "erjf\45\\h\54\x3\\nn\\f\xf\n" """gh"; |
|
char *string13 = "f\33\\\\gf\xfag\5 \n\\v""hello\"?\?"""; |
|
char *string14 = "\x54x4\54fd3\4\b54fg\v\b5%\n\\v"; |
|
char *string15 = "\xabn\\\n\v""abcde""vnsc6\x23"; |
|
char *string16 = "hello\x12\22"" " "123*\\n\n\v"; |
|
char *string17 = "\x34\\fdg\v\n3""""\\fh2l\\v\\"""; |
|
char *string18 = "143%\\\b\\wf\n\v""""df""'df '\x2"; |
|
char *string19 = "\xcb\34\\\xffh 12 \4d4\\\\\n"; |
|
char *string20 = "\x23\1\34t5\n\n\\\\v\v\\n""]*\\A"""; |
|
char *string21 = "75\45\vcv\\\\nje_3\\\\n\v\t\23' ' "; |
|
char *string22 = "\x33" "eef4f\\n\v\tdx\\xff]\4"; |
|
char *string23 = "14&\\n\\\n\\v\b\x33\\x344\3hw3\3"; |
|
char *string24 = "\\x\\n\33\x34\3hello3" "\\\"12\12"; |
|
char *string25 = "\6h3\x24\4 " " fdf\xf\\df\\\\v\n\\\n"; |
|
char *string26 = "\x22\33\x4\\vv\\\\bnn\n57!\\n"; |
|
char *string27 = "\\x3\x34\1j\\de\\\n\\w2" "\\n24%"; |
|
char *string28 = "\\xahe\\n\\n\v\b\22\\3\x34""f"; |
|
char *string29 = "\6h3 \34\x53\\\nahaabc\xbcxbc\\"; |
Для кожного варіанту виконати наступні переприсвоювання:
string№ [0] = символ, що відповідає 3 цифрі номера мобільного телефона;
string№ [2] = символ, що відповідає 4 цифрі номера мобільного телефона;
string№ [4] = символ, що відповідає 5 цифрі номера мобільного телефона;
string№ [6] = символ, що відповідає 6 цифрі номера мобільного телефона;
string№ [8] = символ, що відповідає 7 цифрі номера мобільного телефона;
string№ [10] = символ, що відповідає 8 цифрі номера мобільного телефона;
string№ [12] = символ, що відповідає 9 цифрі номера мобільного телефона;
string№ [14] = символ, що відповідає 10 цифрі номера мобільного телефона;
де № – номер варіанту.
Наприклад: для студента з номером варіанту 0 і номером мобільного телефона 0671234567 треба виконати такі присвоюння:
char *string0 = "he\xaaw\34\\""d\vf23\xfe\1e\xfjf";
string0 [0] = '7';
string0 [2] = '1';
string0 [4] = '2';
string0 [6] = '3';
string0 [8] = '4';
string0 [10] = '5';
string0 [12] = '6';
string0 [14] = '7';
В результаті рядок символів набуде такого вигляду:
char *string0 = "7e1w2\\3\v425\xfe6e7jf ";
3.2.2. Представлення переліків. Визначити представлення в пам’яті комп’ютера переліків.