Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПО_ЛР19.docx
Скачиваний:
4
Добавлен:
27.09.2019
Размер:
168.33 Кб
Скачать

Приложение 2 Стандартные процедуры и функции (Турбо-Паскаль)

abs(x) модуль

nosound выключает звуковой генератор

sound(hz) включает звуковой генератор с частотой hz

gotoxy(x,y) перемещает курсор в точку с заданными координатами x,y

delay(t) приостанавливает работу программы на указанное число миллисекунд

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

keypressed возвращает true, если была нажата любая символьная клавиша

delete(str,poz,n) удаляет из str с позиции poz n символов

clrscr очистка текстового экрана

length(str) выдает длину строки str

concat(str1,str2,...srtn) сцепление строк

copy(str,n1,n2) вырезает из str с позиции n1 количество n2

write(идентификатор файла,список ввода\вывода) служит для записи данных в типизированный файл

read(идентификатор файла,список ввода\вывода) обеспечивает чтение очередных компонентов типизированного файла

xor исключает или

not не

or или

and и

mod взятие остатка от деления

div целочисленное деление

odd(x) если x нечетное, дает true

pred(x) предыдущее значение x

succ(x) значение следующее за x

ord(x) вычисляет порядковый номер (код символа)

chr(x) по числовому коду определяет символ в Ascii

dec(x,y) уменьшает x на y

round(x) округление

int(x,y) увеличивает x на y

frac(x) дробная часть

randomize не повторяются случайные числа

random(x) генератор случайных чисел

arctan(x) арктангенс

cos(x) косинус

exp(x) экспонента

ln(x) логарифм

sin(x) синус

sqr(x) x в квадрате

sqrt(x) квадратный корень из х

pi возвращает значение Пи=3.14159

pos(str1,str) результат - целое число, равное той позиции в строке str, в которой находится первый символ подстроки str1

val(st,x,code) преобразует строку St во внутреннее представление целой или вещественной переменной Х

str(x[:w[:d]],st) преобразует число Х любого вещественного или целого типов в строку символов St

ПРИЛОЖЕНИЕ 2

Применение функций и процедур (Паскаль)

Обозначения: Все X - целочисленные и вещественные типы, I - только целочисленные.

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

Abs(X) - вычисление абсолютной величины X. Тип результата совпа-дает с типом параметра.

Пример. Write(Abs(4-6):2); Результат = 2.

АгсТаn(Х) - вычисление угла, тангенс которого равен X; значение угла представлено в радианах и может находиться в диапазоне от -Pi/2 до Pi/2. для преобразования значения угла из радианной меры в градусную необходимо значение угла умножить на число 180/Pi. Результат имеет вещественный тип.

Пример. Write(ArcTan(l)*180/Pi); Результат= 4.500000000E+1.

Cos(X) - вычисление косинуса X; параметр задает значение угла в радианах. Для преобразования значений угла из градусной меры в радианную значение выражения IBR умножается на Pi/180. Результат имеет вещественный тип.

Пример. Write(Cos(45*Pi/180)); Результат= 5.0000000000Е-01.

Ехр(Х) - вычисление экспоненты X, т. е. значение е в степени X. е является основанием натурального логарифма и равно 2.718282. Результат имеет вещественный тип.

Пример. write(Exp(1.5)*2); Результат= 2.0085536923Е+01.

Frac(X) - вычисление дробной части X. Результат имеет вещест¬венный тип.

Пример. Write(Frac(0.25*11):4:2); Результат = 0.75.

Int(X) - вычисление целой части X. Результат имеет тип real.

Пример. write(Int(422.117):4); Результат = 117.

Ln(X) - вычисление натурального логарифма х, т. е. логарифма по основанию е (е = 2.718282). Результат имеет вещественный тип.

Пример. write(Ln(0.12*10)); Результат = 1.8232155Б79Е-01.

Pi - возвращает значение числа Пи (3.141592653897932385).

Пример. write('Значение Пи = ',Pi);

Sin(X) - вычисление синуса X. Параметр задает значение угла в радианах. Для перевода значения угла из градусной меры в радиан¬ную X умножается на Pi/180. Результат имеет вещественный тип.

Пример. write(Sin(60*Pi/180)); Результат = 8.6602540378Е-01.

Sqr(X) - возведение в квадрат значения X. Тип результата сов¬падает с типом параметра.

Пример. write(Sqr(-5):2); Результат = 25.

Sqrt(X) - вычисление квадратного корня из X. Тип результата ве-щественный.

Пример. write(Sqrt(25):l); Результат = 5.

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

Скалярные процедуры и функции обрабатывают данные любого скалярного типа, кроме вещественного.

Процедуры

Dec(X{,n}) - уменьшает значение целочисленной переменной X на n. При отсутствии необязательного параметра п значение X умень¬шается на 1.

Пример. Х:=10; Dec(X,2); Результат = 8.

