Генерация случайных чисел и случайного символа (КуМир)

Тема: 
Линейные алгоритмы

Сгенерировать случайное целое число, вещественное число, случайный символ. Пользователь вводит границы диапазонов, в которых должны генерироваться случайные значения.

Функция rnd() генерирует случайное вещественное число от 0 до того, которое передано ей в качестве параметра.

Для генерации случайного целого в заданных пределах используется выражение
int(rnd(m2-m1+1))+m1.
Если, например, m1=5, m2=10, то m2-m1+1=6. Вызов rnd(6) сгенерирует любое вещественное число от 0 до 5.99(9). После отбрасывания дробной части получим любое целое от 0 до 5. Прибавив минимум, получим случайное от 5 до 10 включительно.

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

Случайный символ генерируется примерно также как и случайное целое. Дополнительно необходимо преобразовывать символы в коды и наоборот. В Кумире можно преобразовывать по двум таблицам: Юникод и КОИ-8.

алг случайное
  нач
  цел m1, m2, n
  ввод m1, m2
  n := int(rnd(m2-m1+1))+m1
  вывод n, нс
 
  вещ m1f, m2f, nf
  ввод m1f, m2f
  nf := rnd(m2f-m1f)+m1f
  вывод nf, нс
 
  сим m1c, m2c
  ввод m1c, m2c
  m1 := юникод(m1c)
  m2 := юникод(m2c)
  n := int(rnd(m2-m1+1))+m1
  вывод символ2(n), нс
кон

Пример выполнения кода:

1 99
65
-2.55 3.50
-0.8950987
к я
я