Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Обращение к записям

Record

Объявление записи

Записи

Вопросы для самопроверки

Процедуры и функции для работы со строками

Для работы со строками в языке программирования Паскаль включены процедуры и функции, которые обеспечивают редактирование и преобразование строк.

Length(s) Возвращает длину строки s
Delete(s, Index, Count) Удаляет в строке s Count символов, начиная с позиции Index
Insert(Substr, Dest, Index) Вставляет в строку Dest подстроку Substr с позиции Index
Pos(Substr, s) Возвращает позицию подстроки Substr в строке s либо 0, если Substr не входит в s
Copy(s, Index, Count) Возвращает подстроку строки s, Count символов, начиная с позиции Index

Пример: работа со строками

readln(s);

s:=s+‘,_’+s+’!!!’;

writeln(s);

Пример: вывод всех символов строки s по отдельности

readln(s);

for i:=1 to length(s) do writeln(s[i]);

1. Как описываются строки в языке Паскаль?

2. Чем различаются строки фиксированной и переменной длины?

3. Какие операции допустимы над строками?

4. Какие процедуры и функции для работы со строками Вы знаете?

5. Что возвращает функция Length(s)?

6. Назовите основные отличия строки от массива символов.


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

Таким образом, запись – это вектор, компоненты которого могут относиться к разным типам данных.

Запись представляет собой совокупность ограниченного числа логически связанных компонент, принадлежащих к разным типам.

Компоненты записи называются полями, каждое из которых определяется именем. Поле записи содержит имя поля, вслед за которым через двоеточие указывается тип данных этого поля. Поля записи могут относиться к любому типу, допустимому в языке Паскаль. Имена полей должны быть уникальны в пределах записи, но могут совпадать с именами переменных, описанных за пределами записи.

Описание записи в языке Паскаль осуществляется с помощью служебного слова Record, вслед за которым описываются поля записи. Завершается описание записи служебным словом end:

<имя поля 1>: <тип данных поля 1>;

[ <имя поля 2>: <тип данных поля 2>; ]

[ … ]

[ <имя поля n>: <тип данных поля n>; ]

end;

Так же, как и при описании переменных в разделе var, если несколько полей имеют одинаковый тип, то их описания можно объединить.

Например, записная книжка содержит фамилии, инициалы и номера телефона, поэтому отдельную строку в записной книжке удобно представить в виде следующей записи:

Пример: записная книжка – описание в разделе type

type

TRow=Record

FIO: String[20];

TEL: String[7]

end;

var

str: TRow;

Так, выше описана запись, содержащая два поля – FIO и TEL.

Описание записей возможно и без задания имени типа (в таком случае запись описывается в разделе var непосредственно после имени переменной).

Пример: записная книжка – описание в разделе var

var

str: Record

FIO: String[20];

TEL: String[7]

end;

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

Пример: присваивание одной записи другой

var X, Y: TRow;

X:=Y;

Y:=X;

Во всех остальных случаях оперируют отдельными полями записей. Чтобы обратиться к отдельной компоненте записи, необходимо задать имя записи и через точку указать имя нужного поля. Такое имя называется составным.

Пример: обращение к полям записи

str.FIO, str.TEL

Компонентой записи может быть другая запись. В таком случае составное имя будет содержать не два, а большее количество имен.

Пример: запись как поле записи (окружность)

type

TPoint = record

x, y: real;

end;

TCircle = record

center: TPoint;

radius: real;

color: integer;

end;

var Circle: TCircle;

Circle.color:=0;

readln(Circle.radius);

Circle.center.x:=10;

Circle.center.y:=5.5;

<== предыдущая лекция | следующая лекция ==>
Операции над строками | Оператор присоединения WITH
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 248; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.