Similar presentations:
Структурированный тип данных - строка символов
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’
Выдаёт результат сцепления
строк.