Типы данных real bool word

Обновлено: 06.07.2024


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

IdentifierList - несколько идентификаторов, разделённых запятыми (,). Все идентификаторы в списке объявляются как имеющие одинаковый тип.

Основные типы данных Pascal включают:

Стандартный Pascal не предусматривает строкового типа данных, но большинство современных компиляторов имеют его. Опытные программисты на Pascal также используют указатели для динамического распредедения памяти, объекты для объектно-ориентированного прграммирования и многие другие, но эти позволят вам начать.

Дополнительная информация о типах данных Pascal:

  • Free Pascal поддерживает тип String, как он определён в Turbo Pascal: последовательность символов с необязательным указанием размера. Он также поддерживает ansistring (с неограниченной длиной), как в Delphi. Возможные объявления:
  • Предопределённый тип ShortString определён как строка длиной 255.
  • AnsiString - строки, которые не имеют ограничения по длине. Это строки с подсчётом ссылок и гарантированно завершающиеся нулевым символом. Внутренне ansistring рассматривается как указатель: реальное содержимое строки хранится в куче, в которой выделяется столько памяти, сколько необходимо для хранения содержимого строки.
  • Тип Widestring (используется для представления строк юникодных символов) реализован во многом подобно ansistring: с подсчётом ссылок, нуль-терминированный массив, только реализованный как массив WideChar вместо обычных Char.
  • Тип данных boolean может иметь только два значения: TRUE (истина) и FALSE (ложь).

Пример объявления нескольких переменных:

Из документации FPC:

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

* Обратите внимание, что для 64-разрядных версий Windows и целей, не относящихся к Intel, Extended является псевдонимом для Double.

Наиболее важными элементами программы являются переменные. Именно они влияют на ход событий в программе во время ее выполнения. Например, если бы мы не указали значение переменной Name в нашей первой программе, кому было бы адресовано приветствие, выведенное программой?

Переменные могут содержать совершенно различные данные. Например, в одной переменной может храниться чье-то имя, в другой – год рождения, в – третьей – рост и т.д. Такие разные данные и представляются компьютером по-разному. Имя – это строка символов, год рождения – целое число, рост – вещественное число (например, рост равен 1.72 м).

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

Ниже перечислены основные стандартные типы данных языка Турбо-Паскаль:

Заметим, что типы INTEGER, CHAR, и BOOLEAN относятся к порядковым типам (ordinal types).

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

Пример описания переменных различных типов:

Для хранения целых и вещественных чисел существуют и другие предопределенные типы данных. Их характеристики приведены в таблицах ниже. Сравните эти типы с типами INTEGER и REAL, также приведенными в таблицах.

Целые типы данных

Размер в байтах

Вещественные типы данных

Число значащих цифр

Размер в байтах

2.9´10 -39 .. 1.7´10 3 8

5.0´10 -3 24 .. 1.7´10 3 08

3.4´10 -4932 .. 1.1´10 49 32

Какой тип данных использовать

Столько разных типов, скажете Вы, и какой же из них использовать?
Это зависит от поставленной перед Вами задачи. Например, Вам нужна переменная, в которой Вы будете хранить рост некоторого человека (вещественное значение): в этом случае достаточно использовать тип SINGLE. Если какая-то переменная используется у Вас для подсчета количества определенных объектов (целое положительное значение), то прикиньте, может ли быть это число больше 255, если нет – используйте BYTE, если же может – Вам не обойтись без WORD, а в некоторых случаях может понадобиться и LONGINT.

Чтобы узнать о различных типах побольше, нажмите Shift+F1 в среде Турбо-Паскаль (появится окно индекса помощи), а затем выбирайте интересующий Вас объект (например, наберите ‘type’ или ‘real’).

Ответы на вопросы в тестах

Выше, в таблице, эти данные уже предоставленны. Ну, а если вам нужен только ответ: REAL

ST (Structured Text) – это текстовый язык высокого уровня общего назначения, по синтаксису схожий с языком Pascal. Удобен для программ, включающих числовой анализ или сложные алгоритмы. Может использоваться в программах, в теле функции или функционального блока, а также для описания действия и перехода внутри элементов SFC. Согласно IEC 61131-3 ключевые слова должны быть введены в символах верхнего регистра. Пробелы и метки табуляции не влияют на синтаксис, они могут использоваться везде.

Выражения в ST выглядят точно также, как и в языке Pascal:

Порядок их выполнения – справа налево. Выражения состоят из операндов и операторов. Операндом является литерал, переменная, структурированная переменная, компонент структурированной переменной, обращение к функции или прямой адрес.

Типы данных¶

Согласно стандарту IEC 61131-3, язык ST поддерживает весь необходимый набор типов, аналогичный классическим языкам программирования. Целочисленные типы: SINT (char), USINT (unsigned char), INT (short int), UINT (unsigned int), DINT (long), UDINT (unsigned long), LINT (64 бит целое), ULINT (64 бит целое без знака). Действительные типы: REAL (float), LREAL (double). Специальные типы BYTE, WORD, DWORD, LWORD представляют собой битовые строки длиной 8, 16, 32 и 64 бит соответственно. Битовых полей в ST нет. К битовым строкам можно непосредственно обращаться побитно. Например:

a.3 := 1; (* Установить бит 3 переменной a *)

Логический тип BOOL может иметь значение TRUE или FALSE. Физически переменная типа BOOL может соответствовать одному биту. Строка STRING является именно строкой, а не массивом. Есть возможность сравнивать и копировать строки стандартными операторами. Например:

Для работы со строками есть стандартный набор функций (см. приложение 2, раздел «Строковые операции с переменными типа STRING»).

Специальные типы в стандарте IEC определены для длительности (TIME), времени суток (TOD), календарной даты (DATE) и момента времени (DT).

В таблице 3.1 приведены значения по умолчанию, соответствующие описанным выше типам.

Таблица 3.1 – Значения по умолчанию для типов данных IEC 61131-3

По умолчанию, все переменные инициализируются нулем. Иное значение переменной можно указать явно при ее объявлении. Например:

str1: STRING := ‘Hello world’;

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


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

IdentifierList - несколько идентификаторов, разделённых запятыми (,). Все идентификаторы в списке объявляются как имеющие одинаковый тип.

Основные типы данных Pascal включают:

Стандартный Pascal не предусматривает строкового типа данных, но большинство современных компиляторов имеют его. Опытные программисты на Pascal также используют указатели для динамического распредедения памяти, объекты для объектно-ориентированного прграммирования и многие другие, но эти позволят вам начать.

Дополнительная информация о типах данных Pascal:

  • Free Pascal поддерживает тип String, как он определён в Turbo Pascal: последовательность символов с необязательным указанием размера. Он также поддерживает ansistring (с неограниченной длиной), как в Delphi. Возможные объявления:
  • Предопределённый тип ShortString определён как строка длиной 255.
  • AnsiString - строки, которые не имеют ограничения по длине. Это строки с подсчётом ссылок и гарантированно завершающиеся нулевым символом. Внутренне ansistring рассматривается как указатель: реальное содержимое строки хранится в куче, в которой выделяется столько памяти, сколько необходимо для хранения содержимого строки.
  • Тип Widestring (используется для представления строк юникодных символов) реализован во многом подобно ansistring: с подсчётом ссылок, нуль-терминированный массив, только реализованный как массив WideChar вместо обычных Char.
  • Тип данных boolean может иметь только два значения: TRUE (истина) и FALSE (ложь).

Пример объявления нескольких переменных:

Из документации FPC:

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

* Обратите внимание, что для 64-разрядных версий Windows и целей, не относящихся к Intel, Extended является псевдонимом для Double.

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