Inc(X{,n}) - увеличивает значение целочисленной переменной X на п. При отсутствии необязательного параметра п значение X уве¬личивается на единицу.

Пример. Х:=10; Inc(Х,3); Результат = 13.

Функции

Pred(S) - возвращает элемент, предшествующий S в списке значений типа. Тип результата совпадает с типом параметра. Если предшествующего S элемента не существует, возникает программное прерывание.

Пример. write(Pred(90)); Результат =89.

Succ(S) - возвращает значение, следующее за S в списке значений типа. Тип результата совпадает с типом параметра. Если следующее за S значение отсутствует, возникает программное прерывание.

Пример. write(Succ(90)); Результат = 91.

Odd(l) - возвращает значение булевского типа, равное True, если I нечетное, и False, если I четное.

Пример. write(0dd(3)); Результат = True.

Функции Pred и Succ нашли широкое использование в программах обработки скалярных типов данных, образованных пользователем. Их применение для пользовательских типов аналогично приведенным выше примерам.

ФУНКЦИИ ПРЕОБРАЗОВАНИЯ ТИПОВ

Функции преобразования типов используются для преобразования значений одного скалярного типа в значения другого скалярного типа.

Chr(I) - возвращает символ стандартного кода обмена информа¬цией с номером, равным значению I. Результат имеет литерный тип. Если значение параметра больше 255, возникает программное прерывание.

Пример. write(Chr(105)); Результат = 'i'.

Ord(S) - возвращает порядковый номер значения S в множестве, определенном типом S. Результат целочисленного типа. Если параметр имеет тип integer, то это значение функции выдается как результат. Если параметр любого другого перечисляемого типа, то результат - порядковый номер, определяемый отображением значений данного типа на последовательность неотрицательных чисел, начиная с нуля. Например, если параметр - значение литерного типа, функция Ord возвращает его номер в стандартном коде обмена ин-формацией в соответствии с загруженной таблицей. Диапазон значений функции Ord изменяется от 0 до 3 2767.

Пример. write(Ord ('A')); Результат=65.

Round(X) - возвращает значение X, округленное до ближайшего целого числа. Результат имеет целочисленный тип.

Пример. write(Round(5.6):2); Результат= 6.

Trunc(X) - возвращает ближайшее целое число, меньшее или равное X, если X >= 0, и большее или равное X, если X < 0. Резуль¬тат относится к целочисленному типу.

Пример. write(Trunc(5.7):2)); Результат = 5.

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

К этой группе относятся средства, стоящие несколько обособленно и логически не входящие ни в одну из предыдущих групп.

Процедуры

FillChar(P,Dl,Z) - заполняет побайтно область основной памяти заданным значением (заполнителем). Является одной из самых быстродействующих процедур, область начинается с первого байта занимаемой указанной переменной и имеет размер, заданный параметром Dl. Р - переменная любого типа, Dl - целочисленное выражение, указывающее длину, Z - заполнитель, выражение литерного или бай¬тового типа.

Пример. Заполнить строку St буквой 'R', исключая первый байт, содержащий текущую длину строки.

Реализация: FillChar(St[1], Pred(SizeOf(St)), 'R'); { о SizeOf см. ниже }

Move(Pl,P2,Dl) - пересылает содержимое основной памяти, начиная с первого байта, занимаемого переменной Р1,в область, которая начинается с первого байта переменной Р2. Длина областей опреде-ляется параметром Dl. Р1 и Р2 - переменные любого типа. Dl- целочисленное выражение.

Пример. Заполнить нулями массивы А и В, состоящие из элементов типа char и word.

Var A : arrayCl..163 of char;

В : array[1..8] of word;

begin

FillChar(A, SizeOf(A), 0);

Move(A, B, SizeOf(A))

end.

Функции

Hi(I) - выделяет старший байт значения I и помещает его в младший байт результата. Старший байт результата равен 0. Результат имеет целочисленный тип.

Пример. Х:=Нi($1020); { после выполнения X= $0010 }

KeyPressed - возвращает результат True, если на клавиатуре была нажата какая-либо клавиша, и False в противоположном случае.

Пример.

I:=0;

repeat

I:=I+1

until KeyPressed;

write('До нажатия клавиши было выполнено ',I,' операций +.');

Lo(I) - выделяет младший байт значения I и помещает его в младший байт результата. Старший байт результата равен 0. Результат имеет целочисленный тип.

Пример. X:=Lo($7893); { после выполнения X = $0093 }

ParamCount - возвращает значение, равное количеству параметров, переданное программе в командной строке.

Пример. write('Передано ', ParamCount, ' параметров');

SizeOf(IT) - вычисляет объем основной памяти в байтах, которую занимает указанная переменная или тип. Результат имеет цело¬численный тип. IT - идентификатор переменной или типа данных.

Swap(I) обменивает содержимое младшего и старшего байтов цело-численного выражения, заданного параметром I. Результат имеет целочисленный тип.

Пример. X:=Swap($7893); { после выполнения X = $9378 }

11

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]