на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Структуровані типи даних записи та множини. Використання процедур та функції мови Turbo Pascal. Поняття про записи. Прості записи

Структуровані типи даних записи та множини. Використання процедур та функції мови Turbo Pascal. Поняття про записи. Прості записи

Житомирський військовий інститут

Національного авіаційного університету

Реферат

на тему:

Структуровані типи даних: записи та множини. Використання процедур та функції мови Turbo Pascal. Поняття про записи. Прості записи

Житомир 2010

План

Ієрархічні записи

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

Множини

Загальні відомості про процедури та функції

Процедури з параметрами

Процедури без параметрів

Особливості використання функцій

Методи звертань до процедур і функцій

1. Поняття про записи. Прості записи

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

Розглянемо суть запису на прикладі 1:

Приклад 1:

Нехай маємо таблицю відомостей про типи зброї:

Тип зброї

Індекс зброї

Дальність дії

Висота дії

N

W

I

D

H

Кожному рядку такої таблиці відповідає запис, який має своє власне ім'я (також, як і змінна), наприклад: TWOO. Запис складається із окремих часток відповідно стовпчикам таблиці - поля записів (у прикладі 1 5 полів).

Типи даних, які записують у полях, можуть бути різноманітними. Для прикладу 1:

№ - тип INTEGER;

тип зброї W - може бути обмеженим, який вводиться оператором, наприклад WOOR (або може використовувати тип STRING);

індекс I - також може бути обмежений цілочисловий (IND);

дальність D та висота H - типу REAL.

Таким чином, тип записів, як такий, не існує. Він містить різнотипові елементи.

Кожне поле має складене ім'я з двох компонентів, які відокремлюються крапкою:

IZ.IP.

Для прикладу 1:

TWOO . N;

TWOO . W;

TWOO . I;

TWOO . D;

TWOO . H.

Опис записів виконують двома способами:

у розділі типів та змінних;

у розділі змінних.

!Особливість! необхідно спочатку описати не стандартні типи даних ( наприклад WOOR, IND).

Порядок опису записів:

у розділі типів та змінних:

type

<ім'я типу> = RECORD

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

……………………………..;

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

end;

var <ім'я типу>

у розділі змінних:

var <ім'я типу> : RECORD

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

……………………………..;

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

Для прикладу 1 маємо:

type

WOOR = (str, art, zrk, avia);

IND = (1..100);

TZW = RECORD

N : integer;

W : WOOR;

I : IND;

D, H : real;

End;

Var

YWOO : TZW;

Або 2-й спосіб:

Type

WOOR = (str, art, zrk, avia);

IND = (1..100);

Var

TWOO : RECORD

N : integer;

W : WOOR;

I : IND;

D, H : real;

End;

Особливість:

а) над кожним складеним іменем можна виконувати будь-які операції, допустимі для даного типу, до якого відносяться дані поля;

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

Приклад 2:

Розробити програму для обчислення щільності (густини) потужності активної завади передавача завад за формулою

P = (P*G)/f;

де Р - потужність передавача завад;

G - коефіцієнт підсилення;

f - ширина спектра завад.

Дані про передавач завад можна занести до таблиці:

Р

G

f

Тобто представимо у вигляді трьох полів: P, G, f. Ім'я запису визначимо як PMAP. Тип даних полів як REAL.

Такий принцип використання імен значно збільшує об'єм тексту програми, тому в мові ТР передбачений спеціальний оператор приєднання WITH, який виносить наперед ім'я запису, а всередині оператора використовується тільки ім'я полів.

Формат оператора приєднання:

WITH <ім'я запису> DO <оператор>.

Для прикладу 2 змінюються оператори виведення та присвоюваня:

WITH PMAP DO

Begin

Read (P, G, Df);

RO := P*G/Df;

End;

Внутрішнім оператором виступає складений оператор BEGINEND.

Program plotnost(input, output);

Var

RO : real;

P, G, Df : real;

End;

Begin

WriteLn(`ввести таблицю P, G, Df');

Read (PMAP . P, PMAP . G, PMAP . Df);

RO := PMAP . P * PMAP . G/PMAP . Df;

WriteLn (`щільність RO = `, RO);

End.

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

<ім'я запису> . <ім'я поля>

PMAP . P;

PMAP . G;

PMAP . Df.

Таким чином при використанні оператора WITH збільшується швидкість використання програми, бо ім'я запису PMAP в пам'яті буде обчислене тільки один раз при обробці конструкції WITH PMAP DO.

Ще більшої ефективності можна досягнути, якщо запис є, наприклад, елементом масиву:

Var

M : array[1..100] of char;

Begin

With M[ i ] do

Якщо фрагмент програми містить операції над декількома записами, то в операторі приєднання можна указати список необхідних імен записів через кому:

WITH V1, V2, V3 DO S

де V1, V2, V3 - імена записи;

S - операнд.

Така форма еквівалентна :

WITH V1 DO

WITH V2 DO

WITH V3 DO S.

Особливість:

якщо деякий ідентифікатор F є полем, він інтерпретується як V2.F, тобто ідентифікатор поля зв'язується з останнім записом у списку WITH.

2. всі ідентифікатори в межах оператора приєднання перевіряються на можливість їх інтерпретації як полів записів, заданих у заголовку.

2. Ієрархічні записи

Поля окремих записів також можуть бути записами. Тому складені імена можуть містити не дві, а більшу кількість компонент, тобто мати ієрархічний характер.

Наприклад:

A . B . C;

A . B[ i ] . C і т.д.

Розглянемо приклад : відомості про студентів

Група

Прізвище

Ім'я

По батькові

Рік народження

N

GR

F

I

O

GOD

Присвоюємо ім'я запису W, який буде містити 6 полів. Поєднаємо поля F, I, O у запис з іменем FIO, який буде мати 3 поля і входити у запис W.

Опис такого запису можна представити так:

Type

SPISOK = string[50];

GROUP = (GR1, GR2, GR3, GR4);

IND = (1980..1985);

Var

W : RECORD {опис запису вцілому}

N : integer;

GR : groupe;

FIO : RECORD {опис внутрішнього запису}

F : SPISOK;

I : SPISOK;

O : SPISOK;

{кінець внутрішнього запису}

End;

GOD : IND

End;{кінець запису}

Тоді в розділі операторів можна поставити конструкцію:

WITH W, FIO DO

N := 1;

GR := 3;

F := ` Кравченко';

I := `Сергій';

O := `Петрович';

GOD := 1980;

3. Записи з варіантними полями

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

Приклад 3: нехай TIP - ім'я змінної типу Т, яке приймають значення М1 і М2. Запис Z містить фіксовану частину (поле N) і варіантну з двома списками імен полів.

Опис запису має вигляд:

Type T = (M1, M2);

Var TIP : T;

Z : RECORD

N : integer; {фіксована частина}

CASE TIP of {варіантна частина}

M1 : (список полів 1);

М2 : (список полів 2);

End;

Таким чином:

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

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

Приклад 4: варіанти характеристики систем зброї

Тип зброї

Індекс

Маса

W (ZRK, RLS)

I

M

Страницы: 1, 2, 3



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.