четверг, 19 января 2023 г.

Символьные и строковые данные

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

Для начала немного теории:

Символьная переменная имеет тип Char. Символьная константа – символ в апострофах.
Каждому символу соответствует свой уникальный код (кодировочная таблица ASCII - см. рисунок) – целое число от 0 до 255. Символы упорядочены в соответствии с кодами:
- ’A’<’B’<’C’< …
- ’0’<’1’<’2’< …
- ’a’<’b’<’c’< …
- ’Z’<’a’ (коды прописных латинских букв меньше кодов строчных)
С символами связаны 2 функции:
1. CHR(N) – символ, код которого равен N (N – число от 0 до 255)
2. ORD(C) – код символа, являющегося значением переменной C (C – символьная переменная)

Строка – упорядоченная последовательность символов. Количество символов в строке называется ее длиной. Длина строки может лежать в диапазоне от 0 до 255. 
Строковая переменная имеет тип String. При описании строковой переменной можно указать максимальную длину строки:
Var s:string[20]; a:string[5]; b:string; 
Если длина не указана, подразумевается, что она равна максимальной величине – 255.
Строковая константа – последовательность символов, заключенных в апострофы. Два следующих друг за другом апострофа (’’) обозначают пустую строку (строку с длиной 0).

К каждому символу в строке можно обращаться по отдельности. Имя элемента строки состоит из имени строки с индексом, заключенным в квадратные скобки. Индекс – выражение целого типа с положительным значением. 
Например, S[2] – второй символ строки S; N[i] – i-й символ строки N; K[n+1] – символ строки K с номером n+1. 
Первый символ строки имеет номер 1. Значение индекса не должно превышать максимальное количество символов в строке.
Операции над строками
1. Сравнение строк
Строки можно сравнивать, используя знаки сравнения =, <, >, <=, >=, <>. Строки сравниваются посимвольно слева направо до первого несовпадающего символа. Большей считается та строка, в которой первый несовпадающий символ имеет больший код. Если строки имеют разную длину, но в общей части символы совпадают, то большей считается более длинная строка. Строки равны только в том случае, если они имеют одинаковую длину и все символы совпадают. 
Например, 
- ’abcd’< ’am’, т.к. ’b’<’m’
- ’abcd’>’ab’, т.к. первые символы совпадают, а строка ’abcd’ длиннее
- ’abcd’=’abcd’, т.к. строки совпадают посимвольно, 
но строки ’abcd’ и ’a bcd’ не равны, т. к. одна из них содержит пробел, а другая нет

2. Сцепление (конкатенация) строк  
Обозначается знаком «+». Применяется для соединения нескольких строк в одну.
Например, в результате сцепления ’мама ’+’мыла ’+’раму’ получится строка ’мама мыла раму’
Сцепление строк выполняется и с помощью функции Concat. 
Concat(S1, S2, …, Sn) выполняет сцепление строк  S1, S2, …, Sn в одну строку.

3. Определение длины строки   
Length(S) – текущая длина строки S. Результатом является целое число.
Например, 
- значение Length(’abcd’) равно 4
- значение Length(’мама ’+’мыла ’+’раму’) равно 14
- значение Length(’’) равно 0 

1 комментарий:

  1. Таисия Федина25 января 2023 г. в 17:45

    Домашнее задание на электронную почту высылать ?

    ОтветитьУдалить