Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Labs_Pascal(2003).doc
Скачиваний:
3
Добавлен:
05.03.2016
Размер:
2.7 Mб
Скачать

Завдання для самостійної роботи:

  1. Програмним шляхом створити каталог temp_dir та скопіювати туди файл turbo.exe

  2. Написати програму яка стирає вказаний користувачем файл у вказаній директорії.

  3. Написати програму яка копіює вказаний користувачем файл у вказану користувачем директорію.

  4. Написати програму яка виконує пошук файлу у заданій директорії (функція FSearch) та у випадку його наявності виводе його розмір у кілобайтах.

  5. Написати програму яка шукає файл у заданій директорії та перейменовує його на ім’я введене користувачем.

  6. (+) Написати програму яка шукає вказаний користувачем файл у заданій директорії, у випадку наявності файлу виводе на екран його розмір та запитує в яку директорію скопіювати файл.

  7. (+) Написати програму яка копіює вказаний користувачем файл у необхідний каталог, створює копію (ім’я_файлу_copy.exe) оригінального файлу у його ж директорії, та знищую оригінал.

Лабораторна робота №19. Динамічні змінні та динамічна пам`ять. Розподіл пам`яті та принципи роботи із даними у динамічній пам`яті.

Метою роботи є ознайомлення з поняттями динамічних змінних та динамічною пам’яттю, а також отримання практичних навичок у роботі із даними у динамічній пам’яті.

Текст програми №19:

Program lab7;{классический метод трёх стаканов}

Var a,b,c : ^integer;

Begin

New(a);

New(b);

New(c);

a^:=1;b^:=2;

c^:=a^;

a^:=b^;

b^:=c^;

dispose(c);

writeln(a^);

writeln(b^);

dispose(a);

dispose(b);

readln;

End.

Завдання для самостійної роботи:

Обчислити та вивести значення N. Змінні a, b, c, d, x, y повинні бути динамічними та вводитися з клавіатури:

Лабораторна робота №20. Масиви у динамічній пам`яті.

Метою лабораторної роботи є ознайомлення із поняттям динамічних масивів, та закріплення навичок по роботі з ними.

Текст програми №20:

Program lab8;

Var A: array of integer; {объявляем динамический массив}

k,i: integer;

Begin

Writeln(‘Из скольких элементов будет состоять массив’);

Readln(k);

setLength(A,k); {устанавливаем размер k динамического массива A}

randomize;

for i:=0 to length(A)-1 do

A[i]:=random(100);

writeln(‘Массив состоит из ’,length(A),’ элементов’);

readln;

End.

Завдання для самостійної роботи:

  1. Написати програму яка використовує динамічні масиви. Масив повинен бути власного типу «студент» (ПІБ, група, рейтинг). Користувач буде вводити дані про студентів доти доки ім’ям студента не буде пустій рядок. Масив із даними повинен доповнюватися по мірі додання нових записів. Вивести масив на екран.

  2. Написати програму, що розкладе введене користувачем речення на слова, та побудує динамічний масив, де кожний елемент масиву буде відповідним словом речення. Вивести масив на екран.

  3. Написати програму, що прочитає інформацію з текстового файлу, розкладе текст речення, та побудує динамічний маси, де кожний елемент масиву буде речення з тексту. Вивести масив на екран.

  4. Програма повинна проаналізувати рядок введений користувачем із клавіатури. У випадку якщо слово у рядку містить заданий користувачем символ то необхідно помістити слово у динамічний масив. Вивести масив на екран.

  5. Необхідно заповнити динамічний масив випадковими числами(розмірність вводиться користувачем з клавіатури), відсортувати та вивести на екран.

  6. (+) Програма повинна сформувати одномірний динамічний масив на основі аналізу тексту який читається з текстового файлу. Програма повинна помістити в масив слова в яких більше приголосних букв ніж голосних. Вивести масив на екран.

  7. (+) Написати програму яка записує в динамічний масив власного типу «книга» інформацію про склад бібліотеки Автор книги, Назва, Рік випуску, Видавництво. Користувач буде вводити дані про книги доти доки назвою книги не буде пустий рядок. Масив необхідно відсортувати за роком випуску книги. Та вивести інформацію про найновіші n книг (n вводиться користувачем з клавіатури).

Лабораторна робота №21. Типи динамічних структур даних: спискові структури, дерева, принципи оброблення.

Метою роботи є засвоєння ознайомлення з різними типами динамічних структур даних та відпрацювання навичок роботи із принципами оброблення таких структур як зв’язані списки та дерева.

Текст програми №21:

Program lab8;

Uses crt;

Type

U=^node;

node=record {узел списка}

Inf :integer; {некоторые данные которые содержит узел списка}

nextnode: U;

end;

var main_list: U;

procedure list_init(var list: U);{инициализация списка}

var p: U;

i: integer;

begin

new(list);

list^.inf:=1;

p:=list;

for i:=2 to 10 do

begin

new(p^.nextnode);

p^.nextnode^.inf:=i;

p:=p^.nextnode;

end;

p^.nextnode:=nil;

end;

procedure write_list(list: U); {вывод списка на экран}

var p: U;

begin

p:=list;

while p<>nil do

begin

write(p^.inf,’, ‘);

p:=p^.nextnode;

end;

end;

procedure insert(var list: U; inf: integer);

{добавление в начало списка нового узла}

var p: U;

begin

new(p);

p^.inf:=inf;

p^.nextnode:=list;

if p^.nextnode=nil then p^.nextnode^.nextnode:=nil;

list:=p;

end;

procedure delete(var list: U);

var p,t: U;

begin

p:=list;

t:=p^.nextnode^.nextnode;

dispose(p^.nextnode);

p^.nextnode:=t;

end;

procedure list_killer(var list: U);{уничтожение всего списка}

var p,t: U;

begin

p:=list;

while P<>nil do

begin

t:=p^.nextnode;

dispose(p);

p:=t;

end;

end;

BEGIN {тело программы}

Clrscr;

Writeln(‘Memory before list create procedure: ’,memavail,’ byte’);

List_init(main_list);

Writeln(‘Memory after list create procedure: ’,memavail,’ byte’);

Write_list(main_list);

List_killer(main_list);

Writeln;

Writeln(‘Press any key to exit’);

Readln;

END.

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