«Обработка строковых данных»
DESCRIPTION
«Обработка строковых данных». Delphi . Тема 7 :. «Обработка строковых данных» План темы:. 1. Понятие символа и строки. 2. Описание символов и строк в программе. 3. Операция сцепления строк. 4. Операции сравнения строк. 5. Строковые процедуры и функции. 6. Примеры обработки строк. - PowerPoint PPT PresentationTRANSCRIPT
«Обработка строковых данных»
Delphi. Тема 7:
«Обработка строковых данных»План темы:
1. Понятие символа и строки.
2. Описание символов и строк в программе.
3. Операция сцепления строк.
4. Операции сравнения строк.
5. Строковые процедуры и функции.
6. Примеры обработки строк.
•Символ – это элемент кодовой таблицы компьютера (буква, знак, управляющий символ). Каждый символ имеет свой уникальный численный код.• Каждый символ занимает в памяти 1 байт (в кодировке ANSI), или 2 байта (в кодировке Unicode).
•Строка - это последовательность (массив) символов.• ‘При использовании в выражениях символ и строка-константа заключается в кавычки-апострофы’.• Количество символов в строке (длина строки) может динамически изменяться от 0 до 255 (статические строки), или практически неограниченны (динамические строки).
•Для определения переменных символьного типа используются служебные слова: Char, AnsiChar (1 байт); WideChar (2 байта). Пример: Var c1:Char;
c2:WideChar;
•Для определения переменных строкового типа используются служебные слова String или ShortString, за которым может следовать заключенное в квадратные скобки значение максимально допустимой длины строки (статические строки), или LongString (динамические строки). Пример:Var S1, S2 : String[20]; S : LongString;
Соединяет несколько строк слева на право в одну. Знак операции: + (плюс). Примеры:
(=, <>, >, <, >=, <=) проводят сравнение двух строк. Сравнение строк производится слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в кодовой таблице. Результат выполнения операций имеет логический тип - (True, или False).
• Delete(St,Poz,N) - удаление N символов строки St, начиная с позиции Poz. Delete(‘Алгоритм’,1,4) = ‘ритм’
• Insert(Str1, Str2, Poz) - вставка строки Str1 в строку Str2, начиная с позиции Poz.Insert(‘форма’,’интика’,3)=‘информатика’
• Str (N,St) - преобразование числового значения величины N и помещение результата в строку St. После N может записываться формат преобразования.Str(5,S) ==> S = ‘5’;Str(pi:4:2,S) ==> S = ‘3.14’• Val (St,N,Cod) - преобразует строку St в величину целочисленного или вещественного типа и помещает результат в N. В переменной Cod возвращается код операции (0 - нет ошибки; n - n-й символ не может быть частью числа).Val(‘5.2’,R,Code) ==> R = 5.2; Code = 0Val(‘10 А кл.’,R,Code) ==> R- не определено; Code = 3
Copy (St,Poz,N) - возвращает из строки St подстроку длиной N символов, начиная с позиции Poz.Copy(‘информатика’,3,5) = ‘форма’ • Chr(N) - возвращает символ с кодом N. Chr(192) = ‘А’
• Ord(C) – возвращает код символа C. Ord(‘А’) = 192
• Trim(St) – возвращает строку St, удалив в ней начальные и конечные пробелы.
• Length (St) - вычисляет и возвращает текущую длину в символах строки St. Результат имеет целочисленный тип.Length(‘Я учусь программировать!’) = 24
• Pos (Str1,Str2) - обнаруживает первое появление в строке Str2 подстроки Str1. Возвращаемый результат имеет целочисленный тип и равен номеру той позиции в строке Str2, где находится первый символ подстроки Str1. Если в Str2 подстроки Str1 не найдено, результат равен 0.Pos(‘о’,’программирование’) = 3Pos(‘не’,’алгоритм’) = 0
•AnsiUpperCase(St) - возвращает строку, преобразовав все буквы к верхнему регистру (большие буквы).AnsiUpperCase(‘Среда Delphi!’) = ‘СРЕДА DELPHI!’
• AnsiLowerCase(St) - возвращает строку, преобразовав все буквы к нижнему регистру (маленькие буквы).•AnsiLowerCase(‘Среда Delphi!’) = ‘среда delphi!’
1. Задан текст. Заменить в нём ‘и’ на ‘i’. Подсчитать количество таких замен.var S:string; i, k : Integer;Begin {…Ввод строки S} k := 0; For i := 1 to length(S) do If S[i] = ‘и’ then begin S[i] := ‘i’; k := k + 1; end;{…Вывод S, k}End.
2. Вывести в компонент Memo кодовую таблицу отображаемых символов.var i:Integer;BeginMemo1.Lines.Clear;For i := 32 to 255 do Memo1.Lines.Add(chr(i) + ‘ = ‘ + IntToStr(i));End.