68997

Організація комбінованих типів, оператор приєднання

Лекция

Информатика, кибернетика и программирование

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

Украинкский

2014-09-28

33 KB

0 чел.

Лекція №7

Тема: Організація комбінованих типів, оператор приєднання

План заняття:

  1.  Організація комбінованих типів у Паскалі
  2.  Оператор приєднання

Організація комбінованих типів у Паскалі

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

Спрощена форма визначення запису включає ім'я запису, імена окремих компонент і відповідних їм типів даних:

type

<ім'я_запису>= record

<ім'я_компоненти_1>: <тип>;

<ім'я_компоненти_2>: <тип>;

<ім'я_компоненти_n>: <тип>;

end;

Розглянемо такий приклад. Нехай треба задати інформацію про студентів групи PZ11 у вигляді "прізвище студента й оцінки на іспитах з чотирьох предметів" та обчислити середній бал кожного студента. Для опису цих даних використовують записи.

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

type STD=record

FAM: string [15];

B1, B2, B3, B4:2..5;

SB: real

end;

Тут змінна SB має зміст середнього бала, В1, В2,.., В4 -бали з відповідних предметів; ідентифікатор FAM позначає рядок символів для зберігання прізвища студента. Змінна STD (ім'я запису) - це структура для зберігання інформації про одного студента. Якщо, як у наведеному прикладі, в пам'яті треба зберігати інформацію про 24-х студентів групи, то вводять масив PZ11, що є масивом записів  

var PZ11:array[1..24] of STD;

Компонент запису вибирають за іменем запису та іменем цього компонента, розділених крапкою. У записах компоненти називають полями. Опишемо ще змінну:

var

STR: STD;

Приклади звертання до окремих полів: STR.FAM, STR.B3, PZ11 [8].SB. Ці імена називають селекторами запису, у програмах їх використовують так само, як і змінні інших типів. Наприклад, для обчислення середнього бала можна застосувати оператор присвоєння:

PZ11 [i].SB:=(PZ11 [і].В1 +PZ11 [i].B2+PZ11 [i].B3+PZ11 [і].В4)/4;

Можливі й такі оператори присвоєння:

PZ11[22].FAM:='Юpкiв Юрій';

PZ11[4].B4:=5;

PZ11[i+1].SB:=4.712;

Тобто з компонентами записів можна виконувати операції згідно з їхнім типом.

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

Var Z1,Z2: STD;

Тоді в програмі можна записати оператор

Z1:=Z2,

який буде еквівалентний таким операторам:

Z1.FAM:=Z2.FAM;

Z1.B1:=Z2.B1;

Z1.B2:=Z2.B2;

Z1.B3:=Z2.B3;

Z1.B4:=Z2.B4;

Z1.SB:=Z2.SB;

Зрозуміло, що до виконання оператора Z1 :=Z2 значення всіх компонент змінної-запису Z2 повинні бути визначені. А присвоювати структури даних, що є значеннями змінних комбінованого типу, можна тільки змінним того ж комбінованого типу.

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

Оператор приєднання

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

Загальний вигляд оператора приєднання такий:

with <ім'я_запису> do <оператор S>

Застосувавши такий оператор, до компонентів запису всередині оператора S можна звертатися вже тільки за іменем поля, не називаючи імені запису. Наприклад, оператор уведення масиву PZ11 можна записати

for i:=1 to M do

with PZ11[i] do

read(FAM, В1, В2, ВЗ, В4);


 

А также другие работы, которые могут Вас заинтересовать

28368. Особенности наследования отдельных видов имущества 16.61 KB
  В состав наследства участника полного товарищества или товарищества на вере участника ОООили с ДО члена производственного кооператива входит доляпай этого участника в складочном уставном капитале соответствующего товарищества общества или кооператива. В состав наследства вкладчика товарищества на вере входит его доля в складочном капитале этого товарищества. В состав наследства члена потреб.на день открытия наследства зарегистр.
28369. Ограниченные вещные права: понятие, виды, субъекты и объекты 14.35 KB
  Ограниченное вещное право представляет собой право на чужую вещь уже присвоенную др. Ограниченные вещные права связанные с использованием чужих земельных участков: право пожизненного наследуемого владения право граждан на владение и целевое пользование земельным участком передаваемое по наследству; право постоянного бессрочного пользования земельным участком основным отличием которого является то что им может обладать как физическое так и юридическое лицо; сервитуты закрепленные за гражданами и юридическими лицами...
28370. Вещные права юр.лиц. на хозяйствование с имуществом собственника 13.89 KB
  на хозяйствование с имуществом собственника.лиц на хозяйствование с имуществом собственника это – 1. Они решают вопросы создания предприятия определения предмета и целей его деятельности его реаорганизации и ликвидации назначают директора осуществляют контроль за исполнением по назначению и сохранностью имущества право на получение части прибыли от использования имущ. Не вправе продавать недвижимое имущество сдавать его в аренду отдавать взалог вносить в качестве вклада в уставной капитал.
28371. Вещные права на земельные уч-ки. Сервитуты 13.71 KB
  Закон к вещным правам относит: право собственности право пожизненного наследуемого владения землей. право постоянного бессрочного польз. право хозяйственного ведения. право оперативного управления сервитуты.
28372. Защита права собственности: понятие, система способов защиты 14.67 KB
  Защита права собственности: понятие система способов защиты. Вещноправовые средства защиты права собственности характеризующиеся тем что они направлены непосредственно на защиту права собственности как абсолютного субъективного права не связаны с какимилибо конкретными обязательствами и имеют целью либо восстановить владение пользование и распоряжение собственника принадлежащей ему вещью либо устранить препятствия или сомнения в осуществлении этих правомочий. Соответственно к вещноправовым искам относятся иск об истребовании имущества...
28373. Вещно-правовые способы защиты права собственности 15.02 KB
  К вещноправовым искам относятся: 1иск об истребования имущества из чужого незаконного владения виндикационный иск; 2 иск об устранении нарушений не связанных с лишением владения негаторный иск; 3иск об признании пр. Виндикационный иск это внедоговорные требования не владеющего собственника к фактическому владельцу имущества о возврате имущества. Сущностью этого иска является возврат собственнику конкретного индивидуально определенного имущества выбывшего из его владения вне его воли. иска: 1необходимо что бы собственник был лишен...
28374. Понятие, объекты и субъекты авторского права и смежных прав 15.51 KB
  В субъективном смысле АП – совокупность субъективных прав возникающих у автора в связи с созданием конкретного произведения литературы науки и искусства. Объекты авторского права – произведения литературы науки и искусства являющиеся результатом творческой деятельности независимо от назначения и достоинства произведения а также способа его выражения. а литературные произведения включая программы для ЭВМ – художественные документальные учебные произведения тексты песен и др.; б драматические и музыкальнодраматические произведения...
28375. Авторские и смежные права, срок их действия 14.7 KB
  Авторские и смежные права срок их действия. Личные неимущественные права право авторства право на имя и право на защиту репутации автора охраняются бессрочно. Имущественные права ограничены сроком жизни автора и 70 годами после его смерти. Однако если автор в течение этого периода раскроет свою личность или его личность не будет далее оставлять сомнений то применяется общий срок действия авторского права в течение жизни и 70 лет после смерти; б авторское право на произведение созданное в соавторстве действует в течение всей жизни и...
28376. Защита авторских и смежных прав 14.34 KB
  Защита авторских и смежных прав. Защита авторских и смежных прав – это совокупность мер целью которых является восстановление и признание этих прав в случае их нарушения. В зависимости от отрасли права обеспечивающей защиту авторских и смежных прав выделяют следующие способы защиты. Гражданскоправовой способ защиты – возмещение имущественного ущерба автору или иному правообладателю.