как узнать длину строки в паскале

В прошлый раз мы разобрали стандартные процедуры в 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 я подробно рассказал про стандартные функции и процедуры Паскаль, применимые к строковому типу данных.

Источник

Как узнать длину строки в паскале

Для обработки строковой информации в Турбо Паскаль введен строковый тип данных. Строкой в Паскале называется последовательность из определенного количества символов. Количество символов последовательности называется длиной строки. Синтаксис:

Строковые константы записываются как последовательности символов, ограниченные апострофами. Допускается формирование строк с использованием записи символов по десятичному коду (в виде комбинации # и кода символа) и управляющих символов (комбинации ^ и некоторых заглавных латинских букв).

Пустой символ обозначается двумя подряд стоящими апострофами. Если апостроф входит в строку как литера, то при записи он удваивается.

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

Выражения типа char можно присваивать любым строковым переменным.

Над строковыми данными определена операция слияния (конкантенации), обозначаемая знаком +. Например:

Читайте также:  как узнать свои емайлы все

В этом примере переменная c приобретет значение ‘TurboPascal’.

Процедуры и функции для работы со строками

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

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

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

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

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

Волгоградский государственный педагогический университет
Кафедра алгебры, геометрии и информатики

Источник

Процедуры и функции для работы со строками Паскаль

Чтобы работать со строками, в языке Паскаль введены специальные процедуры и функции.

Процедуры и функции для работы со строками Паскаль:

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;

Источник

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

Строки в Pascal

Строку в Паскале можно рассматривать как массив символов переменной длины. Работа со строками в Паскале довольно проста.

Простой пример: объявляем строку stroka, допустимая длина этой строки равна 10-ти символам

Получаем:

Максимальная длина строки в Паскале — 255 символов. Если при объявлении переменной типа строка не указать в квадратных скобках максимально допустимую длину, то по умолчанию длина строки равна 255-ти символам.

Читайте также:  как узнать долг за квартиру по адресу через интернет госуслуги бесплатно

Длину строки в Паскале получаем с помощью функции Length:

Получаем:

длина строки «sbp» равна трём байтам.

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

Получаем:

В этом примере строка может содержать не более двух символов, отсюда и результат.

Присоединить одну строку к другой в Паскале можно двумя путями: знаком «+» или функцией Concat.

Получаем:

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

Получаем результат ровно такой же, как и в предыдущем примере.

Вставка строки в другую строку в Паскале делается с помощью стандартной функции Insert. Рассмотрим пример, где в строку «sbp-gram» после черточки, здесь номер символа 5, вставляется строка «pro»:

В результате получим строку «sbp-program».

Скопировать часть строки в Паскале можно с помощью функции Copy. Скопируем из строки «sbp-program» 3 символа, начиная с символа с номером 5, т.е. с буквы «p» в слове «program»:

Получаем:

Найти подстроку в строке на Паскале можно с помощью функции Pos. Для примера берём строку «program» и найдём номер символа, с которого начинается первое вхождение строки «gram» в строку «program»:

В переменной «number» сохранится число 4. Если бы строка «gram» не встречалось в строке «program», то функция Copy вернула бы ноль.

Удалить подстроку из строки в Паскале можно с помощью стандартной функции Delete. Удалим первые три символа из строки «program»:

Получим «gram». Строкой Delete(stroka, 1, 3) мы дали команду удалить три символа из строки «stroka», начиная с 1-ой позиции.

Источник

Как узнать длину строки в паскале

Параметр длины может и не указываться в описании. В таком случае подразумевается, что он равен максимальной величине — 255. Например: Var slovo : string.

Строковая переменная занимает в памяти на 1 байт больше, чем указанная в описании длина. Дело в том, что один (нулевой) байт содержит значение текущей длины строки. Если строковой переменной не присвоено никакого значения, то ее текущая длина равна нулю. По мере заполнения строки символами ее текущая длина возрастает, но она не должна превышать максимальной по описанию величины.

Читайте также:  как узнать сколько весят файлы на компьютере

Символы внутри строки индексируются (нумеруются) от единицы. Каждый отдельный символ идентифицируется именем строки с индексом, заключенным в квадратные скобки. Например: N[5], S[i], slovo[k+l]. Индекс может быть положительной константой, переменной, выражением целого типа. Значение индекса не должно выходить за границы описания.

Тип string и стандартный тип char совместимы. Строки и символы могут употребляться в одних и тех же выражениях.

Строковые выражения строятся из строковых констант, переменных, функций и знаков операций. Над строковыми данными допустимы операции сцепления и операции отношения.

Операция сцепления (конкатенации) (+) применяется для соединения нескольких строк в одну результирующую строку. Сцеплять можно как строковые константы, так и переменные.

Пример: ‘Мама ‘ + ‘мыла ‘ + ‘раму’. В результате получится строка: ‘Мама мыла раму’. Длина результирующей строки не должна превышать 255.

Выражение Результат
‘True1’ ’MOTHER’ True
‘Мама ‘ <> ‘Мама’ True
‘Cat’=’Cat’ True

Функция Copy(S, Pozition, N) выделяет из строки S подстроку длиной N символов, начиная с позиции Pozition. Здесь N и Pozition — целочисленные выражения.

Значение S Выражение Результат
‘Мама мыла раму’ Copy(S, 6, 4) ‘мыла’
‘Маша ела кашу’ Copy(S, 1, 8) ‘Маша ела’

Функция Concat(S1, S2, …, SN) выполняет сцепление (конкатенацию) строк S1, S2, …, SN в одну строку.

Выражение Результат
Concat(‘Маша ‘, ‘ела ‘, ‘кашу’) ‘Маша ела кашу’

Значение S Выражение Результат
‘test-5’ Length(S) 6
‘(A+B)*C’ Length(S) 7

Функция Pos(S1, S2) — обнаруживает первое появление в строке S2 подстроки S1. Результат — целое число, равное номеру позиции, где находится первый символ подстроки S1. Если в S2 подстроки S1 не обнаружено, то результат равен 0.

Значение S2 Выражение Результат
‘abcdef’ Pos(‘cd’, S2) 3
‘abcdcdef’ Pos(‘cd’, S2) 3
‘abcdef’ Pos(‘k’, S2) 0

Исходное значение S Оператор Конечное значение S
‘abcdefg’ Delete(S, 3, 2) ‘abefg’
‘abcdefg’ Delete(S, 2, 6) ‘a’

Процедура Insert(S1, S2, Poz) — вставка строки S1 в строку S2, начиная с позиции Poz.

Исходное значение S2 Оператор Конечное значение S2
‘ЭВМ РС’ Insert(‘IBM-‘, S2, 5) ‘ЭВМ IBM-PC’
‘Рис. 2’ Insert(‘N’, S2, 6) ‘Рис. N 2’

Источник

Советы мастера