рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Функции и команды обработки строк

Функции и команды обработки строк - раздел Информатика, Алгоритмы обработки символьной информации. 1 Процедуры Delete (Var S:string; Poz, L:integer) Видоизменяет Строку ...

Процедуры

Delete (Var S:String; Poz, L:Integer) видоизменяет строку S, стирая L символов, начиная с символа с номером Poz.

Пример: Var S:String[10];

. . .

S:=’строка’;

Delete(S,2,4); {S=’са’}.

После стирания подстроки ее оставшиеся части как бы склеиваются. Если Poz = 0 или превышает длину строки S, то строка не изменится. Также не изменит длину строки значение L=0. При L больше остатка строки, будет удалена подстрока от Poz и до конца. Это используют для “подрезания” строк до заданной величины.

Insert (S1:String; Var S:String; Poz:Integer) вставляет подстроку S1 в строку S, начиная с позиции Poz.

Пример: Var S1,S: String[40];

. . .

S:=’Начало-конец‘;

Insert(‘середина-‘, S, 8); { Имеем S=’Начало-середина-конец‘}.

Str (X [:Width [:dec]]; Var S:String) служит для преобразования числовых значений в строковые. Для целых значений можно задать только Width, для вещественных – либо оба поля (формат с фиксированной точкой), либо одно – Width (экспоненциальная форма). Если число имеет меньше знаков, чем дано в поле, то оно выравнивается по правому краю, пустое место заполняется пробелами. Можно задать Width отрицательным, в этом случае выравнивание происходит по левому краю, а излишек как бы стирается.

Пример: Var S:String;

. . .

Str(4.53:8:2, S); {S=’ 4.53’}

Str(4.53:-8:2, S); {S=’4.53’}

Str(4.53:8:0, S); {S=’ 5’}

Str(1.234567:6:4, S); {S=’1.2346’}.

Val (S:String; Var V; Var ErrCode:Integer) преобразует числовые значения, записанные в строке S, в числовую переменную V. Если преобразование возможно, то переменная ErrCode равна нулю, в противном случае она содержит номер символа в строке S, на котором процедура застопорилась. Тип V должен соответствовать содержимому строки S.

Функции

Length(S:String) : Byte возвращает текущую длину строки S. Результат имеет целочисленный тип.

Пример: Var L:Byte;

. . .

L:=Length(S);

Concat(S1,S2,…,SN:String) : String выполняет слияние строк S1,S2,…,SN в том порядке, в каком они указаны в списке параметров.

Пример: Var Ssum:String[50];

. . .

Ssum:=Concat(S1,S2,S3);

Если сумма длин строк в Concat превысит объявленную длину строки в левой части оператора присваивания, то излишек будет отсечен. Следует помнить, что вместо Concat можно пользоваться операцией сцепления. Например, Ssum:=S1+S2+S3;

Copy(S:String; Poz, L:Length) : String позволяет выделить из строки S последовательность из L символов, начиная с позиции Poz. Если Poz>Length(S), то функция вернет пустую строку, а если L больше, чем число символов от Poz до конца строки S, то вернется остаток строки S от Poz до конца.

Пример: Var Ssum:String;

. . .

Ssum:=Copy(‘ABC***123’, 4, 3); {Ssum=’***’}

Ssum:=Copy(‘ABC’, 4, 3); {Ssum=’ ‘}

Ssum:=Copy(‘ABC***123’, 4, 11); {Ssum=’***123’]

 

Pos(S1, S:String) : Byte возвращает номер символа в строке S, с которого начинается включение в S подстроки S1. Если S не содержит в себе S1, то функция вернет 0. Недостатком функции Poz является то, что она возвращает ближайшую стартовую позицию S1 в S от начала строки, т.е. вызов

Var P:Byte;

. . .

P:=Poz(‘abc’, ’Nom abcabcabcfcd’);

завершит свою работу, вернув значение 5, хотя есть еще и 8, и 11.

UpCase(C:Ch) : Char преобразует строчную букву латинского алфавита в прописную, возвращая все остальные, в том числе и буквы русского алфавита, в исходном виде.

Pred(C:Char) : Char выдает предшествующий C символ.

Succ(C:Char) : Char выдает следующий за C символ.

Chr(X:Byte) : Char возвращает символ, код которого равен X.

Ord(C:Char) : Byte возвращает число, равное коду символа C. Учитывая, что текущая длина строки S содержится в S[0], она может быть определена следующим образом:

Var S:String;

L:Byte;

. . .

Read(S);

L:=Ord(S[0]);

Пример: Дана последовательность из 45 символов. Подсчитать в этой последовательности количество вопросительных и восклицательных знаков.

Program String 02;

Type St = String[45];

Var A : st;

i,K : Byte;

Begin

Writeln('ВВЕДИТЕ СТРОКУ СИМВОЛОВ:');

Readln(a);

K:=0;

For i:=1 to Length(a) Do

if (a[i]='!') Or (a[i]='?') Then K:=K+1;

Writeln('КОЛИЧЕСТВО СИМВОЛОВ ! и ? В СТРОКЕ= ',k);

End.

– Конец работы –

Эта тема принадлежит разделу:

Алгоритмы обработки символьной информации. 1

Алгоритмы обработки символьной информации... Операция присваивания... Операция сцепления...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Функции и команды обработки строк

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Алгоритмы обработки символьной информации
Символьная информация — это информация, отображаемая с помощью символов (букв, цифр, знаков операций и др.). IBM-совместимые компьютеры обрабатывают 256 различных символов, каждый из которых кодиру

Типы данных, используемые для обработки символьной информации
  Символьный Char a := ' f ' ; b := '+' ; c := '5' ; If a = ' ' then k := k + 1 Литерный String t := 'Литерная

Система тестов
N теста Данные Результат Slovo = ''казак'' Otvet = ''Перевертыш'' S

Система тестов
Номер теста Проверяемый случай Данные Результат При просмотре линейной записи слева направо первой встр

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

Объединение Пересечение Разность
Использование в программе данных типа set дает ряд преимуществ: значительно упрощаются сложные операторы if , увеличивается степень наглядности прогр

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги