Концепция типов данных
Язык должен способствовать повышению надежности программ. Поэтому надежности программ отдается предпочтение даже по сравнению с легкостью их написания. Требование описывать все переменные- это явная избыточность в программе, которая, однако, повышает надежность программы. Язык Паскаль построен таким образом, что снабжает компилятор избыточной информацией, которая используется при проверке согласованности программы без ее выполнения. Каждая переменная в Паскаль-программе должна быть объявлена до своего первого применения. Тип переменной определяет множество допустимых для нее значений, а также набор и правила выполнения операций над ней. Программа, написанная на языке Паскаль, оперирует некоторыми объектами, называемыми данными. Каждый элемент данных в программе является либо константой, либо переменной. Для каждой переменной задается некоторый тип, определяющий как возможные значения переменной, так и операции, которые могут над ней выполняться. Тип переменной задается в разделе переменных. Константа отличается от переменной тем, что ее значение не может изменяться во время выполнения программы и она описывается в разделе констант. Тип константы однозначно определяется ее значением и в явном виде не указывается Исключение - типизированные константы, у которых указывается начальное значение и тип. Они могут изменяться в процессе решения задачи.
СТАНДАРТНЫЕ ПРОСТЫЕ ТИПЫ Целый тип
Данные целого типа используются в тех случаях, когда какую-то величину нужно представить абсолютно точно, например, число живых существ или количество предметов. К данным целого типа относятся константы и переменные.
Константа целого типа – это десятичное число, записанное без точки. Если константа отрицательная, то перед ней должен стоять знак «-» а если положительная,то знак «+» можно не указывать. 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 С аргументами целого типа могут использоваться следующие стандартные функции:
Действительный тип Данные действительного (вещественного) типа используются значительно чаще, чем целого типа. 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.
Читайте также: II. Типовые задачи. Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|