ДОМ
|
Информатика и программирование |
Язык программирования Pascal
|
Теоретичний матеріал за
темами:
2.
Програмування лінійних структур, обчислення арифметичних виразів
3.
Програмування розгалужених обчислюваньних процесів
4.
Програмування циклічних обчислювальних процесів
10. Використання динамічних змінних
Copyright © Евгений Литвиненко, 2007Использование без разрешения автора запрещено |
Використання типу Record
Записи дозволяють об'єднати під одним іменем дані різних типів. Це зручно для рішення різноманітних задач. Спочатку треба описати тип-запис за допомогою слова Record: TypeStudent=Record Запис складається з окремих полів, кожне поле має свій тип. Кількість полів необмежена, порядок їх проходження будь-який. Поле, в свою чергу, може бути записом, для цього попередньо, описують відповідний тип, наприклад: Type Data=Record Тепер на тип Data можна посилатись в інших записах, наприклад: Rogd : Data; Змінні типу „запис” описуються звичайним способом, наприклад: VarStudEK, StudMO : Student; Для таких змінних компілятор розподілить пам’ять відповідно до проходження полів і їх типу. Щоб звернутися до будь-якого поля, вживають складені імена, перша частина яких — ім’я змінної, а друга — ім'я поля. Наприклад: StudEK.Fio:= 'Петренко A.M.'; Якщо поле є в свою чергу запис, то складене ім'я подовжується, наприклад: StudEK.Rogd.Rik := 1975; В тому випадку, коли поле — масив, є можливість звернутися до його окремого елементу: StudEK.Ocinku[k]. VarKurs1 : Array[l..25]ofStudent; I в цьому випадку можна звертатися до окремого запису або до конкретного поля будь-якого запису, наприклад: Kurs1[i]; Щоб ввести або вивести запис, треба ввести/вивести відповідні поля, наприклад: Readln(StudEK.Fio); Для введення/виведення масиву записів використовують цикл. WithStudEKdo У визначеній області замість довгого складеного вживають більш просте ім'я, наприклад: Readln(Fio); Якщо в програмі використовується декілька записів з однаковими іменами полів, треба бути обережним з вживанням With, щоб не сталося плутанини. Type S=Record |
Copyright © Eugene, 2007 |
![]() |