Структурированный тип данных- строка символов
Способы описания строк
Ввод и вывод строк
Операции над строками
Операции над строками
Стандартные процедуры и функции для работы со строками
Примеры выполнения процедур:
Примеры работы строковых функций
150.00K
Category: programmingprogramming

Структурированный тип данных - строка символов

1. Структурированный тип данных- строка символов

Структурированный тип
данныхстрока символов

2.

Строка – это последовательность символов кодовой
таблицы ASCII, заключенная в апострофы (одинарные
кавычки), длинной от 0 до 255 символов.
Например:
ANNA’ , ‘215’
Количество символов в строке называется ее длиной.
Со строкой можно работать как с массивом символов, с
одной стороны, и как с единым объектом, — с другой.
Массив символов имеет фиксированную длину(количество
элементов), которая определяется при описании
(Var C:array [0..N] of char).
Длина строки может изменятся в процессе выполнения
программы
2

3.

• Строковая константа - это
последовательность любых допустимых
символов, заключенная в апострофы.
• Строковая переменная описывается в
разделе описания переменных с помощью
стандартного типа String.
3

4. Способы описания строк

1. Var имя перем : string[n];
2. Type имя типа= string[n];
Var имя перем : имя типа;
где n- максимальное количество символов в строке
(по умолчанию n =255). Может быть любой
константой порядкового типа.
4

5.

Например:
Type stroka : string; {по умолчанию длина
равна 255}
Var S1: String[30];
S2, S3: stroka;
5

6. Ввод и вывод строк

• Ввод строк осуществляется только
процедурой Readln. За одну процедуру
можно ввести только одну строку.
• вывод на экран организуется посредством
стандартных процедур Write и Writeln

7.

Например:
Var a,b:string[20];
begin
Readln( a,b)
...
end.
Окно результата
Фамилия Имя
а

8.

К символу строки можно обратиться как к
элементу одномерного массива.
Имя строки[номер символа]
Любой символ занимает в оперативной
памяти 1 байт. Самый первый байт в строке
имеет индекс 0 и содержит текущую длину
строки

9.

Например:
Var st : string[10]; x:byte;
Begin
Readln(st); {ввод строки st=’молоко’}
If st[ 5 ]=’A’ then . . .
x:= ord(st[0]);
{x – текущая длина строки}
...
End.
St
Номер
6
м о
0
Символа (байта)
1
л
2
о
3
к
4
о
5
6
7
9
10

10. Операции над строками

1. Объединение строк (конкатененация) +
Например:
Var s,s1,s2: string;
S1:=’ком’;
S2:=’пот’;
S:=S1 + S1; {s=‘компот’}

11. Операции над строками

2. Сравнение строк (>, <, <=, >=, = < >)
Выполняется посимвольное сравнение строк по кодам
таблицы ASCII. Символ с большим кодом дает большее
значение всей величине (строке). Перед сравнением
автоматически выравниваются длины сравниваемых строк. К
более короткой строке справа добавляется недостающее
количество пробелов.
Например:
‘Солома ‘ < ‘Соль ’
т.к. буква о в машинном алфавите стоит до буквы ь, а значит
ее код меньше, а значит меньше вся величина.

12. Стандартные процедуры и функции для работы со строками

13.

Имя и
параметры
Типы
Тип
параметров результата
функции
integer
Действие
определяет длину строки s
Length(s)
s-string
Copy(s,i,n)
s - string,
i n - integer
string
Выделяет из строки s
подстроку начиная с позиции
i длиной n символов
Pos(s1,s)
s1, s - string
integer
возвращает позицию первого
вхождения подстроки s1 в
строку s (или 0 если
подстрока не найдена)
string
Объединяет строки s1,..., sn в
одну строку
Concat(s1,...,sn) s1,..., sn string

14.

Имя и параметры
IntToStr(i)
Типы
параметров
i - integer
StrToInt(s)
s - string
FloatToStr(r) r - real
StrToFloat(s) s - string
Тип
Действие
результата
string преобразует целое число
i в строку символов
integer
преобразует строку s в
целое число
string
преобразует
вещественное число r в
строку символов
real
преобразует строку s в
вещественное

15.

Имя и
параметры
UpCase(c)
Типы
Тип
Действие
параметров результата
c - char
char
возвращает символ c,
преобразованный к
верхнему регистру
LowCase(c)
c - char
char
возвращает символ c,
преобразованный к нижнему
регистру
UpperCase(s) s - string
string
возвращает строку s,
преобразованную к
верхнему регистру
LowerCase(s) s - string
string
возвращает строку s,
преобразованную к нижнему
регистру

16.

Имя и
параметры
Типы
Тип
параметров результата
Trim(s)
s - string
TrimLeft(s)
s - string
TrimRight(s) s - string
Действие
возвращает копию строки s
с удаленными
лидирующими и
заключительными
пробелами
string возвращает копию строки s
с удаленными
лидирующими пробелами
string
string
возвращает копию строки s
с удаленными
заключительными
пробелами

17.

Имя и
параметры
Типы
параметров
Действие
Процедуры
удаляет в строке s n символов
начиная с позиции i
Delete(s,i,n)
s - string,
i, n - integer
Insert(s1,s,i)
s, s1 - string, вставляет подстроку s1 в строку s
i - integer
с позиции i
SetLength(s,n)
s - string,
n - integer
устанавливает длину строки s
равной n

18.

Имя и
параметры
Типы
параметров
Str(x,s)
s - string,
Str(x:n,s)
x - integer,
Str(x:n:m,s) real
n, m - integer
Val(s,х,c)
s - string,
v - integer,
real
c - integer
Действие
преобразует число x в строку s
(во втором и третьем случаях
согласно формату вывода,
устанавливаемому n и m)
преобразует строку s к
числовому представлению х.
Если преобразование возможно,
то c= 0, иначе c- ненулевое
значение

19. Примеры выполнения процедур:

S1:=’Коробочка’
DELETE(S5,4,2)
S1=’Корочка’
DELETE удаляет из
строки S1 2 символа
начиная с 4
S2:=’Рука’
S3:=’баш’
INSERT(S3,S2,3)
S2=’Рубашка’
INSERT вставляет в
строку S2 строку S3
начиная с 3 символа
X:=2.73284
Y:=1234
STR(X:4:2, S4)
STR(Y, S5)
S4=’2.73’
S5=‘1234’
STR преобразует число
в строку; 4:2-желаемый
формат числа.
S6:=’2.73’
S7:=’12-45’
S8:=‘2,567m’
VAL(S6,X,K)
VAL(S7,X,K)
VAL(S8,X,K)
X=2.73, K=0
K=3
K=2
VAL преобразует
строку в число.
19

20. Примеры работы строковых функций

S1:=’Мотороллер’
K:=POS(‘Рол’,S1)
K=5
Возвращает позицию на,
которой находится строка
‘Рол’ в строке S1
S3:=’Моторолле
р’
L:=LENGTH(S3)
L=10
Выдаёт количество
символов в строке
S2:=’Астроном’
S3:=COPY(S2,3,4)
S3=’Трон’
Возвращает часть строки
длиной 4 символа начиная с
3 символа
S1:=’TAL’
S2:=’LINN’
S3:=CONCAT(S1,
S2)
S3=’TALLIN
N’
Выдаёт результат сцепления
строк.

21.

21
English     Русский Rules