Параметры, имеющие значения по умолчанию
В подпрограммах могут быть параметры-значения, которых можно не указывать при вызове, их называют умалчиваемыми параметрами.
Описываются: <имя параметра>:=<тип>=<значение>
Procedurep(x:real; y:real=1.25;z:real=2.5);
Тогда вызов может быть p(2*a,3.2) илиp(a) умалчиваемые параметры не указываются, если они не изменяются.
27. СТРОКОВЫЕ ТИПЫ ShortString– короткая строка длина не более 255 символов
AnsiString– максимальная длина до 2 Гб.
String – интерпретируется в зависимости от директивы компилятора $H,
- если включена, т.е. {$H+}, то как AnsiString,
- если выключена, т.е. {$H-}, то как ShortString.
WideString– также представляет собой динамически размещаемые в памяти компьютера строки, состоящие из двухбайтных символов кодировки Unicode.
СТРОКОВЫЕ КОНСТАНТЫ Строковые (символьные) константы изображают в виде последовательности символов (символа), заключенной в апострофы. Например:
c:='z'; {c: char}
s:='abc'; {s: string}
Строковые константы: Нетипизированные константы
const c3 = ''''; {это один символ - апостроф!}
s3 = 'This is a string';
типизированные константы
const c4: char = ''''; {это один символ - апостроф!}
s4: string[20] = 'This is a string';
28. СТРОКОВЫЕ ВЫРАЖЕНИЯ И СТАНДАРТНЫЕ ПРОЦЕДУРЫ:
a) ProcedureDelete (varS:string;Index,Count:Integer); Удаляет из S подстроку начиная с Index размером Count символов.
|
|
b) FunctionPos (Substr:string; S:string):integer; Возвращает индекс начала первого вхождения Substr в S
c) Procedure Insert (Source:string; var S:string; Index:integer); Вставляетв Source подстроку S начинаяс Index.
d) FunctionLength (S): integer; Возвращает число символов строки S.
e) ProcedureSetLength(varS; NewLength: integer); S- строка или динамический массив, процедура устанавливает новую длину строки S. При увеличении строки старые символы остаются на прежних местах, добавленные неопределенны.
f) FunctionIntToStr(V:integer):string;Преобразует целое число в строку.
g) FunctionFloatToStr(V:extendent):string;Преобразует вещественное число в строку
h) FunctionStrToInt(constS :string;):integer;Преобразует строку без пробелов в целое .
i) FunctionStrToFloat(const S :string;):extendend;Преобразуетстрокуввещественное.
29. Тип Variantиспользуется в тех случаях, когда заранее не известно, значения каких типов будут использоваться в программе. Значениями типа variant могут быть: целые, вещественные, логические, строковые, дата время, динамические массивы и вариантные массивы.
30. Структурированныетипы представляют собой совокупность значений одного или нескольких различных типов.
К числу структурированных относятся следующие типы:
a) регулярные типы (массивы) [Array],
b) множественные типы [Set],
c) комбинированные типы (записи) [Record],
|
|
d) файловые типы [File],
e) классы [Class],
f) классовые ссылки [Classreference],
g) интерфейсы [Interface].
Массивы – это структурированный тип, представляющий собой упорядоченную совокупность элементов одного типа.(статические и динамические)
Статическиймассив: var a1: array [1..10] ofinteger;
Нумерация элементов статического массива не обязана начинаться с 1 или с 0.
Общий размер статического массива не должен превосходить 2Gb
31. Динамические массив:
Объявление динамического массива
<имя массива>:arrayof<тип>; например,
Var
vect:arrayofreal; //никаких указаний о границах массива нет
Длина массива задается процедурой SetLength,
Пример:
Var
R:array of array of single;
Begin
SetLength(r,3);// задается 3 строки
SetLength(r[0],1); //в 1 строке 1 элемент
SetLength(r[1],2); //во 2 строке 2 элемента
SetLength(r[2],3); //в 3 строке 3 элемента
End.
удаление динамического массива может быть сделано одним из трех способов:
- присвоить переменной значение nil; vect:=nil;
- установить нулевую длину SetLength(vect,0);
- использовать процедуру finalize(vect);
Двумерный динамический массивопределяется как динамический массив динамических массивов
Varmatr: array of array of integer;
32. Множества: Множественный тип представляет собой конечный неупорядоченный набор (множество) значений некоторого базового типа.
|
|
Над множествами определены следующие операции:
a.объединение двух множеств – это множество, состоящее из элементов первого и второго множеств.
b.пересечение двух множеств – это множество, состоящее из элементов,
принадлежащих одновременно обоим множествам,
c.разность двух множеств – это множество, состоящее из элементов первого
множества, не принадлежащих второму.
33. Запись- это структурированный тип данных, состоящий из фиксированного числа компонентов разного типа. Определение типа записи начинается зарезервированным словом record и заканчивается словом end.
type //фиксированная запись тип
<имя записи> = record
<имя поля1>:<тип>;
<имя поля2>:<тип>;
……….
<имя поля n>:<тип>;
end;
Доступ к полям записи осуществляется через имя переменной типа запись. Обращение к значению поля осуществляется с помощью идентификатора переменной и идентификатора поля, разделенных точкой.
Оператор присоединения with :With<имя записи>do<оператор>;
34.Файлы: Файловый тип данных или файл определяет упорядоченную совокупность произвольного числа однотипных компонент.
|
|
При работе с файлами выполняются операции ввода-вывода. Операция ввода означает перепись данных с внешнего устройства (из входного файла) в основную память ПК, операция вывода - это пересылка данных из основной памяти на внешнее устройство (в выходной файл).
Дата добавления: 2018-05-12; просмотров: 286; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!