length паскаль что это
Length паскаль что это
Для обработки строковой информации в Турбо Паскаль введен строковый тип данных. Строкой в Паскале называется последовательность из определенного количества символов. Количество символов последовательности называется длиной строки. Синтаксис:
Строковые константы записываются как последовательности символов, ограниченные апострофами. Допускается формирование строк с использованием записи символов по десятичному коду (в виде комбинации # и кода символа) и управляющих символов (комбинации ^ и некоторых заглавных латинских букв).
Пустой символ обозначается двумя подряд стоящими апострофами. Если апостроф входит в строку как литера, то при записи он удваивается.
Переменные, описанные как строковые с разными максимальными длинами, можно присваивать друг другу, хотя при попытке присвоить короткой переменной длинную лишние символы будут отброшены.
Выражения типа char можно присваивать любым строковым переменным.
Над строковыми данными определена операция слияния (конкантенации), обозначаемая знаком +. Например:
В этом примере переменная c приобретет значение ‘TurboPascal’.
Процедуры и функции для работы со строками
В системе Turbo Pascal имеется несколько полезных стандартных процедур и функций, ориентированных на работу со строками. Ниже приводится список этих процедур и функций с краткими пояснениями. Функция возвращает в качестве результата значение текущей длины строки-параметра
Пример.
Функция выполняет слияние строк-параметров, которых может быть произвольное количество. Каждый параметр является выражением строкового типа. Если длина строки-результата превышает 255 символов, то она усекается до 255 символов. Данная функция эквивалентна операции конкатенации «+» и работает немного менее эффективно, чем эта операция.
Функция возвращает подстроку, выделенную из исходной строки s, длиной count символов, начиная с символа под номером index.
Процедура удаляет из строки-параметра s подстроку длиной count символов, начиная с символа под номером index.
Пример.
Процедура предназначена для вставки строки source в строку s, начиная с символа index этой строки.
Пример.
Функция производит поиск в строке s подстроки substr. Результатом функции является номер первой позиции подстроки в исходной строке. Если подстрока не найдена, то функция возвращает 0.
Волгоградский государственный педагогический университет
Кафедра алгебры, геометрии и информатики
В прошлый раз мы разобрали стандартные процедуры в Pascal, применимые к строковому типу данных. Сегодня я расскажу про функции, которые применяются к этому типу данных.
Первая функция, про которую я сегодня расскажу, — функция определения длины строки Length (s). Принцип этой функции очень прост. В скобочках указывается строка, длину которой нужно найти. Возвращает эта функция одно значение — количество символов из которых состоит строка. Функция Length (s), как и все функции в паскаль возвращает значение.
Пример использования функции Length (s):
Пример простейшей программы на паскаль с использованием функции pos (s1, s2):
Две, уже рассмотренные, функции возвращали значение типа integer, следующие функции, про которые я расскажу, будут возвращать тип String.
Следующая функция, применимая к типу String — функция копирования определенной подстроки из строки Copy (s, p, n). S- строка, из которой нужно скопировать, p — позиция, начиная с которой необходимо копировать, n — сколько символов надо скопировать. S — строка, типа string, p, n — целочисленные, то есть типа integer.
Пример решения задачи Паскаль, с использованием функции копирования:
На сегодня урок окончен. В уроках 19 и 20 я подробно рассказал про стандартные функции и процедуры Паскаль, применимые к строковому типу данных.
Функция 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 символов, в эту строку будут помещены только первые четыре символа, а остальные будут отброшены.
Ниже приведён пример программы, где рассмотрены все вышеописанные случаи:
length в паскале что это
Функция Length в Паскале определяет длину строки. Синтаксис:
function Length(S : AStringType) : Integer;
Второй вариант для динамических массивов:
function Length(A : DynArrayType): Integer;
Функция возвращает длину строки S, которая ограничена значением 255 для коротких строк (в классическом Паскале — это максимальная длина строки). Если S — это пустая строка, то функция возвращает 0.
Функция Length может вычислять длину строки для типов AnsiString и WideString.
Для динамических массивов функция возвращает количество элементов в массиве.
Функция определения длины строки Length также поддерживает параметры типа PChar и PWideChar. В этом случае она работает также, как функции StrLen и WStrLen соответственно. В этом случае функция вычисляет длину строки с нулевым окончанием (с завершающим нулём), а время её выполнения пропорционально длине строки, потому что завершающий нулевой символ ищется путём последовательного перебора всех символов строки.
Как определить длину строки в Паскале
Думаю, уже понятно, что сделать это можно с помощью функции Length. Например, так:
Однако есть и другой способ, о котором мало кто знает. Правда, этот способ можно использовать только с типом ShortString. Но в большинстве случаев этого строкового типа вполне достаточно.
Этот способ позволяет немного сэкономить процессорное время, так как для его использования не требуется тратить это время на вызов функции.
А суть его проста. Дело в том, что в типе ShortString длина строки хранится в нулевом элементе строки. Как известно, в Паскале отсчёт символов в строке начинается с единицы. Однако в типе ShortString есть и нулевой элемент, в котором и хранится длина строки:
Проблема только в том, что эта длина строки хранится как ASCII-код символа, и получить этот элемент можно только как символ. Но это не беда, потому что мы уже умеет преобразовывать символ в его код с помощью функции Ord.
Пример программы см. в конце статьи.
Как задать длину строки в Паскале
В некоторых случаях для экономии памяти можно задать фиксированную длину строки.
Делать это можно, когда вы точно уверены, что для ваших нужд в вашей программе потребуется, например, строка, в которой будет не более какого-то определенного количества символов.
Задать длину строки в Паскале можно так:
Затем с этими переменными можно работать как с обычными строками. Только следует помнить, что при попытке поместить, например, в s04 строку длиной более 4 символов, в эту строку будут помещены только первые четыре символа, а остальные будут отброшены.
Ниже приведён пример программы, где рассмотрены все вышеописанные случаи:
Функция Length возвращает в качестве значения длину строки. Например, если в строковой переменной «stroka» записано слово «Pascal», то Length(stroka) будет равно 6. Эта операция аналогична операции Ord(stroka[0]), которую мы разбирали в 1-м уроке. Функция Concat выполняет слияние нескольких строк в одну строку. Например, если в переменной «stroka» записано слово «Turbo», а в переменной «stroka2» записано слово «Pascal», то concat(stroka,stroka2) будет равно «Turbo Pascal».
Использование функции LENGTH.
В строке №7 выводим на экран значение функции Length(stroka). Так как в переменной «stroka» записано слово «Pascal», то на экран будет выведено число 6.
Функция Concat. Данная функция выполняет слияние нескольких строк в одну строку. Эта операция аналогична операции сцепления строк (конкатенации), которую мы рассматривали в прошлом уроке. Функция Concat соединяет строки, указанные в скобках после слова Concat в одну строку.
Использование функции CONCAT
Строка №3. Записываем 4 переменные, в которых будут храниться строковые значения.
Строка №6. Переменной «stroka1» присваиваем значение «Programmirovanie».
Строка №7. Переменной «stroka2» присваиваем значение «na».
Строка №8. Переменной «stroka3» присваиваем значение «Pascal».
Строка №9. В переменную «stroka» записываем значение функции Concat(stroka1,stroka2,stroka3). Она соединит значения, записанные в переменных stroka1,stroka2,stroka3.
Строка №10. Выводим на экран результат.
Дополнение к материалу.
В случае если при соединении строк длина получившейся строки превысит 255 символов, то строка будет усечена после 255-ого символа.
В прошлый раз мы разобрали стандартные процедуры в Pascal, применимые к строковому типу данных. Сегодня я расскажу про функции, которые применяются к этому типу данных.
Первая функция, про которую я сегодня расскажу, — функция определения длины строки Length (s). Принцип этой функции очень прост. В скобочках указывается строка, длину которой нужно найти. Возвращает эта функция одно значение — количество символов из которых состоит строка. Функция Length (s), как и все функции в паскаль возвращает значение.
Пример использования функции Length (s):
Вторая функция, о которой пойдет речь в этом уроке, — функция определения позиции первого вхождения подстроки s1 в строке s2 Pos (s1,s2). S1 — строка (подстрока), которую нужно найти, s2 — строка, в которой нужно найти подстроку. S1 может быть задана как раньше в программе, так и в самой функции (в одинарных кавычках). Если s1 не входит в s2, то функция возвратит значение 0.
Пример простейшей программы на паскаль с использованием функции pos (s1, s2):
Две, уже рассмотренные, функции возвращали значение типа integer, следующие функции, про которые я расскажу, будут возвращать тип String.
Следующая функция, применимая к типу String — функция копирования определенной подстроки из строки Copy (s, p, n). S- строка, из которой нужно скопировать, p — позиция, начиная с которой необходимо копировать, n — сколько символов надо скопировать. S — строка, типа string, p, n — целочисленные, то есть типа integer.
Пример решения задачи Паскаль, с использованием функции копирования:
Последняя функция, о которой Вы узнаете из этого урока, — функция сложения строк Concat (s1, s2, …, s). Строки s1, s2, …, si записываются друг за другом в нужную строку. Если результат превысит 255 символов, то сложение прекратится. Пример данной функции будет опубликован позже в соответствующей категории.
На сегодня урок окончен. В уроках 19 и 20 я подробно рассказал про стандартные функции и процедуры Паскаль, применимые к строковому типу данных.
Процедуры и функции для работы со строками Паскаль
Чтобы работать со строками, в языке Паскаль введены специальные процедуры и функции.
Процедуры и функции для работы со строками Паскаль:
1) length(st:string):integer;
Пример:
2) concat(st1,[st2,…,stn]:string):string;
3) copy(st:string; ind:integer; col:integer):string;
Пример:
4) delete(var st:string; ind,col:integer);
Пример:
5) insert (st2:string; var st:string;ind:integer);
Пример:
6) pos(podsr,st:string):byte;
Пример:
7) str(y: арифметическое выражение; var strk: string);
8) val(strk: string; y: числовая переменная; var kod: integer);
9) chr(m: byte): char;
10) ord(m: char): byte;
11) UpCase(sym: char): char;