0 votos
por (20 puntos) en General
editado por
tengo este sistema experto donde se te dice como tratar la hipertension, se me pide poner imagenes por cada ventana principal de dicho codigo, tambien si es posible como puedo hacer para que el programa se siga con la siguiente encuesta o que me permita retomar el cuestionario y no me fuerce en salir y reiniciarlo

aqui esta el codigo como veran ya llame la biblioteca y las imagenes que guarde en una carpeta aparte

%declaracion de librerias para la interfaz

/*declaracion de librerias para la interfaz */

:-use_module(library(pce)).
:-pce_image_directory('./img').
:-use_module(library(pce_style_item)).

resource(sobrepeso, image, image('fattyrun.jpg')).
resource(twoweek, image, image('bestdiet.jpg')).
resource(dash, image, image('maxresdefault.jpg')).
resource(cardio, image, image('maxresdefault1.jpg')).
resource(mediterraneo, image, image('frutas.jpg')).
resource(portada, image, image('medicos.jpg')).

mostrar_imagen(Pantalla, Imagen) :- new(Figura, figure),
                                     new(Bitmap, bitmap(resource(Imagen),@on)),
                                     send(Bitmap, name, 1),
                                     send(Figura, display, Bitmap),
                                     send(Figura, status, 1),
                                     send(Pantalla, display,Figura,point(100,80)).

% metodo principal para iniciar la interfaz grafica, declaracion de
% botones, labels, y la pocicion en pantalla.
inicio:-
  new(Menu, dialog('Proyect SDM version Alienigena 1.3', size(1000,700))),
  %mostrar_imagen(Menu, portada),

  new(L,label(nombre,'TRATAMIENTO PARA GENTE HIPERTENSA')),
  new(A,label(nombre,'hecho por Adrian Jesus Lora Molina 201404523
  Leticia Martinez Cazares 201551165')),
  new(@texto,label(nombre,' No podria presentar ningun sintoma, es conocido como "el asesino silencioso". Puede causar danos en el sistema cardiovascular y los organos internos
  La presion arterial provoca sudoracion, ansiedad, problemas de sueno y enrojecimiento. Pero lamayoria no aparecera ningum sintoma.
  Si llega a crisis hipertensiva, el paciente podria experimentar cefaelas, hemorragias nasales o ateroclirosis

  Como gustaria manejar su tratamiento?')),
  new(@respl,label(nombre,'')),
  new(Salir,button('SALIR',and(message(Menu, destroy),message(Menu,free)))),
  new(@boton,button('realizar test',message(@prolog,botones))),

  send(Menu,append(L)),new(@btncarrera,button('Diagnostico?')),
  send(Menu,display,L,point(125,30)),
  send(Menu,display,A,point(270,360)),
  send(Menu,display,@boton,point(100,200)),
  send(Menu,display,@texto,point(20,100)),
  send(Menu,display,Salir,point(20,400)),
  send(Menu,display,@respl,point(20,130)),
  send(Menu,open_centered).

%enfermedad que precenta y tratamiento de acuerdo a las reglas de diagnostico

fallas('USTED ESCOGIO HACER EL METODO DASH
      La dieta DASH reduce la presión arterial alta al disminuir la cantidad de sodio en su dieta a 2300 miligramos
       (mg) al día. Bajar el sodio a 1500 mg al día reduce aun más la presión arterial.
       También incluye una variedad de alimentos ricos en nutrientes que ayudan a a algunas personas a bajar la presión arterial,
       tales como potasio, calcio y magnesio.
       Con la dieta DASH, usted:
      Consumirá muchas verduras, frutas y productos lacteos sin grasa o bajos en grasa
      Incluirá granos enteros, legumbres, semillas, nueces y aceites vegetales
      Comerá pescado, aves y carnes magras
      Reducirá la sal, las carnes rojas, los dulces y las bebidas azucaradas
      Reducirá las bebidas alcohólicas
     También debe hacer por lo menos 30 minutos de ejercicio de intensidad moderada casi todos los días de la semana.
     Los ejemplos incluyen caminata rápida o montar en bicicleta. Póngase como meta hacer por lo menos 2 horas y 30 minutos de ejercicio por semana.
       '):-dash,!.

fallas('USTED ESCOGIO EL METODO DE DOS SEMANAS
       La media en la ingesta de sal se encuentra entre 9 gramos (g) y 12 g al día en la mayoría de países de todo el mundo.
       Esto puede beneficiar a las personas con y sin hipertensión, pero los que más se beneficiarán son los individuos con la presión arterial elevada.
       Baile. El simple hecho de mover el cuerpo al ritmo de la música que más te agrade, se traducirá en mejor control de la presión arterial.
       También en el agua, el aquagym o aquafitness realizado con una intensidad ligera y bajo el asesoramiento de un monitor,
       nos ayudará con nuestros problemas de hipertensión
       

       '):-dossemanas,!.

fallas('USTED ESCOGIO EL METODO MEDITERRANEO
       La dieta debe ser rica en frutas, verduras, lácteos desnatados y, en general, baja en grasas totales y grasas saturadas.
       El aceite de oliva debe ser la grasa de adición de elección para cocinar y aliñar.
       La dieta mediterránea utiliza una serie de hierbas y condimentos, algunos de los cuales son ricos en antioxidantes (tablas 4 y 5)
       que además de sustituir la sal potencian el sabor de los alimentos.
       La actividad que se aconseja es el ejercicio aeróbico y debe de realizarse con una frecuencia semanal de tres días por semana como mínimo,
       con una frecuencia cardíaca aconsejada de entre el 60 y el 80% de la frecuencia cardíaca máxima.
       Recomendaremos, pues, ejercicio físico aeróbico con una duración de entre 45 a 60 minutos y a días alternos.
       '):-mediterraneo,!.

fallas('USTED ESCOGIO EL METODO SIN SAL (PARA SOBREPESO)
       El principal objetivo de una dieta para hipertensos es bajar la presión arterial, pero para ello debemos saber qué alimentos están prohibidos si tenemos hipertensión y cuáles son los alimentos sin sodio más recomendados.
       Si además tenemos sobrepeso, deberemos cuidar la alimentación y hacer un mínimo de 30 minutos de ejercicio aeróbico al día para adelgazar.
       Es posible que la hipertensión y el sobrepeso conlleven acumulación de grasa en la sangre, por lo que también habría que tener en cuenta las recomendaciones de una dieta para bajar el colesterol.
       Evitar las calorías vacías como la del alcohol o las bebidas y alimentos azucarados.
       Eliminar las grasas animales y con un nivel alto de ácidos grasos poliinsaturados o monoinsaturados: como mantequilla, beicon y manteca de cerdo, aceite de girasol, aceite de oliva, aceite de colza, aceite de lino o aceite de soja.
       Si el IMC es superior a 27, una pérdida de entre 4 y 5 kg, especialmente en pacientes obesos, repercute favorablemente en la tensión arterial. Esta es la medida más efectiva en estas condiciones, tanto, que a menudo no es necesario el uso de fármacos.
       Caminar más de media hora cada día a paso ligero es un ejercicio muy adecuado para lograr reducir la presión arterial.
       Natación. Excelente ejercicio que fortalece las articulaciones (suelen verse resentidas con la edad), favorece el movimiento de grandes grupos musculares y ayuda a disminuir ansiedad/estrés.
       '):-sobrepeso,!.

fallas('USTED ESCOGIO EL METODO CARDIOSALUDABLE
        Es importante reducir la sal en la alimentación, pero también conviene llegar una dieta cardiosaludable equilibrada para mejorar nuestro sistema circulatorio y evitar
        problemas de tipo cardiovascular. ¿Lo mejor? Una dieta rica en legumbres, verduras, frutas y baja en grasas saturadas.
        
        Bicicleta. No importa la distancia que elijas, andar en bicicleta es eficaz para controlar la presión arterial elevada.
        Caminata o yoga. Los ejercicios que requieren de la respiración para llevarse a cabo son recomendables para personas con hipertensión,
        por ejemplo: caminata o yoga. Estudios han demostrado que el ejercicio aeróbico está asociado a una reducción en la presión arterial de pacientes hipertensos.
         '):-cardio,!.

fallas('sin resultados, usted no dio la informacion necesaria o suficiente
ERROR p560c4!').

% preguntas para dirigir a la enfermedad adecuada con su respectivo
% identificador de enferme

dash:- sdash,
  pregunta('Esta seguro?').

dossemanas:- sdossemanas,
        pregunta('Esta seguro?').

mediterraneo:- smediterraneo,
  pregunta('Esta seguro?').

sobrepeso:- ssobrepeso,
  pregunta('Esta seguro?').

cardio:- scardio,
  pregunta('Esta seguro?').

%identificador de falla que dirige a las preguntas correspondientes

sdash:-pregunta('Quiere un metodo flexible y constante?').
sdossemanas:-pregunta('Quiere un metodo rapido?').
smediterraneo:-pregunta('Quiere un metodo vegetariano?').
ssobrepeso:-pregunta('Quiere un metodo de reduccion de peso?').
scardio:-pregunta('Quiere un metodo activo?'),!.

% proceso del diagnostico basado en preguntas de si y no, cuando el
% usuario dice si, se pasa a la siguiente pregunta del mismo ramo, si
% dice que no se pasa a la pregunta del siguiente ramo

:-dynamic si/1,no/1.
preguntar(Problema):- new(Di,dialog('Diagnostico')),
     new(L2,label(texto,'Responde las siguientes preguntas')),
     new(La,label(prob,Problema)),
     new(B1,button(si,and(message(Di,return,si)))),
     new(B2,button(no,and(message(Di,return,no)))),

         send(Di,append(L2)),
   send(Di,append(La)),
   send(Di,append(B1)),
   send(Di,append(B2)),

   send(Di,default_button,si),
   send(Di,open_centered),get(Di,confirm,Answer),
   write(Answer),send(Di,destroy),
   ((Answer==si)->assert(si(Problema));
   assert(no(Problema)),fail).

% cada vez que se conteste una pregunta la pantalla se limpia para
% volver a preguntar

pregunta(S):-(si(S)->true; (no(S)->fail; preguntar(S))).
limpiar :- retract(si(_)),fail.
limpiar :- retract(no(_)),fail.
limpiar.

% proceso de eleccion de acuerdo al diagnostico basado en las preguntas
% anteriores

botones :- lim,
  send(@boton,free),
  send(@btncarrera,free),
  fallas(Falla),
  send(@texto,selection(' ')),
  send(@respl,selection(Falla)),
  new(@boton,button('inicia procedimiento mecanico',message(@prolog,botones))),
        send(Menu,display,@boton,point(40,50)),
        send(Menu,display,@btncarrera,point(20,50)),
limpiar.
lim :- send(@respl, selection('')).

Por favor, accede o regístrate para responder a esta pregunta.

Preguntas relacionadas

0 votos
0 respuestas
0 votos
0 respuestas
preguntado por rataweb (20 puntos) Ene 28, 2016 en Java
0 votos
0 respuestas
preguntado por waralb (20 puntos) Ene 28, 2016 en Java
0 votos
0 respuestas
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...