Mostrando entradas con la etiqueta EJERCICIOS. Mostrar todas las entradas
Mostrando entradas con la etiqueta EJERCICIOS. Mostrar todas las entradas

viernes, 18 de enero de 2019

serie de ejercicios en prolog



____________________________________________

(defun ncifra (n)
  (setq suma 0)
  (while (> n 0)
    (setq r( mod n 10))
    (setq n( / n 10 ))
    (setq suma( + suma r))
  )
)


(ncifra 45)
____________________________________________


(defun par(a)
 (setq r (mod a 2))
  (if (= r 0) 'es_par  'es_impar)
)

(par 6)


martes, 18 de abril de 2017

EJERCICIOS RESUELTOS DE BASE DE DATOS II consultas union

Ej 2.
-
Una oficina gubernamental desea construir un complejo habitacional, para lo cual elaboro la
siguiente Base de Datos:

TRAMO (c_ciudadA, c_ciudadB, Distancia)
CIUDADES (c_ciudad, nombre, cant_escuelas, cant_fabricas)

Para decidir donde instalarlo, desea conocer los siguientes datos:

a) Las ciudades alcanzables desde la ciudad con mayor cantidad de fabricas, recorriendo no más
de dos tramos, c/u de los cuales no puede tener mas de 10km de longitud.
SELECT CB.Nombre
FROM CIUDADES CA, TRAMO T, CIUDADES CB
WHERE CA.Cant_Fabricas = (SELECT MAX(Cant_Fabricas)
FROM CIUDADES
)
AND T.Distancia <= 10
AND T.C_CiudadA = CA.C_Ciudad
AND CB.C_Ciudad = T.C_CiudadB
AND CB.C_Ciudad <> CA.C_Ciudad

UNION

SELECT CB.Nombre
FROM CIUDADES CA, TRAMO T1, TRAMO T2, CIUDADES CB
WHERE CA.Cant_Fabricas = (SELECT MAX(Cant_Fabricas)
FROM CIUDADES
)
AND T1.Distancia <= 10
AND T2.Distancia <= 10
AND T1.C_CiudadA = CA.C_Ciudad
AND T1.C_CiudadB = T2.C_CiudadA
AND CB.C_Ciudad = T2.C_CiudadB
AND CB.C_Ciudad <> CA.C_Ciudad;

b) Las ciudades con mas de 10 fabricas que estén conectadas con todas las demás en forma
directa, siempre que ningún tramo supere los 50km.

SELECT DISTINCT C_Ciudad, C.Nombre
FROM CIUDADES AS C, TRAMO AS T
WHERE C.Cant_Fabricas > 10 AND
C.C_Ciudad = T.C_CiudadA AND
T.Distancia < 50
GROUP BY C.C_CIUDAD,
C.Nombre
HAVING COUNT(C.C_Ciudad) = (SELECT COUNT (C1.C_CIUDAD)-FROM CIUDADES C1);

c) Los pares de ciudades, de la forma (ciudad1, ciudad2), que son alcanzables a través de, a lo
sumo, otra ciudad, llámese a esta, ciudad3 (esto es, encontrar los caminos ciudad1-ciudad3-ciudad2).

SELECT CA.Nombre, CB.Nombre
FROM CIUDADES AS CA, TRAMO AS T1, TRAMO AS T2, CIUDADES AS CB
WHERE T1.C_CiudadA = CA.C_Ciudad
AND T1.C_CiudadB = T2.C_CiudadA
AND CB.C_Ciudad = T2.C_CiudadB
AND CB.C_Ciudad <> CA.C_Ciudad;



EJERCICIOS RESUELTOS DE BASE DE DATOS I consultas anidadas

EJERCICIOS RESUELTOS DE BASE DE DATOS  


Sea la siguiente BD:

PROVEEDORES (nro_p, nom_p, categoria, ciud_p)
ITEMS (nro_i, descripcion_i, ciud_i)
PEDIDOS (nro_p, nro_c, nro_i, cantidad, precio)
CLIENTES (nro_c, nom_c, ciud_c)


a) Listar los proveedores de Córdoba
SELECT Nro_P,
Nom_P
FROM PROVEEDORES
WHERE CIUD_P = 'CORDOBA';

b) Listar los proveedores que proveen el ítem 1
SELECT P.Nro_P, P.Nom_P
FROM ITEMS AS I, PEDIDOS AS PD, PROVEEDORES AS P
WHERE I.Descripcion_I = 'I1'
AND PD.Nro_I = I.Nro_I
AND P.Nro_P = PD.Nro_P;

c) Listar los clientes que solicitan ítems provistos por el proveedor 1
SELECT C.NRO_C, C.Nom_C
FROM CLIENTES AS C, PEDIDOS AS PD, PROVEEDORES AS P
WHERE P.Nom_P = 'P1'
AND PD.Nro_P = P.Nro_P
AND C.Nro_C = PD.Nro_C;

ENTRADAS POPULARES