Для представления действительных чисел используют четыре типа: single, real, double, extended. Тип real есть стандартным (доступным для использования независимо от установленного режима компиляции). Чтобы использовать другие действительные типы, надо установить специальный режим компиляции с помощью меню системы программирования или директивы компилятора.
Действительные числа обозначаются действительными константами. Рассмотрим пример. Число 1,2345 можно обозначить несколькими способами, например, -2
123,45 • 10 .В этой записи оно имеет целую часть «123», дробовую часть «,45» и десятичный порядок «-2». Записи отвечает константа языка Паскаль 123.45Э-2, в которой 123 — целая часть, .45 — дробовая, а Е-2 — порядок. Это самое число можно представить также константами 0 .12345Э1, 0 . 012345Э+2,1. 2345,12345е-04 и другими.
[smszamok]
Действительные константы имеют обязательную целую часть, за которой записана дробовая часть и порядок (возможно, одно из них). Целая часть — это непустая последовательность цифр, дробовая — последовательность цифр, возможно, пустая, с точкой в начале, а порядок — латинская буква Е или есть с одной или несколькими цифрами, возможно, со знаком + или -. Перед константой может стоять знак -, и тогда она задает отрицательное число: -12.345Э-1.
Представление действительного числа константой, в которой целая часть содержит одну цифру от 1 до 9, называется нормализованным, например, 9.81 или 1.0Е2 (для числа 0 таким есть 0.0).
Множество чисел, которые можно представить в действительных типах, уточняется за представленной выше таблицей. За любого действительного типа она есть скінченною ограниченным подмножеством множества рациональных чисел и содержит все целые числа, которые представлено в типе longint (тип single содержит не все, но содержит носитель типа integer). Разность между двумя «соседними» действительными числами изменяется в их диапазоне, для больших чисел достигая порядка 104.
Операции. К действительным значениям применяют те же арифметические операции, что и к целым, за исключением odd, div, mod, а также succ, pred, ord. Результатом этих операций всегда есть действительное число. Сравнение действительных чисел, как и целых, имеет соответствующий булів результат: результатом 1.0<=2.5 есть значения true, 1.0=0.99 — значение false.
Действительные типы є «машинными представителями» множества действительных чисел, которая есть всюду плотной (между произвольными двумя действительными числами существует множество других действительных). Пронумеровать эти числа невозможно, поэтому действительные типы не являются пересчитываемыми.
Для действительные типы обозначены так называемые встроенные математические функции. Действительное значение | х \, arctg х, cos х, ех, In х, sin х, х2, -Jx возвращает из вызова функции, имя которой, соответственно,
abs, arctan, cos, exp, In, sin, sqr, sqrt.
Все эти функции применяются и к числам целых типов (но лишь abs и sqr в этом случае порождают значение целого типа). Значение аргумента в вызовах функций cos и sin выражает количество радиан, а не градусов. Обозначено также нульмісну функцию Рі (ее значение являются приближением к числу 71 = 3,14159265358979 ).Например, cos (Pi/2) =0.0,sin(Pi/2) =1.0.
Понятие сменной числовой величины впервые появилось в роботах Карта-где-карта в XVII ст. Позднее оказалось, что переменная величина может быть не только числовой. В широчайшем понимании переменная величина — это обобщение, абстракция какого-то реального или мысленного объекта (или его отдельной характеристики), который может находиться в разных залогах. Переменные величины задают именами, например, в записи второго закона Ньютона а = F/m имена т, a, F обозначают переменные величины — массу тела, ускорение его движения и силу, которая действует на него.
В программировании сменная также является представителем объекта или йогол*»-деллю в программе. Она представляет его в памяти компьютера, поэтому сменная в программировании — это участок памяти, которая своими залогами представляет залоги объекта.
В языках высокого уровня сменные обозначаются именами, или идентификаторами.’ Имена можно выбирать любые, кроме служебных слов. Например, ABRACADABRA, temperature, number, f 123qqToiu.o. Напомним: большие и малые буквы в именах рассматриваются как одинаковые.
Например, var even : boolean;. Ключевое слово var является сокращением английского variable — сменная. Несколько однотипных сменных можно объявить вместе, указав их имена через запятую.
var tCels, tKelv : integer;
Тип сменной задает множество ее возможных значений (что зависит от длины участка памяти, которую занимает сменная) и операций, которые можно применить к ней.
Каждый участок памяти компьютера имеет адрес, которым участок обозначается в машинной программе. Имя сменной в Паскаль-програмі в результате трансляции превращается в адресу некоторого участка памяти. При выполнении программы этот участок и есть сменной, имя которой записано в программе. Имя сменной указывает или ссылается на участок памяти во время выполнения программы (рис. 1). Как видим, сменная (участок памяти) и ее обозначение (имя) — это разные понятия.
Способы, которыми сменным предоставляются значение, будет описано ниже, а в следующем параграфе будем использовать имена сменных в выражениях, считая, что они имеют значение (неважно, которые именно).Применение операций к числовым и другим значениям, в результате которого образовывается новое значение, в языках программирования высокого уровня задается с помощью выражения.
Простейшие выражения — это константы и имена сменных базовых типов.
Более сложное выражение образовывается с более простых как:
• выражение в дужках;
• два выражений и знак двухместной операции между ними;
• выражение со знаком одноместной операции перед ним;
• вызов функции с выражением в дужках.
Примеры: ((1)), true and false, 1-(2+3) , (1-2)+3, (l+2)<>3, -(5+3), odd(2), ord(odd(15)).
Программирование линейных алгоритмов языком Turbo Pascal 7.0
Значение, к которому применяется бперація, называется ее операн-дом. Операнди обозначаются выражениями. Последовательность применения операций к операндів образовывает процесс вычисления выражения, результатом которого являются значения выражения. Тип значения выражения называется типом выражения.
Как видим, выражение имеет двойное содержание {семантику): задает процесс вычисления и имеет значение определенного типа.
Примеры. Выражение 2*2 = 5 задает процесс, в котором:
1) исчисляется произведение 2*2 и возникает целое значение 4;
2) сравниваются целые значения 4 и 5 и возникает значение false, которое является значением этого выражения; его тип —boolean.
Пусть a, b, с — имена числовых сменных, которые представляют коэффициенты квадратного уравнения ах +bx + c = 0. При вычислении выражения b *b-4*а*с>0 сначала исчисляется квадрат значения змінноїЬ, потом произведение числа 4 и значений сменных а и с, потом разность двух полученных произведений. Эта разность сравнивается с нулем, и булів результат этого сравнения (значение true или false) является значением всего выражения. Итак, это выражение задает вычисление признака того, что указанное уравнение имеет именно два корня.
Предположим, что с — имя символьной сменной, значением которой может быть один из символов ‘0’, ‘ 1’,…, ‘9’, т.е. десятичная цифра. Выражение ord (с) -ord (‘ 0 ‘) задает вычисление порядковых номеров значения сменной с и символа ‘ 0 ‘. Потом исчисляется разность этих номеров — целое число от 0 до 9, т.е. числовое значение цифры. В
Язык Turbo Pascal, в основном, отвечает соглашениям математики о порядке применения операций в выражениях. Это разрешает не записывать лишние дужки, например, 1-2*3 означает то самое, что и 1- (2*3). На порядок применения операций при отсутствии дужек влияет их старшинство, или приоритет.
Если рядом с обозначением операнда записаны знаки двух операций, то сначала выполняется старшая из них (с высшим приоритетом).
В таблице, представленной ниже, все операции разбиты на четыре группы, расположенные в порядке спадания приоритета (некоторые операции обозначены в дальнейших главах). Операции внутри каждой группы имеют одинаковые приоритеты. Например, выражение 1+ (3+2) *2 задает, что после вычисления 3+2, т.е. значение 5, оно множится на 2, а не прибавляется до 1.
[/smszamok]
Кроме приоритетов, операции имеют свойства право- или левостороннего связывания. В языке Turbo Pascal все двухместные операции имеют свойство левостороннего связывания: связывается с операцией, указанной по левую сторону (эта операция применяется сначала). Например, 1-2*4+3 задаете именно, что и (1-2*4) +3, но не то, что 1-(2*4+3).
В системе программирования Turbo Pascal применяется так называемое ленивое, или сокращенное, вычисление булевих операций and и or. Сначала исчисляется их первый операнд. Если для операции and это false, то второй операнд не исчисляется, поскольку результатом все одно будет false. Аналогично, если первый операнд операции or есть true, то второй операнд не нужный. Например, выражение (2*2 = 5) and 323345 div 17 = 0) задает вычисление лишь 2*2=5, а (2*2=4) or (323345 div 17 = 0) — лишь 2*2=4. Полностью булеві выражения исчисляются в специальном режиме компиляции (см. дополнения А і В).
Сочинение! Обязательно сохрани - » Типы действительных чисел . Потом не будешь искать!