lunes, 30 de enero de 2017

1.Crear un procedimiento almacenado que devuelva el valor de la hipotenusa
 de un triángulo a partir de los valores de sus lados que se pasan como parámetros.
DELIMITER $$
 DROP PROCEDURE IF EXISTS hipo$$
CREATE PROCEDURE hipo(a INT, b INT)              USE jardinería;
BEGIN                                                                              CALL hipo (1,2);
 SELECT SQRT(POW(a,2)+POW(b,2)) AS hipotenusa;
END;$$
DELIMITER ;
2.Crea un procedimiento que muestre dos cadenas, pasadas como parámetros,
 concatenadas y en mayúsculas. Funciones texto:
DELIMITER $$
DROP PROCEDURE IF EXISTS conca$$
 CREATE PROCEDURE conca(a CHAR(50), b CHAR(50))
 BEGIN
 SELECT UPPER(CONCAT(a, ‘ ‘, b)) AS concatenacion;
 END;$$ DELIMITER ;


Crear una función almacenada, para mostrar el día de la semana según
 un valor de entrada numérico, de la siguiente forma: 1 para lunes, 2 para martes, etc.
 DELIMITER $$
DROP FUNCTION IF EXISTS calendario$$
 CREATE FUNCTION calendario(n INT) RETURNs CHAR(10)
 NO SQL
 BEGIN
DECLARE s CHAR(10);
 CASE n
 WHEN 1 THEN SET s = "Lunes";
  WHEN 2 THEN SET s = "Martes";
 WHEN 3 THEN SET s = "Miércoles";
  WHEN 4 THEN SET s = "Jueves";
 WHEN 5 THEN SET s = "Viernes";
 WHEN 6 THEN SET s = "Sábado";
 WHEN 7 THEN SET s = "Domingo";
 ELSE SET s = "Error";
END CASE;
 RETURN (s);
 END; $$
DELIMITER ;




Funcion almacenada que calcule la suma de 2 numeros
Comprendidos entre dos números introducidos como parámetro.
Los dos números no deben incluirse en la suma.
DELIMITER $$
DROP FUNCTION IF EXISTS suma_num$$
CREATE FUNCTION suma_num(n1 INT, n2 INT) RETURNS INT
NO SQL
DECLARE cont, sum INT;
IF n2 < n1 THEN
BEGIN
SET sum = n1;
SET n1=n2;

SET n2= sum;
END;
END IF;
SET sum =0;
SET cont= n1+1;
 b1: WHILE cont <n2 DO
SET sum= sum+cont;
SET cont = cont+1;
END WHILE b1;
RETURN (sum);
END; $$
DELIMITER;



Crear procedimieinto q reciba 5 numeros como parámetro
Y calcular su media aritmética.
DELIMITER $$
DROP PROCEDURE IF EXISTS ejer1$$
CREATE PROCEDURE eje1(num1 int, num2 int, num3 int,
Num4 int, num5 int)
BEGIN
DECLARE RESULT INT;
DECLARE TIMES INT;
SET TIMES=5;
SET RESULT=((num1+num2+num3+num4+num5)/TIMES);
SELECT RESULT AS Resultado;      use bd;
END;$$                                    call ejer1(1,2,3,4,5);
DELIMITER;

Crear procedimiento q reciba 10 numeros como parámetro
E indique cual es mayor y cual es menor.
DELIMITER $$
DROP PROCEDURE IF EXISTS ejer2$$
CREATE PROCEDURE ejer2(uno int, dos int, tres int, cuatro …)
BEGIN
SELECT GREATEST(uno,dos,tres,cuatro,cinco..) AS Mayor;
SELECT LEAST(uno,dos tres, cuatro, cinco..) AS Menor;
END;
DELIMITER $$    use test;            
 CALL ejer2(1,2,3,4,5,6,7,8,9,10);
                       








Crear función q reciba parámetro un numero y devuelva 0
Si no es primo o un 1 si lo es:
DELIMITER $$
DROP FUNCTION EXISTS ejer3$$
CREATE FUNCTION ejer3(num INT)
RETURNS INT
BEGIN
   DECLARE i INT;
   DECLARE primo INT;
   SET i=2;
   SET primo=1;
IF num < 2 THEN

  SET primo=0;
ELSEIF num=2 THEN
  ELSE primo=1;
ELSE
Bucle: WHILE i <= SQRT(num) DO
IF (num%i)= 0 THEN
SET primo=0;
LEAVE bucle;
END IF;                                     use test;
SET i=i+1;                                  SELECT ejer3(50);
END WHILE;
RETURN (primo);
END IF;
END;$$







SERIE FIBONACCI comienza en 0 y el segundo 1 y resto
Calculan sumando dos números anteriores
N=(n-2)+(n-1).(ej:0,1,2,3,5,8..)
DELIMITER $$
DROP PROCEDURE IF EXISTS ejer4$$
CREATE PROCEDURE ejer4(num INT)
BEGIN
DECLARE num1 INT;
DECLARE num2 INT;
DECLARE CNT INT;
DECLARE CNT2 INT;
DECLARE result INT;
DECLARE FIBONACCI VARCHAR(255);
SET num1=0;
SET num2=1;
SET CNT=0;
SET FIBO=””;
SET CNT2=(num-2);

SET FIBO=CONCAT(FIBO,num1);
SET FIBO=CONCAT_WS(‘,’,FIBO,num2);
WHILE CNT < CNT2 DO
SET result=num1+num2;
SET FIBO=CONCAT_WS(‘,’,FIBO,result);
SENT CNT=CNT+1;
SET num1=num2;                     call ejer4(10);
SET num2=result;
END WHILE;
SELECT FIBO AS ‘Serie fibonacci’;
END;$$
DELIMITER $$

