Определить с использованием языка LISP генератор случайных чисел

Узнай цену своей работы

Формулировка задачи:

Определить с использованием языка LISP генератор случайных чисел. Эта функция должна поддерживать глобальную переменную seed и возвращать разные случайные числа при каждом вызове. Описание алгоритма генерации случайных чисел приводится в специальной литературе.

Решение задачи: «Определить с использованием языка LISP генератор случайных чисел»

textual
Листинг программы
(defun initialize nil
 (let ((s1 (progn (print "Введите 1-ю цифру ") (read)))
       (s2 (progn (print "Введите 2-ю цифру ") (read)))
       (s3 (progn (print "Введите 3-ю цифру ") (read)))
       (s4 (progn (print "Введите 4-ю цифру ") (read))))
    (setq *seed* (+ s4 (* 10 (+ s3 (* (+ (* s1 10) s2) 10)))))))
 
(defun get-random nil
  (let ((q (* *seed* *seed*)))
      (setq *seed* (rem (truncate (/ q 100)) 10000))))

Объяснение кода листинга программы

В коде определены две функции: initialize и get-random.

  1. Функция initialize запрашивает у пользователя ввод четырех цифр и сохраняет их в переменных s1, s2, s3 и s4. Затем она вычисляет значение переменной seed, используя эти цифры в качестве начальных значений для генератора псевдослучайных чисел.
  2. Функция get-random использует значение переменной seed для генерации случайного числа в диапазоне от 0 до 9999. Это число затем используется для обновления значения переменной seed, чтобы обеспечить изменение генерации при каждом вызове функции.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы