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