Читать онлайн «Язык программирования Pascal. Строки и записи: Практикум»

Автор Васильев В.

Ф Е Д Е РАЛ Ь Н О Е АГ Е Н Т С Т В О П О О БРАЗО В АН И Ю В О РО Н Е Ж С КИ Й Г О С У Д АРС Т В Е Н Н Ы Й У Н И В Е РС И Т Е Т Языкпрограммирования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.