Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursova_MOVCHKO.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
190.25 Кб
Скачать
  1. Алгоритм розв’язання задачі

3.1. Словесний опис алгоритму

Оголошуємо необхідні змінні. Оголошуємо вказівник на змінну типу “unsigned char” і присвоюємо їй адресу змінної, яку необхідно прочитати. Побайтно зчитуємо дані з пам’яті і виводимо їх в шіснадцятковій системі численя, також виводимо десяткове значення змінної.

3.2. Граф-схема алгоритму

Початок

Ввід х

і = 0

вказівник на y = адреса х

j = розмір х (в байтах)

i > j

Так

Ні

Перевід уі в 16сч

Вивід уі

i = i + 1

Кінець

  1. Результат виконання программи

ВИСНОВКИ

Виконуючи цю курсову роботу я повторив, як визначити внутрішнє представлення цілих, дійсних, логічних та символьних чисел в пам’яті комп’ютера. Також я вивчив багато нового про представлення в пам’яті комп’ютера рядків символів, перерахувань, масивів, структур та об’єднань.

СПИСОК ЛІТЕРАТУРИ

  1. Матвейчук Т. А. Основи представлення данних в пам'яті комп'ютера: Конспект лекцій (частина І ) з дисципліни “Програмування. Частина IIІ. Структури даних та алгоритми". – Львів: Видавництво НУ “Львівська політехніка”, 2010 – 37 с.

  2. Конспект лекцій з дисципліни “Програмування. Частина IIІ. Структури даних та алгоритми".

  3. Вирт Н. Алгоритмы + структуры данных = программы: Пер. с англ. – М.:Мир, 1985.-406 с.

  4. Вирт Н. Алгоритмы и структуры данных: Пер. с англ. – М.:Мир, 1989.-360 с.

  5. Кнут Д. Искусство програмирования, том 1. Основные алгоритмы. – М.:Изд.дом ”Вильямс”, 2001. – 720 с.

ДОДАТКИ

Дотаток А

Текст програми до завдання 1 і 2

#include <stdio.h>

#include <iostream>

#include <locale>

#include <windows.h>

using namespace std;

void main()

{

setlocale(LC_CTYPE,"Russian");

//--------------------------------------------------------------------------------

cout<<"\tЗавдання №1\n";

//--------------------------------------------------------------------------------

cout<<"1.1 Логiчний тип: "<<endl;

bool b = 0;

unsigned char *bb=(unsigned char *)(&b);

for(int i=0;i<sizeof(b);i++) printf("%02X ",bb[i]);

cout<<endl;

//--------------------------------------------------------------------------------

//--------------------------------------------------------------------------------

cout<<"1.2 Символьний тип: "<<endl;

char ch1 = 'M' ;

unsigned char *chh4=(unsigned char *)(&ch1);

for(int i=0;i<sizeof(ch1);i++) printf("%02X ",chh4[i]);

cout<<endl;

//--------------------------------------------------------------------------------

//--------------------------------------------------------------------------------

cout<<"1.3 Цiлий тип: "<<endl;

int i4 = -5160;

unsigned char *ii2=(unsigned char *)(&i4);

for(int i=0;i<sizeof(i4);i++) printf("%02X ",ii2[i]);

cout<<endl;

//--------------------------------------------------------------------------------

//--------------------------------------------------------------------------------

cout<<"1.4 Дiйсний тип: "<<endl;

float d1 =-240.24e-10;

unsigned char *dd2=(unsigned char *)(&d1);

for(int i=0;i<sizeof(d1);i++) printf("%02X ",dd2[i]);

cout<<"\n"<<endl;

//--------------------------------------------------------------------------------

cout<<"\tЗавдання №2\n";

//--------------------------------------------------------------------------------

cout<<"2.1 Рядок символiв: "<<endl;

char string19[] = "\xcb\34\\\xffh 12 \4d4\\\\\n";

string19[0] = '3';

string19 [2] = '1';

string19 [4] = '2';

string19 [6] = '3';

string19 [8] = '9';

string19 [10] = '9';

string19 [12] = '8';

string19 [14] = '8';

for(int i=0;i<17;i++) printf("%02X ",string19[i]);

cout<<endl;

//--------------------------------------------------------------------------------

//--------------------------------------------------------------------------------

cout<<"2.2 Представлення перерахувань: "<<endl;

enum color6 {

BLUE,

GREEN,

CYAN = -1,

RED,

BROWN,

GRAY = -2,

YELLOW,

WHІTE = 0,

MAGENTA,

LІGHTGRAY,

DARKGRAY,

BLACK

} c1= CYAN,

c2= BROWN,

c3= DARKGRAY;

cout<<"Змiнна с1"<<endl;

unsigned char *cc1=(unsigned char *)(&c1);

for(int i=0;i<sizeof(c1);i++) printf("%02X ",cc1[i]);

cout<<endl;

cout<<"Змiнна с2"<<endl;

unsigned char *cc2=(unsigned char *)(&c2);

for(int i=0;i<sizeof(c2);i++) printf("%02X ",cc2[i]);

cout<<endl;

cout<<"Змiнна с3"<<endl;

unsigned char *cc3=(unsigned char *)(&c3);

for(int i=0;i<sizeof(c3);i++) printf("%02X ",cc3[i]);

cout<<endl;

//--------------------------------------------------------------------------------

//--------------------------------------------------------------------------------

cout<<"2.3 Представлення масивiв: "<<endl;

wchar_t array10[][3][2] = {{1,123}, {23,'4', true}};

array10[0][0][0] = 0;

array10[0][0][1] = 144;

array10[0][1][0] = 72;

array10[0][1][1] = 24;

array10[0][2][0] = 48;

array10[0][2][1] = 72;

array10[1][0][0] = 216;

array10[1][0][1] = 216;

array10[1][1][0] = 192;

array10[1][1][1] = 192;

unsigned char *ar1=(unsigned char *)(&array10);

for(int i=0;i<sizeof(array10);i++) printf("%02X ",ar1[i]);

cout<<endl;

//--------------------------------------------------------------------------------

//--------------------------------------------------------------------------------

cout<<"2.4 Представлення структур: "<<endl;

struct str23 {

unsigned b:7;

char c[6];

unsigned char :5;

unsigned e : 3;

char f;

long d;

long double a;

}str;

str.a = 24.240;

str.b = 59 * 32 * 124;

str.c[0] = 'M';

str.c[1] = 'o';

str.c[2] = 'v';

str.c[3] = 'c';

str.c[4] = 'h';

str.d = 764*59*2;

str.e = 24*10*36;

str.f = '8';

unsigned char *struct1=(unsigned char *)(&str);

for(int i=0;i<sizeof(str);i++) printf("%02X ",struct1[i]);

cout<<endl;

//--------------------------------------------------------------------------------

//--------------------------------------------------------------------------------

cout<<"2.5 Представлення об'єднань: "<<endl;

union un2 {

int b[2];

unsigned long c;

char a[13];

struct {

char d[2];

double e;

};

} un;

un.e = 32*325 + 1994*24;

un.c = 165600 ;

un.a[0] = '3';

un.a[1] = '9';

un.a[2] = '9';

un.a[3] = '8';

un.a[4] = '8';

unsigned char *un1=(unsigned char *)(&un);

for(int i=0;i<sizeof(un2);i++) printf("%02X ",un1[i]);

cout<<endl;

//--------------------------------------------------------------------------------

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]