domingo, 2 de abril de 2017

SQL

SQL

El lenguaje de consulta estructurado SQL (Standard Query Lenguaje) ) es un lenguaje de base de datos normalizado, utilizado por el motor de base de datos de Microsoft Jet el cual nos permite crear tablas y obtener datos de ella de manera muy sencilla. 

El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos.






La siguiente instrucción SELECT SQL devuelve todos los registros de la tabla Product.dbf que contienen una "W" como el primer carácter en el campo Regionabbreviation. La instrucción SELECT SQL enumera los registros de "WY" y "WA" en una ventana Examinar.

 SELECT * from customer WHERE Region like "W_"

La siguiente instrucción SELECT SQL muestra todos los registros que tienen una "P" o una "C" como el último carácter en el campo Regionabbreviation. La salida incluye registros de "SP" y "BC".

 SELECT * from customer WHERE Region like "_P" OR region like "_C

La siguiente instrucción SELECT SQL utiliza el signo de porcentaje y el carácter de subrayado para devolver todos los registros que tienen un Cust_ID que empieza con "G" y que tienen un campo Regionabbreviation que termina con la "p".

Nota: El signo de porcentaje permite cualquier cadena de caracteres siga "G." Por el contrario, el guión bajo permite la sustitución de sólo un único carácter.

SELECT * FROM Customer WHERE cust_ID LIKE "G%"  AND region LIKE "_P"

Para realizar una búsqueda de cadena similar a la que se realiza la función $, utilice una instrucción como:

SELECT * from customer WHERE company like "%M%"

Esta instrucción SELECT SQL busca todas las compañías que tienen nombres que contienen "M".
Ingresar

sábado, 1 de abril de 2017

Bases de Datos

bases de datos 

Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido; una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.

Normalización

En la teoría de bases de datos relacionales, las formas normales (NF) proporcionan los criterios para determinar el grado de vulnerabilidad de una tabla a inconsistencias y anomalías lógicas. Cuanto más alta sea la forma normal aplicable a una tabla, menos vulnerable será a inconsistencias y anomalías. Cada tabla tiene una "forma normal más alta" (HNF): por definición, una tabla siempre satisface los requisitos de su HNF y de todas las formas normales más bajas que su HNF; también por definición, una tabla no puede satisfacer los requisitos de ninguna forma normal más arriba que su HNF.


Primera forma normal

La primera forma normal (1FN o forma mínima) es una forma normal usada en normalización de bases de datos. Una tabla de base de datos relacional que se adhiere a la 1FN es una que satisface cierto conjunto mínimo de criterios. Estos criterios se refieren básicamente a asegurarse que la tabla es una representación fiel de una relación y está libre de "grupos repetitivos".

Sin embargo, el concepto de "grupo repetitivo", es entendido de diversas maneras por diferentes teóricos. Como consecuencia, no hay un acuerdo universal en cuanto a qué características descalificarían a una tabla de estar en 1FN. Muy notablemente, la 1FN, tal y como es definida por algunos autores excluye "atributos relación-valor" (tablas dentro de tablas) siguiendo el precedente establecido por (E.F. Codd) (algunos de esos autores son: Ramez Elmasri y Shamkant B. Navathe). Por otro lado, según lo definido por otros autores, la 1FN sí los permite (por ejemplo como la define Chris Date).


Segunda forma normal

La segunda forma normal (2NF) es una forma normal usada en normalización de bases de datos. La 2NF fue definida originalmente por E.F. Codd en 1971. Una tabla que está en la primera forma normal (1NF) debe satisfacer criterios adicionales para calificar para la segunda forma normal. Específicamente: una tabla 1NF está en 2NF si y solo si, dada una clave primaria y cualquier atributo que no sea un constituyente de la clave primaria, el atributo no clave depende de toda la clave primaria en vez de solo de una parte de ella.

En términos levemente más formales: una tabla 1NF está en 2NF si y solo si ninguno de sus atributos no-principales son funcionalmente dependientes en una parte (subconjunto propio) de una clave candidata (Un atributo no-principal es uno que no pertenece a ninguna clave candidata).
Observe que cuando una tabla 1NF no tiene ninguna clave candidata compuesta (claves candidatas consisten en más de un atributo), la tabla está automáticamente en 2NF.

Tercera forma normal

La tercera forma normal (3NF) es una forma normal usada en la normalización de bases de datos. La 3NF fue definida originalmente por E.F. Codd en 1971. La definición de Codd indica que una tabla está en 3NF si y solo si las tres condiciones siguientes se cumplen:

La tabla está en la segunda forma normal (2NF)

Ningún atributo no-primario de la tabla es dependiente transitivamente de una clave primaria
Es una relación que no incluye ningún atributo clave

Ingresar

jueves, 27 de octubre de 2016

Ciclo Hasta







