ТОП 10:

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



Имя и параметры Типы параметров Тип результата Действие
Функции
Length(s) string integer определяет длину строки s
Copy(s,i,n) s - string, i,n - integer string Выделяет из строки s подстроку начиная с позиции i длиной n символов
Pos(s1,s) s1, s - string integer возвращает позицию первого вхождения подстроки s1 в строку s (или 0 если подстрока не найдена)
Concat(s1,..., sn) s1,..., sn - string string Объединяет строки s1,..., sn в одну строку
IntToStr(i) i - integer string преобразует целое число i в строку символов
StrToInt(s) s - string integer преобразует строку s в целое число
FloatToStr(r) r - real string преобразует вещественное число r в строку символов
StrToFloat(s) s - string real преобразует строку s в вещественное число
UpCase(c) c - char char возвращает символ c, преобразованный к верхнему регистру
LowCase(c) c - char char возвращает символ c, преобразованный к нижнему регистру
UpperCase(s) s - string string возвращает строку s, преобразованную к верхнему регистру
LowerCase(s) s - string string возвращает строку s, преобразованную к нижнему регистру
Trim(s) s - string string возвращает копию строки s с удаленными лидирующими и заключительными пробелами
TrimLeft(s) s - string string возвращает копию строки s с удаленными лидирующими пробелами
TrimRight(s) s - string string возвращает копию строки s с удаленными заключительными пробелами
Процедуры
Delete(s,i,n) s - string, i, n - integer   удаляет в строке s n символов начиная с позиции i
Insert(s1,s,i) s, s1 - string, i - integer   вставляет подстроку s1 в строку s с позиции i
SetLength(s,n) s - string, n - integer   устанавливает длину строки s равной n
Str(x,s) Str(x:n,s) Str(x:n:m,s) s - string, x - integer, real n, m - integer   преобразует число x в строку s (во втором и третьем случаях согласно формату вывода, устанавливаемому n и m)
Val(s,v,c) s - string, v - integer, real c - integer   преобразует строку s к числовому представлению v. Если преобразование возможно, то c= 0, иначе c- ненулевое значение
           

Пример1: :Дана непустая последовательность слов. Слова разделены пробелом, в конце строки -точка. Вывести слова предложения и определить, являются ли они палиндромами. Палиндром- это слово, которое читается справа налево и слева направо одинаково (шалаш) .

1способ решения задачи:

 

          Program stroki1; varst,sl:string; k:integer; {функция определения палиндрома} FunctionPolindr(slo:string):boolean; varj:integer; slo2:string; begin slo2:=''; polindr:=true; forj:=length(slo) downto1 do slo2:=slo2+slo[j]; {slo2-слово наоборот} ifslo2<>slo thenpolindr:=false; end;   {операторы основной программы} begin writeln('Введите строку'); readln(st); st[length(st)]:= ' '; {замена точки пробелом } whilest<>’’ do begin k:=pos(' ',st) ; {поиск пробела} sl:=copy(st,1,k-1);{формирование слова}   ifpolindr(sl) then writeln(sl, ' – палиндром') else writeln(sl, ' – не палиндром');   delete(st,1,k); {удаление слова с пробелом} end end.     Результат решения задачи   Ребята построили шалаш. Ребята - не палиндром построили - не палиндром шалаш - палиндром

При первом способе решения задачи последовательно удаляются слова, которые уже обработаны, пока исходная строка не станет пустой.

2 способ решения задачи:

Исходная строка не меняется. Посимвольно проверяется строка, пока не дойдем до разделителя между словами (точки или пробела). На этот момент в переменной Sl будет сформировано слово и передано в процедуру для обработки.

        programstroki2;   varst,sl:string; {глобальные данные} i:integer;   {процедура определения палиндрома} procedurePolindr(slo:string); varj:integer; slo2:string; begin slo2:=''; forj:=length(slo) downto1 do slo2:=slo2+slo[j]; {slo2-слово наоборот} ifslo2<>slo then writeln('- не палиндром') elsewriteln('- палиндром ') end;   {операторы основной программы} begin writeln('Введите строку'); readln(st); fori:=1 tolength(st) do if(st[i]=' ') or(st[i]='.') then begin writeln(sl); polindr(sl); {вызов процедуры} sl:=''; end elsesl:=sl+st[i]; {посимвольное формирование слова} end.     Результат решения задачи     Введите строку казак чистил наган. казак- палиндром чистил- не палиндром наган- палиндром

Тема 2.8 Множество

Множествомназывается неупорядоченныйограниченный набор однотипных данных. Все элементы множества должны принадлежать одному из скалярных (простых) типов, кроме вещественных. Этот тип называется базовым типом множества. Базовый тип задается перечислением или диапазоном значений. Если множество не имеет элементов, оно называется пустым и обозначается как [ ]. Количество элементов множества называется его мощностью (максимальное количество 255). В множестве не может быть повторяющихся элементов. Область значений типа множество – набор всевозможных подмножеств, составленных из элементов базового типа.

 

Способы описания множеств

1.Var имя множества : set of тип элементов;

 

2. Typeимя типа = set of тип элементов;

Varимя множества : имя типа;

 

где, set of - служебные слова ( множество из);

тип элементов – любой порядковый.

 

Например:

Typemn=set of char;

Vara,b: mn;

c: set of 2..6;

Begin

a:=[ ‘A’..’Z’];

c:=[2, 4..6];

b:=[];

. . .

End.

Операции над множествами

 

1. Операция IN -используется для проверки принадлежности какаго-либо значения указанному множеству. Обычно применяется в операторах условного перехода . Результат выполнения операции логического типа ( True или False).

2. Объединение множеств (+). Объединением двух множеств является третье множество, содержащее элементы обоих множеств.

 


3. Пересечение множеств (*).Пересечением двух множеств является третье множество, которое содержит элементы, входящие одновременно в оба множества.

 

4. Разность множеств (-).Разностью двух множеств является третье множество, которое содержит элементы первого множества, не входящие во второе множество.

 

 


 

 

5. Операция «равно» (=).Два множества А и В считаются равными, если они состоят из одних и тех же элементов. Порядок следования элементов в сравниваемых множествах значения не имеет.

6. Операция «не равно» (<>). Два множества А и В считаются не равными, если они отличаются по мощности или по значению хотя бы одного элемента.

7. Операция «больше или равно» (>=) .Результатоперации А>=B равен True , если все элементы множества В содержатся в множестве А.

8. Операция «меньше или равно» ( <=). Если все элементы множества А содержатся в множестве В , то результат равен True.

 

Примеры выполнения операций:







Последнее изменение этой страницы: 2016-08-15; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 35.172.216.157 (0.008 с.)