Practica 2.


Represente mediante hechos ordenados las siguientes realidades:

Los datos de los alumnos de la clase


Identificamos la identidad alumno compuesta por: nombre, apellidos, dni, dirección, curso, especialidad, asignatura. El problema lo tenemos para representar los apellidos y la dirección que pueden ser de campo múltiple así como el nombre. No podemos trabajar con hechos ordenados con una dirección como:
Calle El cerro alto 25
No podríamos representarlo en un hecho ordenado. Propongo la siguiente estructura simple...
(nombre dni curso especialidad)

Que seria una cosa similar a:

(assert (Juan 8384791S 2 SISTEMAS))
(assert (Alberto 8344791S 1 GESTION))

Los datos de una familia y sus relaciones familiares

Este ejercicio se planteo en clase, así como desarrollar un sistema que a partir de la relación, cónyuge, padre-de, madre-de hallar los hijos abuelos tíos etc... Para solucionarlo he implementado con preferencia los varones...
MÍRALO AQUÍ

Los datos de los pacientes, y consulta de un medico.

Podemos estructurarlo mediante...
(paciente nombre dni)
(consulta dni fecha descripcion)
Todas serian de campo simple excepto descripción que englobaría los datos relativos a las pruebas físicas análisis etc...
Veamos un ejemplo...
(paciente Juan 65)
(paciente Pedro 32)
(consulta 65 12-3-02 Síntomas: Ojos enrojecidos Pruebas: Análisis Bien Diagnostico: Enrojecimiento causado por ver mucho el monitor Medicación: Colirio) 
Esta es mi solución aunque puede haber otras...

Entidades de la compra venta de una casa.

Yo la voy a definir asi...
(persona nombre dni)
(casa identificador superficie precio direccion)
(venta comprador vendedor fecha)
Similar al planteado en clase. Es una idea poner los multicampos al final de la estructura (direccion), aun así podría hacerse con plantillas todos estos ejemplos por ejemplo podría haber un multislot de descripción de piso, zona céntrica amueblado etc... Nota: El identificador es para diferenciar una casa de otra.

Producto de matrices.

Yo lo haría de la siguiente forma, pensando que es el producto de filas por columnas.
(matriz numerofila           datos de la fina)

(matriz1 1    2 3 4)
(matriz1 2    5 6 3)

(matriz2 numerocolumna  datos de la columna)
(matriz2 1  1 2 3)
(matriz2 2  4 5 3)
Los inconvenientes son que como puedo chequear si hay las filas y columnas necesarias, si faltan datos... es mejor con plantillas ;)

Mundo de los bloques

Yo lo representaría así...

(bloque-encima-de Suelo A)
(bloque-encima-de A B)
(bloque-encima-de B C)
(bloque-encima-de C D)
(bloque-encima-de D Nada)


Jarras de Agua

Lo representaría así...
(jarra estado)

(jarra1 2)
(jarra2 4)


Siendo la jarra1 la de 3 litros y la 2 la de 5 litros.



PD: Puede que haya algunos errores o no en los paréntesis quizás para evitar el copypasting...