Язык программирования Pascal. Строки и записи. Васильев В.В - 3 стр.

UptoLike

3
1. Строковый тип
Строковый тип данных используется при обработке текстовой инфор -
мации. Строковый тип данных является структурированным типом данных и
представляет собой одномерный массив из символов.
Отличие строки от массива из символов состоит в том, что массив имеет
фиксированную длину, заданную при описании. Строка имеет максимальную
длину, определенную по умолчанию , и фактическую длину строки, равную ко-
личеству непустых символов строки.
Существует два подхода к реализации строк.
1. Фактическая длина строки указывается в нулевом элементе строки. В ну-
левой элемент строки записывается символ , код которого равен фактиче-
ской длине строки. При выводе строки нулевой элемент невидим.
Например, описана строка S . Чтобы получить ее фактический размер нуж -
но использовать функцию ord(S[0]).
При таком подходе максимальная длина строки не может превышать 255
символов.
Строковый тип String построен на основе первого подхода к реализации
строк.
2. Фактическая длина строки фиксируется специальным символом. В Паскале
таким символом является NULL, или \0. Когда признак фактической длины
строки находится в конце последовательности символов, то нет необходи -
мости накладывать ограничения на длину строки. Следует помнить при
этом, что длина любой структуры не может превышать 65534 байта.
Строки с завершающим нулем называются ASCIIZ-строками. Такие строки
в Паскале описываются как массивы из символов, первый элемент которых
имеет нулевой индекс. Например, var z: array[0..300] of char;
В стандартном модуле Stings.tpu собраны функции, реализующие операции
над ASCIIZ-строками.
Процедуры и функции, работающие со строками типа String:
Функция Concat (S1, S2, , Sn): string - проводит конкатенацию (сцепление)
последовательности строк S1, S2, , Sn.
Функция Copy (S, p, n): string - возвращает копию подстроки из n символов
строки S , начиная с символа с номером p .
Функция Delete (S, p, n): string - удаляет подстроку из n символов из строки S ,
начиная с символа с номером p .
Функция Insert (S2, S1, p): string - вставляет подстроку S2 в строку S1, начиная
с символа с номером p .
Функция Length (S): integer возвращает длину строки S .
Функция Pos (S2, S1): integer возвращает номер позиции, начиная с которой
подстрока S2 встречается в строке S1. Если подстрока не найдена, возвращается
ноль.
Процедура Str (X, S) преобразует число Х вещественного или целого типа в
                                       3
                            1. С тро ко вы й тип
     С тро ко вы й тип д а нны х исполь зуетсяпри обработке текстовой инф ор-
мации. С троковый тип данных являетсяструктурированнымтипомданных и
представляетсобой одномерный массивизсимволов.
     О тличие строки отмассиваизсимволовсостоитвтом, что массивимеет
ф иксированную длину, заданную при описании. С трокаимеет максималь ную
длину, определенную по умолчанию , и ф актическую длинустроки, равную ко-
личествунепустых символовстроки.
     С ущ ествуетдваподходакреализации строк.
1. Ф актическаядлинастроки указываетсявнулевомэ лементе строки. В ну-
     левой э лементстроки записываетсясимвол, код которого равен ф актиче-
     ской длине строки. П ри выводе строки нулевой э лементневидим.
     Н апример, описанастрокаS. Ч тобы получить ее ф актический размер нуж-
     но исполь зовать ф ункцию ord(S[0]).
     П ри такомподходе максималь наядлинастроки не может превыш ать 255
     символов.
     С троковый тип String построен наоснове первого подходакреализации
     строк.
2. Ф актическаядлинастроки ф иксируетсяспециаль нымсимволом. В П аскале
     такимсимволомявляетсяNULL, или \0. Когдапризнакф актической длины
     строки находитсявконце последователь ности символов, то нетнеобходи-
     мости накладывать ограничениянадлинустроки. С ледуетпомнить при
     э том, что длиналю бой структуры не можетпревыш ать 65534 бай та.
     С троки с заверш аю щ имнулемназываю тсяASCIIZ-строками. Т акие строки
     вП аскале описываю тсякакмассивы изсимволов, первый э лементкоторых
     имеет нулевой индекс. Н апример, var z: array[0..300] of char;
     В стандартноммодуле Stings.tpu собраны ф ункции, реализую щ ие операции
     над ASCIIZ-строками.
           П ро цед уры и ф ункции, работаю щ ие со строками типаString:
• Ф ункцияConcat (S1, S2, … , Sn): string - проводитконкатенацию (с цепл ен и е)
последователь ности строкS1, S2, … , Sn.
• Ф ункцияCopy (S, p, n): string - возвращ аеткопию подстроки изn символов
строки S, начинаяс символас номеромp.
• Ф ункцияDelete (S, p, n): string - удаляетподстрокуизn символовизстроки S,
начинаяс символас номеромp.
• Ф ункцияInsert (S2, S1, p): string - вставляетподстрокуS2 встрокуS1, начиная
с символас номеромp.
• Ф ункцияLength (S): integer – возвращ аетдлинустроки S.
• Ф ункцияPos (S2, S1): integer – возвращ аетномер позиции, начинаяс которой
подстрокаS2 встречаетсявстроке S1. Е сли подстрокане най дена, возвращ ается
ноль .
• П роцедураStr (X, S) – преобразуетчисло Х вещ ественного или целого типав