1)Ingresar el nombre del alumno, la nota , luego preguntar si desea continuar , al
final presentar el numero de aprobados y reprobados.

caracter resp
real nota
entero aprobado,reprobado
cadena[25] nombre
inicio
aprobado<-0
reprobado<-0
repita
Escriba "ingresar el nombre del alumno: "
lea nombre
Escriba "ingresar la nota del alumno: "
lea nota
si nota >= 3 entonces
aprobado<-aprobado+1
sino
reprobado<-reprobado+reprobado
fin si
escriba " Desea continuar S/N: "
lea resp
hasta (resp='n') o (resp='N')
escriba " Aprobados: ",aprobado
llamar nueva_linea
escriba " Reprobados: ",reprobado
fin

2)

















Ingresar

Vectores

VECTORES.


Los vectores o arreglos son una forma de almacenar datos que permiten contener una serie de valores del mismo tipo, cada uno de los elementos contenidos tiene una posición asociada que se usará para acceder los.  Está posición o índice será siempre un número entero positivo.

Imagen
RECORRER UN VECTOR.
Recorrer un vector es pasar casilla por casilla del vector para conocer los elementos guardados en ellas para luego realizar una acción con esta información, ya sean comparaciones
Ejemplo en LPP:

arreglo [10] de entero vector
entero i,j,aux
inicio

escriba “ejemplo recorrer un vector.”
llamar nueva_Linea
para i<-1 hasta 10 haga

escriba “ingrese el siguiente numero: “
lea vector[i]
fin para
para i<-1 hasta 10 haga

escriba “posicion ‘”,i,”‘ es: “,vector[i]
llamar nueva_linea
fin para
fin


Ejemplos: 

Vectores:

1.
2.
3.
4.
5.


Con algoritmos secuenciales

1.Elabore un algoritmo que lea 3 notas de un estudiante, las sume y muestre la nota definitiva (Hacer esto con 10 estudiantes)
arreglo [10] de real nota_f
real nota_1,nota_2,nota_3
entero i
inicio
para i<-1 hasta 10 haga
escriba "ingrese su nota: "
lea nota_1
escriba "ingrese su nota: "
lea nota_2
escriba "ingrese su nota: "
lea nota_3
nota_f[i]<-(nota_1+nota_2+nota_3)/3
fin para
para i<-1  hasta 10 haga
escriba nota_f[i]
llamar nueva_linea
fin para
fin

2.un estudiante desea saber cual es su edad, teniendo encuenta su año de nacimiento. Mostrar nombre,el apellido y su edad actual(hacer esto con 10 estudiantes)

arreglo [10] de cadena[20] nom
arreglo [10] de cadena[20] ape
arreglo [10] de entero edad
real fecha_n
entero i
inicio
para i<- 1 hasta 10 haga
escriba "ingrese su nombre: "
lea nom[i]
escriba "ingrese su apellido: "
lea ape[i]
escriba "ingrese su fecha de nacimiento :"
lea fecha_n
edad[i]<-2016-fecha_n
fin para 
para i<-1 hasta 10 haga
escriba edad[i], " "
escriba nom[i], " "
escriba ape[i], " "
llamar nueva_linea
fin para
fin


Con algoritmos condicionales

1. se necesita saber cuanto es la suma de dos numero pero si el primero numero es menor que 10 en vez de sumar se restan los números (hacer esto con 10 numeros)

arreglo[10] de entero total
real num_1,num_2,total
entero i
inicio
para i<-1 hasta 10 haga
escriba "ingrese un numero: "
lea num_1
escriba "ingrese un numero: "
lea num_2
si num_1<10 entonces 
 total[i]<-num_1-num_2
  sino total[i]<-num_1+num_2
fin si
fin para
para i<- 1 hasta 10 haga 
escriba total
llamar nueva_linea
fin para
fin

2. en una empresa estan haciendo un evento alas personas que se llamen diego  y les dan un bono de 6% del salario se necesita hacer esto con 10 empleados

arreglo[10] de entero pago_t
real pago_i
cadena[20]nombre
entero i
inicio
para i<-1 hasta 3 haga
escriba "ingrese su nombre: "
lea nombre
escriba "ingrese su pago: "
lea pago_i
si nombre="diego" entonces 
 pago_t[i]<-pago_i+(pago_i*0.06)
  sino pago_t[i]<-pago_i
fin si
fin para
para i<-1 hasta 3 haga
escriba pago_t[i]
llamar nueva_linea
fin para
fin 

3. Algoritmo que lea 10 nombres y los muestre.


Arreglo [10] de cadena[20] Nombre
Entero i
INICIO
Para i<-0 hasta 9 haga
  Escriba "ingrese ", i, " nombre : "
  lea nombre[i]
       llamar nueva_linea
