Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2.DOC
Скачиваний:
0
Добавлен:
09.11.2018
Размер:
52.74 Кб
Скачать

28

Глава 2 Данные в языке Паскаль

2.1. Типы данных

Все данные в языке Паскаль подразделяются на типы. Каждый тип определяет множество возможных значений и операций над ними. В языке Паскаль определены четыре стандартных типа: целый, вещественный, Булевский, символьный. Они относятся к так называемым скалярным типам, поскольку любой объект, принадлежащий одному из этих типов, характеризуется одним единственным значением.

Язык Паскаль позволяет программисту вводить свои скалярные типы (так называемые перечислимые типы), и, кроме того, предоставляет широкие возможности структурирования данных .

2.2. Константы

Константы - это элементы данных, которые не могут быть изменены в процессе выполнения программы.

Константа может быть задана в тексте программы непосредственно своим значением либо объявлена в разделе описаний. Например, запись вида

a + 2.831 будет эквивалентна записи a + tp , если в разделе описаний было объявлено

CONST tp=2.831 .

Тип константы полностью определяется формой задаваемого значения. Так, при записи coeff=24 константа coeff будет отнесена к целому типу, а запись coeff=24.0 определит ее как вещественную.

В разделе описаний могут быть объявлены константы скалярных ти-пов, строки, конструкторы множеств.

Язык Турбо Паскаль в определении констант допускает использование так называемых константных выражений, операндами которых могут быть числа, строки, идентификаторы констант, конструкторы множеств, а также следующие стандартные функции:

Abs Chr Hi Length Lo Odd Ord

Pred Ptr Round SizeOf Succ Swap Trunc .

Примеры константных выражений:

CONST a = 0;

b = $B5;

c = (b-a) DIV 2;

Ln10 = 2.302585092994045684;

d = 1/Ln10;

e = Trunc(d);

f ='хорошая погода' + #13#10;

g = ['A'..'Z']+['a'..'z']; Значения констант в дальнейшем не могут быть переопределены.

2.3. Переменные

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

Описание переменных в разделе описаний открывается спецификаци-ей VAR. Имена переменных, относящихся к одному типу, записываются че-рез запятую, после чего следует двоеточие и имя типа, например :

VAR x,y : real;

b : Boolean;

bim,bom : char;

При описании переменных другого типа не требуется повторная запись слова VAR , хотя это и не будет ошибкой .

2.4. Вещественный тип

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

Диапазон определяется минимальным (min) и максимальным (max) абсолютными значениями. В набор значений вещественного типа входит также число 0 (ноль) (рис. 2.1) .

Наличие "мертвой зоны" от -min до min обусловлено дискрет-ностью представления чисел в ЭВМ . Если при вычислениях значение вы-ражения попадает в эту зону, то оно считается равным нулю .

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

от 0.294×10-38 до 1.7×1038 , а точность - примерно 11-12 десятичных разрядов.

-max -min 0 min max Рис. 2.1. Набор значений вещественного типа

Для вещественного типа определены четыре операции :

+ - сложение ,

- - вычитание ,

* - умножение ,

/ - деление .

Старшие операции - умножение и деление, младшие - сложение и вычитание.

Константы вещественного типа задаются в двух формах : - с десятичной точкой, например : -5.272; - так называемой полулогарифмической форме:

mEp , где m - мантисса (число с десятичной точкой); p - десятичный порядок (целое число со знаком; знак "+" может быть опущен).

Примеры чисел в полулогарифмической форме :

0.283E5

31.15E-4

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

Таблица 2.1

Вещественные типы в Турбо Паскале

Обозначение типа

Диапазон значений

Количество цифр мантиссы

Память (байт)

real

0.294×10-38 - 1.7×1038

11-12

6

single

1.5×10-45 - 3.4×1038

7-8

4

double

5.0×10-324 - 1.7×10308

15-16

8

extended

3.4×10-4932 - 1.1×104932

19-20

10

Вещественный тип обычно используется для всевозможных расчетов .

Пример 2.4.1. Вычислить

PROGRAM Prim;

VAR x,y,p : real;

BEGIN

Write('Ввести значение x= '); ReadLn(x);

p:=Sqr(x)+2;

y:=(Sqr(p)+Sqrt(p))/Ln(p);

WriteLn('Результат = ',y)

END.

Промежуточную переменную p здесь использовать не обязательно, но без нее выражение для y было бы более громоздким.

Пример 2.4.2. Вычислить

PROGRAM Zarc;

VAR x,y,z,a : real;

BEGIN

Write('x,y = '); ReadLn(x,y);

a:=Sqrt(1-y*y)/y;

z:=(ArcTan(1/a)+ArcTan(a))/

Sqr( Sqr(Abs(Sin(x))+2) );

WriteLn('z= ', z)

END.

Для вычисления функций arcsin и arccos использована функция ArcTan (см. п.1.3). Возведение в четвертую степень реализуется двукратным возведением в квадрат с помощью функции Sqr .

Задачи

2.4.1. Вычислить радиус шара по его объму.

2.4.2. Вычислить площадь сферы и объем шара (по заданному ра-диусу).

2.4.3. Вычислить площадь треугольника по задаваемым сторонам.

2.4.4. Вычислить

.

2.4.5. Вычислить

Значения a,x вводятся с клавиатуры.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]