Главная страница
Навигация по странице:

  • Функции Функция Copy(s:string; index:integer; count:integer):string

  • Функция Concat(s1,[s2,...,sn]:string):string

  • Функция Length(s:string):integer

  • Функция Pos(substr,s:string):byte

  • Процедуры Процедура Delete(var s:string; index,count:integer)

  • Процедура Insert(source:string; var s:string;index:integer)

  • Процедура Str(X: арифметическое выражение

  • Val(st: string; x

  • Ord(ch: char): byte; В данном случае функция возвращает код символа ch. UpCase(c: char): char;

  • Соединение строк в Паскале

  • Вставка строки в другую строку

  • Скопировать часть строки

  • Удалить подстроку из строки

  • Строковые типы данных. Строковый тип данных. Язык программирования Turbo Pascal. Строковый тип данных


    Скачать 106.5 Kb.
    НазваниеЯзык программирования Turbo Pascal. Строковый тип данных
    АнкорСтроковые типы данных
    Дата12.05.2023
    Размер106.5 Kb.
    Формат файлаdoc
    Имя файлаСтроковый тип данных.doc
    ТипДокументы
    #1125002

    Язык программирования Turbo Pascal. Строковый тип данных.
    Строкой в Паскале называется последовательность из определенного количества символов. Количество символов последовательности называется длиной строки.

    Синтаксис: var s: string[n]; var s: string; n - максимально возможная длина строки - целое число в диапазоне 1..255. Если этот параметр опущен, то по умолчанию он принимается равным 255.

    Строковые константы записываются как последовательности символов, ограниченные апострофами. Допускается формирование строк с использованием записи символов по десятичному коду (в виде комбинации # и кода символа) и управляющих символов (комбинации ^ и некоторых заглавных латинских букв).
    Пример: 'Текстовая строка' #54#32#61 'abcde'^A^M
    Пустой символ обозначается двумя подряд стоящими апострофами. Если апостроф входит в строку как литера, то при записи он удваивается.

    Переменные, описанные как строковые с разными максимальными длинами, можно присваивать друг другу, хотя при попытке присвоить короткой переменной длинную лишние символы будут отброшены. Выражения типа char можно присваивать любым строковым переменным.
    Процедуры и функции для работы со строками

    В системе Turbo Pascal имеется несколько полезных стандартных процедур и функций, ориентированных на работу со строками.
    Функции

    1. Функция Copy(s:string; index:integer; count:integer):string

    Функция возвращает подстроку, выделенную из исходной строки s, длиной count символов, начиная с символа под номером index.

    Пример:

    s := 'Система Turbo Pascal';

    s2 := copy(s, 1, 7); {s2 будет равно 'Система'}

    s3 := copy(s, 9, 5); {s3 будет равно 'Turbo'}

    s4 := copy(s, 15, 6); {s4 будет равно 'Pascal'}


    1. Функция Concat(s1,[s2,...,sn]:string):string (обьединение, слияние)

    Функция выполняет слияние строк-параметров, которых может быть произвольное количество. Каждый параметр является выражением строкового типа. Если длина строки-результата превышает 255 символов, то она усекается до 255 символов. Данная функция эквивалентна операции конкатенации "+" и работает немного менее эффективно, чем эта операция.



    1. Функция Length(s:string):integer (длина, расстояние)

    Функция возвращает в качестве результата значение текущей длины строки-параметра

    Пример: n := length('Pascal'); {n будет равно 6}


    1. Функция Pos(substr,s:string):byte

    Функция производит поиск в строке s подстроки substr. Результатом функции является номер первой позиции подстроки в исходной строке. Если подстрока не найдена, то функция возвращает 0.

    Пример.

    s := 'Система Turbo Pascal';

    x1 := pos('Pascal', s); {x1 будет равно 15}

    x2 := pos('Basic', s); {x2 будет равно 0}
    Процедура__Delete(var_s:string;_index,count:integer)'>Процедуры

    1. Процедура Delete(var s:string; index,count:integer)

    Процедура удаляет из строки-параметра s подстроку длиной count символов, начиная с символа под номером index.

    Пример:

    s := 'Система Turbo Pascal';

    delete(s,8,6); {s будет равно 'Система Pascal'}


    1. Процедура Insert(source:string; var s:string;index:integer)

    Процедура предназначена для вставки строки source в строку s, начиная с символа index этой строки.

    Пример:

    s := 'Система Pascal';

    insert('Turbo ',s,9); {s будет равно 'Система Turbo Pascal'}


    1. Процедура Str(X: арифметическое выражение; var st: string)

    Процедура преобразует численное выражение X в его строковое представление и помещает результат в st.
     

    1. Val(st: string; x: числовая переменная; var code: integer)

    Процедура преобразует строковую запись числа, содержащуюся в st, в числовое представление, помещая результат в x. x - может быть как целой, так и действительной переменной. Если в st встречается недопустимый (с точки зрения правил записи чисел) символ, то преобразование не происходит, а в code записывается позиция первого недопустимого символа. Выполнение программы при этом не прерывается, диагностика не выдается. Если после выполнения процедуры code равно 0, то это свидетельствует об успешно произошедшем преобразовании.

    В дополнение приведем некоторые функции, связанные с типом char, но которые тем не менее часто используются при работе со строками. 
    Chr(n: byte): char

    Функция возвращает символ по коду, равному значению выражения n. Если n можно представить как числовую константу, то можно также пользоваться записью #n.
     

    Ord(ch: char): byte;

    В данном случае функция возвращает код символа ch.
     

    UpCase(c: char): char;

    Если c - строчная латинская буква, то функция возвращает соответствующую прописную латинскую букву, в противном случае символ c возвращается без изменения.

    Определим длину строки:

    Var stroka: string[10]; strLength: Byte;

    begin

    stroka := 'sbp';

    Writeln(stroka);

    strLength := Length(stroka);

    Writeln(strLength);

    ReadLn();

    end.
    Если строке присвоить значение, длина которого больше допустимой, то лишние символы будут удалены. Пример:

    Var stroka: string[2];

    begin

    stroka := 'sbp';

    Writeln(stroka);

    ReadLn();

    end.
    Присоединить одну строку к другой в Паскале знаком «+».

    Var stroka, tire, prog: string;

    begin

    stroka := 'sbp';

    tire := '-';

    prog := 'program';

    stroka := stroka + tire + prog;

    Writeln(stroka);

    ReadLn();

    end.
    Соединение строк в Паскале с помощью встроенной функции Concat:

    Var stroka, tire, prog: string;

    begin

    stroka := 'sbp';

    tire := '-';

    prog := 'program';

    stroka := Concat(stroka, tire, prog);

    Writeln(stroka);

    ReadLn();

    end.
    Вставка строки в другую строку с помощью стандартной функции Insert.

    Var stroka, prog: string;

    begin

    stroka := 'sbp-gram';

    prog := 'pro';

    Insert(prog, stroka, 5);

    Writeln(stroka);

    ReadLn();

    end.
    Скопировать часть строки с помощью функции Copy.

    Var stroka, pro: string;

    begin

    stroka := 'sbp-program';

    pro := Copy(stroka, 5, 3);

    Writeln(pro);

    ReadLn();

    end.
    Найти подстроку в строке с помощью функции Pos.

    Var stroka, gram: string; number: integer;

    begin

    stroka := 'program';

    gram := 'gram';

    number := Pos(gram, stroka);

    Writeln(number);

    ReadLn();

    end.
    Удалить подстроку из строки с помощью стандартной функции Delete.

    Var stroka: string;

    begin

    stroka := 'program';

    Delete(stroka, 1, 3);

    Writeln(stroka);

    ReadLn();

    end.


    написать администратору сайта