Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Концепция типов данных




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

Язык Паскаль построен таким образом, что снабжает компилятор избыточной информацией, которая используется при проверке согласованности программы без ее выполнения.

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

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

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

 


 

 


СТАНДАРТНЫЕ ПРОСТЫЕ ТИПЫ

Целый тип

Целый тип Диапазон значений Размер памяти
Shortint (короткое целое) -128..127 1 байт
Integer (целое) -32 768..32 767 2 байта
Longint (длинное целое) -2147483648..2147483 647 4 байта
Byte (байт) 0..255 (беззнаковый тип) 1 байт
Word (слово) 0..65536 (беззнаковый тип) 2 байта

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

Константа целого типа – это десятичное число, записанное без точки. Если константа отрицательная, то перед ней должен стоять знак «-» а если положительная,то знак «+» можно не указывать.

Const k=15;

null=0;

p1=-46;

Описание переменной имеет тип integer.

A: integer;

Summa: integer;

B1, B2, B3: integer;

В разделе операторов указанные переменные должны принимать значения целых десятичных типов:

A: = 25;

Summa: = 0;

3.1.1. Операции над данными целого типа:

+ сложение (результат – целое число)

— вычитание(——«——«——-«—-—)

* умножение (——«——«——«——)

Div – деление с отбрасыванием дробной части (получение целого частного при делении целого данного на целое).

Mod – получение целого остатка при делении целого данного на целое.

Пример. Program delen;

Var A,B,Y,Z: Integer;

Begin

Writeln(‘вв A,B’);

Readln(A,B);

Y: = A Div B;

Z: = A Mod B;

Writeln(Y:3, Z:3);

End.

Переполнение при выполнении арифметических операций не обнаруживается!!!

Формат: Write(A:4)


Пример. A = 25;

B = 5;

C = -3;

A+5 = 30;

B Mod A = 5;

13-A = -20;

A Mod C = 1;

C*15 = -45;

A Mod C = -8;

A Div 7 = 3;

25 Div -3 = 8;

A Mod 7 = 4;

-25 Mod –3 = -1


С аргументами целого типа могут использоваться следующие стандартные функции:

Имя функции Математическое обозначение Тип результата
Sin (x) Sin x Real
Cos(x) Cos x Real
Ln(x) Ln x Real
Sqrt(x) Real
Arctan(x) Arctg x Real
Exp(x) ex Real
Sqr(x) x2 Integer
Abs(x) |x| Integer
Odd(x) False, x=2n True, x=2n+1 Boolean
Succ(x) x + 1 Integer
Pread(x) x - 1 Integer
Inc(x) x + 1 Integer
Inc(x,n) x + n Integer
Dec(x) x - 1 Integer
Dec(x,n) x - n Integer

Действительный тип

Данные действительного (вещественного) типа используются значительно чаще, чем целого типа.

2 вида представления вещественных констант с фиксированной и с плавающей точкой: 127.3 25.0 -16.003

4Е-5 0.62Е+4 -10.8Е12 -20Е-3

0.52Е+3 = 5.2Е+2 = 52Е+1 = 520Е = 5200Е-1

В разделе описания констант:

Const L = -1/602E-19;

NA=6.022E23;

PI=3.14;

Summa=-5.6;

Описание переменной имеет тип Real:

Var U, I, R: Real;

Z1:Real;

В разделе операторов: Z1:=-0.03E14;

Scorost:=12.6;

I:=5;

Здесь целое число 5 автоматически преобразуется к действительному типу 5.0 для присвоения переменной I.

3.2.1. Операции над данными действительного типа:

+ — * /

Результат - тоже действительное число.

Если в операции,кроме данных вещественного типа, участвуют и данные целого типа, результат все равно будет вещественный. Степень представляется так: Aх àexp(x*LN(A)) приA>0

Формат: Write(x:m:n), где: m - общее поле, n - поле дробной части.

В арифметических выражениях принят следующий приоритет операций:

1)Вычисление функции.

2) *, /, Div, Mod.

3) +, —.


Пример.

25 Mod 3*4=4

25 Div 3*4=32

5*5 Div 3*4=32

5+5 Mod 3-4=3


Вещественные типы

REAL - действительный (вещественный) тип. Абсолютная величина для этого типа изменяется в диапазоне 2.9Е - 39..1.7Е+38, имеет мантиссу с 11 десятичными цифрами. Занимает в памяти 6 байтов.

SINGL - простой точности, 4 байта.

DOUBLE - двойной точности, 8 байт.

EXTENDED - расширенной точности, 10 байт.

При переполнении вещественного типа происходит программное прерывание.

С аргументами вещественного типа могут не пользоваться следующие стандартные функции:

Sin(x), Cos(x),Ln(x), Sqrt(x), Arctan(x), Exp(x), Sqr(x), Abs(x). Все они вырабатывают результат вещественного типа.

Определены также стандарты функции преобразования значения вещественного типа в значение целого типа:

TRUNC (X) - вырабатывает результат путем отбрасывания дробной части аргумента;

ROUND (X) - вырабатывает целый результат путем округления до ближайшего целого.

Пример.

x=21.53 trunc (x)=21 round (x)=22

x=-27— trunc (x)=-2 round (x)=-3

Логический тип

Boolean - логический тип имеет 2 значения: f alse и true, занимают 1 байт памяти.

Над булевскими переменными определены 3 логические операции:

AND - конъюнкция (логическое умножение),

OR - дизъюнкция (логическое сложение),

NOT - отрицание.

FALSE<TRUE, поэтому применимы операции отношения.

Значения FALSE и TRUE можно рассматривать как упорядоченное множество, состоящее из двух элементов.

Ord (false)=0 {номер)

Succ (false)=true {следующий)

Ord (true)=1 {номер)

Pred (true)=false {предыдущий)

Логический тип (тип boolean) определяет диапазон логических значений, который содержит 2 элемента: TRUE (истина) и FALSE (ложь).

Type Boolean = (False, True);

Логические переменные описываются в разделе описания переменных так:

Var P, Q, R: Boolean;

Логические переменные могут принимать только 2 значения: True и False.

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...