fin para
Escriba "Los nombres ingresados fueron : "
llamar nueva_linea
Para i<-0 hasta 9 haga
      Escriba Nombre[i], " "
fin para
FIN

4. algoritmo que lea 10 numeros y los muestre.


arreglo [10] de entero num
entero i

inicio
para i<-1 hasta 10 haga
escriba “ingrese un numero: “
lea num[i]
fin para
para i<-1 hasta 10 haga
escriba num[i], " "
fin para

fin

Con algoritmos haga para

1. Hacer un algoritmo que lea 2 numeros y determine la suma entre ellos, hacer estos mismo 10 veces



arreglo [10] de entero suma
entero i,numero,numero_2
inicio
suma[i]<-0
para i<-1 hasta 10 haga
escriba "ingrese un numero:"
lea numero
escriba "ingrese un numero"
lea numero_2
suma[i]<-numero_2+numero
fin para
para i<-1 hasta 10 haga 
escriba suma[i]
llamar nueva_linea
fin para
fin

2. desarrollar un algoritmo que ingrese la cantidad de numeros deseados, los sume y les saque el promedio, al final muestre todos los numeros ingresado

arreglo [10] de entero num
entero suma,i,cant_n
real promedio
inicio 
escriba "ingrese la cantidad de numeros: "
lea cant_n
suma <-0
para i<-1 hasta cant_n haga
escriba "ingrese un numero: "
lea num[i]
suma<-suma+num[i]
escriba "lleva: ",suma
llamar nueva_linea
fin para
para i<-1 hasta 10 haga 
escriba num[i]
llamar nueva_linea
fin para
promedio<-suma/cant_n
escriba "el promedio es: ",promedio
fin 


con algoritmos haga hasta:

1. Hacer un algoritmo tipo vector con haga hasta que ingrese 10 números y los muestre.

arreglo [10] de entero numero
entero i
inicio
i<-1
repita
escriba "ingrese numero ",i
lea numero[i]
i<-i+1
hasta i=11

i<-1
escriba "vector: "
llamar nueva_linea

repita
escriba "numero: ",numero[i]
i<-i+1
llamar nueva_linea
hasta i=11
fin


2.Hacer un algoritmo tipo vector con haga hasta que ingrese 10 meses y los muestre.


arreglo [10] de cadena[15] meses
entero i
inicio
i<-1
repita
escriba "ingrese mes ",i
lea meses[i]
i<-i+1
hasta i=11



i<-1
escriba "vector: "
llamar nueva_linea



repita
escriba "mes: ",meses[i]
i<-i+1
llamar nueva_linea
hasta i=11



fin

Con algoritmos haga mientras

1) algoritmo con ciclo que pida 9000 camisas
arreglo [9000] de cadena [20] camisa
entero i
inicio
Contador<-0
mientras Contador<9000 haga                
escriba "ingrese camisa "
lea camisa[i]
llamar nueva_linea
i<-i+1  
fin mientras
fin

2)Ingresar 10 números y al final presentar la suma de los números.

arreglo [10] de Entero num
entero i,suma
Inicio
i←0
Suma←0
Mientras i<10 haga
Escriba “Ingresar un numero”
Lea num[i]
i← i +1
Suma←num[i]+suma
Fin mientras
Escriba “Suma de los 10 números “, suma
Mientras i<10 haga
escriba num[i], " "
i← i +1
Fin mientras

Fin

Ingresar

miércoles, 7 de septiembre de 2016

Haga Para

En los ciclos veremos como los mismos planteamientos se pueden hacer con distintos ciclos(hay que hay algunos que quedan mejor con cada respectivo ciclo)

1)Hacer un algoritmo que lea 5 numeros y determine la suma entre ellos.

entero i,suma,numero
INICIO
suma<-0
para i<-1 hasta 5 haga
escriba "ingrese un numero:"
lea numero
suma<-suma+numero
fin para
escriba "la suma de los numeros es: ",suma

FIN

como podemos observar es mucho mas sencillo hacer este ejercicio en haga para que en el mientras.Esto solo lo menciono para que se den cuenta que con cada ciclo es mas facil o dificil hacer cada cosa

2)algoritmo que muestre los primeros 10 numeros naturales y los sume 

entero num ,suma,i
inicio
num <-1
suma <-0
para i<-1 hasta 10 haga
escriba  num 
llamar nueva_linea
num <- 1 +num 
suma<- num +suma 
fin para
escriba "la suma total es: ",suma
fin  

como podemos observar tambien hay algoritmos que se pueden hacer atomaticos

3)desarrollar un algoritmo que ingrese la cantidad de numeros deseados, los sume y les saque el promedio

