28632

Структурный тип - Строка

Лекция

Информатика, кибернетика и программирование

m] of char; где: m максимальная длина строки число диапазона 0 . Строки длины до 255 соответствуют типу string без указания длины строки. Нулевая позиция строки является специальной позицией в которой хранится текущая длина строки код ASCII представляющий длину строки. Доступ к компоненту строки символу строки осуществляется также как к элементу массива т.

Русский

2013-08-20

37 KB

5 чел.

Лекция 11: Структурный тип - Строка.

1. Строка, как специальная форма массива.

2. Основы обработки строк.

3. Примеры элементарных программ обработки строк.

1. Строка, как специальная форма массива.

В Турбо Паскале имеется семейство строковых типов, рассматриваемых как специальная форма массива, а именно одномерный массив символов. Это семейство соответствует по умолчанию следующему описанию:

type string[ <m >] = array [0..m] of char;

где:  <m >- максимальная длина строки (число диапазона 0 .. 255).

       string- стандартное имя строкового типа, являющееся ключевым словом.

Строки длины до 255 соответствуют типу string (без указания длины строки).

Нулевая позиция строки является специальной позицией, в которой хранится текущая длина строки (код ASCII, представляющий длину строки). Эта позиция автоматически корректируется при операциях над строками.

Доступ к компоненту строки (символу строки) осуществляется также как к элементу массива, т.е. по индексу (индексному выражению).

Например: st[J+1]      {Cимвол в позиции J+1 строки st}

Разрешен доступ, в том числе и к нулевой позиции строки, так что, например ord(st[0]) - длина строки st .

     Замечание

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

2. Основы обработки строк.

Строки относятся к важным средствам представления нечисловой информации, и обработка строк имеет широкие приложения во многих областях  использования нечисловой информации (редактирование текстов, логический анализ, автоматизация перевода, распознавание текстов и др.).

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

Для строк допустим оператор присваивания вида:

< переменная типа string > := < выражение типа string  или типа char >;

Над строками допустимы отношения сравнения  <,<=,>,>=, =, <>, причём длины сравниваемых строк могут быть различными (меньшая строка при сравнении дополняется справа до выравнивания длин символами chr(0)). Сравнение выполняется посимвольно слева направо по кодам символов таблицы ASCII. Например: 'A' >'1', 'Turbo' < 'TURBO PASCAL'.

К строкам применима операция сцепления строк (конкатенация), обозначаемая символом '+'. Например: 'Это -' + 'строка'   {соответствует 'Это - строка' }.

Стандартные процедуры обработки строк:

Delete(st, Npos, count)      -удаление из строки st, начиная с позиции Npos под-                                  строки длины count .

Insert(subst, st, Npos)       -вставка в строку st подстроки subst с позиции Npos.

Стандартные функции обработки строк:

Length(st)           -длина строки st (без учёта нулевой позиции строки).

Copy(st, Npos, count)        -выделение из строки st подстроки длиной count, на              чиная с позиции Npos.

Pos(subst, st)          -позиция начала первого вхождения подстроки subst в               строку st (если подстрока не найдена, то pos=0).

Основными элементарными задачами обработки строк являются: управление пробелами в строке (удаление лишних пробелов, удаление пробелов в начале или в конце строки, выравнивание длин строк вставкой пробелов и др.), анализ частот символов, либо подстрок, поиск подстрок по заданным критериям (первого вхождения, всех вхождений, по образцу, по шаблону и др.), подстановка подстрок и другие.

3. Примеры элементарных программ обработки строк.

Приведём две такие программы на Турбо Паскале:

              

       program bin_dec; {Перевод двоичного числа в десятичное}

       uses CRT;

       var bin:string; {строка-двоичное число}

             dec:integer; {эквивалентное десятичное число}

              r,j:integer;   

       begin TextBackground(cyan);TextColor(white);ClrScr; window(10,10,50,20);

             TextBackground(green); ClrScr; write(' Введите двоичное число: ');read(bin);

             dec:=0;r:=1;for j:=length(bin) downto 1 do

             begin if (bin[j] <>'0') and  (bin[j] <>'1') then

                   begin writeln('Ошибка ввода');halt end; if bin[j]='1' then dec:=dec + r;r:=r*2

             end;  writeln('Десятичное число: ', dec)

       end {bin_dec}.

program del_blank;{Удаление лишних пробелов между словами в строке}

       uses CRT;

       var str:string; {Вводимая строка}

     c:string;j:byte;

 begin TextBackground(cyan);TextColor(white);ClrScr;

            repeat writeln('Введите  строку:');readln(str);

                 if str='' then writeln('Строка пустая') else

             begin j:=1; if length(str)>1   then  while j<length(str) do

             if (str[j]=' ') and (str[j+1]=' ')  then delete(str,j+1,1) else j:=j+1;

             writeln('Результирующая строка:'); writeln(str);

             end;readln(c);

           until c=' ';

 end{ del_blank}.


 

