Функция Length
Функция Length в Паскале определяет длину строки. Синтаксис:
function Length(S : AStringType) : Integer;
Второй вариант для динамических массивов:
function Length(A : DynArrayType): Integer;
Функция Length может вычислять длину строки для типов AnsiString и WideString.
Для динамических массивов функция возвращает количество элементов в массиве.
Функция определения длины строки Length также поддерживает параметры типа PChar и PWideChar. В этом случае она работает также, как функции StrLen и WStrLen соответственно. В этом случае функция вычисляет длину строки с нулевым окончанием (с завершающим нулём), а время её выполнения пропорционально длине строки, потому что завершающий нулевой символ ищется путём последовательного перебора всех символов строки.
Как определить длину строки в Паскале
Думаю, уже понятно, что сделать это можно с помощью функции Length. Например, так:
Однако есть и другой способ, о котором мало кто знает. Правда, этот способ можно использовать только с типом ShortString. Но в большинстве случаев этого строкового типа вполне достаточно.
Этот способ позволяет немного сэкономить процессорное время, так как для его использования не требуется тратить это время на вызов функции.
А суть его проста. Дело в том, что в типе ShortString длина строки хранится в нулевом элементе строки. Как известно, в Паскале отсчёт символов в строке начинается с единицы. Однако в типе ShortString есть и нулевой элемент, в котором и хранится длина строки:
Проблема только в том, что эта длина строки хранится как ASCII-код символа, и получить этот элемент можно только как символ. Но это не беда, потому что мы уже умеет преобразовывать символ в его код с помощью функции Ord.
Пример программы см. в конце статьи.
Как задать длину строки в Паскале
В некоторых случаях для экономии памяти можно задать фиксированную длину строки.
Делать это можно, когда вы точно уверены, что для ваших нужд в вашей программе потребуется, например, строка, в которой будет не более какого-то определенного количества символов.
Задать длину строки в Паскале можно так:
Затем с этими переменными можно работать как с обычными строками. Только следует помнить, что при попытке поместить, например, в s04 строку длиной более 4 символов, в эту строку будут помещены только первые четыре символа, а остальные будут отброшены.
Ниже приведён пример программы, где рассмотрены все вышеописанные случаи:
Источник
Язык паскаль онлайн
Тип string (строковый) в паскале – Процедуры и функции для работы со строками
- Browse: Home / Самоучитель паскаль онлайн / Тип string (строковый) в паскале – Процедуры и функции для работы со строками
Строковый тип может хранить в себе до 255 символов ( пробелы так же следует учитывать ).
Объявление переменный строкового типа :
Тип данных string можно объявить двумя способами : с обозначением длины строки и без обозначения. При простом объявлении строки в блоке var :
Операции со строками :
Несколько строк можно складывать. Например вывод имени и фамилии одного человека может выглядеть так :
Функция length :
Функция pos :
Давайте рассмотрим такую задачу : нам нужно найти на какой позиции в строке встречается некоторое слово :
Функция insert :
Функция delete :
На заметку :
В результате выполнения данной программы мы получим первый символ из введенного имени.
Процедуры и функции для работы со строками
Length (s: string): integer;
Функция Length возвращает в качестве результата значение текущей длины строки-параметра.
Пример. n: = length (‘Pascal’);
Concat (s1, [s2, …, sn]: string): string
Функция Concat выполняет слияние строк-параметров, которые могут быть произвольное количество. Каждый параметр выражением строчной типа. Если длина строки-результата превышает 255 символов, то она усекается до 255 символов. Эта функция эквивалентна операции конкатенации «+» и работает чуть менее эффективно, чем эта операция.
Функция Copy возвращает подстроку, выделенный из исходной строки s, длиной count символов, начиная с символа под номером index.
Пример. s: = ‘Система Turbo Pascal’;
Delete (var s: string; index, count: integer)
Процедура Delete удаляет из строки-параметра s подстроку длиной count символов, начиная с символа под номером index.
Пример. s: = ‘Система Turbo Pascal’;
Insert (source: string; var s: string; index: integer)
Процедура Insert предназначена для вставки строки source в строку s, начиная с символа index этой строки.
Пример. s: = ‘Система Pascal’;
Pos (substr, s: string): byte
Функция Pos осуществляет поиск в строке s подстроки substr. Результатом функции является номер первой позиции подстроки в исходной строке. Если подстрока не найдена, то функция возвращает 0.
Пример. s: = ‘Система Turbo Pascal’;
Str (X: арифметическое выражение; var st: string)
Процедура Str преобразует числовое выражение X в его строчное представление и помещает результат в st.
Val (st: string; x: числовая переменная; var code: integer)
Процедура Val преобразует строчный запись числа, содержащегося в st, в числовое представление, помещая результат в x. x — может быть как целиком, так и действительной переменной. Если в st встречается недопустимый (с точки зрения правил записи чисел) символ, то преобразования не происходит, а в code записывается позиция первого недопустимого символа. Выполнение программы при этом не прерывается, диагностика не выдается. Если после выполнения процедуры code равен 0, то это свидетельствует об успешном превращении.
В дополнение приведем некоторые функции, связанные с типом char, но которые тем не менее часто используются при работе со строками.
Chr (n: byte): char
Функция Chr возвращает символ по коду, равный n. Если n можно представить как числовую константу, то можно пользоваться записью #n.
Ord (ch: char): byte;
Функция Ord возвращает код символа ch.
UpCase (c: char): char;
Если c — маленькая латинская буква, то функция UpCase возвращает соответствующую большую латинскую букву, в противном случае символ c возвращается без изменения.
Источник