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

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

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

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

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

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

Міністерство освіти і науки України Національний університет «Львівська Політехніка» Кафедра Інформаційних систем та мереж Лабораторна робота №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:54

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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