Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Строковые переменные.
Строкой называется последовательность символов, заключенная в апострофы. Для объявления переменной строкового типа используется служебное слово string.
<переменная>: string [n];
В квадратных скобках (n <= 255) указывается максимальное количество символов, допустимое в этой строке. Если максимальный размер не указан, то он автоматически принимается равным 255. Это максимально возможная длинна строки.
Var str1: string[20];
str2: string[230];
str3: string;
По сути, строка длинны k представляет собой массив из k+1 символьных переменных, где нулевой элемент хранит значение длинны строки. Поэтому string[k] = array[0..k] of char;
Так же, как и в массиве, в строке возможен доступ к отдельным символам строки по номеру их позиций. Для этого необходимо указать имя строки и номер индекса в квадратных скобках.
Var str: string;
str := Строка;
/*str[1] = С;
str[2] = т;
str[3] = р;
str[4] = о;
str[5] = к;
str[6] = а;*/
Ввод вывод строковых данных.
Read(str);
write(str);
Операции над строками.
Строки можно присваивать, склеивать, сравнивать.
Присваивание: str := Строка; //полностью
str[6] := и // конкретному индексу
Конкатенация (склеивание) объединение двух строк в одну.
Str1 := str2 + str3;
Сравнение. Произвольные пары строк могут сравниваться с помощью операторов отношений. Две строки сравниваются посимвольно слева направо. При обнаружении первого несовпадающего символа принимается решение в соответствии с таблицей кодов ASCII.
Если две сравниваемые строки имеют различную длину, но совпадают вплоть до последнего символа более короткой строки, последняя строка считается меньшей.
Две строки считаются равными, когда они имеют одинаковую длину и все их символы совпадают.
Стандартные процедуры и функции обработки строк.
Length(str) возвращает длину строки str.
Программа, которая выводит все символы строки в обратном порядке.
Program p1;
Var str: string;
len, i: integer;
Begin
write(Введите строку: );
read(str);
len = length(str);
for I := len downto 1 do
write(str[i]);
End.
Copy(str, start, count) копирует из строки str count символов начиная со start.
Str1 := 12345;
str2 := copy(str1, 3, 2);
//str2 34
Delete(str, start, count) удаляет count символов из строки st начиная со start.
Str := 12345;
delete(str, 3, 2);
//str 125
Insert(subst, str, start) вставляет подстроку sust в строку str начиная со start.
Str := 12345;
insert(-, str, 3);
//str 12-345;
Pos(subst, str) отыскивает в строке str первое вхождение подстроки subst и возвращает номер позиции с которого она начинается. Если подстрока не найдена, возвращает 0.
Str := 12-345;
n := pos(-, str);
// n = 3;
Concate(str1, str2…strN) возвращает строку, представляющую собой сцепление строк.
Str1 := 12;
Str2 := 34;
Str3 := 5;
str4 := concate(str1, str2, str3);
Str(x[:f[n]], str1) преобразует число в строку.
val (str1, x, code) преобразует строку в число.
Удалить из строки все, что заключено между фигурными скобками.
Program p1;
Var str1: string;
I, j: integer;
Begin
Write(Введите строку: );
read(str1); //125{67101}854;
I := pos({, str1);
if (I > 0) then
begin
j := pos(}, str1);
if (I > j) then
delete(str1, I, j-i+1);
else writeln(Ошибка);
end.
Writeln(str1);
end.
Множества.
Множества ограниченный неупорядоченный набор однотипных элементов. В Паскале количество элементов, входящих во множество может быть любым менее 256. Все элементы множества должны принадлежать одному и тому же типу, который называется базовым типом множества. В качестве базового типа может быть использован любой порядковый тип, кроме word, integer, long int.
<имя> = set of <базовый тип>;
Type
N = set of byte;
Num = set of 0..9; // в данном случае это символы
Number = set of 0..9; //в данном случае это числа
Empty := []; // пустое множество
n1 := [1, 2, 3, 4, 5]; // числовое множество
n2 := [1..10, 30..80] // числовое множество
Порядок следования элементов внутри скобок не имеет значения, так же как не имеет значения число повторения элементов. Многократное включение элементов во множество эквивалентно его однократному упоминанию.
Ввод элементов множества.
Var x: byte;
s: set of byte;
------------------
S := [];
for I:= 1 to 10 do
begin
read(x);
s := s + x;
end;
К любым объектам типа множество применимы операции объединение, пересечение, вычитание. Операция e in a проверка вхождения элемента e во множество a.