Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Процедура Val

Процедура Insert

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

Процедура Delete

Процедури обробки рядків

Функція Copy

Функция Pos

Функция Length

Функції обробки рядків

У мові ОР для роботи з рядками реалізовано багато процедур і функцій. Так, наприклад, ми можемо визначити поточну довжину рядка, якщо використати функцію Length.

Length(S: string):integer;

У цієї функції один параметр (S) – вираз рядкового типу. Значення функції – ціле число – кількість символів, з яких складається рядок.

Приклад

i:= length(‘Peace’) // i=5

Функція Pos дозволяє визначити номер позиції першого входження символу або підрядка в рядок. Прототип:

Pos(SubString: string; S: string):byte;

де SubString – рядкова константа або змінна (підрядок), яку треба знайти в рядковій константі або змінній S. Наприклад:

st:=’City Odessa!’;

i:=Pos(‘ty’, ‘City Odessa’); //i=3

Якщо в рядку немає підрядка, то значення функції Pos буде дорівнювати нулю.

 

Функція Copy дозволяє с копіювати підрядок в новий рядок (виділити фрагмент рядка). Прототип функції:

Copy (S: string; Index: integer; Count: integer):string;

де

S – вираз рядкового типу;

Index – номер першого символу, з якого починається підрядок, що виділяється;

Count – довжина підрядка, що виділяється.

Наприклад:

st:=’City Odessa!’;

st:=Copy(s, 6, 6); // st=’Odessa’

 

Процедура Delete дозволяє видалити частину рядка (певну кількість символів). Прототип функції:

Delete(var S: string, Index: integer, Count: integer);

где

S – змінна або константа символьного типу;

Index – номер символу, с якого починається підрядок, що видаляється;

Count – довжина підрядка, що видаляється (скільки символів треба видалити).

Наприклад:

st:=’City Odessa!’;

delete (st, 1, 5); // s=’Odessa!’

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

Вставка символів реалізується операцією Insert

Insert (Source: String; var S: string; Index:iteger);

де Source – рядок, що вставляється в інший рядок;

S – рядок, куди здійснюється вставка;

Index – номер позиції, з якої починається вставка.

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

st:=’City Odessa!’; //Поточна довжина 12

Insert (‘My ’, st, 1); // st=’My City Odessa!’ // Поточна довжина 15

Якщо поточна довжина рядка оказалась більше загальної довжини, то ті символи не доступні. Тобто, якщо загальна довжина рядка s була 13 (var s: string[13]), то підрядок з двох символів ‘a!’ не буде доступним.

Рядки, що складаються з символів цифр, можна перетворити на числа.

Val(S: string; var Value; var Code:Integer);

де S – рядок, що перетворюється на число;

Value – змінна типу Integer або Real;

Code – змінна цілочислового типу, яка визначає успішність перетворення.

Якщо змінна Code дорівнює нулю, то перетворення пройшло успішно. Якщо Code¹0, то це номер позиції в рядку де стоїть перший помилковий символ.

Наприклад:

const st=’150’;

var num, c:integer;

begin

val(st, num, c);

writeln(‘Value =’, num, ’ Code=‘,c); // Виведено Value =150 Code =0

end.

 

const st=’1a50’;

var num, c:integer;

begin

val(st,num,c);

writeln(‘Value =’, num,’ Code=‘,c); // Помилка в другому символі!

//Виведено Value=1 Code =2

end.

 

<== предыдущая лекция | следующая лекция ==>
Введення рядків | Терминология. Средства печати Windows NT
Поделиться с друзьями:


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


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



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




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