Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2024
Тип роботи:
Задача
Предмет:
Основи алгоритмізації та програмування

Частина тексту файла

Національний університет „Львівська політехніка” Кафедра ЕОМ Звіт з дисципліни: “Основи алгоритмізації та програмування” З лабораторної роботи №6 На тему « Засоби відлагодження інтегрованого середовища: вiкно спостереження за вмiстимим пам'ятi (Memory windows) i вiкно спостереження за за стеком викликiв (Call Stack). Розв'язування на С задач, в яких використовуються масиви типу char i рядки» Мета роботи познайомитися iз засобами вiдлагодження Memory windows та Call Stack iнтегрованого середовища Visual C++ 2005; познайомитися iз використанням масивiв типу char i рядкiв у мовi програмування С. Засоби відлагодження Memory windows та Call Stack  Засоби Memory windows та Call Stack є бiльш "тонкими" iнструментами вiдлагодження. З допомогою Memory windows можна спостерiгати за значеннями комiрок пам'ятi комп'ютера, в яких зберiгаються данi, пiд час виконання програми. Для встановлення вiкна (чи вiкон) спостереження за пам'яттю використовується меню Debug/Windows/Memory iнтегрованого середовища Visual Studio. Для перегляду конкретної областi пам'ятi потрiбно задати адресу цiєї областi. Отримати таку адресу можна у вiкнi Autos чи Locals. Для масивiв у цих вiкнах видається адреси першого елемента масиву, для простих змiнних адресу можна отриматм записуючи у вiкнi Watch вираз з операцiєю отримання адреси (операцiя &). Розглянемо використання цього засобу на прикладi конкретної програми iз книжки Мартынов Н.Н. Информатика: С для начинающих.-М.:КУДИЦ-ОБРАЗ, 2006. Вiзьмемо програму Лiстинг 3.11: #include <stdio.h> #include <math.h> double ArrAver( int ar[], int size ); double ArrDisp( int ar[], int size ); int main( void ) { int size; double Disp; int Arr[] = { 1,6,3,2,5,1,77,-18,99,16,45,12,-45,54, 567,-123,5,9,-4,67,-17,44,2,3,9,5,34, 11,-11,234,67,82,91,3,7,5,-32,-56,-77, 678,-987,456,-123,555,3,78,1,93,-4,37, 2,33,6,543,-88,37,66,-66,777,12,-45,567, 999,888,3,-765,34,89,-37,41,333,56,-987 }; size = sizeof( Arr ) / sizeof( int ); Disp = ArrDisp( Arr, size ); printf( "Disp is %Lf\n", Disp ); return 0; } double ArrAver( int ar[], int size ) { int i, Sum = 0; for( i = 0; i < size; i++ ) Sum = Sum + ar[i]; return Sum / size; } double ArrDisp( int ar[], int size ) { double Aver, dSum = 0; int i; Aver = ArrAver( ar, size); for( i = 0; i < size; i++ ) dSum = dSum + ( ar[i] - Aver ) * ( ar[i] - Aver ); return sqrt( dSum / size ); } Вiдкомпiлювавши цю програму i зробивши декiлька крокiв Step over (чи Step into), отримаємо: Беремо аресу за якою в пам'ятi розмiщений масив Arr - 0x00012fe24 i заносимо її в поле Address вiкна Memory 1. Пiсля цього у ньому отримаємо значення елементiв масиву Arr. У вiкнi Memory 1 ми бачимо значення у внутрiшньому кодi процесора комп'ютера. Кожне число типу int у внутрiшньому представленнi займає 4 байти. Першим (злiва) є молодший байт числа, а останнiм (четвертим) - старший байт. Вiд'ємнi числа представленi у доповняльному кодi. Так число 1 представлене як 00 00 00 01 (у вiкнi Memory 1 навпаки - молодший байт злiва), число 6 - 00 00 00 06, число 77 - 00 00 00 4d, а число -18 - ff ff ff ee. Примiтка, тут для зручностi значення окремих байтiв роздiло пробiлом, а фактично це одне 32-розрядне число. Вiкно Call Stack встановлюється з допомогою меню Debug/Windows/Call Stack. У виконавчих програмах побудованих компiлятором Visual C++ 2005 (до речi, як створених iншими ком...
Антиботан аватар за замовчуванням

25.12.2017 11:12

Коментарі

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

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини