Advertisement
Guest User

xxx

a guest
Jul 29th, 2018
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 6.04 KB | None | 0 0
  1. %:- use_module(library(pce)).
  2. %:- use_module(library(pce_style_item)).
  3. main:-%Regla_para_crear_objetos
  4.     new(Menu, dialog('DIAGNOSTICO MEDICO', size(500,500))), %Tipo_dialogo_y_el_tamaño
  5.     new(L, label(nombre, 'BIENVENIDO A SU ATENCION MEDICA')),%Label
  6.     %Creando variables
  7.     new(@texto, label(nombre, 'Favor de responder las preguntas para tener un posible diagnóstico')),%Es decir la var nombre tendra el texto
  8.     new(@resp, label(nombre, '')),
  9.     %Creando boton salir
  10.     new(Salir, button('SALIR', and(message(Menu, destroy), message(Menu, free)))),
  11.     %Creando boton de ok con su variable
  12.     new(@boton, button('REALIZAR CONSULTA',message(@prolog, botones))),
  13.     %Creando el tamaño de cada boton y cada label
  14.     send(Menu, append(L)), new(@botoncarrera, button('¿Diagnostico?')),
  15.     send(Menu, display, L, point(70,20)),
  16.     send(Menu, display, @boton, point(300, 150)),
  17.     send(Menu, display, @texto, point(20,100)),
  18.     send(Menu, display, Salir, point(200,200)),
  19.     send(Menu, display, @resp, point(20, 130)),
  20.     send(Menu, open_centered),
  21.     send(@texto, font, font(comic, bold, 10)),
  22.     send(L, font, font(comic, bold, 20)).
  23.  
  24. enfermedades(colesterol):- colesterol,!.
  25. enfermedades(diabete):- diabete, !.
  26. enfermedades(gastritis):- gastritis,!.
  27. enfermedades(asma):- asma,!.
  28. enfermedades(sida):- sida,!.
  29. enfermedades(tuberculosis):- tuberculosis,!.
  30. enfermedades(neumonia):- neumonia,!.
  31. enfermedades(peste):- peste,!.
  32. enfermedades(obesidad):- obesidad,!.
  33. enfermedades(malaria):- malaria,!.
  34. enfermedades(epilepsia):- epilepsia,!.
  35.  
  36. enfermedades('Una enfermedad no registrada en la base de datos').
  37.  
  38. colesterol:- tiene_colesterol,
  39. pregunta('¿Tiene hinchazon en alguna extremidad del cuerpo?'),
  40. pregunta('¿Tiene perdida del equilibro y/o mareos?'),
  41. pregunta('¿Tiene dolor de cabeza?'),
  42. pregunta('¿Tiene amarillo en sus ojos?'),
  43. pregunta('¿Tiene visión borrosa?'),
  44. pregunta('¿Tiene agitación? En especial al caminar o al realizar movimientos'),
  45. pregunta('¿Tiene dolor en el pecho?').
  46.  
  47. diabete:- tiene_diabete,
  48. pregunta('¿Suele orinar con frecuencia?'),
  49. pregunta('¿Suele tener sed constante?'),
  50. pregunta('Suele tener hambre en exceso?'),
  51. pregunta('Tiene perdida de peso inexplicable?'),
  52. pregunta('¿Tiene debilidad en su cuerpo?'),
  53. pregunta('¿Suele tener irritabilidad?'),
  54. pregunta('¿Tiene visión borrosa?').
  55.  
  56. gastritis:- tiene_gastritis,
  57. pregunta('¿Tiene ardor en el estómago?'),
  58. pregunta('¿Padece de perdida de peso?'),
  59. pregunta('¿Suele tener nauseas repentinas?'),
  60. pregunta('¿Padece de hipo y eructos frecuentes?'),
  61. pregunta('¿Suele tener mal sabor en la boca?'),
  62. pregunta('¿Tiene vacío gástrico?').
  63.  
  64. asma:- tiene_asma,
  65. pregunta('¿Suele tener tos?'),
  66. pregunta('¿Tiene sibilancias?'),
  67. pregunta('¿Tiene presión en el pecho?'),
  68. pregunta('¿Tiene dificultad para respirar?').
  69.  
  70. sida:- tiene_sida,
  71. pregunta('¿Tiene fiebre?'),
  72. pregunta('¿Tiene dolor de cabeza?'),
  73. pregunta('¿Tiene o sufre de fatiga?'),
  74. pregunta('¿Tiene glandios linfaticos hinchados?'),
  75. pregunta('¿Tiene dolor de garganta?'),
  76. pregunta('¿Tiene sarpullido?').
  77.  
  78. tuberculosis:- tiene_tuberculosis,
  79. pregunta('¿Tiene tos con sangre o esputo?'),
  80. pregunta('¿Dolor en el pecho?'),
  81. pregunta('¿Debilidad o cansancio?'),
  82. pregunta('¿Pérdida de peso?'),
  83. pregunta('¿Falta de apetito?'),
  84. pregunta('¿Escalofríos?'),
  85. pregunta('¿Fiebre?').
  86.  
  87. neumonia:- tiene_neumonia,
  88. pregunta('¿Tiene cansancio muscular y articular?'),
  89. pregunta('¿Cansancio?'),
  90. pregunta('¿Dolores de cabeza?').
  91.  
  92. peste:- tiene_peste,
  93. pregunta('¿Tiene fiebre?'),
  94. pregunta('¿Escalofríos?'),
  95. pregunta('¿Cansancio?'),
  96. pregunta('¿Dolor de cabeza?'),
  97. pregunta('¿Dolor de estómago?'),
  98. pregunta('¿Infiltraciones de sangre en la piel?').
  99.  
  100. obesidad:- tiene_obesidad,
  101. pregunta('¿Tiene baja resistencia?'),
  102. pregunta('¿Sudoración?'),
  103. pregunta('¿Molestias artículares?').
  104.  
  105. malaria:- tiene_malaria,
  106. pregunta('¿Tiene fiebre?'),
  107. pregunta('¿Escalofríos?'),
  108. pregunta('¿Tiritonas?'),%Ojo, que carajos son las ¿Tiritonas
  109. pregunta('¿Sudoración?'),
  110. pregunta('¿Tiene cefaleas y dolores generalizados de musculos y articulaciones?'),
  111. pregunta('¿Tiene vómito y diarrea?').
  112.  
  113. epilepsia:- tiene_epilepsia,
  114. pregunta('¿Tiene mareos?'),
  115. pregunta('¿Dificultad para hablar?'),
  116. pregunta('¿Sensación de desconexión con el entorno?'),
  117. pregunta('¿Convulsiones?'),
  118. pregunta('¿Rigidez muscular?').
  119.  
  120. desconocido:- enfermedad_desconocida.
  121. tiene_colesterol:- pregunta('¿Tiene adormecimiento en alguna extremidad?'),!.
  122. tiene_diabete:- pregunta('¿Suele orinar con frecuencia?'),!.
  123. tiene_gastritis:- pregunta('¿Suele tener ardos en el estómago?'),!.
  124. tiene_asma:- pregunta('¿Suele tener tos?'),!.
  125. tiene_sida:- pregunta('¿Padece o tiene fiebre?'),!.
  126. tiene_tuberculosis:- pregunta('¿Padece de dolor en el pecho?'),!.
  127. tiene_peste:- pregunta('¿Padece o tiene fiebre?'),!.
  128. tiene_neumonia:- pregunta('¿Padece de peste malestar general?'),!.
  129.  
  130. :- dynamic si/1, no/1.
  131.  
  132. preguntar(Problema):- new(Di, dialog('EXAMEN MEDICO')),
  133. new(L2, label(texto, 'Responde las siguientes preguntas:')),
  134. new(La, label(prob, Problema)),
  135. new(B1, button(si, and(message(Di, return, si)))),
  136. new(B2, button(no, and(message(Di, return, no)))),
  137. send(Di, append(L2)),
  138. send(Di, append(La)),
  139. send(Di, append(B2)),
  140. send(Di, default_button, si),
  141. send(Di, open_centered), get(Di, confirm, Answer),
  142. write(Answer), send(Di, destroy),
  143.  
  144. (Answer==si)->assert(si(Problema));
  145. assert(no(Problema)), fail).
  146.  
  147. pregunta(S):- (si(S)->true; (no(S)->fail; preguntar(S))).
  148. %Acá se limpia
  149. limpiar:- retract(si(_)), fail.
  150. limpia:- retract(no(_)), fail.
  151.  
  152. botones:- lim,
  153. send(@boton, free),
  154. send(@botoncarrera, free),
  155. enfermedades(Enfer),
  156. send(@texto, selection('Segun sus sintomas, usted es muy probable que padezca de: ')),
  157. send(@resp, selection(Enfer)),
  158. send(@resp, font, font(comic, bold, 15)),
  159. new(@boton, button('Iniciar su evaluación', message(@prolog, botones))),
  160. send(Menu, display, @boton, point(40,50)),
  161. send(Menu, display, @botoncarrera, point(20,50)),
  162. limpiar.
  163. lim:- send(@resp, selection('')).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement