Изучение языка программирования
Турбо Паскаль (Turbo Pascal)

На этом сайте можно: скачать среду программирвания Турбо Паскаль, изучить язык программирования Турбо Паскаль, а так же скачать программы на языке Турбо Паскаль!
Процедуры и функции модуля System.tpu
(продолжение 8 - конец)

Процедура Str

Назначение: Преобразует численное значение в его строковое представление.
Описание: procedure Str(х [: Size [:Dec ] ], var S: String);
Примечания: Параметр x является выражением целого или вещественного типа. Параметры Size и Dec представляют собой выражения целого типа. Параметр s - строковая переменная. Данная функция преобразует x в его строковое представление в соответствии в параметрами форматирования Size (размер) и Dec. За исключением того, что результирующая строка сохраняется в параметре s, а не записывается в текстовый файл, результат выполнения процедуры будет в точности тот же самый, что и при обращении к стандартной процедуре Write.

Пример 27.1

VAR
 x:integer;
 st:string;
BEGIN
 x:=-160;
 Str(x, st);                 { x=-160  ; st='-160'   }
END.
Функция Succ

Назначение: Возвращает следующее значение аргумента.
Описание: function Succ(x);
Примечания: Параметр x - выражение перечислимого типа. Результат, имеющий тот же тип, что и x, является следующим элементом x.

Пример 27.2

TYPE
 tip_1=(RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET);
VAR
 s: tip_1;                        {новый перечислимый тип}
 ch: char;                        {тип символов          }
BEGIN
s:=Succ(YELLOW);                  {s=GREEN               }

ch:=Succ('+');                    {ch=','                }
writeln('ch = ', ch);
readln;
END.
Функция Swap

Назначение: Переставляет местами старший и младший байты аргумента.
Описание: function Swap(x);
Примечания: Параметр x - выражение типа Integer или Word.

Пример 27.3

VAR
 x: word;
BEGIN
 x:=Swap($1234);                                 { $3412 }
END.
Функция Trunc

Назначение: Округляет значение вещественного типа до значения целого типа.
Описание: function Trunc(x: Real): Longint;
Примечания: Параметр x представляет собой выражение вещественного типа. Функция Round возвращает значение длинного целого типа, которое является значением x, округленным в сторону нуля.

Ограничения: Если округленное значение x не соответствует диапазону представления длинного целого типа, то происходит ошибка этапа выполнения.

Пример 27.4

VAR
 x: byte;
BEGIN
 x:=round(100/7);                        {100/7=14.28571428 ; x=14}
 writeln('x = ', x);
 readln;
END.
Процедура Truncate

Назначение: Усекает размер файла до текущей позиции в файле.
Описание: procedure Truncate(var f);
Примечания: Параметр f является файловой переменной любого типа. Все записи после текущей позиции в файле f удаляются, и текущая позиция в файле становится концом файла (функция Eof(f) принимает значение True).

При указании директивы компилятора {$I-} функция IORеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае.

Ограничения: Файл f должен быть открыт.

Пример 27.5

VAR
 f: file of char;
BEGIN
 assign(f, 'test.txt');
 reset(f);                    {открыть файл                              }
 Seek(f,10);                  {переместить позицию в файле на 10 символов}
 Truncate(f);                 {стереть все данные после текущей позиции  }
 close(f);                    {закрыть файл                              }
 readln;
END.
Функция TypeOf

Назначение: Возвращает указатель на таблицу виртуальных методов объекта (VMT).
Описание: function TypeOf(X): Pointer;
Примечания: X - идентификатор объекта или экземпляра объект иного типа. В любом случае TypeOf возвращает адрес таблицы виртуальных методов объектного типа. TypeOf может применяться только к объектным типам, имеющим таблицу виртуальных методов. Все другие методы дают в результате ошибку.

Функция UpCase

Назначение: Преобразует символ в верхний регистр.
Описание: function UpCase(Ch: Char);
Примечания: Параметр Ch представляет собой выражение символьного типа. Результатом символьного типа будет символ, задаваемый параметром Ch, преобразованный в символ верхнего регистра. Значения символов, не лежащие в диапазоне а...z, остаются без изменений.

Пример 27.6

VAR
 ch:char;
BEGIN
 ch:='m';
 ch:=UpCase(ch);                       { ch='M' }
 writeln('ch = ',ch);
 readln;
END.
Процедура Val

Назначение: Преобразует строковое значение в его численное представление.
Описание: procedure Val(s: String; var v; var Code:Integer);
Примечания: Параметр s представляет собой выражение строкового типа. Параметр v является переменной целого или вещественного типа. Параметр Code - это переменная целого типа, которая формирует все число со знаком. Функция Val преобразует строку s в ее численное представление и сохраняет результат в v. Если где-либо в строке встречается недопустимый символ, то его номер сохраняется в параметре Code. В противном случае этот параметр равен нулю.

В зависимости от состояния {$R} и типа параметра v функция Val по-разному выполняет проверку диапазона.
Если состояние проверки диапазона установлено, то есть задано {$R+}, то выражения, выходящие за границу диапазона, всегда будут генерировать ошибку этапа выполнения.
Если состояние проверки диапазона сброшено, то есть задано {$R-}, то выражения, выходящие за границу диапазона, будут вызывать эффект, зависящий от их типа. Если v имеет тип real или longint, то значение v становится неопределенным и в параметре Code возвращается ненулевое значение. Для любого другого числового типа в параметре Code возвращается нулевое значение, а v будет содержать результат вычислений с переполнением (если предположить, что строковое значение попадает в диапазон представления длинного целого).

Таким образом, передав процедуре Val переменную длинного целого типа (longint) и перед тем, как присваивать полученное значение, следует выполнять проверку диапазона. Например:

       {$R-}
     Val('65536', LongIntVar, Code);
     if (Code <>0) or
        (LOngIntVar < 0) or (LongIntVar > 65535) then
          .             { ошибка }
          .
          .
     else
       WordVar := LongIntVar;
В этом примере LongIntVar будет установлена в 65536, а Code будет равно 0. Поскольку для переменной Word значение 65536 выходит за допустимый диапазон, будет сообщаться об ошибке.

Пример 27.6

VAR
 i,code: integer;
 st:string;
BEGIN
 write('Введите число: ');
 readln(st);

 Val(st, i, code);
 { ошибка при преобразовании в целое значение? }
 if code <> 0 then writeln('Ошибка на позиции :', code)
  else writeln('Значение = ', i);
 readln;
END.
Процедуры Write и Writeln

Назначение: Записывает одно или более значений из одной или более переменных в файл или выводит на экран.
Описание: procedure Write( [var f: Text/File;] v1 [,v2,...,vn]);
Примечания: тут


Вот, наконец, и все процедуры и функции модуля System.tpu!!!


<<< Назад * Оглавление * Далее >>>