domingo, 29 de enero de 2017

Responder a las siguientes preguntas de forma breve pero clara.
1.       ¿Qué es FETCH?
FETCH es un comando relacionado con los cursores que extrae la siguiente fila de valores del conjunto de los resultados del cursor moviendo su puntero interno en una posición.
2.       ¿Para qué se utilizan los cursores?
Los cursores se utilizan para manipular los datos de una fila que queramos recuperar dichos datos. Se puede asociar con un conjunto de filas.
3. ¿Qué ocurre si hacemos un fetch antes que un open?
Si no realizamos un open no inicializa el conjunto de resultados asociados con el cursor entonces si realizamos un fetch antes que un open no nos extraerá la siguiente fila de valores.
4. ¿Qué ocurre si al declarar un cursor no declaramos su handler?
Se producirá un error que significara que hemos llegado a la ultima fila.
5. ¿Qué ocurre si no se utiliza la sentencia close en un cursor?
Que el cursos no se cierra y sigue ocupando y teniendo acceso a la memoria de sus datos
6. Define lo qué es un trigger.
Un trigger es como un contador de funciones, cada vez que el usuario crea una sentencia con trigger, esté suma las veces que se introduce un nuevo movimiento con dicha sentencia.
7. ¿Qué tipos de triggers existen? Diferencias.
De orden que define el tipo de operación y provoca la activacion del trigger (son los valoresINSERT, UPDATE o DELETE.)
De temporalizacion(before o after). Estos deciden si se activan antes o despues de que se ejecute la operación anterior (Las de ORDEN).
De nivel (Fila u orden). Estos se activan una vez por cala fila afectada por la orden que provocó el disparo. Se desactivan solo una vez, antes o despues de la orden. Estos se pueden identificar por la clausula for each row.
8. ¿Cómo podemos saber que triggers se han creado en una base de datos?
Podemos consultarlo en la tabla INFORMATION_SCHEMA.TRIGGERS




9. ¿Qué usos tienen los triggers?
Se pueden usar para controles de sesiones, que nos permiten ver un resumen de lo realizado en una sesión de un usuario. Tambien se pueden usar para el control de valores de entrada, mantenimiento de campos derivados, estadisticas o registro y auditoria.
10. ¿Cuándo se ejecuta un trigger?
Se ejecuta cuando implícitamente se ejecuta una sentencia INSERT, UPDATE o DELETE.
               

1. Realizar un procedimiento almacenado que nos muestre a partir de un número introducido como parámetro cuales su factorial. (Ejemplo: 6! = 6*5*4*3*2*1 = 720) Para realizarla se debe utilizar un bucle.








  

2. Se conoce como sucesión de Padovan aquella cuyo término enésimo se calcula como n = (n- 2)+(n-3) Ejemplo: 1, 1, 1, 2, 2, 3, 4, 5, 7,… Crear un procedimiento almacenado que reciba como parámetro un número x, mayor de3, y calcule los x primeros números de la sucesión de Padovan.

 





















3. Realizar una función almacenada que devuelva, a partir de un número introducido como parámetro, si es perfecto o no. Un número es perfecto cuando es igual a la suma de sus divisores. Ejemplo: 6 = 1 + 2+ 3














Nota.- Para resolverlo crear previamente una función almacenada que dados dos números como parámetros devuelva si uno es divisor del otro.































domingo, 26 de mayo de 2013

Software libre

Desde la asignatura de informatica hemos hecho un mapa conceptual sobre el software libre utilizando Prezi.

miércoles, 22 de mayo de 2013

Vicent Andres Estellés

Desde l'asignatura de valencia en fet un treball de investigació en homenatge a Vicent Andres Estellés.
Carlos Campos De La Torre i Alejandro Martinez De Madrid.

martes, 21 de mayo de 2013

Historia del feminisme

Desde l'asignatura d'etica hem fet unes preguntes sobre el l'historia del feminisme.
Carlos Campos i Ricardo Galdón.



martes, 30 de abril de 2013

Conversión de Unidades





  Desde la asignatura de informatica hemos hecho unas preguntas sobre la conversion de unidades y una tabla con las capacidades actuales en el mercado.

Quants bytes són 3MB?                       
 3MB = 3x1024x1024= 3145728 bytes 

Quants bits són 4MB?                         
 4MB = 4x1024x1024x8= 33554432bits 

Quants KB són 32.768 bits?               
32768 bits = 32768/8/1024= 4096KB 

Quants MB són 12 GB? i quants KB?                 
12GB = 12x1024 = 12288MB

Quants MegaBytes són 1.000.000 bytes?                                                  
1000000 bites =1000000/1024/1024= 0,95367MB 

Com es diu la magnitud corresponent a 1024 TB?                                                    
 Petabyte 

Quants bytes de dades caben en un disquet de 1400KB?                                   
 1400x1024= 1433600 bites 

Quants disquets de 1400 KB calen per guardar un CD-ROM de 640 MB ?             
 640x1024=655360/1024= Hacen falta 468 disquets
 Crea una taula on apareguen les capacitats actuals en el mercat de les següents unitats d'emmagatzematge: disc dur, CD-ROM, DVD, pendrive o memory flash, memòria RAM, disc ZIP, blue ray. Pots consultas pàgines de tendes d'informàtica.


  
Disc dur
CD-ROM
Pendrive
Memoria RAM
Disc ZIP
Blue Ray
Min:250GB
Max:2TB
Min:250Mb
Max:8GB
Min:1GB
Max:64GB
Min:2GB
Max:4GB
Min:25Mb
Max:700Mb
Min:25GB
Max:1TB