«Обработка строковых данных»

15
«Обработка строковых данных» Delphi. Тема 7:

Upload: uriah-orr

Post on 01-Jan-2016

53 views

Category:

Documents


0 download

DESCRIPTION

«Обработка строковых данных». Delphi . Тема 7 :. «Обработка строковых данных» План темы:. 1. Понятие символа и строки. 2. Описание символов и строк в программе. 3. Операция сцепления строк. 4. Операции сравнения строк. 5. Строковые процедуры и функции. 6. Примеры обработки строк. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: «Обработка строковых данных»

«Обработка строковых данных»

Delphi. Тема 7:

Page 2: «Обработка строковых данных»

«Обработка строковых данных»План темы:

1. Понятие символа и строки.

2. Описание символов и строк в программе.

3. Операция сцепления строк.

4. Операции сравнения строк.

5. Строковые процедуры и функции.

6. Примеры обработки строк.

Page 3: «Обработка строковых данных»

•Символ – это элемент кодовой таблицы компьютера (буква, знак, управляющий символ). Каждый символ имеет свой уникальный численный код.• Каждый символ занимает в памяти 1 байт (в кодировке ANSI), или 2 байта (в кодировке Unicode).

Page 4: «Обработка строковых данных»

•Строка - это последовательность (массив) символов.• ‘При использовании в выражениях символ и строка-константа заключается в кавычки-апострофы’.• Количество символов в строке (длина строки) может динамически изменяться от 0 до 255 (статические строки), или практически неограниченны (динамические строки).

Page 5: «Обработка строковых данных»

•Для определения переменных символьного типа используются служебные слова: Char, AnsiChar (1 байт); WideChar (2 байта). Пример: Var c1:Char;

c2:WideChar;

Page 6: «Обработка строковых данных»

•Для определения переменных строкового типа используются служебные слова String или ShortString, за которым может следовать заключенное в квадратные скобки значение максимально допустимой длины строки (статические строки), или LongString (динамические строки). Пример:Var S1, S2 : String[20]; S : LongString;

Page 7: «Обработка строковых данных»

Соединяет несколько строк слева на право в одну. Знак операции: + (плюс). Примеры:

Page 8: «Обработка строковых данных»

(=, <>, >, <, >=, <=) проводят сравнение двух строк. Сравнение строк производится слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в кодовой таблице. Результат выполнения операций имеет логический тип - (True, или False).

Page 9: «Обработка строковых данных»

• Delete(St,Poz,N) - удаление N символов строки St, начиная с позиции Poz. Delete(‘Алгоритм’,1,4) = ‘ритм’

• Insert(Str1, Str2, Poz) - вставка строки Str1 в строку Str2, начиная с позиции Poz.Insert(‘форма’,’интика’,3)=‘информатика’

Page 10: «Обработка строковых данных»

• 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

Page 11: «Обработка строковых данных»

Copy (St,Poz,N) - возвращает из строки St подстроку длиной N символов, начиная с позиции Poz.Copy(‘информатика’,3,5) = ‘форма’ • Chr(N) - возвращает символ с кодом N. Chr(192) = ‘А’

• Ord(C) – возвращает код символа C. Ord(‘А’) = 192

• Trim(St) – возвращает строку St, удалив в ней начальные и конечные пробелы.

Page 12: «Обработка строковых данных»

• Length (St) - вычисляет и возвращает текущую длину в символах строки St. Результат имеет целочисленный тип.Length(‘Я учусь программировать!’) = 24

• Pos (Str1,Str2) - обнаруживает первое появление в строке Str2 подстроки Str1. Возвращаемый результат имеет целочисленный тип и равен номеру той позиции в строке Str2, где находится первый символ подстроки Str1. Если в Str2 подстроки Str1 не найдено, результат равен 0.Pos(‘о’,’программирование’) = 3Pos(‘не’,’алгоритм’) = 0

Page 13: «Обработка строковых данных»

•AnsiUpperCase(St) - возвращает строку, преобразовав все буквы к верхнему регистру (большие буквы).AnsiUpperCase(‘Среда Delphi!’) = ‘СРЕДА DELPHI!’

• AnsiLowerCase(St) - возвращает строку, преобразовав все буквы к нижнему регистру (маленькие буквы).•AnsiLowerCase(‘Среда Delphi!’) = ‘среда delphi!’

Page 14: «Обработка строковых данных»

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.

Page 15: «Обработка строковых данных»

2. Вывести в компонент Memo кодовую таблицу отображаемых символов.var i:Integer;BeginMemo1.Lines.Clear;For i := 32 to 255 do Memo1.Lines.Add(chr(i) + ‘ = ‘ + IntToStr(i));End.