Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Для универа / Информатика / Uch_posobie_INFORMATIKA_2010isprav.doc
Скачиваний:
311
Добавлен:
15.02.2016
Размер:
13.32 Mб
Скачать

7.3.4. Использование вещественных чисел

Для того чтобы можно было использовать переменные, которые могут принимать вещественные значения (то есть значения в виде десятичных дробей), следует в разделе описания переменных описать их с помощью типа Real (вещественный).

Вещественные числа в Паскале можно записывать двумя способами – в виде с фиксированной точкой и в виде с плавающей точкой. Запись с фиксированной точкой похожа на обычную запись десятичной дроби в математике, только целая часть от дробной отделяется не запятой, а точкой. Например, число 10,23 в виде с фиксированной точкой записывается как 10.23.

Другим способом представления вещественных чисел является запись с плавающей точкой. В этом случае число представляется как произведение двух сомножителей - m·10n , где m – мантисса числа, а n – порядок числа. Мантисса – это целое число или вещественное число с фиксированной точкой, которое может принимать значение в диапазоне от 1 до 10. Показатель может быть только целым числом. Именно в таком виде по умолчанию выводятся на экран компьютера вещественные числа, причем запись в виде с плавающей точкой будет выглядеть следующим образом – mEn, где E заменяет собой основание степени – число 10. Перед показателем указывается его знак. Число 125.73 (далее в пособии мы будем использовать именно такую запись десятичных дробей) в виде с плавающей точкой будет записано как 1.2573000000E+02, то есть 1.2573·102, а число 0.00441 будет записано как 4.4100000000E-03, то есть 4.41·10-3. В качестве примера использования вещественных переменных рассмотрим задачу вычисления объема параллелепипеда, где его высота, длина и ширина – вещественные числа (рис.7.3.5). В программе, написанной для решения данной задачи, используются 4 переменные. Все они описаны как вещественные. Это l – длина параллелепипеда, w – его ширина, h – высота и v – искомый объем. Исходные данные вводятся с помощью операторов Readln. Затем вычисляется произведение этих трех величин и присваивается переменной w, значение которой выводится оператором Writeln. При вводе в компьютер исходных данных не забываем отделять целую часть числа от дробной части числа точкой. При длине параллелепипеда, равной 4.2, ширине – 2.5, и высоте – 1.8 получим следующий результат, показанный на рис. 7.3.5. Как и следовало ожидать, результат выведен в виде с плавающей точкой. Хотелось бы видеть результат вычислений в более привычной для нас форме. На этот случай в языке Паскаль предусмотрена возможность форматированного вывода, то есть программист может сам определять внешний вид выводимого значения вещественной переменной. Для этого в операторе вывода после имени переменной нужно поставить двоеточие. После двоеточия указывается общее количество символов, отводимое под значение данной переменной, далее ставится еще одно двоеточие, а затем указывается количество цифр в дробной части числа. Не нужно забывать при этом, что одну позицию нужно оставить для точки. Например, если мы хотим, чтобы в программе выводимое на экран значение некоторой переменной t, относящейся к вещественному типу, занимало 8 позиций, из которых 3 отводится под дробную часть, 1 – под десятичную точку, а 4 – под целую часть, то мы запишем наши пожелания в операторе вывода следующим образом: Writeln(t: 8:3);

Следует заметить, что если фактически в вещественном числе – значении форматируемой переменной содержится больше цифр после точки, чем указано в операторе вывода после второго двоеточия, то «лишние» цифры отбрасываются, а если число цифр после точки меньше, чем указанное, то недостающие цифры заменяются нулями.

Исходя из вышесказанного, в нашей программе оператор вывода можно изменить следующим образом:

Writeln (‘Объем параллелепипеда равен’, v: 6:2);

то есть под значение переменной будет использовано 6 символов, в том числе 3 символа для целой части, 1 – для точки и 2 для дробной части. Тогда при тех же исходных данных результат будет выведен в следующем виде: Объем параллелепипеда равен 18.90

то есть результат будет представлен в виде, удобном для восприятия человеком.

Рис. 7.3.5. Программа вычисления объема параллелепипеда

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

В Паскале имеются специальные процедуры позволяющие преобразовывать один тип данных в другой.

Trunc – преобразует вещественное число в целое путем отбрасывания дробной части. Например: trunc(6.72)=6.

Round - преобразует вещественное число в целое путем округления. Например: round(6.72)=7 и round(-6.72)=-6.

Chr и Ord – преобразуют символьное значение в целое и наоборот.