Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_1-6.doc
Скачиваний:
6
Добавлен:
23.02.2016
Размер:
382.98 Кб
Скачать

Лабораторна робота № 2 (4 год.).

Тема роботи: Створення динамічних масивів.

Мета роботи: Оволодіння навичками створення і використання динамічних масивів з елементами типу запис.

Теоретичні відомості: Одномірні масиви записів є складеними неоднорідними структурами. Інша назва таких структур – таблиці даних, яка більш точно відображає їх суть.

Описуються такі структури в декілька способів, в залежності до того, динамічність якої компоненти виділяємо. Відповідно до цього змінюється і спосіб звернення до динамічної змінної.

Приклад 1:

type rec=record

b1:T1;

b2:T2

end;

mas=array[1..n] of rec;

var a:^mas;

begin

new(a);

for i:=1 to n do

begin

readln(a^[i].b1);

readln(a^[i].b2)

end;

dispose(a);

end.

Приклад 2:

type rec=record

b1:T1;

b2:T2

end;

var a:array[1..n] of ^rec;

begin

for i:=1 to n do

begin

new(a[i]);

read(a[i]^.b1);

readln(a[i]^.b2);

end;

for i:=1 to n do begin

write(a[i]^.b1)

writeln(a[i]^.b2));

dispose(a[i])

end;

end.

Постановка задачі: Створити динамічний масив з записами вказаної структури відповідно до варіанту. Виконати задані дії. Вивести динамічну змінну і результати її обробки. Звільнити пам’ять.

Методичні вказівки до роботи:

  1. Створити динамічну змінну – одновимірний масив записів.

  2. При створенні змінної врахувати властивості базового типу відповідно до завдання (наявність від’ємних елементів, діапазон можливих значень).

  3. Забезпечити введення першого поля, як випадкового даного, друге поле записів ввести з клавіатури.

  4. Вивести вміст усіх записів масиву.

  5. Виконати обробку записів масиву відповідно до варіанту.

  6. Вивести результати обробки масиву записів.

  7. Вивести інформацію про виконавця роботи (прізвище, ініціали, група, варіант).

  8. Завдання до роботи вибрати згідно з варіантом з Таблиці 2

2. Зміст звіту:

1) Задача для конкретного варіанту.

2) Блок-схема програми.

3) Текст програми на Паскалі.

4) Результати роботи програми.

5) Висновок до роботи.

Приклад: Вивести номери записів, що мають додатню р1зницю пол1в.. Кількість елементів - 14, Структура записів - REAL, INTEGER.

Блок-схема програми

Текст програми на Паскалі

program LAB_2;

uses crt;

const col=14;

Type zapis = record

Field1: Integer;

Field2: real;

End;

type mass=array[1..col] of zapis;

var pMass: ^mass;

i,k :integer;

r :real;

range: word;

begin

range:=2700;

ClrScr;

Randomize;

New( pMass );

WriteLn;

WriteLn('Введiть значення поля REAL:');

for i := 1 to col do

begin

k:= Random(range);

pMass^[i].Field1 := k-Random(range);

Write('Запис ',i:2,'= ');

ReadLn(pMass^[i].Field2);

end;

ClrScr;

WriteLn('Створений масив:');

for i := 1 to col do

begin

Write('Запис ',i:2,': INTEGER= ',pMass^[i].Field1:6,' REAL= ',pMass^[i].Field2:8:2);

WriteLn;

end;

WriteLn;

WriteLn('Hомери записiв, що мають додатню рiзницю полiв:');

for i := 1 to col do

if pMass^[i].Field1 - pMass^[i].Field2 >0 then

Write(i:2,',');

WriteLn;

Dispose(pMass);

WriteLn;

WriteLn('Лабораторна робота N2.');

WriteLn('Завдання 8. Вивести номери записiв,');

WriteLn('що мають додатню рiзницю полiв.');

WriteLn;

WriteLn('Виконав студент Чемерис С. група ЗКТ-301');

readkey;

end.

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