Pascal. Строковый тип (STRING)

В информатике часто используются массивы типа char, которые выделены в отдельный строковый тип - string[n] - где n<=255.

Способы описания переменных - строк аналогичны описанию массивов:

1. В разделе описания типов:

type word=string [ 20 ];
var a:word;

2. В разделе описания переменных:

var a,b,c:string [ 30 ];
d:string [ 54 ];

3. Можно определить строковую переменную и ее начальное значение как констант-строку:

const 1:string[11]='информатика';

Символы, составляющие строку,занумерованы слева направо, начиная с нуля. К ним можно обращаться с помощью индексов, как к элементам одномерного массива. Ввод и вывод элементов массива осуществляется с помощью циклов.

Над строками можно выполнять следующие действия:

  1. Сложение:
    A1:='привет '; (string [7])
    A2:='друг'; (string [4])
    A3:=A1+A2;

    значение A3 стало:'привет друг' (string[11])

  2. Операция сравнения (сравниваются строки одинаковой длины).
    'fbr'>'cru' т.к. 'f'>'c'
  3. Функции:
    • функция соединения: CONCAT(s1,s2,...,sn) - складывает строки s1,s2,...,sn (результат не должен привышать 255);
    • функция выделения: COPY(S,T,K) где S - какая строка, T - с какого элемента, K - сколько элементов выделять;
    • функция определения длины строки: LENGTH(S) - результатом является число;
    • функция определения позиции: POS(T,S), где T - элемент, позицию которого надо определить, S - строка, в которой будет определение;
  4. Процедуры:
    • процедура вырезания: DELETE(S,T,K), где S - какая строка, T - с какого элемента, K - сколько элементов вырезать;
    • процедура вставки: INSERT(T,S,K), где T - что вставлять, S - в какую строку, K - с какой позиции;
    • процедура преобразования числа в строку: STR(T,S), где T - число, которое будет преобразовано, S - строка, в которую будет преобразовано число;
    • процедура преобразования строки в число: VAL(S,K,T), где S - из какой строки, K - будущее число, T - с какого места.

Примеры:

  1. C:=POS('o','лось') результат c=2;
  2. STR(125,S) результат S=’125’;
  3. VAL('125',K,1) результат k=25.
Расскажи друзьям