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

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

Функция ParamCount

Назначение: Возвращает число параметров, переданных в командной строке.
Описание: function ParamCount: Word;
Примечания: Разделителями служат пробелы и символы табуляции.

Пример 24.1

BEGIN
 if ParamCount<1 then writeln('В командной строке нет параметров')
  else writeln(ParamCount,' параметров');
END.
Функция ParamStr

Назначение: Возвращает заданный параметр командной строки.
Описание: function РаrамStr(Indx): String;
Примечания: Параметр Indx представляет собой выражение типа Word. Данная функция возвращает из командной строки параметр, номер которого задается параметром Indx, или пустую строку, если Indx равняется нулю или больше, чем РаrамCоunt.

Пример 24.2

VAR
 i:word;
BEGIN
 for i:=1 to ParamCount do writeln(ParamStr(i));
END.
Функция Pi

Назначение: Возвращает значение 3.1415926535897932385 (значение числа Pi).
Описание: function Pi: Real;

Пример 24.3

VAR
 s,r:real;
BEGIN
 r:=5;
 s:=2*Pi*r;
 writeln('Длина окружности радиуса r=', r:1:0,' равна: ',s:3:1);
END.
Функция Pos

Назначение: Ищет подстроку в строке.
Описание: function Pos(Sub, S: String): Byte;
Примечания: Параметры Sub и S являются выражениями строкового типа. Данная функция ищет подстроку, заданную параметром Sub, в строке S и возвращает целое значение, являющееся позицией первого символа подстроки в строке S. Если подстрока не найдена, то функция возвращает значение 0.

Пример 24.4

BEGIN
 if Pos('def','abcdefg')>0 then writeln('подстрока найдена!')
  else writeln('подстрока не найдена!')
END.
Функция Pred

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

Пример 24.5

TYPE
 tip1=(red, green, blue);
VAR
 x:tip1;
BEGIN
 writeln(Pred(blue));
 writeln('Перед символом @ типа Char стоит символ = ', Pred('@'));
END.
Функция Ptr

Назначение: Преобразует адрес, заданный в виде базового сегмента и смещения, в значение типа указатель.
Описание: function Ptr(Seg, Offs: Word): Pointer;
Примечания: Параметры Seg (сегмент) и Offs (смещение) представляют собой выражения типа Word. Результатом является указатель на адрес, заданный параметрами Seg и Offs. Как и указатель типа nil, результат функции Рtr совместим по присваиванию с указателями любых типов.

Пример 24.6

VAR
 p^: byte;
BEGIN
 p:= Ptr($0040, $49);
 writeln('Текущим видеорежимом является ', p^);
END.
Функция Random

Назначение: Возвращает случайное число.
Описание: function Random[ (Range: Word) ];
Примечания: Если параметр Range (диапазон) не задан, то результатом будет вещественное число x в диапазоне 0<=х<1. Если задан параметр Range, то он должен представлять собой выражение целого типа, а результатом будет случайное число длиной в слово в диапазоне 0<=х<N, где N - значение, заданное параметром Range. Если параметр Range меньше или равен нулю, то возвращаемое значение будет равно нулю.

Пример 24.7

VAR
 i: byte;
BEGIN
 randomize;
 for i:=1 to 5 do writeln('Случайное вещественное число ',random);
 for i:=1 to 5 do writeln('Случайное целое число ',random(10));
END.
Процедура Randomize

Назначение: Инициализирует встроенный генератор случайных чисел случайным значением.
Описание: procedure Randomize;
Примечания: Случайное значение получается от системного таймера. Число, получаемое в результате работы генератора случайных чисел, хранится в предописаной переменной с именем RandSeed.

См. пример 24.7

Процедура Read (текстовые файлы)

Назначение: Считывает одно или более значений из текстового файла в одну или более переменных.
Описание: procedure Read( [ var f: Text; ] v1, [, v2,...,vn] );
Примечания: Параметр f (если он указан) является файловой переменой, соответствующей текстовому файлу (text). Если он опущен, то подразумевается использование стандартной файловой переменной Input. Каждый параметр v является переменной символьного, строкового, целого или вещественного типа.

Процедура Read (типизированные файлы)

Назначение: Считывает в переменную элемент файла.
Описание: procedure Read(f, v1, [, v2,...,vn]);
Примечания: Параметр f является файловой переменной, соответствующей любому типу файла, кроме текстового, а каждый элемент v представляет собой переменную того же типа, что и элемент файла f. При каждом считывании в переменную текущая позиция в файле продвигается к следующему элементу. Попытка считывания следующего элемента файла в тот момент, когда текущая позиция файла находится в конце файла (то есть когда Eof(f) имеет значение Truе) является ошибкой.

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

Пример 24.8

{программа телефонная книга}
TYPE
 tip_f=record
        name, namber:string;       {имя и номер телефона}
       end;
VAR
 f: file of tip_f;                 {для файла }
 d: array[1..3]of tip_f;           {для данных}
 i: byte;
BEGIN
 {$I-}
 assign(f,'test.txt');
 reset(f);
 {$I+}
 if ioresult=0 then
  begin
   writeln('Данные из файла:');
   for i:=1 to 3 do read(f,d[i]);
   for i:=1 to 3 do writeln(i,') ',d[i].name,' - ',d[i].namber);
  end else
  begin
   writeln('Создается файл с данными!');
   d[1].name:='Иванов';     d[1].namber:='93-45-16';
   d[2].name:='Петров';     d[2].namber:='93-15-06';
   d[3].name:='Сидоров';    d[3].namber:='19-43-77';
   rewrite(f);
   for i:=1 to 3 do write(f,d[i]);
   close(f);
   writeln('Данные занесены в файл!');
  end;
END.
Процедура ReadLn (типизированные файлы)

Назначение: Выполняет процедуру Rеаd, затем переходит к следующей строке файла.
Описание: procedure Readln([ var f: Text; ] v1 [, v2,...,vn] );
Примечания: Процедура RеаdLn является расширением процедуры Rеаd и определена для текстовых файлов. После выполнения процедуры Rеаd процедура RеаdLn делает пропуск до начала следующей строки. Вызов функции RеаdLn(f) без параметров приводит к перемещению текущей позиции файла на начало следующей строки (если она имеется, в противном случае происходит переход к концу файла). Функция RеаdLn без списка параметров полностью соответствует обращению RеаdLn(Input).

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

Ограничения: Функция работает только для текстовых файлов, включая стандартный ввод. Файл должен быть открыт для ввода.


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