Ф Е Д Е РАЛ Ь Н О Е АГ Е Н Т С Т В О П О О БРАЗО В АН И Ю
В О РО Н Е Ж С КИ Й Г О С У Д АРС Т В Е Н Н Ы Й У Н И В Е РС И Т Е Т
ЯзыкпрограммированияPascal. С трок и и зап и с и
П р акти кум
С п ециа л ь но с ть 010101 (010100) М а тем а тика
ВО Р О Н Е Ж
2005
2
У тверждено научно-методическимсоветомМ атематического ф акуль тета–
( 28 ф евраля2005 года, протокол № 6 )
С оставители: В асиль евВ . В . , Х ливненко Л . В . П рактикумподготовлен накаф едре математического моделированияма-
тематического ф акуль тетаВ оронежского государственного университета. Рекомендуетсядлястудентоввечернего отделенияматематического ф а-
куль тетаВ оронежского государственного университета.
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.