Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
2 / 2 / 0
Регистрация: 01.11.2012
Сообщений: 45

База данных о врачах и пациентах

18.04.2013, 00:38. Показов 1422. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые форумчане, это моя первая и последняя задача на этом языке. 150-летняя преподавательница даже не собирается нам давать малейшие объяснения (похоже она его сама не помнит). Задача:

Отношения-факты:
<Карта пациента>(<номер>,<фио>,<адрес>,<телефон >,<возраст>,<место работы>)
<Врач>(<код врача>,<фио>,<специализация>)
<Прием>(<код врача>,<номер карты пациента>,<диагноз>,<назначения>,<больни чный да\нет>)

Отношения-правила:
каких врачей прошел пациент за указанный период времени, какие диагнозы были поставлены за все время, каких пациентов принял врач за все время, кому был выдан больничный и т.п.
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
domains
 i=integer
 s=string
 
predicates
    card(i,s,s,s,i,s)
    doctor(i,s,s)
    visit(i,i,s,s,s,s)
    
clauses
    card(1, Demidenko_OV, Stavropolskaya_123, "28636", 19, KFC).
    card(2, Ivanenko_AA, Ugorskaya_48, "33589", 20, Intel).
    card(3, Kyznetsenko_PB, Omskaya_66, "24565", 45, MacDonalds).
    card(4, Kremnenko_AV, Murmanskaya_23, "40186", 68, BeeFree).
    
    doctor(21, Smirnoff_VV, terapevt).
    doctor(22, Abaeff_AT, khirurg).
    
    visit(21, 1, "2 marta" , angina, Azitromicin, YES).
    visit(21, 2, "4 marta", faringit, Amosin_i_operatsia, YES).
    visit(22, 2, "5 marta", faringit, poloskanie, YES).
    visit(22, 3, "5 marta", lishnyaya_noga, otrezat_nogu, NO).
    visit(22, 4, "1 aprelya", abscess, operatsia, NO).
Совершенно не понимаю, как писать отношения-правила. Подскажите, пожалуйста, что мне делать дальше и что, может быть, я сейчас делаю не так? Буду признательна за помощь
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.04.2013, 00:38
Ответы с готовыми решениями:

Составить программу, которая организует ввод данных о пациентах поликлиники
Составить программу, которая организует ввод данных о пациентах поликлиники: ФИО, возраст, адрес,дату поступления, диагноз, ФИО лечащего...

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

База данных, основанная на службах vs База данных SQL Server
Доброго времени суток. Делал я, значит, Data Access Layer для ASP.NET MVC проекта. Создал обычную библиотеку классов, моделей туда...

2
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
18.04.2013, 22:29
Возьмите все строки в фактах в кавычки. С заглавной буквы переменные начинаются. Раз время надо считать, то его стоит в виде структур, а не строк записывать
Диагнозы за все время
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
domains
 i=integer
 s=string
 date=d(integer,integer).
 slist=string*
 
predicates
    nondeterm card(i,s,s,s,i,s)
    nondeterm doctor(i,s,s)
    nondeterm visit(i,i,date,s,s,s)
    nondeterm member(s,slist).
    nondeterm diagnoz(s).
    vse_diagnozi.
    write_d(slist).
    
    
clauses
    card(1, "Demidenko_OV", "Stavropolskaya_123", "28636", 19, "KFC").
    
    doctor(21, "Smirnoff_VV", "terapevt").
    
    visit(21, 1, d(2,3) , "angina", "Azitromicin", "YES").
   
    member(X,[X|_]).
    member(X,[_|Tail]):-member(X,Tail).
    
    diagnoz(D):-visit(_,_,_,D,_,_).
    
    vse_diagnozi:-findall(D,diagnoz(D),List), write_d(List).
    
    %spicialnii vivod, chotbi ne bilo dublikatov
    write_d([]).
    write_d([H|Tail]):-not(member(H,Tail)),!,write(H),nl,write_d(Tail).
    write_d([_|Tail]):-write_d(Tail).
 
goal
    vse_diagnozi.
Остальные попробуйте самостоятельно сделать, уже есть от чего оттолкнуться.
1
2 / 2 / 0
Регистрация: 01.11.2012
Сообщений: 45
04.05.2013, 13:46  [ТС]
Спасибо большое! Подскажите, пожалуйста, если мне нужно вывести, каких врачей прошел пациент за указанный период, то как мне связать врача и код, ведь в visit указывается код врача, а в doctor он только расшифровывается.
Prolog
1
vrachi(V):-visit(V,_,_,_,_,_)...
как-то так, но как?

И еще, объясните, пожалуйста, что значит специальный вывод, чтобы не было дубликатов?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.05.2013, 13:46
Помогаю со студенческими работами здесь

Оптовая база: База данных!
Для оптовой базы требуется разработать информационную систему, позво- ляющую обрабатывать данные о товарах на складе. Информация ...

Как подключиться к базе данных на Wpf. База данных Sql Server
Раньше работал с Windows Worms, и то не долго. Щас хочу перейти на WPF. Я в этом деле еще новичок. Не могли бы вы объяснить как...

Не открывается база данных Access , пишет неразпознаваемый формат базы данных
Не открывается база данных Access , пишет неразпознаваемый формат базы данных,что делать

База данных для телефонной станции ( С условием сортировки данных )
Здравствуйте! Нужно создать программку на Delphi &quot;База данных для телефонной станции ( С условием сортировки данных )&quot; Также большая...

База данных ветклиника, отображение выбранных данных в другой форме!
Здравствуйте, помогите пож-ста. Есть база данных, мне нужно организовать в главной форме Карта Животного поиск по фамилии. В главной форме...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru