Слайд 2Строки
Тип данных STRING (строка) относится к структурированным типам данных.
Тип данных STRING предназначен
![Строки Тип данных STRING (строка) относится к структурированным типам данных. Тип данных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/879808/slide-1.jpg)
для обработки строк (цепочек символов).
Переменная типа STRING состоит из цепочки символов.
Слайд 3Описание строк
В разделе var строки описываются следующим образом:
var <имя_строки>: string [<длина>];
[<длина>]
![Описание строк В разделе var строки описываются следующим образом: var : string](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/879808/slide-2.jpg)
– количество символов в строке.
Слайд 4Строки
Если <длина> не указана, то считается, что в строке 255 символов.
Компоненты
![Строки Если не указана, то считается, что в строке 255 символов. Компоненты](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/879808/slide-3.jpg)
строки нумеруются начиная с 0.
Нулевой байт хранит длину строки.
Слайд 5Строки
Примеры описаний:
var
s1: string[10]; (*строка длиной 10 символов*)
s2: string; (*строка
![Строки Примеры описаний: var s1: string[10]; (*строка длиной 10 символов*) s2: string; (*строка длиной 255 символов*)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/879808/slide-4.jpg)
длиной 255 символов*)
Слайд 6
Строки
Необходимо отметить, что один символ и строка длиной в один символ
var
![Строки Необходимо отметить, что один символ и строка длиной в один символ](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/879808/slide-5.jpg)
c: char; s: string[1];
не эквивалентны друг другу, так как строка относится к структурированным типам данных, а не к базовым порядковым типам.
Слайд 7Неименованные константы Pascal
В языке Pascal последовательность любых символов, заключенная в апострофы, воспринимается
![Неименованные константы Pascal В языке Pascal последовательность любых символов, заключенная в апострофы,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/879808/slide-6.jpg)
как символ или строка.
Например:
c:='z'; {c: char}
s:='abc'; {s: string}
Слайд 8Неименованные символьные константы Pascal
Константе автоматически присваивается "минимальный" тип данных, достаточный для ее
![Неименованные символьные константы Pascal Константе автоматически присваивается "минимальный" тип данных, достаточный для](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/879808/slide-7.jpg)
представления: char или string[k]. Поэтому попытка написать
c:='zzz'; {c: char} вызовет сообщение об ошибке.
Слайд 9Неименованные символьные константы Pascal
Если константа длиннее той переменной-строки, куда ваша программа пытается
![Неименованные символьные константы Pascal Если константа длиннее той переменной-строки, куда ваша программа](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/879808/slide-8.jpg)
ее записать, то в момент присваивания произойдет усечение ее до нужной длины.
Пустая строка задается двумя последовательными апострофами:
st:= '';
Слайд 10Операции со строками
В TP существуют два пути обработки переменных типа STRING:
![Операции со строками В TP существуют два пути обработки переменных типа STRING:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/879808/slide-9.jpg)
- обработку всей строки как единого целого, например:
string_l := 'Это - строка !';
Слайд 11Операции со строками
- строка рассматривается как составной объект, состоящий из отдельных
![Операции со строками - строка рассматривается как составной объект, состоящий из отдельных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/879808/slide-10.jpg)
символов и доступ к отдельным символам строки осуществляется по номеру их позиции, т.е. как к элементу одномерного массива:
string_l[1] := 'А';
writeln ( c [1], c [3]).
Слайд 12Операции над строками
В языке Pascal определена операция сложения строк (конкатенация).
Пример:
VAR S1, S2,
![Операции над строками В языке Pascal определена операция сложения строк (конкатенация). Пример:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/879808/slide-11.jpg)
S3: String;
BEGIN
S1:='Моя';
S2:=' программа';S3:=S1+S2; WriteLn (S3);
END.
Слайд 13Операции над строками
Функции преобразования типа:
StrToInt( ) – строка в целый
![Операции над строками Функции преобразования типа: StrToInt( ) – строка в целый](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/879808/slide-12.jpg)
тип; StrToFloat ( ) – строка в вещественный тип;
IntToStr( ) –целый тип в строковый; FloatToStr( ) – вещественный тип в строковый.
Слайд 14Стандартные процедуры и функции для строк
Функция Length (длина)
позволяет определить фактическую
![Стандартные процедуры и функции для строк Функция Length (длина) позволяет определить фактическую](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/879808/slide-13.jpg)
длину текстовой строки, хранящейся в указанной переменной:
VAR Words: String;
Begin Write ('Введите, пожалуйста, слово: '); ReadLn (Words); WriteLn; WriteLn ('Это слово состоит из ', Length (Words):3, ' букв!');END.
Слайд 15Записи (records)
Запись – структура данных, состоящая из конечного числа компонентов, называемых полями.
![Записи (records) Запись – структура данных, состоящая из конечного числа компонентов, называемых](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/879808/slide-14.jpg)
Поля записи могут быть различных типов. Каждое поле имеет имя. Запись, как единое целое, занимает непрерывную область памяти.
Слайд 16Записи (records). Объявление.
type имя_типа_записи = record
имя_поля1 : тип_поля;
имя_поля2 : тип_поля;
...
имя_поляN :
![Записи (records). Объявление. type имя_типа_записи = record имя_поля1 : тип_поля; имя_поля2 :](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/879808/slide-15.jpg)
тип_поля;
end;
Слайд 17Записи (records). Объявление.
type cars = record
name : string [25];
price
![Записи (records). Объявление. type cars = record name : string [25]; price](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/879808/slide-16.jpg)
: real;
number : integer;
end;
Слайд 18Записи (records). Объявление.
var g1, g2 : cars;
tabl : array [1 ..
![Записи (records). Объявление. var g1, g2 : cars; tabl : array [1](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/879808/slide-17.jpg)
100] of cars;
student : record
name : string [30];
group : byte;
marks : array [1 .. 5] of byte;
end;
Слайд 19Обращение к полям записи
<Имя_переменной>.<имя поля> := <выражение>
Stud.name:=‘Олег’;
Stud.gend:=‘M’;
Stud.kurs:=3; … и т.д.
![Обращение к полям записи . := Stud.name:=‘Олег’; Stud.gend:=‘M’; Stud.kurs:=3; … и т.д.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/879808/slide-18.jpg)
Слайд 20Обращение к полям записи
Или
With Stud do Begin
name:=‘Олег’;
gend:=‘M’;
kurs:=3;
End;
![Обращение к полям записи Или With Stud do Begin name:=‘Олег’; gend:=‘M’; kurs:=3; End;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/879808/slide-19.jpg)