Вещественные типы данных
Программы линейной структуры
Программой линейной структуры называется такая программа, каждый оператор которой выполняется один и только один раз. Она может строиться только из простых операторов, не меняющих естественный порядок вычислений, а именно, из операторов присваивания и операторов процедур. Из числа последних в этом разделе нас будут интересовать только операторы процедур ввода и вывода для стандартных устройств – клавиатуры и монитора.
Средства разработки программ линейной структуры
Рассмотрение вопросов алгоритмизации задач и приёмов программирования удобнее всего проводить на примерах обработки числовых данных. Рассмотрим в первую очередь стандартные типы(имеющиеся в Delphi и не требующие объявления в программе) числовых данных.
Целые типы данных
К числу стандартных целых типовотносятся:
Int64 – тип, представляющий целые со знаком от –263 до +263-1, занимает 8 байт;
Integer – тип, представляющий целые со знаком от –2147483648 до +2147483647, занимает 4 байта;
LongInt – тип, эквивалентный типу Integer;
SmallInt – тип, представляющий целые со знаком от –32768 до +32767, занимает 2 байта;
ShortInt – тип, представляющий целые со знаком от –128 до +127, занимает 1 байт;
Byte – тип, представляющий целые без знака от 0 до 255, занимает 1 байт;
Word – тип, представляющий целые без знака от 0 до 65535 занимает 2 байта;
LongWord – тип, представляющий целые без знака от 0 до 4294967295, занимает 4 байта;
Cardinal – тип, эквивалентный типу LongWord .
Например, чтобы объявить переменные с именами I и K как переменные типа Integer и N – как Byte, в программе следует записать
var
I, K:Integer; //Объявление целых переменных I и K типа Integer
N:Byte //Объявление целой переменной N типа Byte
Константыцелого типазаписываются в виде последовательности цифр, перед которой может стоять знак числа. Знак + перед положительным числом можно не писать. Например, константы +25 и 25 представляют одно и то же значение. Тип целой константы определяется как стандартныйцелый тип с наименьшим диапазоном значений, включающим значение константы.
Именованные константы(имя такой константы представляет значение) объявляют в разделе const, связывая имя и значение знаком =, например,
const
Nmax=10; //Объявление именованной константы Nmax
Для данных целого типа определены следующие арифметические операции, результат выполнения которых также будет иметь целый тип такой, который имеет минимальный диапазон, включающий вычисленное значение:
сложение (знак +),
изменение знака (унарный минус -),
вычитание (знак -),
умножение (знак *),
целочисленное деление (знак div),
взятие по модулю (знак mod).
Результатом выполнения операции div является целая часть частного, а операции mod – остаток от целочисленного деления (знак остатка всегда совпадает со знаком делимого). Например, выполнение –5 div -2 даст значение 2, а после выполнения -5 mod –2 получим –1.
Допустима над целыми также операция деления (знак /), приводящая к вещественному значению. Так, результатом выполнения –5/-2 будет вещественное число 2,5.
К числу целых относятся также интервальные (диапазонные) типы, объявляемые в программе. Например, в следующем фрагменте программы
type
tBall = 2..5; //Объявление типа tBall
tIndex = 1..10; //Объявление типа tIndex
объявляются тип tBall с диапазоном значений от 2 до 5 и тип tIndex с диапазоном значений от 1 до 10. Значение, представляющее начало диапазона должно быть меньше значения, представляющего конец диапазона, а разделителем между ними является составной символиз двух точек.
Вещественные типы данных
К числу стандартных вещественных (действительных) типовотносятся:
Extended – вещественный тип с повышенной точностью, допускающий множество значений с 19 – 20 десятичными цифрами в диапазоне абсолютных значений от 3,6ּ10-4951 до 1,1 ּ10+4932, занимает 10 байт;
Double – тип, допускающий множество значений с 15 – 16 десятичными цифрами в диапазоне абсолютных значений от 5ּ10-324 до 1,7ּ10+308, занимает 8 байт;
Real – тип, эквивалентный типу Double;
Real48 – тип, допускающий множество значений с 11 – 12 десятичными цифрами в диапазоне абсолютных значений от 2,9ּ10-39 до 1,7ּ10+38, занимает 6 байт;
Single – тип, допускающий множество значений с 7 – 8 десятичными цифрами в диапазоне абсолютных значений от 1,5ּ10-45 до 3,4ּ10+38, занимает 4 байта;
Comp – тип, допускающий множество целых значений с 19 – 20 десятичными цифрами в диапазоне от -263+1до +263-1, занимает 8 байт;
Currency – тип, допускающий множество значений с 19 – 20 десятичными цифрами в диапазоне от -922337203685477,5808 до +922337203685477,5807, занимает 8 байт;
Константы вещественного типа записываются либо в естественной форме, например,
-12.345, либо в экспоненциальной форме, в которой то же самое число можно записать по–разному, например, -0.12345E+2, или -0.12345E2, или -0.12345е+2, или –1.2345E+1, или –1.2345E1, или –12.345E0, или –1234.5E-2, или –12345E-3, или и так далее. При представлении числа в такой форме безразлично, используется строчная или прописная латинская буква Е. Чтобы получить значение числа, представленного в экспоненциальной форме, нужно умножить мантиссу, то есть то, что стоит перед символом Е, на порядок, то есть на 10 в степени, значение которой представляет целое число, записанное после Е. Так, константу -0.12345E+2 следует читать как –0,12345·10+2, а константу -1234.5E-2 – как –1234,5·10-2.
Следующий фрагмент программы представляет объявления вещественных переменных Х и Y типа Real, Z – типа Extended и именованной константы H со значением 0,00000025:
var
X, Y: Real;
Z: Extended;
const
H = 2.5E-7;
Для данных вещественного типа определены следующие арифметических операции, результат выполнения которых также будет иметь вещественный тип такой, который имеет минимальный диапазон, включающий вычисленное значение:
сложение (знак +),
изменение знака (унарный минус -),
вычитание (знак -),
умножение (знак *),
деление (знак /).
В отличие от языков программирования BASIC и Fortran, в языке Object Pascal нет операции возведения в стерень.
Дата добавления: 2020-07-18; просмотров: 352;