Руководство пользователю турбо-паскаля

СТАНДАРТНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ

Принятые обозначения:

type -любой тип;

string - любой строковый тип;

file -любой файловый тип;

scalar - любой простой тип;

pointer -любой ссылочный тип.

Замечание: если в списке параметров не указан спецификатор типа, то в качестве данного параметра процедура допускает параметр любого типа; в некоторых процедурах допускаются несколько вариантов заголовков процедур.

ПРОЦЕДУРЫ ВВОДА-ВЫВОДА

ПроцедураRead

Read(var F:file of type; var v:type);

Read(var F:text; var I':intnger);

Read(var F:text; var R:real);

Read(var F:text; var C:char);

Read(var F:text; var S:string);

где F - имя переменной файлового типа, a var I,R,C,S - одна или несколько переменных, совпадающих по типу с типом элементов файла.

Процедура Readln

Readln(var F:text; var varl,var2,...varN);

Readln(var varl ,var2,...varN);

Readln(var F:text);

Readln;

где F - имя переменной типа text, a varl...varN - переменные типа Char. Если опущено имя файла, то по умолчанию принимаетсяимя типа INPUT. Если опущея список переменных, то происходит переход на другую строку.

Процедура Write

Write(var F:file of type; var v:type);

Write(var F:text; var I:integer);

Write(var F:text; var B:boolean);

Write(var F:text; var C:char);

Write(var F:text; var S:string).

ПроцедураWriteln

Writeln(var F:text; var varl ,var2,... varN);

Writeln(var var varl ,var2,... varN);

Writeln(var F:text);

Writeln.

СТАНДАРТНЫЕ ФУНКЦИИ

Функции арифметические

Abs(x); Arctan (x); Cos (x); Exp (x); Ln (x); Sin (x); Sqr (x); Sqrt (x)

имеют стандартный смысл. Функция

fruc(R:Real):Real;fruc(I:Integer):Real

возвращает значение дробной части своего аргумента.

Функция

int (R:real):real; int (I:integer):real;

возвращает значение целой части своего аргумента.

Функции скалярные

Odd(x); Pred(x); Succ(x)

имеют стандартный смысл.

Функции преобразования

Chr (x); Ord (x); Round (x); Trunc (x) имеют стандартный смысл.

СТРОКОВЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ

Процедура Delete(var S:Strina;Pos, Len: Integer) убирает из строки S Len символов, начиная с Pos. Если Len больше длины S, то ничего не происходит. Если Pos+Len больше длины строки, то удаляются все символы до конца строки.

Процедура Insert(S:String; var D:String;Pos:Integer) вставляет строку S в строку D перед символом с номером Pos. Если Pos больше длины D, то S и D соединяются. Если длина результата при этом больше максимальной длиныD, то в D записываются только самые левые символы.

Процедура Str(I:Integer; var S: String); Str(R:Real; var S:String) преобразует I или R из числа в строку и записывает эту строку в S, причем R и I могут записыватьсяформально, т.е. как в процедурах Write и Writeln.

Процедура Val(S:String; var R:Real; var P:Integer); Val(S:String; var I,P:Integer) преобразует строковую переменную S в число (тип зависит от типа переменной I или R соответственно). Если в строке S ошибок нет. то Р равно 0, иначе значение R (или I) не определено, а Р присваивается номер первого ошибочного символа.

Функция Concat(Sl,S2,....Sn:string):String возвращает строку, полученную конкатенацией строк Sl,...,Sn. Если длина результата больше 255, то возникает ошибка времени выполнения.

Функция Copy(S:String; Pos,Len:Integer):String возвращает строку, полученную из Len символов строки S, начиная с позиции Pos. Если Pos больше, чем длина строки S, то возвращается пустая строка. Если Pos+Len больше, чем длина строки S, то возвращаются только символы, принадлежащие строке S.

Функция Length(S:Strina):Integer возвращает длину строки S.

Функция Pos(Pattern,Sourse:String):Integer возвращает номер символа, начиная с которого Pattern входит в Sourse. Если вхождения нет, то возвращается 0.

ПРОЦЕДУРЫ И ФУНКЦИИ ДЛЯ РАБОТЫ С ФАЙЛАМИ

Процедура Assign(var F:File: Name:String); Name - имя файла на диске, F – имя файловой переменной. После выполнения этой процедуры Name и F отождествляются. Assign не должна применяться к файлу, находящемуся в употреблении.

Процедура BlockRead(var F:File; var Dest:Type; Num:Integer)

F -нетипизируемый файл, Dest -переменная,

Num - количество 128-баитных записей, которые должны быть перенесены из дискового файла в переменную.

Процедура BlocKWrite(var F:File; var Dest:Type; Num:Integer) I Num - количество 128-баитных записей, которые должны быть перенесены из переменной в дисковый файл.

Процедура Chain(var F:File) активизирует CHN-файл, с которым предварительной процедурой Assign было отождествлено имя F.

Процедура Close(var F:File); дисковый файл, отождествленный с переменной F, закрывается и в директорию диска вносятся необходимые изменения.

Процедура Erase(var F:File); дисковый файл, отождествленный с переменной F, уничтожается.

Процедура Execute(var F:File) загружает и выполняет файл с диска, с которым предварительно процедурой Assign было отождествлено имя F.

Процедура Rename(var F:File; Name:String); дисковому файлу, отождествленному с переменной F, присваивается новое имя Name. Rename не должна применяться к уже открытому файлу.

Процедура Reset(var F:File) открывает файл F для чтения и ставит указатель на начало файла.

Процедура Rewrite(var F:File) открывает файл F для записи, чистит его и ставит указатель на начало файла.

Процедура Seek(var F:Fileof type; Pos:Integer) устанавливает указатель файла F на Pos элемент файла.

Процедура Flush(var F:File) очищает буфер дискового файла, отождествленного с переменной F. Гарантирует, что следующая операция чтения будет произведена непосредственно с диска. Должна применяться к уже закрытым файлам.

Функция Eof(var F;File):boolean возвращает TRUE, если найден конец файла.

Функция Eoln(var F:Text):boolean возвращает TRUE, если найден конец строки или конец файла F.

Функция Filepos(var: F: File of Type):Integer; Filepos(var: F:File):Integer возвращает текущую позицию указателя файла.

ФункцияFilesize(var: F: File ofType):Integer;Filesize(var: F:File):Integer возвращает текущее количество элементов файла.

ПРОЦЕДУРЫ И ФУНКЦИИ ДЛЯ РАБОТЫ СО ССЫЛОЧНЫМИ СТРУКТУРАМИ

Процедура Getmem(var P:Pointer; I:Integer) отводит под область памяти, на которую будет ссылаться переменная Р, 1 байт памяти.

Процедура Mark(var P:Pointer) запоминает текущий указатель «кучи» в переменной Р.

Процедура New(var P:Pointer) отводит место в памяти под переменную того типа, на который указывает Р.

Процедура Release(var P.Pointer) ставит указатель «кучи» на значение переменной Р. Переменная Р должна быть предварительно обработана процедурой Mark. Уничтожаются все динамические переменные, расположенные в памяти после последнего вызова процедуры Mark.

ФункцияMemAvai:Integer возвращает размер доступной для динамических переменных памяти.

Функция Ord(P:Pointer):Integer возвращает адрес переменной ссылочного типа Р.

Функция Ptr(I:Integer):Rointer возвращает ссылку на адрес памяти I.

ПРОЦЕДУРЫ ДЛЯ РАБОТЫ С ТЕКСТОВЫМ ЭКРАНОМ

ПроцедураCrtExit - выдача на экран строки сброса экрана, определенной в инсталляторе.

ПроцедураCrtlnit- выдача на экран строки инициализации экрана, определенной в инсталляторе.

ПроцедураCIrEol уничтожает символы строки от курсора до крайнего правого символа без перемещения курсора.

ПроцедураCIrScr очищает экран.

Процедура DelLine - удаление строки, на которой находится курсор, и сдвиг всех строк, находящихся ниже этой строки, на одну вверх.

ПроцедураGotoXY (X,Y:Integer) - позиционирование курсора по координатам XnY.

Процедура InsLine - вставка пустой строки на место курсора и сдвиг всех строк, находящихся под этой строкой на одну вниз.

ПРОЧИЕ ПРОЦЕДУРЫ И ФУНКЦИИ

Процедура Bdos(func,param:Integer) - вызов функции Bdos с номером func, которая заносится в регистр С, и параметром param, который заносится в регистровую пару DE.

Процедура bios (func,param:Integer) - вызов функции Bios с номером func и параметром param. который заносится в регистровую пару ВС.

ПроцедураDelay (Ms:Integer) - задержка программы на Ms миллисекунд.

ПроцедураFillChar(var dest; length:Integer;data:Char);FillChar(var dest;

length:Integer;data:Byte) - заполнение length байт памяти величиной data. Начало участка памяти - адрес переменной dest.

ПроцедураHalt - аварийный выход из программы.

Процедура Move(var sourse.dest:length:Integer) - пересылка length байт, расположенных в памяти, начиная с первого байта переменной sourse, в участок памяти длины length, начинающийся с первого байта переменной dest.

Процедура Randomise- инициализация генератора случайных чисел.

Функция Addr(var variable):Integer; Addr(<function identifier>):Integer;

Addr(<procedure identifier>):Integer возвращает адрес первого байта своего аргумента.

Функция Bdos(funk,param:Integer):Byte аналогична соответствующей процедуре. Возвращает значение регистра А.

Функция BdosHL(funk,param:Integer):Integer аналогична функции Bdos. Возвращает значение регистровой пары HL.

Функция Bios(funk, param :Integer):Byte аналогична соответствующей процедуре. Возвращает значение регистра А.

Функция BiosHL(func.param:Integer):Integer аналогична функции Bios. Возвращает значение регистровой пары HL.

Функция Hi(I:Integer):Integer возвращает число, младший байт которого содержит старший байт параметра. Старший байт результата равен 0.

Функция IOresult:Integer работает после директивы компилятору $1-. Значение 0 соответствует отсутствию любой ошибки ввода-вывода. В противном случае возвращается произвольное ненулевое число.

Функция KeyPresscd:Boolean возвращает TRUE, если нажата любая клавишанаклавиатуре, и FALSE в противном случае.

Функция Lo(I:Integer):Integer возвращает число, младшийбайт которого содержит младший байт параметра. Старший байт результата равен 0.

Функция Random(I:Integer):Integer; Random:Real возвращает случайное число. Для первого варианта вызова это число лежит в интервале от 0 до 1, для второго -от 0 до 1.

Функция Size0f(var variable):Integer; Size0f(<type identifier>):Integer возвращает размер (в байтах) своего аргумента.

Функция Swap(I:Integer):Integer возвращает число, у которого по сравнению с аргументом поменялись местами первый и второй байты.

Функция UpCase(Ch:Char):Char возвращает верхнийрегистр данного символа. Если такового нет, то возвращается аргумент.

Функция ParamCount:Integer; возвращает число параметров в строке вызова СОМ-файла.

Функция ParamStr(n:Integer):String[14]; возвращает n-параметр из строки вызова СОМ-файла.

ПроцедураExit - выполнение этой процедуры эквивалентно передачи управления на последний END процедуры, функции или основной программы, где выполнена процедураExit.

Наши рекомендации