Предусмотреть отбор по коду категории посетителя - Lisp
Формулировка задачи:
В поликлинике ведется учет посетителей: номер полиса обязательного медицинского страхования, страховщик, фамилия, код категории посетителя, причина посещения, сумма, которую должна выплатить страховая компания за прием. Предусмотреть отбор по коду категории посетителя. Коды категории посетителя: 0 — первичный; 1 — состоит на амбулаторном учете; 2 — состоит на специальном учете.
Решение задачи: «Предусмотреть отбор по коду категории посетителя»
textual
Листинг программы
(defstruct visitor number insurer surname code reason fee) (defun visitors (n) (when (> n 0) (cons (make-visitor :number (read) :insurer (read) :surname (read) :code (read) :reason (read) :fee (read)) (visitors (1- n))))) (defun surnames (w input) (loop for a in w when (equalp (visitor-code a) input) collect (visitor-surname a))) (defun code-surnames (w) (surnames w (read))) > (setf clinic (visitors 3)) 111 MA Willis 0 pain 200 112 MB Walsh 1 pain 200 113 MC Wolfgang 2 pain 200 (#S(VISITOR :NUMBER 111 :INSURER MA :SURNAME WILLIS :CODE 0 :REASON PAIN :FEE 200) #S(VISITOR :NUMBER 112 :INSURER MB :SURNAME WALSH :CODE 1 :REASON PAIN :FEE 200) #S(VISITOR :NUMBER 113 :INSURER MC :SURNAME WOLFGANG :CODE 2 :REASON PAIN :FEE 200)) > (code-surnames clinic) 0 (WILLIS) > (code-surnames clinic) 1 (WALSH) > (code-surnames clinic) 2 (WOLFGANG)
Объяснение кода листинга программы
В данном коде на языке Lisp реализована структура данных для посетителя, которая содержит следующие поля: номер, код категории, фамилия, имя, отчество, причина посещения и стоимость приёма.
- (defstruct visitor number insurer surname code reason fee) — определяется структура данных для посетителя.
- (defun visitors (n) — определяется функция для создания списка из n посетителей.
- (defun surnames (w input) — определяется функция для получения списка фамилий посетителей, у которых код категории совпадает с введённым значением.
- (defun code-surnames (w) — определяется функция для получения списка фамилий посетителей, у которых код категории совпадает со значением, введённым пользователем.
- (setf clinic (visitors 3)) — создаётся список из трёх посетителей с произвольными значениями.
- (code-surnames clinic) — выводится список фамилий посетителей, у которых код категории равен 0.
- (code-surnames clinic) — выводится список фамилий посетителей, у которых код категории равен 1.
- (code-surnames clinic) — выводится список фамилий посетителей, у которых код категории равен 2. Таким образом, данный код позволяет создавать и оперировать списками посетителей, фильтровать их по коду категории и выводить необходимые данные.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д