69743

Записи з варіантами

Домашняя работа

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

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

Украинкский

2014-10-09

33 KB

0 чел.

Самостійне вивчення

Тема 5: Записи з варіантами

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

Загальний вигляд опису типу запису з варіантами такий:

type

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

<ім'я_поля_1>: <тип>;

………………….

<ім'я_поля_N>: <тип>;

case <ім'я_типу> of

<конст_1>: (<список_полів_1>);

<конст_2>: (<список_полів_2>);

……………………………

……………………………

<конст_М>: (<список_полів_М>)

end;

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

type coord=record

absc, ord: real

end;

forma=(tochka, prjama, kolo);

figura=record FIG: forma;

case forma of

tochka: (poloz: coord);

prjama: (coefA, coefB, coefC: real);

kolo: (centr: coord; radius: real)

end;

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

Селектором варіанта в описі записів з варіантами є тип (у нашому випадку forma), на відміну від селектора в операторі вибору, де ним є змінна. Відмінним порівняно з оператором case є також те, що після зазначення всіх варіантів не ставлять end, оскільки воно і так стоїть у кінці опису всього запису, а варіантна частина завжди йде після фіксованої, тому жодні поля після варіантної частини вже не можуть з'явитися.

В описі запису з варіантами можна вводити додаткове так зване поле ознаки (в нашому прикладі це поле FIG), у якому зазначено варіант, про який ідеться. Для наведеного прикладу це поле, залежно від варіанта, буде містити сталі prjama, tochka або kolo. Для зазначення цього поля є скорочений спосіб -ввести його безпосередньо в заголовок варіанта. Тобто замість

FIG: forma;

case forma of

можна записати

case FIG: forma of

Зауваження.

1. Усі імена полів повинні бути різними, навіть якщо вони трапляються в різних варіантах.

2. Якщо варіант порожній (тобто поля немає), то його записують так: С:().

3. Будь-який список полів може мати тільки одну варіантну частину, яка повинна бути після фіксованої частини запису.

4.  Кожен варіант може містити в собі варіантну частину, отже, допустимі вкладені варіанти.

5. Порядок опису полів довільний (як у варіантній, так і у фіксованій частині), оскільки звертання до полів відбувається за допомогою їхніх імен.

Нехай у програмі є опис змінної

var F: figura;

Тоді відповідний запис можна сфомувати за допомогою таких присвоєнь:

без застосування                       із застосуванням

оператора with                           оператора with:

F.FIG:=kolo;                                      with F do

F.centr.absc:=3.8;                                  begin FIG:=kolo;

F.centr.ord:=-2.17;                                     centr.absc:=3.8;

F.radius:=4.8;                                             centr.ord:=-2.17;

                                                                   radius:=4.8;

                                                               end;

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

F.FIG:=tochka;

F.radius:=12.1

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


 

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

54887. Організація керування пізнавальною діяльністю студентів засобами інформаційно – комунікаційних технологій 43 KB
  При цьому він буде розміщений на одному лазерному компактдиску містити багатоваріантні завдання для перевірки знань в інтерактивному режимі для кожного рівня. Зміст визначається як відображення фрагменту навчальної дисципліни в тестовій формі форма як засіб звязку упорядкування елементів завдання. По формі всі відомі в теорії і практиці тестові завдання можна розділити на чотири основні групи. Якщо до завдань додаються готові відповіді на вибірзвичайноодин правильний а інші неправильні то такі завдання називаються завданнями з...
54888. ПЛАНУВАННЯ УРОКІВ МИСТЕЦТВА 83.5 KB
  Творчість це не окрема сторона педагогічної праці а найсуттєвіша і найнеобхідніша її характеристика. Планування уроків мистецтва розкривають сутність саме творчого вчителя. У календарному плані вчителів зазначено дату тему та тип уроку передбачено усі види діяльності: сприймання інтерпретація творів музичного та...
54889. Дешифратори 355 KB
  Навчальна: ознайомити студентів з основними поняттями, призначенням та класифікацією дешифраторів, а також принципом побудови схем та їх умовним позначенням. Розвивальна: розвивати творчий підхід, логічне мислення, прагнення до активного засвоєння знань, вміння працювати в колективі, аналізувати та виділяти головне.
54890. Теории прибыли. Прибыль как доход от фактора предпринимательства 18.82 KB
  Доходами называются поступления от продажи экономических ресурсов и продукции. Доходы от экономических ресурсов (факторов производства) называют факторными доходами.
54891. Инвестиции: понятие и виды. Дисконтированная стоимость 22.55 KB
  Инвестиции - это вложения как в денежный, так и в реальный капитал. Они осуществляются в виде денежных средств, кредитов, ценных бумаг, а также вложений в движимое и недвижимое имущество, интеллектуальную собственность
54892. Экономические риски и неопределенность. Интерналии 19.24 KB
  Неопределенность — ситуация, не поддающаяся оценке, усложняющая выбор вариантов, поведение участников хозяйственной деятельности. Если вероятность ожидаемого события неизвестна, оно может развиваться и наступить различными способами.
54893. Страхование от рисков 20.6 KB
  Самыми распространенными видами страхования рисков являются следующие: - страхование строительных и пусконаладочных рисков; имущества, оборудования от поломок; жизни и здоровья топ-менеджеров; гражданской ответственности.
54894. Outdoor activities 46.5 KB
  You can take your seats. Let’ start our lesson. The topic of our lesson is “Outdoor activities. What can we do?” Слайд 1.Today we are going to identify outdoor activities, to practice telling somebody what you can or can’t do, to do many interesting task and of course, we’ll sing and play. Be attentive and active!
54895. Обчислення в MS Excel. Використання формул і функцій 35.5 KB
  Мета заняття: Навчальна: Навчити студентів створювати електронні таблиці в MS Excel виконувати обчислення використовуючи формули та вбудовані функції розв’язувати економічні задачі. Забезпеченість заняття: Обладнання: ПЕОМ з операційною системою Windows ППП MS Office MS Excel. Роздатковий матеріал: варіанти індивідуальних завдань до лабораторної роботи перелік основних помилок в MS Excel та варіанти їх виправлень інструкції і методичні вказівки щодо виконання лабораторної роботи.