Стандартные типы
Стандартные типы соответствуют простым значениям – числам, строкам и т.п. Стандартные типы могут использоваться непосредственно для объявления констант, переменных и др., а также могут участвовать при объявлении более сложных типов.
Целые числа
Целочисленный тип используется для представления чисел в диапазоне от -2147483648 до 2147483647. Значение по умолчанию для целых чисел 0 (ноль). Именем целочисленного типа является ключевое слово ЦЕЛОЕ:
ПЕРЕМ ЦЕЛОЕ: ц // 0
Целочисленный тип удобен для последовательной нумерации:
ц++ // 1
При арифметических операциях с целыми числами следует избегать переполнения. В результате переполнения можно получить неожиданное значение:
ц += 2147483647 // -2147483648
Сравнение целочисленных значений всегда точное (в отличие от сравнения вещественных чисел).
Целые и вещественные числа в большинстве случаев совместимы. Можно присваивать целые значения вещественным и наоборот (с округлением):
ц = 5.7 // 6 ц = 1e+012 // ошибка: вне допустимого диапазона
Целые и вещественные значения могут совместно участвовать в арифметических операциях и операциях сравнения.
Вещественные числа
Вещественный тип позволяет представить значения в диапазоне от -1.79769313486231570E+308 до -4.94065645841246544E-324 для отрицательных значений и от 4.94065645841246544E-324 до 1.79769313486231570E+308 для положительных значений. Представление чисел (даже целых) является приблизительным. В указанных пределах значения имеют 15 значащих цифр. Значение по умолчанию для вещественных чисел 0.0 (ноль). Именем вещественного типа является ключевое слово ЧИСЛО:
ПЕРЕМ ЧИСЛО: ч // 0.0
При арифметических операциях с вещественными числами можно столкнуться с переполнением. В результате переполнения могут возникать специальные значения: +бесконечность и -бесконечность.
Сравнение вещественных чисел должно производится с большой осторожностью. Приблизительное представление вещественных чисел открывает большой простор для неожиданных эффектов. Поэтому при сравнении вещественных чисел (как на равенство/неравенство, так и на больше/меньше) необходимо указывать требуемую точность сравнения. Точность сравнения проистекает из смысла числовой величины. Например, цены можно сравнивать с точностью до двух десятичных знаков. Для управления сравнением вещественных чисел используется оператор установки точности сравнения:
ПЕРЕМ ЧИСЛО: ч1 = 5.227 ПЕРЕМ ЧИСЛО: ч2 = 5.223 ТОЧНОСТЬ(2) ПЕРЕМ равно = ч1 = ч2 // ДА
Проблемы приблизительного представления вещественных чисел могут сказываться не только при сравнении, но и при отображении значений пользователю. При отображении необходимо применять округление, соответствующее смыслу величины.
Вещественные и целые числа в большинстве случаев совместимы. Можно присваивать вещественные значения целым с автоматическим округлением и наоборот. Вещественные и целые значения могут совместно участвовать в арифметических операциях и операциях сравнения. Результатом смешанных арифметических операций является вещественное значение:
ПЕРЕМ ЧИСЛО: ч = 1.3 ПЕРЕМ ЧИСЛО: рез1 = 2 * ч // 2.6 ПЕРЕМ ЦЕЛОЕ: рез2 = 2 * ч // 3 - автоматическое округление до целого
Строки
Строковый тип используется для работы с символами и строками произвольной длины. Теоретический предел на длину строки составляет более двух миллиардов символов. Значения строкового типа поддерживают символы как латинского, так и нескольких национальных алфавитов в одной строке. Значение по умолчанию для строкового типа – "" (пустая строка). Именем строкового типа является ключевое слово СТРОКА:
ПЕРЕМ СТРОКА: стр // ""
Сравнение строковых значений чувствительно к регистру символов. Для значений строкового типа доступны специальные операции со строками.
Логический тип
Логический тип удобен при вычислениях сложных условий и установках различных признаков. У логического типа два значения: истинное и ложное. Для обозначения истинного значения используется ключевое слово ДА, а ложного – НЕТ. Значением по умочанию для логического типа является ложное значение. Именем логического типа является ключевое слово ЛОГИКА:
ПЕРЕМ ЛОГИКА: л // НЕТ
Значение логического типа является результатом всех операций сравнения. Логические операции позволяют использовать булеву арифметику для записи сложных логических выражений. Выполнение программы управляется выражением логического типа в операторе ЕСЛИ и цикле ПОКА.
Дата
Значения типа дата содержат информацию о дне, месяце и годе. Допустимый диапазон дат от 01.01.1901 до 31.12.2099. Значением по умолчанию для типа дата является 01.01.2001. Именем типа дата является ключевое слово ДАТА:
ПЕРЕМ ДАТА: д // 01.01.2001
Поддерживаются арифметические операции дат с целыми числами. Целочисленные значения соответствуют количеству дней. Например, разница дат дает количество дней их разделяющих.
Время
Значения типа "дата" содержат информацию о часах, минутах, секундах и сотых долях секунды. Допустимый диапазон значений от 00:00:00:00 до 23:59:59:99. Значением по умолчанию для типа время является 00:00:00:00 (полночь). Именем типа время является ключевое слово ВРЕМЯ:
ПЕРЕМ ВРЕМЯ: в // 00:00:00:00
Поддерживаются арифметические операции со значениями времени. Результатом таких операций является также время.