Разработать консольную программу, получающую на вводе строку, значение которой может быть
равным одному из следующих вариантов:
Shortint SmallInt
Longint Longword
Int64 Byte Word
Cardinal
QWord
Char Boolean.
Если введенная строка не соответствует ни одному из приведенных вариантов, вывести на экран слово Error и завершить работу программы.
Для введенного типа данных вывести на экран (1) нижную границу типа, (2) верхнюю границу типа, (3) размер типа в байтах. Заполнить переменную введенного типа случайным значением из диапазона от нижней до верхней границы типа включительно. Вывести на экран (4) полученное значение, (5) предыдущее и (6) последующее значение. Вывести на экран (7) значения байтов, хранящих переменную введенного типа, в порядке их расположения в оперативной памяти. Если полученное случайное значение является максимальным для данного типа, то вместо последующего (6) значения вывести слово Overflow. Если полученное случайное значение является минимальным для данного типа, то вместо предыдущего (5) значения также вывести слово Overflow.
Запрещается использовать константные значения характеристик типа. Значения всех характеристик типа следует вычислять, используя специальные функции для работы с порядковым типом данных (low, high, prev, succ и т.д.).
Пример вывода для типа Longint:
Исследуемый тип: Longint Нижняя граница: -2147483648 Верхняя граница: 2147483647 Байт на переменную: 4 Случайное значение: 818295054 Предыдущее значение: 818295053 Последующее значение: 818295055 Содержимое оперативной памяти: 14 49 198 48
Получение случайных значений с использованием функции Random ограничено неотрицательным диапазоном типа Longint. Поэтому для получения случайных значений из всего диапазона целочисленных типов данных, а также типов, диапазон которых в положительной области превышает диапазон для типа Longint, рекомендуется получать случайное значение для каждого байта целочисленного типа и сохранять полученный результат в соответсвующей области памяти.
Значения типа Char могут не иметь корректного визуального представления, поэтому их рекомендуется выводить в виде ASCII-кода. Например, вместо латинской буквы 'A' следует выводить значение #65:
Исследуемый тип: Char Нижняя граница: #0 Верхняя граница: #255 Байт на переменную: 1 Случайное значение: #65 Предыдущее значение: #64 Последующее значение: #66 Содержимое оперативной памяти: 65