Тип string (строковый) в паскале – Процедуры и функции для работы со строками

Автор: | 12.10.2018

Строковой тип предназначен для хранения определенных строк , например имени пользователя.

У этого типа есть определенные особенности , которые мы рассмотрим в данной статье.

Строковый тип может хранить в себе до 255 символов ( пробелы так же следует учитывать ).

Объявление переменный строкового типа :

Тип данных string можно объявить двумя способами : с обозначением длины строки и без обозначения. При простом объявлении строки в блоке var :

для переменной text будет предоставлено 255 символов ( максимальное количество ). Но мы можем заранее понимать , что какая-либо переменная будет очень короткой и тогда мы используем объявление с обозначением длины :

В данной строке поместятся всего 20 символов , которые будут занимать 21 байт , в отличии от 256 байт , которые займет целая строка. Экономия памяти на лицо.

Вы наверное уже задались вопросом : Почему строка в 255 символов занимает 256 байт ? все дело в том что строка хранит в себе не только символы , но и размер самой строки в нашем случае это 255.

Операции со строками :

Несколько строк можно складывать. Например вывод имени и фамилии одного человека может выглядеть так :

Читать  Типы Переменных в Паскале – Var Real Integer Pascal – Отличие String от boolean и char

В данном случае , если мы введем Игорь Петров , то получим на выходе программы ИгорьПетров.

Строки также можно сравнивать ( больше , меньше или равно ). Пример сравнения легче всего рассмотреть на сравнении имен : Игорь и Иван.
Строки сравниваются по символам : чем ближе символ к началу алфавита тем меньше он «весит». Получается , что имя Игорь будет больше , так как 2 символ в их имени больше у Игоря.

Функция length :

Функция length возвращает длину строки. Например функция length(‘привет’) вернет нам число 6 , так как слово привет состоит из 6 символов. С помощью этой функции вы сможете узнать длину любой строки.

Функция pos :

Давайте рассмотрим такую задачу : нам нужно найти на какой позиции в строке встречается некоторое слово :

В этом случае на выходе программы мы получим позицию слова , которое встречается в строке в первый раз. Если такого слова нет , то функция возвращает 0.

Читать  Перевод в двоичную систему Паскаль

Как работает функция pos : pos( какое слово ищем , в какой строке );

Функция insert :

Данная функция добавляет в строку любую другую строку . Она принимает в себя 3 атрибута : insert( какую строку добавить , в какую строку , на какую позицию ).

Функция delete :

Эта функция удаляет определенное количество символов из строки и несет в себе 3 атрибута : delete( из какой строки , с какой позиции , сколько символов удалить ).

На заметку :

Строку так же можно представить в виде массива длинной в 255 ячеек , заполненных символами. Пример :

В результате выполнения данной программы мы получим первый символ из введенного имени.

Для закрепления всех этих функция давайте рассмотрим такую задачу : Требуется ввести строку и ввести слово , которое будет заменено на слово «( удалено )».

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

  Length (s: string): integer;

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

Читать  Функции в паскале – Pascal Процедуры, Функции и Рекурсии – Основы программирования для чайников

Пример. n: = length (‘Pascal’); {n равен 6}

Concat (s1, [s2, …, sn]: string): string

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

Функция Copy возвращает подстроку, выделенный из исходной строки 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’}

Delete (var s: string; index, count: integer)

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

Пример. s: = ‘Система Turbo Pascal’;

delete (s, 8,6) {S равен ‘Система Pascal’}

Insert (source: string; var s: string; index: integer)

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

Пример. s: = ‘Система Pascal’;

insert ( ‘Turbo’, s, 9); {S равен ‘Система Turbo Pascal’}

Pos (substr, s: string): byte

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

Читать  Вопрос - Ответ | Задачи Паскаль

Пример. s: = ‘Система Turbo Pascal’;

x1 = pos ( ‘Pascal’, s); {X1 равно 15}

x2 = pos ( ‘Basic’, s); {X2 равно 0}

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.

Подробнее о char

Ord (ch: char): byte;

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

 UpCase (c: char): char;

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

Читать  Скачать компилятор Паскаль Windows – Паскаль ABC, Турбо паскаль, Free паскаль
[Всего голосов: 4    Средний: 5/5]

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *