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

Имя и параметры Типы параметров Тип результата Действие
Функции
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 если подстрока s1 не найдена)
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,x,c) s - string, v - integer, real c - integer   преобразует строку s к числовому представлению x. Если преобразование возможно, то 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). В множестве не может быть повторяющихся элементов. Область значений типа множество – набор всевозможных подмножеств, составленных из элементов базового типа.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: