Параметры, имеющие значения по умолчанию



В подпрограммах могут быть параметры-значения, которых можно не указывать при вызове, их называют умалчиваемыми параметрами.

Описываются: <имя параметра>:=<тип>=<значение>

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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!