SlideShare a Scribd company logo
1 of 15
Delphi. 
«Обробка рядкових даних»
«Обработка строковых данных» 
План темы: 
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 = 0 
Val(‘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(‘о’,’программирование’) = 3 
Pos(‘не’,’алгоритм’) = 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; 
Begin 
Memo1.Lines.Clear; 
For i := 32 to 255 do 
Memo1.Lines.Add(chr(i) + ‘ = ‘ + IntToStr(i)); 
End.

More Related Content

What's hot

A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...Iosif Itkin
 
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...Iosif Itkin
 
Представление информации в компьютере
Представление информации в компьютереПредставление информации в компьютере
Представление информации в компьютереAndrey Dolinin
 
Представление графов в памяти компьютера (c++).
Представление графов в памяти компьютера (c++).Представление графов в памяти компьютера (c++).
Представление графов в памяти компьютера (c++).Olga Maksimenkova
 
функция
функцияфункция
функцияgeallka
 
Системы счисления
Системы счисленияСистемы счисления
Системы счисленияAndrey Dolinin
 
Алгоритмы сортировки
Алгоритмы сортировкиАлгоритмы сортировки
Алгоритмы сортировкиkogoga
 
Алгоритмы сортировки
Алгоритмы сортировкиАлгоритмы сортировки
Алгоритмы сортировкиkogoga
 
Одномерные массивы целых чисел
Одномерные массивы целых чиселОдномерные массивы целых чисел
Одномерные массивы целых чиселAndrey Dolinin
 
лабораторная работа 4
лабораторная работа 4лабораторная работа 4
лабораторная работа 4Gulnaz Shakirova
 
Алгоритмы сортировки
Алгоритмы сортировкиАлгоритмы сортировки
Алгоритмы сортировкиkogoga
 
Алгоритмы сортировки
Алгоритмы сортировкиАлгоритмы сортировки
Алгоритмы сортировкиkogoga
 
Введение в теорию автоматов и вычислений. 1.12 дорожная карта 2 - ДКА
Введение в теорию автоматов и вычислений. 1.12 дорожная карта 2 - ДКАВведение в теорию автоматов и вычислений. 1.12 дорожная карта 2 - ДКА
Введение в теорию автоматов и вычислений. 1.12 дорожная карта 2 - ДКАIgor Kleiner
 
вывод алфавитно цифровой информации
вывод алфавитно цифровой информациивывод алфавитно цифровой информации
вывод алфавитно цифровой информацииLungu
 
понятие функции
понятие функциипонятие функции
понятие функцииttku
 
Конструирование алгоритмов
Конструирование алгоритмовКонструирование алгоритмов
Конструирование алгоритмовAndrey Dolinin
 
TMPA-2013 Chupilko: Verification of Correct Behaviour of HDL Models
TMPA-2013 Chupilko: Verification of Correct Behaviour of HDL ModelsTMPA-2013 Chupilko: Verification of Correct Behaviour of HDL Models
TMPA-2013 Chupilko: Verification of Correct Behaviour of HDL ModelsIosif Itkin
 

What's hot (20)

A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...
 
Ruby строки
Ruby строкиRuby строки
Ruby строки
 
Тодуа. Методы разработки интерпретатора языка Рефал-2
Тодуа. Методы разработки интерпретатора языка Рефал-2Тодуа. Методы разработки интерпретатора языка Рефал-2
Тодуа. Методы разработки интерпретатора языка Рефал-2
 
алфавит
алфавиталфавит
алфавит
 
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
 
Представление информации в компьютере
Представление информации в компьютереПредставление информации в компьютере
Представление информации в компьютере
 
Представление графов в памяти компьютера (c++).
Представление графов в памяти компьютера (c++).Представление графов в памяти компьютера (c++).
Представление графов в памяти компьютера (c++).
 
функция
функцияфункция
функция
 
Системы счисления
Системы счисленияСистемы счисления
Системы счисления
 
Алгоритмы сортировки
Алгоритмы сортировкиАлгоритмы сортировки
Алгоритмы сортировки
 
Алгоритмы сортировки
Алгоритмы сортировкиАлгоритмы сортировки
Алгоритмы сортировки
 
Одномерные массивы целых чисел
Одномерные массивы целых чиселОдномерные массивы целых чисел
Одномерные массивы целых чисел
 
лабораторная работа 4
лабораторная работа 4лабораторная работа 4
лабораторная работа 4
 
Алгоритмы сортировки
Алгоритмы сортировкиАлгоритмы сортировки
Алгоритмы сортировки
 
Алгоритмы сортировки
Алгоритмы сортировкиАлгоритмы сортировки
Алгоритмы сортировки
 
Введение в теорию автоматов и вычислений. 1.12 дорожная карта 2 - ДКА
Введение в теорию автоматов и вычислений. 1.12 дорожная карта 2 - ДКАВведение в теорию автоматов и вычислений. 1.12 дорожная карта 2 - ДКА
Введение в теорию автоматов и вычислений. 1.12 дорожная карта 2 - ДКА
 
вывод алфавитно цифровой информации
вывод алфавитно цифровой информациивывод алфавитно цифровой информации
вывод алфавитно цифровой информации
 
понятие функции
понятие функциипонятие функции
понятие функции
 
Конструирование алгоритмов
Конструирование алгоритмовКонструирование алгоритмов
Конструирование алгоритмов
 
TMPA-2013 Chupilko: Verification of Correct Behaviour of HDL Models
TMPA-2013 Chupilko: Verification of Correct Behaviour of HDL ModelsTMPA-2013 Chupilko: Verification of Correct Behaviour of HDL Models
TMPA-2013 Chupilko: Verification of Correct Behaviour of HDL Models
 

Viewers also liked

Trpo 8 проект_инерфейса
Trpo 8 проект_инерфейсаTrpo 8 проект_инерфейса
Trpo 8 проект_инерфейсаpogromskaya
 
лекція 1 введення в бд та іс
лекція 1 введення в бд та іслекція 1 введення в бд та іс
лекція 1 введення в бд та ісpogromskaya
 
Trpo 4 требования_сценарии
Trpo 4 требования_сценарииTrpo 4 требования_сценарии
Trpo 4 требования_сценарииpogromskaya
 
Прецедентів
ПрецедентівПрецедентів
Прецедентівpogromskaya
 
анотація ад
анотація аданотація ад
анотація адpogromskaya
 
Trpo 1 введение
Trpo 1 введениеTrpo 1 введение
Trpo 1 введениеpogromskaya
 
Презентація курсу "БД та ІС"
Презентація курсу "БД та ІС"Презентація курсу "БД та ІС"
Презентація курсу "БД та ІС"pogromskaya
 

Viewers also liked (17)

Trpo 8 проект_инерфейса
Trpo 8 проект_инерфейсаTrpo 8 проект_инерфейса
Trpo 8 проект_инерфейса
 
04 array
04 array04 array
04 array
 
лекція 1 введення в бд та іс
лекція 1 введення в бд та іслекція 1 введення в бд та іс
лекція 1 введення в бд та іс
 
13 graf
13 graf13 graf
13 graf
 
Trpo 4 требования_сценарии
Trpo 4 требования_сценарииTrpo 4 требования_сценарии
Trpo 4 требования_сценарии
 
06 dll
06 dll06 dll
06 dll
 
09 rec file
09 rec file09 rec file
09 rec file
 
14 progr graf
14 progr graf14 progr graf
14 progr graf
 
Прецедентів
ПрецедентівПрецедентів
Прецедентів
 
Web
WebWeb
Web
 
анотація ад
анотація аданотація ад
анотація ад
 
03 struktura
03 struktura03 struktura
03 struktura
 
Станів
СтанівСтанів
Станів
 
мні
мнімні
мні
 
Trpo 1 введение
Trpo 1 введениеTrpo 1 введение
Trpo 1 введение
 
02 if for
02 if for02 if for
02 if for
 
Презентація курсу "БД та ІС"
Презентація курсу "БД та ІС"Презентація курсу "БД та ІС"
Презентація курсу "БД та ІС"
 

Similar to 07 string (20)

лек7
лек7лек7
лек7
 
лек8
лек8лек8
лек8
 
лек7
лек7лек7
лек7
 
строковые величины
строковые величиныстроковые величины
строковые величины
 
массивы.строки
массивы.строкимассивы.строки
массивы.строки
 
8 3-3
8 3-38 3-3
8 3-3
 
C++ Базовый. Занятие 12.
C++ Базовый. Занятие 12.C++ Базовый. Занятие 12.
C++ Базовый. Занятие 12.
 
Rgsu04
Rgsu04Rgsu04
Rgsu04
 
Rgsu04
Rgsu04Rgsu04
Rgsu04
 
Java. Строки. Класс String.
Java. Строки. Класс String.Java. Строки. Класс String.
Java. Строки. Класс String.
 
Step cpp0201
Step cpp0201Step cpp0201
Step cpp0201
 
PascalABC.NET 2015-2016
PascalABC.NET 2015-2016PascalABC.NET 2015-2016
PascalABC.NET 2015-2016
 
элементы языка и типы данных
элементы языка и типы данныхэлементы языка и типы данных
элементы языка и типы данных
 
Classes: Number, String, StringBuffer, StringBuilder
Classes: Number, String, StringBuffer, StringBuilderClasses: Number, String, StringBuffer, StringBuilder
Classes: Number, String, StringBuffer, StringBuilder
 
Test
TestTest
Test
 
String
StringString
String
 
03
0303
03
 
модуль 03 строки
модуль 03 строкимодуль 03 строки
модуль 03 строки
 
Типы данных
Типы данныхТипы данных
Типы данных
 
Cpp/cli particularities
Cpp/cli particularitiesCpp/cli particularities
Cpp/cli particularities
 

More from pogromskaya

електронні матеріали
електронні матеріалиелектронні матеріали
електронні матеріалиpogromskaya
 
Проектування реляційних БД
Проектування реляційних БДПроектування реляційних БД
Проектування реляційних БДpogromskaya
 
Моделі даних в БД. ER-діаграми
Моделі даних в БД. ER-діаграмиМоделі даних в БД. ER-діаграми
Моделі даних в БД. ER-діаграмиpogromskaya
 
Реляційна модель БД
Реляційна модель БДРеляційна модель БД
Реляційна модель БДpogromskaya
 
інтегровані уроки
інтегровані урокиінтегровані уроки
інтегровані урокиpogromskaya
 
Розгортання
РозгортанняРозгортання
Розгортанняpogromskaya
 
Компонентів
КомпонентівКомпонентів
Компонентівpogromskaya
 
Діяльності
ДіяльностіДіяльності
Діяльностіpogromskaya
 
Взаємодії
ВзаємодіїВзаємодії
Взаємодіїpogromskaya
 
Введення Uml
Введення UmlВведення Uml
Введення Umlpogromskaya
 
Trpo 3 создание_по2
Trpo 3 создание_по2Trpo 3 создание_по2
Trpo 3 создание_по2pogromskaya
 
Trpo 2 создание по
Trpo 2 создание поTrpo 2 создание по
Trpo 2 создание поpogromskaya
 

More from pogromskaya (20)

електронні матеріали
електронні матеріалиелектронні матеріали
електронні матеріали
 
Проектування реляційних БД
Проектування реляційних БДПроектування реляційних БД
Проектування реляційних БД
 
Моделі даних в БД. ER-діаграми
Моделі даних в БД. ER-діаграмиМоделі даних в БД. ER-діаграми
Моделі даних в БД. ER-діаграми
 
Реляційна модель БД
Реляційна модель БДРеляційна модель БД
Реляційна модель БД
 
САПР_СALS
САПР_СALSСАПР_СALS
САПР_СALS
 
інтегровані уроки
інтегровані урокиінтегровані уроки
інтегровані уроки
 
ікт
іктікт
ікт
 
сапр
сапрсапр
сапр
 
Розгортання
РозгортанняРозгортання
Розгортання
 
Компонентів
КомпонентівКомпонентів
Компонентів
 
Діяльності
ДіяльностіДіяльності
Діяльності
 
Взаємодії
ВзаємодіїВзаємодії
Взаємодії
 
Введення Uml
Введення UmlВведення Uml
Введення Uml
 
Класів
КласівКласів
Класів
 
MW
MWMW
MW
 
C-S
C-SC-S
C-S
 
ппс
ппсппс
ппс
 
ПВПС
ПВПСПВПС
ПВПС
 
Trpo 3 создание_по2
Trpo 3 создание_по2Trpo 3 создание_по2
Trpo 3 создание_по2
 
Trpo 2 создание по
Trpo 2 создание поTrpo 2 создание по
Trpo 2 создание по
 

07 string

  • 2. «Обработка строковых данных» План темы: 1. Понятие символа и строки. 2. Описание символов и строк в программе. 3. Операция сцепления строк. 4. Операции сравнения строк. 5. Строковые процедуры и функции. 6. Примеры обработки строк.
  • 3. •Символ – это элемент кодовой таблицы компьютера (буква, знак, управляющий символ). Каждый символ имеет свой уникальный численный код. • Каждый символ занимает в памяти 1 байт (в кодировке ANSI), или 2 байта (в кодировке Unicode).
  • 4. •Строка - это последовательность (массив) символов. • ‘При использовании в выражениях символ и строка-константа заключается в кавычки-апострофы’. • Количество символов в строке (длина строки) может динамически изменяться от 0 до 255 (статические строки), или практически неограниченны (динамические строки).
  • 5. •Для определения переменных символьного типа используются служебные слова: Char, AnsiChar (1 байт); WideChar (2 байта). Пример: Var c1:Char; c2:WideChar;
  • 6. •Для определения переменных строкового типа используются служебные слова String или ShortString, за которым может следовать заключенное в квадратные скобки значение максимально допустимой длины строки (статические строки), или LongString (динамические строки). Пример: Var S1, S2 : String[20]; S : LongString;
  • 7. Соединяет несколько строк слева на право в одну. Знак операции: + (плюс). Примеры:
  • 8. (=, <>, >, <, >=, <=) проводят сравнение двух строк. Сравнение строк производится слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в кодовой таблице. Результат выполнения операций имеет логический тип - (True, или False).
  • 9. • Delete(St,Poz,N) - удаление N символов строки St, начиная с позиции Poz. Delete(‘Алгоритм’,1,4) = ‘ритм’ • Insert(Str1, Str2, Poz) - вставка строки Str1 в строку Str2, начиная с позиции Poz. Insert(‘форма’,’интика’,3)=‘информатика’
  • 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 = 0 Val(‘10 А кл.’,R,Code) ==> R- не определено; Code = 3
  • 11. Copy (St,Poz,N) - возвращает из строки St подстроку длиной N символов, начиная с позиции Poz. Copy(‘информатика’,3,5) = ‘форма’ • Chr(N) - возвращает символ с кодом N. Chr(192) = ‘А’ • Ord(C) – возвращает код символа C. Ord(‘А’) = 192 • Trim(St) – возвращает строку St, удалив в ней начальные и конечные пробелы.
  • 12. • Length (St) - вычисляет и возвращает текущую длину в символах строки St. Результат имеет целочисленный тип. Length(‘Я учусь программировать!’) = 24 • Pos (Str1,Str2) - обнаруживает первое появление в строке Str2 подстроки Str1. Возвращаемый результат имеет целочисленный тип и равен номеру той позиции в строке Str2, где находится первый символ подстроки Str1. Если в Str2 подстроки Str1 не найдено, результат равен 0. Pos(‘о’,’программирование’) = 3 Pos(‘не’,’алгоритм’) = 0
  • 13. •AnsiUpperCase(St) - возвращает строку, преобразовав все буквы к верхнему регистру (большие буквы). AnsiUpperCase(‘Среда Delphi!’) = ‘СРЕДА DELPHI!’ • AnsiLowerCase(St) - возвращает строку, преобразовав все буквы к нижнему регистру (маленькие буквы). •AnsiLowerCase(‘Среда Delphi!’) = ‘среда delphi!’
  • 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.
  • 15. 2. Вывести в компонент Memo кодовую таблицу отображаемых символов. var i:Integer; Begin Memo1.Lines.Clear; For i := 32 to 255 do Memo1.Lines.Add(chr(i) + ‘ = ‘ + IntToStr(i)); End.