А также другие работы, которые могут Вас заинтересовать

77431. Права и обязанности участников ООО (имущественные и неимущественные права) 18.64 KB
  В зависимости от вида участия членов ООО в деятельности общества их права разделяются на имущественные и неимущественные. К числу неимущественных прав участников ООО в соответствии с ГК РФ и Законом об ООО относятся: право на участие в управлении обществом; право на получение информации о деятельности общества; право на ознакомление с документацией общества в том числе с бухгалтерскими книгами; право требовать проведения аудиторской проверки; право принимать участие в распределении прибыли.Включение последнего права участников ООО в...
77432. Право участника общества с ограниченной ответственностью на продажу доли в уставном капитале общества и его реализация 30.84 KB
  Преимущественное право покупки доли участников общества с ограниченной ответственностью и его реализация. Форма сделки направленной на продажу доли. Отчуждение участником общества своей доли ее части третьим лицам допускается если иное не предусмотрено уставом общества.
77433. Право участника общества с ограниченной ответственностью требовать признания за ним права на долю 14.38 KB
  Если доля или часть доли в уставном капитале общества возмездно приобретена у лица которое не имело права ее отчуждать о чем приобретатель не знал и не мог знать лицо утратившее долю или часть доли вправе требовать признания за ним права на данные долю или часть доли в уставном капитале общества с одновременным лишением права на данные долю или часть доли добросовестного приобретателя при условии что данные доля или часть доли были утрачены в результате противоправных действий третьих лиц или иным путем помимо воли лица утратившего долю...
77434. Договор об осуществлении прав участников общества с ограниченной ответственностью и акционерные соглашения 16.14 KB
  Предметом акционерного соглашения не могут быть обязательства стороны акционерного соглашения голосовать согласно указаниям органов управления общества в отношении акций которого заключено данное соглашение. Акционерное соглашение должно быть заключено в отношении всех акций принадлежащих стороне акционерного соглашения. Договор заключенный стороной акционерного соглашения в нарушение акционерного соглашения может быть признан судом недействительным по иску заинтересованной стороны акционерного соглашения только в случаях если будет...
77435. Обжалование решений органов управления в АО и ООО. Форма и основания ответственности исполнительных органов и членов совета директоров в ООО и АО 14.77 KB
  Участнику общества предоставляется право обжаловать решения органов управления принятые с нарушением Закона устава или решения нарушающие права и интересы участников. Закон предусматривает возможность оставить решение в силе даже при доказательности нарушений при следующих условиях: голосование лица подавшего заявление не могло повлиять на результаты голосования допущенные нарушения не являются существенными оспариваемым решением участнику общества не причинены убытки. Ответственность членов совета директоров наблюдательного...
77436. Порядок совершения сделки с заинтересованными лицами 31 KB
  Решение об одобрении сделки принимается общим собранием участников большинством голосов от общего числа голосов участников общества незаинтересованных в совершении такой сделки т. Если сделка не получила одобрения она может быть признана недействительно по иску общества или его участника При наличии одного из следующих обстоятельств: Голосование участника общества незаинтересованного в совершении сделки и обратившегося с иском о признании сделки недействительной в случае если бы он принимал участие в голосовании но его голос бы не...
77438. Контрольные органы в ООО и АО: название, избрание, компетенция. Отчетность и хранение документов в ООО и АО. Аффилированные лица 19.85 KB
  К АО: По решению общего собрания акционеров членам ревизионной комиссии ревизору общества в период исполнения ими своих обязанностей могут выплачиваться вознаграждения и или компенсироваться расходы связанные с исполнением ими своих обязанностей. Проверка ревизия финансово-хозяйственной деятельности общества осуществляется по итогам деятельности общества за год а также во всякое время по инициативе ревизионной комиссии ревизора общества решению общего собрания акционеров совета директоров наблюдательного совета общества или по...
77439. Исполнительные органы в ООО и АО: название, порядок избрания, компетенция 19.62 KB
  ООО закон Единоличный исполнительный орган общества генеральный директор президент и другие избирается общим собранием участников общества на срок определенный уставом общества если уставом общества решение этих вопросов не отнесено к компетенции совета директоров наблюдательного совета общества. Единоличный исполнительный орган общества может быть избран также не из числа его участников. Договор между обществом и лицом осуществляющим функции единоличного исполнительного органа общества подписывается от имени общества лицом...