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}.


 

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

85044. Безопасное поведение на водоемах в различных условиях 33.55 KB
  Оказание помощи терпящим бедствие на воде. Закрепить знания правил безопасного поведения на воде во время купания во время водных походов в условиях аварийной ситуации возникшей во время водного пожара. Познакомить учащихся с основными способами оказания помощи терпящим бедствие на воде. Изучаемые вопросы Значение воды в жизнедеятельности человека безопасность на воде.
85045. Загрязнение окружающей природной среды и здоровье человека 31.48 KB
  Загрязнение окружающей природной среды и здоровье человека Цель урока. Сформировать у учащихся убеждение в необходимости сохранения окружающей природной среды и формирования у каждого человека культуры в области экологической безопасности. Изучаемые вопросы Влияние жизнедеятельности человека на загрязнение окружающей среды. Загрязнение атмосферы почв и природных вод в результате жизнедеятельности человека.
85046. Правила безопасного поведения при неблагоприятной экологической обстановке 30.91 KB
  Изучаемые вопросы Расширение возможностей организма человека противостоять опасным факторам окружающей среды. Формирование потребности в сохранении окружающей природной среды. Снижение вредного воздействия на организм человека неблагоприятных факторов окружающей среды. Изложение учебного материала Во вступительной части урока целесообразно отметить что значительного снижения уровня загрязнения окружающей нас природной среды в ближайшем будущем вряд ли можно ожидать.
85047. Классификация чрезвычайных ситуаций техногенного характера 30.34 KB
  Классификация чрезвычайных ситуаций техногенного характера Цель урока. Познакомить учащихся с чрезвычайными ситуациями техногенного характера и основными причинами их возникновения; дать общее представление о классификации чрезвычайных ситуаций техногенного характера. Изучаемые вопросы Причины возникновения чрезвычайных ситуаций техногенного характера. Объекты экономики возникновение на которых производственных аварий может привести к чрезвычайным ситуациям техногенного характера.
85048. Аварии на радиационно опасных объектах и их возможные последствия. Обеспечение радиационной безопасности населения 32.01 KB
  Аварии на радиационно опасных объектах и их возможные последствия. Обеспечение радиационной безопасности населения. Познакомить учащихся с понятиями радиационно опасный объект ионизирующее излучение радиоактивное загрязнение окружающей среды. Дать общее представление о последствиях аварий на радиационно опасных объектах и о влиянии ионизирующего излучения на организм человека.
85049. Аварии на химически опасных объектах Тамбовской области и их возможные последствия. Обеспечение химической защиты населения 33.32 KB
  Обеспечение химической защиты населения. Познакомить учащихся с общими мероприятиями проводимыми в стране и в регионе для защиты населения от химических аварий. Обобщить знания о средствах индивидуальной защиты и их защитных свойствах. Средства индивидуальной защиты и их защитные свойства.
85050. Гражданская оборона как составная часть национальной безопасности и обороноспособности страны 29.5 KB
  Сформировать у учащихся общее представление о гражданской обороне как составной части общегосударственной системы мероприятий по защите населения страны от опасностей мирного и военного времени. Познакомить с системой руководства гражданской обороной и основными правами и обязанностями граждан в области гражданской обороны. Изучаемые вопросы Предназначение и задачи гражданской обороны. Руководство гражданской обороной.
85051. МЧС России — федеральный орган управления в области защиты населения и территорий от чрезвычайных ситуаций 30.22 KB
  МЧС России федеральный орган управления в области защиты населения и территорий от чрезвычайных ситуаций Цель урока. Познакомить учащихся с МЧС России: предназначением структурой и основными задачами МЧС. Показать роль МЧС России в обеспечении защиты населения от чрезвычайных ситуаций. Изучаемые вопросы МЧС России его предназначение и структура.
85052. Мониторинг и прогнозирование чрезвычайных ситуаций 28.65 KB
  Мониторинг и прогнозирование чрезвычайных ситуаций Цель урока. Познакомить учащихся с мониторингом и прогнозированием чрезвычайных ситуаций как составной частью общей системы мер противодействия чрезвычайным ситуациям направленных на снижение риска возникновения чрезвычайных ситуаций и смягчение их последствий. Изучаемые вопросы Мониторинг чрезвычайных ситуаций и его предназначение. Основные методы прогнозирования чрезвычайных ситуаций.