Типы данных языка программирования pascal

Типы данных в Паскале

Любая программа, написанная на любом языке программирования, по большому счету предназначена для обработки данных. В качестве данных могут выступать числа, тексты, графика, звук и др. Одни данные являются исходными, другие – результатом, который получается путем обработки исходных данных программой.

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

Переменные описываются до основного кода программы. Здесь указываются имена переменных и тип хранимых в них данных.

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

Тип переменной определяет, какие данные можно хранить в связанной с ней ячейке памяти.

Переменные типа integer могут быть связаны только с целыми значениями обычно в диапазоне от -32768 до 32767. В Pascal есть другие целочисленные типы ( byte , longint ).

Переменные типа real хранят вещественные (дробные) числа.

Переменная булевского (логического) типа ( boolean ) может принимать только два значения — true (1, правда) или false (0, ложь).

Символьный тип ( char ) может принимать значения из определенной упорядоченной последовательности символов.

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

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

Все вышеописанное – это простые типы данных. Но бывают и сложные, структурированные, которые базируются на простых типах.

Массив – это структура, занимающая в памяти единую область и состоящая из фиксированного числа компонентов одного типа.

Строки представляет собой последовательность символов. Причем количество этих символов не может быть больше 255 включительно. Такое ограничение является характерной чертой Pascal.

Запись – это структура, состоящая из фиксированного числа компонент, называемых полями. В разных полях записи данные могут иметь разный тип.

Множества представляют собой совокупность любого числа элементов, но одного и того же перечисляемого типа.

Файлы для Pascal представляют собой последовательности однотипных данных, которые хранятся на устройствах внешней памяти (например, жестком диске).

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

Явное преобразование типов

В ряде случаев в Pascal происходит автоматический переход от одного типа данных к другому (от целого к действительному, от символьного к строковому и т.д.). Существует также ряд функций, осуществляющих преобразование типов ( ord , chr , trunc , round ). Наряду с этим в Паскаль возможно явное преобразование типов (ретипизация данных). Для того, чтобы осуществить явное преобразование типа, необходимо использовать имя типа аналогично тому, как используется имя функции. В качестве параметра в этом случае указывается имя преобразуемой переменной.

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

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

Вычислить значение функции sign(x) = 1 при x > 0; 0 при x = 0; -1 при x < 0.

var x: real; sign: integer; begin readln(x); sign := byte(x > 0) - byte(x < 0); writeln(sign); end.

В программе при положительном значении x выражение x > 0 принимает значение true , а выражение x < 0 — false. В результате получается, что byte(x >0) = 1 , byte(x < 0) = 0 , а sign = 1 . При отрицательном значении x byte(x >0) = 0 , byte(x < 0) = 1 , sign = -1 . При нулевом значении x sign = 0 .

Источник

1.3. Типы данных в языке Pascal

Среди стандартных типов данных в языке Pascal наиболее часто используются:

  1. Целочисленный тип integer (целые числа).
  2. Вещественный тип real (дробные числа).
  3. Логический тип boolean (логические значения).
  4. Символьный тип char (отдельные символы).
  5. Строковый тип string (строки символов).

В языке Pascal используются следующие типы данных:

  • Byte (целые неотрицательные числа, занимающие 1 байт памяти, в диапазоне от 0 до 2 8 1).
  • ShortInt (короткие целые числа, тоже занимающие 1 байт памяти, в диапазоне от 2 7 до 2 7 1).
  • Word (целые неотрицательные числа, занимающие машинное слово или 2 байта, в диапазоне от 0 до 2 16 1).
  • Integer (обычные целые числа, тоже занимающие 2 байта памяти, в диапазоне от 2 15 до 2 15 1).
  • LongInt (длинные целые числа, занимающие 4 байта памяти, в диапазоне от 2 31 до 2 31 1).
  • Real (ноль и обычные дробные числа в диапазоне от 10  39 до 10 38 ).
  • Single (ноль и дробные числа одинарной точности в диапазоне от 10  45 до 10 38 ).
  • Double (ноль и дробные числа двойной точности в диапазоне от 10  324 до 10 308 ).
  • Extended (ноль и дробные числа расширенной точности в диапазоне от 10  4951 до 10 4932 ).
  • Comp (дробные числа компьютерной точности в диапазоне от 210 63 +1 до 210 63 1).

в) Логический тип Boolean включает два значения: True (истина) и False (ложь).

г) Символьный тип Char включает отдельные символы в кавычках.

