Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Процедуры и функции для работы со строками




 

Для работы со строками применяются следующие процедуры и функции (в квадратных скобках указываются необязательные параметры).

 

Процедуры и функции для работы со строками
Function Concat(S1 [, S2,..., SN]: String)-. String; Возвращает строку, представляющую собой сцепление строк-параметров S1. S2,..., SN
Function Copy(St: String; Index, Count: Integer): String; Копирует из строки St Count символов, начиная с символа с номером Index
Procedure Delete(St: String; Index, Count; Integers; Удаляет Count символов из строки St начиная с символа с номером Index
Procedure lnsert(SubSt: String; St, Index: Integer); Вставляет подстроку SubSt в строку St начиная с символа с номером Index
Function Length(St: String): Integer; Возвращает текущую длину строки St
Function Pos(SubSt, St: String): Integer; Отыскивает в строке St первое вхождение подстроки SubSt и возвращает номер позиции, с которой она начинается. Если подстрока не найдена, возвращается ноль
Procedure SetLength(St: String; NewLength: Integer); Устанавливает новую (меньшую) длину NewLength строки St, если NewLength больше текущей длины строки, обращение к SetLength итерируется
Подпрограммы npеобразования строк в другие типы
Function StrToCurr(St: String): Currency; Преобразует символы строки St в целое число типа Currency. Строка не должна содержать ведущих или ведомых пробелов.
Function StrToDate(St: String): TDateTime; Преобразует символы строки St в дату. Строка должна содержать два или три числа, разделенных правильным для Windows разделителем даты; (в русифицированной версии таким разделителем, является “.”) Первое число -день, второе - месяц, если указано третье число, оно задает год
Function StrToDateTime(St: String): TDateTime; Преобразует символы строки St в дату и время. Строка должна содержать дату и, разделенные пробелом
Function StrToFloat(St: String): Extended; Преобразует символы строки St в вещественное число. Строка не должна содержать ведущих или ведомых пробелов
Function StrToInt(St: String): Integer; Преобразует символы строки St в целое число. Строка не должна содержать ведущих или ведомых пробелов

 


I-unction StrtoIntDef(St: String; Default: Integer): Integer; Преобразует символы строки St в целое число. Если строка не содержит правильного представления целого числа, возвращается значение Default
I-unction StrtoIntRange(St: String: Min, Max: Longint): Longint; Преобразует символы строки St в целое число и возбуждает исключение ERangeError, если число выходит из заданного диапазона Мin Мах
Function StrToTime(St: String): TDateTime; Преобразует символы строки St во время
Procedure Val(St: String; var X; Code: Integer); Преобразует строку символов St во внутреннее представление целой или вещественной переменной X, которое определяется типом этой переменной. Параметр Code содержит ноль, если преобразование прошло успешно, и тогда в Х помещается результат преобразования; в противном случае он содержит номер позиции в строке St, где обнаружен ошибочный символ, и в этом случае содержимое Х не меняется. В строке St могут быть ведущие и (или) ведомые пробелы
Подпрограммы обратного преобразования
Function DateToStr(Value: TDateTime): String: Преобразует дату из параметра Value в строку символов
Function DateTimeToStr(Value: TDateTime): String; Преобразует дату и время из параметра Value в строку символов
Procedure DateTimeToString (var St: String: Format: String; Value: TDataTime); Преобразует дату и время из параметра Value в строку St
Function FormatDateTime (Format: String; Value: „ TDateTime): String; Преобразует дату и время из параметра Value в строку символов
Function FloatToStr(Value: Extended): String: Преобразует вещественное значение Value в строку символов
Function FloatToStrF(Value: Extended; Format: TFIoatFor-mat; Precision, Digits: Integer): String; Преобразует вещественное значение Value в строку символов с учетом параметров Precision и Digits (см. пояснения ниже)
Function FormatFloat(Format: String: Value: Extended): String; Преобразует вещественное значение Value в строку
Function lntToStr(Value: Integer): String; Преобразует целое значение Value в строку символов
Function TimeToStr(Value: TDateTime): String; Преобразует время из параметра Value в строку символов
Procedure Str(X [.-width [: Decimals]]; var St: String); Преобразует число X любого вещественного или целого типа в строку символов St; параметры Width и Decimals, если они присутствуют, задают формат преобразования: Width определяет общую ширину поля, выделенного под соответствующее символьное представление вещественного или целого числа X, a Decimals -количество символов в дробной части (этот параметр имеет смысл только в том случае, когда Х – вещественное число)


Правила использования параметров функции FloatToStrF показаны ниже:

 

Значение Format Описание
fFfExponent Научная форма представления с множителем еХХ (“умножить на 10 в степени XX”). Precision задает общее количество десятичных цифр мантиссы. Digits - количество цифр в десятичном порядке XX. Число округляется с учетом первой отбрасываемой цифры: 3.1416Е+00
ffFixed Формат с фиксированным положением разделителя целой и дробной частей. Precision задает общее количество десятичных цифр в представлении числа. Digits - количество цифр в дробной части. Число округляется с учетом первой отбрасываемой цифры: 3,14
ffGeneral Универсальный формат, использующий наиболее удобную для чтения форму представления вещественного числа. Соответствует формату ffFixed, если количество цифр в целой части меньше или равно Precision, а само число - больше или равно 0,00001, в противном случае соответствует формату ffExponent: 3,1416
ffNumber Отличается от ffFixed использованием символа - разделителя тысяч при выводе больших чисел (для русифицированной версии Windows таким разделителем является пробел). Для Value = 7t* 1000 получим 3 141,60
ffCurrency Денежный формат. Соответствует ffNumber, но в конце строки ставится символ денежной единицы (для русифицированной версии Windows - символы “р.”). Для Value = я*1000 получим: 3141,60р

 


ПРИЛОЖЕНИЕ 5

 

МАТЕМАТИЧЕСКИЕ ФОРМУЛЫ

Язык Object Pascal имеет ограниченное количество встроенных ^ математических функций. Поэтому при необходимости использовать другие функции следует применять известные соотношения. В таблице приведены; выражения наиболее часто встречающихся функций через встроенные функции языка Object Pascal.

 

Функция Соотношение Соотношение на языке Object Pascal
Loga(x) Ln(x) Ln(a) Ln(x)/Ln(a)
xa ea*Ln(x) Exp(a*Ln(x))
Tg(x) Sin(x) Cos(x) Sin(x)/Cos(x)
Ctg(x) Cos(x) Sin(x) Cos(x)/Sin(x)
ArcSin(x) __________ ArcTg(√(x/(1-sqr(x)))) ArcTan(Sqrt(x/(1-sqr(x))))
ArcCos(x) π/2-arcsin(x) Pi/2-ArcTan(Sqrt(x/(1-sqr(x))))
ArcCtg(x) π/2-arcTg(x) Pi/2-ArcTan(x)
Sh(x) ex- e-x 2 (Exp(x)-Exp(-x))/2
Ch(x) ex +e-x 2 (Exp(x)+Exp(-x))/2
Csc(x) 1/Sin(x) 1/Sin(x)
Sc(x) 1/cos(x) 1/Cos(x)

 


ПРИЛОЖЕНИЕ 6

 

МОДУЛЬ MATH.

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

Модуль Math, который существенно расширяет набор встроенных математических функций. Особенностью реализации содержащихся в нём функций и процедур является их оптимизация для работы с арифметическим сопроцессором класса Pentium, так что все они производят необходимые вычисления за рекордно малое время.

Ниже таблице приводятся все процедуры и функции, используемые в модуле Math. Подпрограммы становятся доступными программе только после ссылки на модуль Math в предложении Uses.

 

Тригонометрические функции
Function ArcCos(X: Extended): Extended; При обращении к функции необходимо указать параметр типа Extended, в результате чего функция вернёт арккосинус от этого параметра типа Extended.
Function ArcSin(X: Extended): Extended; При обращении к функции необходимо указать параметр типа Extended, в результате чего функция вернёт арксинус от этого параметра типа Extended.
Function ArcTan2(X: Extended): Extended; При обращении к функции необходимо указать два параметра X и Y типа Extended, в результате чего функция вычисляет арктангенс Y/X и вернет угол в правильном квадранте типа Extended.
Function Cotan(X: Extended): Extended; При обращении к функции необходимо указать угол типа Extended, в результате чего функция вернёт котангенс от этого параметра типа Extended.
Function ArcHypot(X: Extended): Extended; При обращении к функции необходимо указать два параметра X и Y типа Extended, в результате чего функция вернёт корень квадратный из (X2 + Y2) – гипотенуза прямоугольного треугольника по двум катетам типа Extended.
Procedure SinCos(Theta: Extended; var Sin, Cos:Extended); При обращении к функции необходимо указать угол Theta типа Extended, в результате чего функция возвращает одновременно Sin и Cos угла Theta.
Function Tan(X: Extended): Extended; При обращении к функции необходимо указать угол типа Extended, в результате чего функция вернёт тангенс от этого угла типа Extended.
Функции преобразования углов
Function CycleToRad(Cycles: Extended): Extended; При передаче параметра Cycles функция вернёт значение Radians:=Cycles*2PI.
Function DegToRad(Degrees: Extended): Extended; При передаче параметра Cycles функция вернёт значение Radians:=Degrees*PI/180.
Function GradToRad(Grads: Extended): Extended; При передаче параметра Cycles функция вернёт значение Radians:=Grads*PI/200.
Function RadToDeg(Radians: Extended): Extended; При передаче параметра Cycles функция вернёт значение Degrees:=Radians*180/PI.
Function RadToGrad(Radians: Extended): Extended; При передаче параметра Cycles функция вернёт значение Grads:=Radians*200/PI.
Function RadToCycle(Radians: Extended): Extended; При передаче параметра Cycles функция вернёт значение Cycles:=Radians/2PI.
Гиперболические функции
Function ArcСosh(X: Extended): Extended; При обращении к функции необходимо указать параметр типа Extended, в результате чего функция вернёт гиперболический арккосинус от этого параметра типа Extended.
Function ArcSinh(X: Extended): Extended; При обращении к функции необходимо указать параметр типа Extended, в результате чего функция вернёт гиперболический арксинус от этого параметра типа Extended.
Function ArcСosh(X: Extended): Extended; При обращении к функции необходимо указать параметр типа Extended, в результате чего функция вернёт гиперболический арктангенс от этого параметра типа Extended.
Function Cosh(X: Extended): Extended; При обращении к функции необходимо указать угол типа Extended, в результате чего функция вернёт гиперболический косинус от этого угла типа Extended.
Function Sinh(X: Extended): Extended; При обращении к функции необходимо указать угол типа Extended, в результате чего функция вернёт гиперболический синус от этого угла типа Extended.
Function Tanh(X: Extended): Extended; При обращении к функции необходимо указать угол типа Extended, в результате чего функция вернёт гиперболический тангенс от этого угла типа Extended.
Логарифмические функции
Function LnXP1(X: Extended): Extended; При обращении к функции необходимо указать параметр X типа Extended, в результате чего функция вернёт натуральный логарифм от (X+1) типа Extended. Данная функция используется, когда значение X близко к нулю.
Function Log10(X: Extended): Extended; При обращении к функции необходимо указать параметр X типа Extended, в результате чего функция вернёт десятичный логарифм от X типа Extended.
Function Log2(X: Extended): Extended; При обращении к функции необходимо указать параметр X типа Extended, в результате чего функция вернёт двоичный логарифм от X типа Extended.
Function LogN(Base, X: Extended): Extended; При обращении к функции необходимо указать параметры X и Base типа Extended, в результате чего функция вернёт логарифм по основанию Base от X типа Extended.
Экспоненциальные функции
Function IntPower(Base: Extended; Exponent: Integer): Extended; При обращении к функции необходимо ввести в качестве параметров основание Base типа Extended и степень Exponent целочисленного типа Integer, в результате чего функция вернёт значение Base в степени Exponent типа Extended.
Function Power(Base, Exponent: Extended): Extended; При обращении к функции необходимо ввести в качестве параметров основание Base типа Extended и степень Exponent вещественного типа Integer, в результате чего функция вернёт значение Base в степени Exponent типа Extended.
Подпрограммы разного назначения
Function Ceil(X: Extended): Integer; При обращении к функции необходимо ввести параметр X вещественного типа в результате чего функция вернёт ближайшее меньшее целое число отбросив часть после запятой.
Function Floor(X: Extended): Integer; При обращении к функции необходимо ввести параметр X вещественного типа в результате чего функция вернёт ближайшее большее целое число округляя X в большую сторону.
Procedure Frexp(X: Extended; var Mantissa: Extended; var Exponent: Integer); При обращении к функции необходимо указать число вещественного типа Extended в результате чего функция вернёт мантиссу и степень этого числа.
Function Ldexp(X: Extended; P: Integer): Extended; При обращении к функции необходимо указать два числа: X вещественного Extended и P целого Integer типа. В результате функция вернёт результат формулы X*P2 типа Extended.
Function Poly(X: Extended; const Coefficients: array of Double): Extended; Функция принимает параметр X вещественного типа Extended и массив коэффициентов вещественного типа Double, в результате чего функция вернёт значение полинома A*XN+B*XN-1+…+Z. Коэффициенты должны задаваться в порядке возрастания степени.
Статистические подпрограммы
Function Max(A, B: Integer): Integer; overload; При обращении к функции необходимо указать две переменные какого либо типа и функция вернёт наибольшее из них. Параметр overload указывает на то, что функция может быть переопределена.
Function Max(A, B: Int64): Int64; overload;
Function Max(A, B: Single): Single; overload;
Function Max(A, B: Double):Double; overload;
Function Max(A, B: Extended): Extended; overload;
Function MaxIntValue(const Data: array of Integer): Integer; Функция принимает массив целых чисел и возвращает наибольшее из них.
Function MaxValue(const Data: array of Double): Double; Функция принимает массив вещественных Double чисел и возвращает наибольшее из них.
Function Mean(const Data: array of Double): Extended; Функция принимает массив чисел типа Double и возвращает арифметическое среднее массива чисел.
Function MeanAndStdDev(const Data: array of Double; var Mean, StdDev: Extended); Приняв массив вещественных чисел Double функция возвращает среднее арифметическое всех чисел и стандартное отклонение для этого набора чисел.
Function Min(A, B: Integer): Integer; overload; При обращении к функции необходимо указать две переменные какого либо типа и функция вернёт наименьшее из них. Параметр overload указывает на то, что функция может быть переопределена.
Function Min(A, B: Integer): Integer; overload;
Function Min(A, B: Integer): Integer; overload;
Function Min(A, B: Integer): Integer; overload;
Function Min(A, B: Integer): Integer; overload;
Function MinIntValue(const Data: array of Integer): Integer; Функция принимает массив целых чисел и возвращает наименьшее из них.
Function MinValue(const Data: array of Double): Double; Функция принимает массив вещественных Double чисел и возвращает наименьшее из них.
Procedure MomentSkewKurtosis(const Data: array of Double; var M1, M2, M3, M4, Skew, Kurtosis: Extended); Функция принимает массив чисел вещественного типа Double и возвращает статистические моменты порядков с первого по четвёртый, а также асимметрию Skew и эксцесс Kurtosis для набора чисел.
Function Norm(const Data: array of Double): Extended; Принимая массив вещественных чисел типа Double функция возвращает квадратный корень из суммы квадратов этих чисел.
Function PopnStdDev(const Data: array of Double): Extended; Принимая массив вещественных чисел типа Double функция возвращает выборочное стандартное отклонение типа Extended.
Function PopnVariance(const Data: array of Double): Extended; Принимая массив вещественных чисел типа Double функция возвращает выборочную дисперсию типа Extended.
Function RandG(Mean, StdDev: Extended): Extended; Функция принимает две переменные вещественного типа и генерирует нормальную псевдораспределённую последовательность чисел с заданным средним значением Mean и стандартным отклонением StdDev.
Function StdDev(const Data: array of Double): Extended; Принимая массив вещественных чисел типа Double функция возвращает среднеквадратическое отклонение.
Function Sum(const Data: array of Double): Extended register; Принимая массив вещественных чисел типа Double функция возвращает сумму чисел из массива.
Procedure SumAndSquares(const Data: array of Double; Функция принимает массив чисел вещественного типа и возвращает одновременно сумму и сумму квадратов этих чисел.
Function SumInt(const Data: array of Integer): Extended register; Функция принимает массив чисел целочисленного типа и вычисляет их сумму.
Function SumOfSquares(const Data: array of Double): Extended; Функция принимает массив чисел вещественного типа и вычисляет сумму их квадратов.
Function TotalVariance(const Data: array of Double): Extended; Функция принимает массив чисел вещественного типа и вычисляет сумму квадратов всех величин от их среднего арифметического.
Function Variance(const Data: array of Double): Extended; Функция принимает массив чисел вещественного типа и возвращает выборочную дисперсию для этих чисел, используя «несмещённую» формулу TotalVariance/(N-1).
Финансовые функции
Type TpaymentTime = (ptEndOfPeriod, ptStartOfPeriod); Специальный перечислительный тип используемый в финансовых функциях.
Function DoubleDecliningBalance (Cost, Salvage: Extended; Life, Period: Integer): Extended; Функция принимает два вещественных и два целочисленных параметра и в результате возвращает значение амортизации методом двойного баланса.
Function FutureValue(Rate: Extended; NPeriods: Integer; Payment, PresentValue: Extended; PaymentTime: TPaymentTime): Extended; Для этой функции необходимо передавать три вещественных, один целочисленный параметр и параметр собственного перечислительного типа, после чего функция вернет будущее значение вложения.
Function InterestPayment(Rate: Extended; Period, NPeriods: Integer; PresentValue, FutureValue: Extended; PaymentTime: TPaymentTime): Extended; Для этой функции необходимо передавать три вещественных, два целочисленных параметра и параметр собственного перечислительного типа, после чего функция вернет количество процентов по ссуде.
Function InterestRate(NPeriods: Integer; Payment, PresentValue, FutureValue: Extended; PaymentTime: TPaymentTime): Extended; Для этой функции необходимо передавать три вещественных, один целочисленный параметр и параметр собственного перечислительного типа, после чего функция вернет норму прибыли, необходимую для получения заданной суммы.
Function InternalRateOfReturn(Guess: Extended; const CashFlows: array of Double): Extended; Функция принимает массив чисел вещественного типа и вещественный параметр после чего возвращает внутреннюю скорость оборота вложения для ряда последовательных выплат.
Function NetPresentValue(Rate: Extended; const CashFlows: array of Double; PaymentTime: TPaymentTime): Extended; Функция принимает массив чисел вещественного типа, вещественный параметр и параметр собственного перечислительного типа, после чего возвращает чистую текущую стоимость вложения для ряда последовательных выплат.
Function NumberOfPeriods(Rate, Payment, PresentValue, FutureValue: Extended; PaymentTime: TPaymentTime): Extended; Функция принимает четыре вещественных параметра и параметр собственного перечислительного типа, после чего функция вернет количество периодов, за которые вложение достигнет заданной величины.
Function Payment(Rate: Extended; NPeriods: Integer; PresentValue, FutureValue: Extended; PaymentTime: TPaymentTime): Extended; Для этой функции необходимо передавать три вещественных, один целочисленный параметр и параметр собственного перечислительного типа и функция вернет размер периодической зарплаты для погашения ссуды при заданном числе периодов, процентной ставке, а также текущем и будущем значениях ссуды.
Function PeriodPayment(Rate: Extended; Period, NPeriods: Integer; PresentValue, FutureValue: Extended; PaymentTime: TPaymentTime): Extended; Для этой функции необходимо передавать три вещественных, два целочисленных параметра и параметр собственного перечислительного типа, после чего функция вернет платежи по процентам за заданный период.
Function PresentValue(Rate: Extended; NPeriods: Integer; Payment, FutureValue: Extended; PaymentTime: TPaymentTime): Extended; Для этой функции необходимо передавать три вещественных, один целочисленный параметр и параметр собственного перечислительного типа, после чего функция вернет текущее значение вложения.
Function SLNDepreciation(Cost, Salvage: Extended; Life: Integer): Extended; Для вычисления функции необходимо сообщить в качестве параметров две переменные вещественного и одну целочисленного типа в результате чего функцией будет возвращено значение амортизации методом постоянной нормы.
Function SYDDepreciation(Cost, Salvage: Extended; Life, Period: Integer): Extended; Для вычисления функции необходимо сообщить в качестве параметров две переменные вещественного и две целочисленного типа в результате чего функцией будет возвращено значение амортизации методом весовых коэффициентов.

 





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


Дата добавления: 2016-07-29; Мы поможем в написании ваших работ!; просмотров: 365 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Наука — это организованные знания, мудрость — это организованная жизнь. © Иммануил Кант
==> читать все изречения...

2306 - | 2099 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.