Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка Паскаль.doc
Скачиваний:
7
Добавлен:
03.11.2018
Размер:
309.25 Кб
Скачать

Лабораторна робота № 6 Записи

Записи це такий структурований вид даних що складається з фіксованого числа компонентів ( полів).

Записи дозволяють об'єднати під одним іменем дані різних типів. Це буває дуже доречно для об'єднання під одним іменем даних різних типів. Поле в свою чергу також може бути записом, для цього попередньо описують відповідний тип.

Type <імя типу>=record

<ідентифікатор поля>:<тип компонента>;

<ідентифікатор поля>:<тип компонента>;

end;

Var <ідентифікатор>:<імя типу>;

Обсяг памяті, що необхідний для запису, складається з довжини всіх компонентів. Звернення до поля (компоненту) запису здійснюється за допомогою ідентифікатора змінної та ідентифікатора поля, розділених крапкою. Ця конструкція називається складеним ім’ям. Наприклад:

К.Rik:= 1999; K.Marka:=’HP LaserJet 1220 series’

Оператор приєднання With використовується для спрощення роботи з полями запису. Щоб не використовувати довге складове ім’я полів запису, застосовують оператор With, в якому вказується змінна типу запис. Після такої операції можна працювати з іменами компонентів (полів) як із простими змінними. Формат оператора:

With <змінна типу запис> Do <оператор>;

With k do Begin { запис к має поля Rik, Marka}

Rik:=1999; Marka:=’Hp LaserJet 1220 series’

End;

Pascal дозволяє вкладення записів один в одний, відповідно оператор With може бути вкладеним.

With K1 do

With K2 do

With K3 do

Це еквівалентно запису With K1,К2,К3 Do

Якщо в програмі використовуюєься декілька записів, з однаковими іменами полів, треба бути уважним з вживанням оператора With, щоб не відбулося плутанини.

Наприклад:

Опишемо та введемо записи телефонного довідника

Var sprav_book=record

Surname:string50];

Index: string[6];

Telepfone: string[14];

End;

…………..

Begin

…………….

For I:=1 to n do

With sprav_book do begin

Write(‘surname=’);readLn(surname);

Write(‘index=’);readLn(index);

Write(‘telepfone=’);readln(telephone);

End;

…………….

Крім, описаних вище записів, є також записи з варіантами. Це такі записи в яких спочатку розміщуються загальні поля, а після них розташовуються варіантна частина Case. В цій частині задається деяка ознака, а потім два чи більше варіантів полів записів,

При введенні таких записів, вводиться ознака, а потім аналізується. Яку групу полів вводити за даною ознакою.

В а р і а н т и з а в д а н ь

  1. Ввести масив записів, що містять відомості про прізвища і номери телефонів. Упорядкувати цей масив за прізвищами . Роздрукувати вихідний масив.

  2. Ввести масив записів, що містить відомості про прізвища і номери телефонів. Масив упорядкований за прізвищами . Програма вводить нового абонента та вставляє його в необхідне місце массиву.

  3. Ввести масив записів що містить прізвища та екзаменаційні оцінки. Для кожного студента обчислити середній бал. Створити новий масив що містить прізвища та середній бал.

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

  5. Ввести два масиви записів, які містять прізвища та адреси. Створити один масив в якому будуть в будь якому порядку перенесені всі записи, але без повторень.

  6. Ввести масив записів що містить прізвища, табельний №, зарплату. Відсортувати вихідний масив за зарплатою. Обрізати массив після відповідної зарплати величина якої вволиться з дисплею.

  7. Заданий масив містить відомості про прізвища та екзаменаційну оцінку. Роздрукувати студентів, які отримали задану оцінку.

  8. Ввести масив записів, який містить автора та назву книги. Роздрукувати ті записи з массиву автор яких починаються на задану букву.

  9. Ввести масив записів, який містить автора та назву книги. Створити програму, яка може ввести новий запис та замінити запис, що містить вказане прізвище на нововведений.

  10. Ввести масив записів, який містить прізвище та назви груп. Вилучити з масиву записи, що містять задане прізвище, при цьому всі записи переміщуються вгору, заповнюючи пусте місце.

  11. Ввести масив записів, який містить автора (упорядкований за автором) та назву книги. Ввести нові записи таким чином, щоб вони потрапляли у відповідне місце, розсовуючи інші елементи масиву.

  12. Ввести масив записів, який містить прізвище та назву групи. Роздрукувати ті записи, які починаються на введену букву.

  13. Ввести масив записів, який містить автора та назву книги. Роздрукувати ті записи, які мають одного автора.

  14. Ввести масив записів, який містить автора та назву книги та масив, що містить рік випуску відповідної книги. Створити вихідний масив, запис якого містить поля: атор, назва книги, рік випуску.

  15. Ввести масив записів, який містить призвіще та екзаменаційні оцінки. Створити новий масив, що містить прізвіще, та розмір стипендії, залежно від здачі сесії. Якщо стипендія не призначається, поле повинно бути пустим.