entero num,suma,i,cant_n
real promedio
inicio 
escriba "ingrese la cantidad de numeros: "
lea cant_n
suma <-0
para i<-1 hasta cant_n haga
escriba "ingrese un numero: "
lea num
suma<-suma+num
escriba "lleva: ",suma
llamar nueva_linea
fin para
promedio<-suma/cant_n
escriba "el promedio es: ",promedio

fin 

4)desarrollar un algoritmo que halle el total de las edades
de varios estudiantes y las cuales son ingresadas desde el teclado

entero edad,suma,i,cant_e
inicio
escriba "ingrese la cantidad de estudiantes: "
lea cant_e
suma <-0
para i<-1 hasta cant_e haga
escriba "ingrese una edad: "
lea edad 
suma <- suma +edad
fin para
escriba "la cantidad de estudiantes es: ",cant_e
llamar nueva_linea
escriba "la suma de los estudiantes es: ",suma
fin 

Ahora vamos a ver el algoritmo anterior con una diferencia

5)desarrollar un algoritmo que halle el total de las edades
de varios estudiantes y las cuales son ingresadas desde el teclado y sacar la edad mayor y la menor

entero edad,suma,i,cant_e,max,min
inicio
escriba "ingrese la cantidad de estudiantes: "
lea cant_e
suma <-0
max<-0
min<-99999
para i<-1 hasta cant_e haga
escriba "ingrese una edad: "
lea edad 
si edad>max entonces 
max<-edad
fin si
si edad<min entonces 
min<-edad
fin si
suma <- suma +edad
fin para
escriba "la cantidad de estudiantes es: ",cant_e
llamar nueva_linea
escriba "la suma de los estudiantes es: ",suma
llamar nueva_linea
escriba "la edad mayor es: ",max
llamar nueva_linea
escriba "la edad menor es: ",min

fin 
Ingresar

lunes, 5 de septiembre de 2016

Algoritmo Haga Mientras

.

1)Hacer un algoritmo que lea 5 numeros y determine la suma entre ellos.

entero contador,suma,numero
INICIO
contador<-1
suma<-0
mientras contador<=5 haga
escriba "ingrese un numero:"
lea numero
suma<-suma+numero
contador<-contador+1
fin mientras
escriba "la suma de los numeros es: ",suma
FIN

2)Como vemos en la condición al principio se cumple, pero como contador se va incrementando, al llegar hacer mayor que 5 se sale del mientras y termina la ejecución.
 A continuación veremos unos ejercicios.

Modificar el anterior algoritmo para que obtenga el promedio de los 5 numeros.

entero contador,suma,numero
real promedio
INICIO
contador<-1
suma<-0
promedio<-0
mientras contador<=5 haga
escriba "ingrese un numero:"
lea numero
suma<-suma+numero
contador<-contador+1
fin mientras
promedio<-suma/5
escriba "la suma de los numeros es: ",suma
escriba "el promedio de los numeros es: ",promedio
FIN

3)Realizar un algoritmo para sumar consecutivamente y cuando la suma sea superior a 100 deje de pedir números y muestre el total.

entero n,suma
INICIO
suma<-0
mientras suma<=100 haga
escriba "ingrese un numero: "
lea n
suma<-suma+n
fin mientras
escriba "la suma total es: ",suma
FIN

4)Algoritmo que permita obtener el promedio de la cantidad de números que el usuario desee digitar, preguntando ademas si desea continuar o no.

entero suma,contador,n
cadena[10] decision
real promedio
INICIO
decision<-"si"
suma<-0
contador<-0
mientras decision="si" haga
escriba "ingrese un numero: "
lea n
suma<-suma+n
contador<-contador+1
escriba "desea continuar? si/no: "
lea decision
fin mientras
promedio<-suma/contador
escriba "el promedio es: ",promedio
FIN

5)Realizar un algoritmo que pida al usuario digitar un color y lo muestre, pero cuando el usuario digita el color rojo se termine y lo indica.

cadena[15] color
INICIO
mientras color<>"rojo" haga
escriba "ingrese color: "
lea color
escriba "el color es: ",color
llamar nueva_linea
fin mientras
escriba "ha finalizado"
FIN
Ingresar

viernes, 12 de agosto de 2016

Explicacion Algoritmos Tipo Caso

Explicacion Algoritmos Tipo Caso

La decisión múltiple también se puede representar en pseudocódigo utilizando una estructura incluida en la mayoría de los lenguajes de programación; la estructura CASO, en la que se determina el valor de una variable llamada selectora y la que se compara con un valor constante que determina el curso de acción entre varias posibilidades.
El formato general de esta estructura es la siguiente:
se compara el contenido de la variable 
selectora con las constantes listadas y si algunas de las constantes coinciden
se ejecutan las instrucciones que corresponden a esta constante;
y el flujo de ejecución continúa con la intruccion que se encuentra

despúes de la palabra reservada Fin caso
Ingresar

algoritmos caso



Ingresar