д) Перечислимый тип включает набор значений, перечисленных в скобках через запятую.

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

Все простые типы, кроме вещественных, относятся к порядковым типам (количество значений в которых является счётным).

а) Массивы (Array[…]of…) – упорядоченные наборы нумерованных элементов одинакового типа.

б) Строки (String[…]) – последовательности символов в кавычках (массивы символов).

в) Записи (Record…end) – неупорядоченные наборы именованных полей различного типа.

г) Множества (Set of…) – неупорядоченные наборы данных одинакового типа.

д) Файлы – упорядоченные наборы данных различного типа, хранящиеся в памяти ЭВМ (Text, File of…, File), в т.ч.:

  • текстовые файлы (Text);
  • типизированные файлы (File of…);
  • произвольные (нетипизированные) файлы (File).
  1. Динамические типы (сложные типы), к которым относятся:

а) Указатели (ссылочные типы).

б) Действия (процедурные типы).

в) Объекты (наборы данных и действий над ними).

1.4. Операции в языке Pascal

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

div (целочисленное деление).

Источник

Pascal - Data Types

Data types of an entity indicates the meaning, constraints, possible values, operations, functions and mode of storage associated with it.

Integer, real, Boolean and character types are referred as standard data types. Data types can be categorized as scalar, pointer and structured data types. Examples of scalar data types are integer, real, Boolean, character, subrange and enumerated. Structured data types are made of the scalar types; for example, arrays, records, files and sets. We will discuss the pointer data types later.

Pascal Data Types

Pascal data types can be summarized as below in the following diagram −

Pascal Data Types

Type Declarations

The type declaration is used to declare the data type of an identifier. Syntax of type declaration is −

type-identifier-1, type-identfier-2 = type-specifier;

For example, the following declaration defines the variables days and age as integer type, yes and true as Boolean type, name and city as string type, fees and expenses as real type.

type days, age = integer; yes, true = boolean; name, city = string; fees, expenses = real;

Integer Types

Following table gives you details about standard integer types with its storage sizes and value ranges used in Object Pascal −

Type Minimum Maximum Format
Integer -2147483648 2147483647 signed 32-bit
Cardinal 0 4294967295 unsigned 32-bit
Shortint -128 127 signed 8-bit
Smallint -32768 32767 signed 16-bit
Longint -2147483648 2147483647 signed 32-bit
Int64 -2^63 2^63 - 1 signed 64-bit
Byte 0 255 unsigned 8-bit
Word 0 65535 unsigned 16-bit
Longword 0 4294967295 unsigned 32-bit

Constants

Use of constants makes a program more readable and helps to keep special quantities at one place in the beginning of the program. Pascal allows numerical, logical, string and character constants. Constants can be declared in the declaration part of the program by specifying the const declaration.

Syntax of constant type declaration is follows −

const Identifier = contant_value;

Following are some examples of constant declarations −

VELOCITY_LIGHT = 3.0E=10; PIE = 3.141592; NAME = 'Stuart Little'; CHOICE = yes; OPERATOR = '+';

All constant declarations must be given before the variable declaration.

Enumerated types

Enumerated data types are user-defined data types. They allow values to be specified in a list. Only assignment operators and relational operators are permitted on enumerated data type. Enumerated data types can be declared as follows −

type enum-identifier = (item1, item2, item3, . )

Following are some examples of enumerated type declarations −

type SUMMER = (April, May, June, July, September); COLORS = (Red, Green, Blue, Yellow, Magenta, Cyan, Black, White); TRANSPORT = (Bus, Train, Airplane, Ship);

The order in which the items are listed in the domain of an enumerated type defines the order of the items. For example, in the enumerated type SUMMER, April comes before May, May comes before June, and so on. The domain of enumerated type identifiers cannot consist of numeric or character constants.

Subrange Types

Subrange types allow a variable to assume values that lie within a certain range. For example, if the age of voters should lie between 18 to 100 years, a variable named age could be declared as −

We will look at variable declaration in detail in the next section. You can also define a subrange type using the type declaration. Syntax for declaring a subrange type is as follows −

type subrange-identifier = lower-limit . upper-limit;

Following are some examples of subrange type declarations −

const P = 18; Q = 90; type Number = 1 . 100; Value = P . Q;

Subrange types can be created from a subset of an already defined enumerated type, For example −

type months = (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec); Summer = Apr . Aug; Winter = Oct . Dec;

Источник

Читайте также:  Программирование на видеокартах cuda
Оцените статью