Моделювання представлення в пам`яті

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

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

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

Рік:
2024
Тип роботи:
Лабораторна робота
Предмет:
Інші
Група:
КН

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет «Львівська Політехніка» Кафедра Інформаційних систем та мереж Лабораторна робота №1 на тему Моделювання представлення в пам`яті векторів і таблиць. Львів – 2008 Мета роботи: набуття навичок розміщення в памяті векторів і таблиць. Завдання: Розробити спосіб економного зберігання в пам`яті розріджених матриць (таблиць). Розробити процедури і функції для забезпечення доступу (читання-запис) до елементів матриці. В контрольному прикладі забезпечити читання і запис всіх елементів матриці. Оцінити час виконання операцій. Індивідуальні завдання: 9  Всі елементи парних стовпчиків - нульові   Текст програми: program Matrix; uses Crt; const mx=5; my=10; var ch: char; m: array [1..mx,1..my] of integer; x,y: integer; procedure Menu; begin WriteLn; WriteLn(' [1] - enter matrix'); WriteLn(' [2] - write matrix'); WriteLn(' [F1] - about'); WriteLn(' [Esc] - Exit'); end; procedure About; begin ClrScr; WriteLn; WriteLn(' Algorithms and structures of data'); WriteLn(' Laboratory work №1'); WriteLn(' Variant - 9'); WriteLn(' Author: Taras Gudyma'); WriteLn(' Group CS-27'); WriteLn; WriteLn('Press any key to back...'); ReadKey; end; procedure ReadMatrix; begin ClrScr; WriteLn('Enter elements of matrix'); For x:=1 to mx*2 do For y:=1 to my do If (x mod 2=0) then Begin GoToXY(x*4,y*2+1); Write('0'); end else Begin GoToXY(x*4,y*2+1); If (x div 2>mx) or (y>my) then HALT; Read(m[x div 2+1,y]); end; WriteLn(#10#13); WriteLn('Press any key to back...'); ReadKey; end; procedure WriteMatrix; begin ClrScr; WriteLn('Writing matrix...'); For x:=1 to mx*2 do For y:=1 to my do If x mod 2=0 then Begin GoToXY(x*4,y*2+1); Write('0'); end else Begin GoToXY(x*4,y*2+1); If (x div 2>mx) or (y>my) then HALT; Write(m[x div 2+1,y]); end; WriteLn(#10#13); WriteLn('Press any key to back...'); ReadKey; end; Begin For x:=1 to mx do For y:=1 to my do m[x,y]:=1; repeat ClrScr; Menu; ch:=ReadKey; case ch of #49: ReadMatrix; #50: WriteMatrix; #59: About; end; until ch=#27; end. Висновки: Я навчився оптимізувати пам'ять при заданні певних особливостей матриці. Даний спосіб запису матриці використовує вдвічі меншу кількість пам`яті для зберігання даних, але ним можна користуватись лише для збереження матриць з цією особливістю, також виконання процедур для обробки даних потребує більше часу.
Антиботан аватар за замовчуванням

30.11.2012 00:11-

Коментарі

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

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!