П3.5. Вещественные типы

Значения вещественных типов определяют произвольное число лишь с некоторой конечной точностью, зависящей от внутреннего формата вещественного числа.

Название Длина, байт Кол-во значащих цифр Диапазон значений Примечание
Real   11...12 2,9*10-39...1,7*1039 При наличии сопроцессора использовать нежелательно, т.к. замедляет работу
Single   7...8 1,5*10-45…3,4*1038 -
Double   15...16 5,0*10-324...1,7*10308 -
Extended   19...20 3,4*10-4951...1,1*104932 Применяется наиболее часто
Comp   19...20 -263...+263-1 Дробная часть отсутствует
Currency   19...20 ±922337203685477,5807 Длина дробной части 4 десятичных разряда

Для работы с вещественными типами имеются стандартные функции:

Обращение Тип параметра Тип результата Примечание
abs(x) вещественный, целый Тип аргумента Модуль аргумента
ArcTan(x) вещественный вещественный Арктангенс (в радианах)
Cos(x) вещественный вещественный Косинус (в радианах)
Exp(x) вещественный вещественный Экспонента
Frac(x) вещественный вещественный Дробная часть числа
Int(x) вещественный вещественный Целая часть числа
Ln(x) вещественный вещественный Логарифм натуральный
Pi --- вещественный p =3.141592653...
Random вещественный Псевдослучайное число, равномерно распределенное в диапазоне 0...[1]
Random(x) целый целый Псевдослучайное целое число, равномерно распределенное в диапазоне 0...x
Randomize --- --- Инициация генератора псевдослучайных чисел
Sin (x) вещественный вещественный Синус (в радианах)
Sqr(x) вещественный вещественный Квадрат аргумента
Sqrt(x) вещественный вещественный Корень квадратный

ПЗ.6. Тип дата-время

Тип дата - время определяется идентификатором TDateTime и предназначен для одновременного хранения и даты, и времени. Над данными типа TDateTime определены те же операции, что и над вещественными числами, а в выражениях этого типа могут участвовать константы и переменные целого и вещественного типов.

Приложение 4

ПРИЛОЖЕНИЕ 4. Процедуры и функции для работы со строками

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

Процедуры и функции для работы со строками
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 Insert(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 игнорируется
Подпрограммы преобразования строк в другие типы т
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 в целое число. Строка не должна содержать ведущих или ведомых пробелов
Function StrToIntDef(St: String; Default: Integer): Integer; Преобразует символы строки St в целое число. Если строка не содержит правильного представления целого числа, возвращается значение Default
Function StrToIntRange(St: String; Min, Max: Longint): Longint; Преобразует символы строки St в целое число и возбуждает исключение ERangeError, если число выходит из заданного диапазона Mm Max
Function StrToTime(St: String): TDateTime; Преобразует символы строки St во время
Procedure Val(St: String; var X; Code: Integer); Преобразует строку символов St во внутреннее представление целой или вещественной переменной X, которое определяется типом этой переменной. Параметр Code содержит ноль, если преобразование прошло успешно, и тогда в Х помещается результат преобразования; в противном случае он содержит номер позиции в строке St, где обнаружен ошибочный символ, и в этом случае содержимое X не меняется. В строке 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: TFloatFor-mat; Precision, Digits: Integer): String; Преобразует вещественное значение Value в строку символов с учетом параметров Precision и Digits (см. пояснения ниже)
Function FormatFloat(Format: String; Value: Extended): String; Преобразует вещественное значение Value в строку
Function IntToStr(Value: Integer): String; Преобразует целое значение Value в строку символов
Function TimeToStr(Value: TDateTime): String; Преобразует время из параметра Value в строку символов
Procedure Str(X [:width [:Decimals]]; var St: String); Преобразует число Х любого вещественного или целого типа в строку символов 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 = p* 1000 получим 3 141,60
ffCurrency Денежный формат. Соответствует ffNumber, но в конце строки ставится символ денежной единицы (для русифицированной версии Windows - символы «р.»). Для Value = p*1000 получим: 3 141,60р

Приложение 5

ПРИЛОЖЕНИЕ 5. Математические формулы

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

Функция Соотношение Соотношение на языке Object Pascal
    Ln(x)/Ln(a)
Exp(a*Ln(x))
    Sin(x)/Cos(x)
    Cos(x)/Sin(x)
    ArcTan(Sqrt(x/(1-sqr(x))))
    Pi/2- ArcTan(Sqrt(x/(1-sqr(x))))
    Pi/2-ArcTan(x)
    (Exp(x)-Exp(-x))/2
    (Exp(x)+Exp(-x))/2
    1/Sin(x)
    1/Cos(x)

Литература

1. Фаронов В.В. VISUAL STUDIO 3. Учебный курс. – М.: Нолидж, 1998. –400 с.

2. Дарахвелидзе П.Г., Марков Е.П. Visual Studio – среда визуального программирования: - СПб.: ВНV –Санкт-Петербург, 1996. – 352 с.

3. Федеоров А.Г. Visual Studio 3.0. для всех: – М.: КомпьютерПресс, 1998. – 544 с.

4. Марко Кэнту., Visual Studio 4 для профессионалов – СПб: Издательство «Питер», 1999. – 1120 с.: ил.

5. Архангельский А.Я., Программирование в Visual Studio – СПб: Бином, 2008. – 816 с.: ил.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: