Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción
1 Estructuras de datos
1.1 Estructura de datos estática
1.2 Estructura de datos dinámica
2 Tipo de datos
2.1Datos numéricos
2.1.1 Tipo numérico entero
2.1.2Tipo numérico real
2.2 Datos lógicos o booleanos
2.3 Datos carácter.
2.3.1 Tipo de dato carácter
2.3.2 Tipo de dato cadena
3 Arreglos
3.1 Arreglos unidimensionales o vectores
3.2 Arreglos bidimensionales o matrices
3.3 Arreglos multidimensionales
4 Utilización de arreglos
4.1 Lectura/escritura
4.2 Asignación
4.3 Actualización
4.3.1 Añadir
4.3.2 Insertar
4.3.3 Eliminar
4.4 Métodos de Ordenamiento
4.4.1 Ordenamiento por burbuja
4.4.2 Ordenamiento por selección
4.4.3 Ordenamiento por inserción
4.5 Métodos de búsqueda
4.5.1 Búsqueda Lineal
4.5.2 Búsqueda binaria
4. Ideograma
Algunos autores expertos en bases de datos definen dato como: “Todo elemento
de información que necesita una organización para su funcionamiento” (Pons y
otros, 2009, p.5)
Las estructuras de datos se clasifican en dos grupos, esta clasificación tiene que
ver con la utilización de memoria que realizan durante su ejecución.
2. Tipos de datos:
Los datos son los elementos que juntos o después de ser tratados forman la
información como tal, por si solo un dato no dice mucho o tal vez nada, para
nuestro caso de la informática la real academia española lo define como dato:
Información dispuesta de manera adecuada para su tratamiento por un
ordenador. Los tipos de datos de las variables, son los diferentes valores que
pueden tomar la variable dada y las operaciones que se pueden realizar con estas
variables.
Los tipos de datos pueden ser clasificados en dos grupos que son, datos simples
que son los datos que ocupan una sola casilla en memoria, ósea son datos que
hacen referencia a un único valor, en este grupo encontramos los datos de tipo
entero, real, carácter o boléanos. Los datos estructurados son aquellos que con
un nombre (identificador de variable estructurada), hacen referencia a varios
elementos los cuales pueden ser datos simples o estructurados. En figura 2 se
observa gráficamente los datos simples y estructurados.
Figura 2.
Estos son los datos que nos permite representar valores o cantidades, son datos
cuantitativos que nos permiten realizar operaciones aritméticas básicas. Estos se
dividen en dos:
14
55
-45
453
-876
Crear una variable es asignar un espacio en la memoria del computador para ella,
y se hace escribiendo el tipo de dato y el nombre que queremos asignar a esta.
Por ejemplo:
intnombre_variable; (estructura para declarar las variables de tipo
entero)
int edad;
En este caso creamos una variable de tipo entero a la que llamamos edad y este
será el nombre que tendrá durante la ejecución del programa.
edad=30;
Esta es la forma de asignar un valor a esta variable edad cuya estructura sigue
siendo.
Intnombre_variable = valor_variable;
Son los datos conformados por un número entero seguido de una parte decimal,
estos pueden ser positivos y negativos, permiten representar cantidades
numéricas en notaciones científicas y de mayor rango para datos que necesiten
mayor precisión.
0.43
0.456
-0.234
Para definir las variables reales hay tres tipos de declaración de sentencia:
Por ejemplo:
floatnombre_variable; (estructura para declarar las variables de tipo
real)
floattemperatura;
temperatura = 23.6
Los tipos de datos lógicos también conocidos como booleanos son aquellos que
pueden tomar solamente dos valores, ya sea un valor verdadero u otro falso, se
utilizan para representar alternativas (si/no, verdadero/falso) a determinadas
condiciones.
Las operaciones que se pueden realizar con estos tipos de datos son las
operaciones definidas por el álgebra booleana: and, or, not.
Por ejemplo:
Los tipos de datos carácter son aquellos que representan información textual,
como palabras o frases, pueden tener cualquier número del código ASCII
(representación numérica entre 0 y 255 para cada carácter).
Estos datos no representa valor alguno para efectos numéricos, se pueden dar
valores de dos formas: con el código ASCII del carácter o simplemente el carácter
entre comillas simples.
Este tipo de datos solo tiene un carácter, es de tipo finito y es un dato que la
computadora conoce, de tipo alfabético, numérico y especial (símbolos).
Alfabéticos: a,b,c,…..z,A,B,C,…..,Z
Numéricos: 0,1,2,3,4,5,6,7,8,9
Especiales: +,-,*,\,……
Las operaciones que podemos manejar sobre este tipo de dato cadena son:
3 Arreglos
Todos los tipos de datos vistos hasta el momento son datos de tipo simple, en los
cuales cada uno ocupa un espacio de memoria en el que solo puede contener un
valor a la vez, para facilitar este manejo de información y obtener un mejor
aprovechamiento de la memoria utilizaremos los datos estructurados, en los
cuales se puede almacenar más de un elemento a la vez, sí y solo si estos
elementos pertenece al mismo tipo de dato.
Un arreglo está compuesto por su nombre, que identifica la estructura total, los
componentes que son los datos que se almacenaran en el arreglo y los índices
hacen referencia a cada uno de los componentes ósea distinguen a cada uno de
los elementos del arreglo. En la figura 2 se observa la representación gráfica de un
arreglo.
Figura 3.
Para definir un arreglo debemos indicar el tipo de datos que manejara este,
asignar el nombre al arreglo y el número de elementos que lo conformaran, a este
número se le conocerá como dimensión del arreglo y permitirá asignar las
posiciones en memoria a utilizar.
Dónde:
Si declaramos:
Figura 4
Los arreglos son estructuras de datos que nos permiten hacer la colección de
varios datos que ocupan varios campos en memoria bajo un mismo nombre que
los identifica.
Los arreglos unidimensionales son el conjunto de elementos de un mismo tipo,
almacenados con el mismo nombre y donde para hacer referencia a un elemento
se hace por el índice que nos indicara la posición de memoria en la que se
encuentra ubicado.
- Finita: todo arreglo tiene un límite; es decir, se debe determinar cuál será el
número máximo de elementos que formaran parte del arreglo.
- Homogénea: todos los elementos de un arreglo son del mismo tipo. Es
decir, todos enteros, todos booleanos, etcétera, pero nunca una
combinación de distintos tipos.
- Ordenada: se puede determinar cuáles son el primero, el segundo
eltercero,… y el enésimo elementos. (Cairó, Guardati P 4).
Figura 5.
La representación gráfica del arreglo declarado en la figura anterior se puede
observar en la figura.
Figura 5.
La dimensión del arreglo estará dada hasta la posición n-1, debido a que la
posición cero será la primera posición de nuestro arreglo donde n será quien
indica el tamaño del arreglo.
Figura 6.
intNotas[10] = {2,5,6,4,3,5,6,8,9,8};
Figura 7.
Figura 8.
intNotas[10];
int valor = 1;
for (inti= 0; i< 10 ; i++)
{
valor [i] = 1;
valor= valor + 1;
}
Figura 9.
En este grafico podemos observar que cada fila está compuesta y dividida por
varias columnas, esto quiere decir que para poder determinar el valor de una
posición dentro de la matriz debemos especificar el valor de los dos subíndices.
Figura 10.
Figura 11.
Para nuestra matriz Notas el valor que corresponde a (1,3) será igual al valor
correspondiente a la fila 1 y la columna 3.
Figura 12.
Inicializando en su declaración:
Int_notas[ , ] =
{1,2,3,4,5,6,7,8,9,10,1,12,13,14,15,16,17,18,19,20,21,22,23,24,25};
En esta forma debemos tener en cuenta que se ingresaran los valores con su
primer índice correspondiente a la primer fila y así sucesivamente, esto querrá
decir que daremos todos los valores de la fila 1[(0,0),(0,1),(0,2),(0,3)(0,4)],
seguidos por los valores de las siguientes filas 2[(1,0),(1,1),(1,2),(1,3)(1,4)], luego
la fila 3 [(2,0),(2,1),(2,2),(2,3),(2,4)] y así sucesivamente.
int horas[5][5];
intdato= 1;
for (inti = 0; i<5; i++)
for (int j = 0; j < 5 ; j ++)
{
valores [i][j] = dato;
dato= dato + 1;
}
Los arreglos multidimensionales son los que manejan más de dos dimensiones,
hasta n dimensiones. Este tipo de arreglo se utiliza para referenciar datos
relacionados con n cantidad de variables del mismo tipo. Para hacer referencia a
cada uno de estos datos se utiliza la ncantidad de índices (uno por cada
dimensión) requeridos para llegar a este. Es importante destacar que los arreglos
de más de tres dimensiones son muy poco usados en la práctica.
4. Utilización de arreglos
4.1 Lectura/escritura
I = 1 se lee Nota[1]
I = 2 se lee Nota[2]
I = 3 se lee Nota[3]
I = 4 se lee Nota[4]
…
…
I = 28 se lee Nota[28]
I =29 se lee Nota[29]
I = 30 se lee Nota[30]
Una vez finalizado el ciclo se tendrá un valor asignado para cada uno de los
elementos del vector, para nuestro vector Notas quedara de la siguiente manera:
Supongamos que deseamos escribir todos los elementos de nuestro arreglo Nota
con un ciclo.
Repetir con I del 1 al 30
Escribir Nota [I]
I = 1 Escribe Nota[1]
I = 2 Escribe Nota[2]
…
…
I = 29 Escribe Nota[29]
I = 30 Escribe Nota[30]
4.2 Asignación
Nota[FELIPE]4
Estamos asignando el valor entero 4al elemento FELIPE del arreglo Nota y
si deseamos asignar el valor 10 a todos los elementos del vector Nota de
tamaño 4 lo haríamos de la siguiente manera:
4.3 Actualización
Nota[3] 5
fin desde
si (Cont =n) entonces
escribir(`el vector no tiene espacio para añadir más datos`)
fin _si
mientrasi> =N hacer
NOMBRES[i +1]NOMBRES[i]
ii-1
fin_mientras
{insertar el elemento en la posición N }
NOMBRES[N] “Oscar”
N n+1
fin
Figura 15.
Desde i 1 hasta N
Si (NOMBRES[i]=nom) entonces
J i
fin_si
fin_desde
desdeij hasta N hacer
NOMBRES[i]NOMBRES[i+1]
fin_desde
ocupadaocupada-1
fin
Figura 16.
Para buscar la manera más apropiada y eficiente de manipular los datos siempre
se busca clasificarlos u organizarlos de tal manera que se permita el fácil acceso y
manipulación de dicha información. El proceso de ordenar se le llama a la
organización de los datos de alguna forma según orden o secuencia determinada
como lo son: ascendente o descendente en el caso de valores numéricos o
alfabéticamente en el caso de los datos de tipo carácter o cadenas de caracteres.
Figura 17.
Figura 19.
Figura 20.
- En pseudocodigo seria:
desdei 1 hasta N hacer
leer (X[i])
fin_desde
desdei1 hasta N-1 hacer
desdej1 hasta N-1 hacer
siX[j]> X[j+1] entonces
AUX X[j]
X[j]X[j +1]
X[j +1] AUX
fin_si
fin_desde
fin_desde
desdei1 hasta N hacer
escribir(X[i])
fin_desde
fin
dónde :
iy json variables que nos permitirán desplazarnos entre campos y hacer las
comparaciones.
AUX será una variable que permitirá almacenar temporalmente el valor a
intercambiar entre los campos que lo necesiten.
Figura 21.
Figura 22.
Figura 23.
- Iteración 4.Encuentra el elemento más pequeño del arreglo (8) y no es
necesario realizar intercambio, el arreglo se encuentra ordenado.
{3,4,6,8,9}
Figura 24.
En seudocódigo seria:
Figura 25.
Figura 26.
{3,8,9,4,6} se evalúa 4 con el 3º el 2º y hasta el 1º elemento para poder
Insertarloen la posición A[1]
Figura 27.
Figura 28.
En seudocódigo seria:
Búsqueda lineal.
Búsqueda binaria.
i 1
mientras ( ( i n ) y(V[i]elem) )
haceri ← i +1;
fin_mientras
si (i n) entonces devuelve i; //y este será el campo donde se encontró el
valor clave
sino
devuelve -1; // significara que no es el valor clave
fin_si;
Figura 29.
E1
D n
encontrado :=falso
Figura 30.
Figura 32.
Figura 33.
DATO SIMPLE: Aquel que hace referencia a un único valor a la vez y que ocupa
una casilla de memoria.
Pons, O.; Marín, N.; Medina, J.; Acid, S. y Vila, M. (2009). Introducción a las
bases de datos: el modelo relacional. Paraninfo S.A. Madrid - España.