Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет «Львівська Політехніка»
Кафедра
Інформаційних
систем та мереж
Лабораторна робота №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.
Висновки: Я навчився оптимізувати пам'ять при заданні певних особливостей матриці. Даний спосіб запису матриці використовує вдвічі меншу кількість пам`яті для зберігання даних, але ним можна користуватись лише для збереження матриць з цією особливістю, також виконання процедур для обробки даних потребує більше часу.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!