logotip ua5.org
UA5.ORG

Методичні матеріали з інформатики
 
 
      Головна Зв'язок Статистика Закладки Нове      
 
 
 

Використання типу - Запис
Програмування мовою Pascal
     
     
 

Записи дозволяють об'єднати під одним іменем дані різних типів. Це зручно для рішення різно­манітних задач. Спочатку треба описати тип-запис за допомогою слова Record:

Type Student=Record

FIO:String[30];

Rogd:Integer;

Zrist:Real;

Ocinku:Array[1..5] of Byte;

End;

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

Type Data=Record

Rik : Integer;

Mis : 1..12;

Chislo : 1..31;

End;

Тепер на тип Data можна посилатись в інших записах, наприклад:

Rogd : Data;

Змінні типу „запис” описуються звичайним способом, наприклад:

Var StudEK, StudMO : Student;

Для таких змінних компілятор розподілить пам’ять відповідно з проходженням полів і їх типом. Щоб звернутися до якого-небудь поля, вживають складені імена, перша частина яких — ім’я змінної, а друга — ім'я поля. Наприклад:

StudEK.Fio := 'Петренко A.M.';

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

StudEK.Rogd.Rik := 1975;

Втому випадку, коли поле — масив, є можливість звернутися до його окремого елементу: StudEK.Ocinku[k].

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

В одній програмі може бути декілька різних записів (без обмежень). Записи можна об'єднувати в масив, наприклад:

Var Kurs1 : Array[l..25] of Student;

I в цьому випадку можна звертатися до окремого запису або до конкретного поля якого-небудь запису, наприклад:

Kurs1[i];

Kurs1[i].FIO;

Kurs1[i].Rogd.Rik

Kurs1[i].Ocinku[k];

Щоб ввести або вивести запис, треба ввести/вивести відповідні поля, наприклад:

Readln(StudEK.Fio);

For i:=l to 5 do Read(StudEK.Ocinku[i]);

Writeln(StudEK.Fio);

For i:=l to 5 do write(StudEK.Ocinku[i]);

Для введення/виведення масиву записів викорис­товують цикл.

Деяка незручність виникає в зв'язку з викорис­танням довгих складених імен. Конструкція With дозволяє в якійсь мірі зменшити її. Для цього треба визначити область дії конструкції, наприклад:

With StudEK do

begin

.....

End;

В визначеній області замість довгого складеного вживають більш просте ім'я, наприклад:

Readln(Fio);

For i:=1 to 5 do Read(Ocinku[i]);

Zrist := 180;

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

В загальному випадку виділяють два види задач: обробка одиноких записів та обробка масивів записів.

Перший вид зустрічається, наприклад, в інфор­маційно-довідкових системах, коли вся інформація зберігається в файлі і треба одержати яку-небудь довідку, наприклад, скільки в групі студентів вчить­ся на 4 та 5.

Для розв'язання такої задачі достатньо читати з файлу запис за записом і аналізувати відповідне поле.

Масив записів вживають в тих випадках (хоча це не є економне використання пам'яті), коли для розв'язування задачі треба мати в пам'яті всі записи, наприклад, при сортуванні записів по якій-небудь ознаці (середній бал успішності, зріст студентів, тощо).

Приклад. Вивести список студентів, що навчаються на 4 та 5.

Програма:

Type S=Record

FIO:String;

GR:Word;

GP:Word;

O:Array[1..3] of Byte;

End;

Var a:Array[1..10] of S;

i,j,n:Byte;

B:Boolean;

Begin

Write('Kolichestvo students:');

Readln(n);

For i:=1 to n do

Begin

Writeln('Student-',i);

Write('Input FIO:');

Readln(a[i].FIO);

Write('Input god rogdenia:');

Readln(a[i].GR);

Write('Input god postuplenia:');

Readln(a[i].GP);

For j:=1 to 3 do

Begin

Write('Input ',j,' ocenku:');

ReadLn(a[i].O[j]);

End;

End;

For i:=1 to n do

Begin

B:=True;

For j:=1 to 3 do

If a[i].O[j]<4 Then B:=False;

If B=True Then Writeln(a[i].FIO:30);

End;

End.


 
   
 
 
Інші статті за темою:

  • Робота з файлами
  • Цикл FOR - цикл з параметром
  • Використання динамічних змінних
  • Обробка текстових даних
  • Оператори розгалуження


  •  
         
         

     
    Розділи
    Основні поняття інформатикиУявлення інформаціїІнформація і світІнформаційні технологіїІнформаційні технології управлінняМоделюванняОпераційні системиОпераційна система WindowsОпераційна система Windows XPОпераційна система Windows ServerОпераційна система LinuxОфісні пакетиТекстовий редактор MS WordТабличний редактор ExcelГрафічний редактор PaintБази данихОснови програмуванняПрограмування мовою PascalVisual Basic for ApplicationsУтилітиГрафікаWeb та HTMLВикористання InternetКомп\'ютерні мережіЗахист інформаціїВіруси та антівірусиОбладнання
     

    Популярні публікації
    Как выбрать погрузчик - запчасти t 5.
     

    Рекомендовані матеріали
     


     
     
         
      Copyright © 2008 UA5.org  
      Кондиционеры, монтаж. Гарантия: кондиционер panasonic. Panasonic CS-W7MKD.