Tics Materia Tres
Tics Materia Tres
Tics Materia Tres
TECNOLOGÍAS DE LA INFORMACIÓN Y LA
COMUNICACIÓN.
Con estas estructuras tenemos la posibilidad de administrar todo tipo de datos sin
ningún tipo de obstáculo, algo que en la actualidad se usa en la red para poder
llevar a cabo, por ejemplo, los sistemas de indexado de contenidos. Y también
juegan un papel clave en la creación de los mejores algoritmos, así como en su
uso con lenguajes de programación que se benefician de ellas.
Una “estructura de datos” es una colección de valores, la relación que existe entre
estos valores y las operaciones que podemos hacer sobre ellos; en pocas
palabras se refiere a cómo los datos están organizados y cómo se pueden
administrar.
Hay una variante específica que recibe el nombre de árbol y que se representa
porque el camino parte de un punto inicial que deriva hacia todos los demás
nodos. Este tipo de grafo no da la oportunidad de crear ciclos y también se puede
agrupar en conjunto, lo que da lugar al término bosque.
Las estructuras de datos son un medio para manejar grandes cantidades de datos
de manera eficiente para usos tales como grandes bases de datos y servicios
de indización de Internet. Por lo general, las estructuras de datos eficientes son
clave para diseñar algoritmos eficientes. Algunos métodos formales de diseño y
lenguajes de programación destacan las estructuras de datos, en lugar de los
algoritmos, como el factor clave de organización en el diseño de software.
Estruct Identificador, _
Miembro1:TipoDeDato, _
Miembro2:TipoDeDato, _
...
Miembro9:TipoDeDato
Para acceder a los miembros de una estructura, primero se debe crear una
referencia a esta, generalmente con una variable de tipo; luego se pueden editar y
obtener los datos de los miembros libremente.
Estruc Estructura,Miembro1:Entero,Miembro2:Cadena,Miembro3:Byte
Var Variable:Estructura
Variable.Miembro1 = 40000
Variable.Miembro2 = "Hola Mundo"
Variable.Miembro3 = 255
Mensaje(Variable.Miembro2) ' Muestra "Hola Mundo"
¿QUÉ SON LAS ESTRUCTURAS DE DATOS DINÁMICOS?
Las variables que se crean y están disponibles durante la ejecución del programa
se llaman variables continuas.
Las estructuras de datos dinámicas se clasifican en lineales (listas, pilas y colas) y
no lineales (árboles y grafos).
Una base de datos dinámica es aquella en la que se almacenan datos que pueden
variar con el paso del tiempo. Para adecuarse a estos datos cambiantes, las bases
dinámicas permiten realizar operaciones de edición, actualización o borrado de
información.
Por ejemplo, imaginemos una tienda online que tiene una base de datos con
productos y sus respectivos precios. Se necesitará que sea una base de datos
dinámica, ya que el precio de cada producto es susceptible de variar con el
tiempo.
Lineales:
Pilas
Colas
Listas Enlazadas
No Lineales:
Arboles
Grafos
¿QUÉ SON LAS ESTRUCTURAS DE DATOS ESTATICAS?
Las estructuras de datos estáticos son aquellas en las que el tamaño ocupado en
memoria se define antes de que el programa se ejecute (no puede modificarse
dicho tamaño durante la ejecución del programa).
Son aquellas en las que el tamaño ocupado en memoria se define antes de que el
programa se ejecute y no puede modificarse dicho tamaño durante la ejecución
del programa.
Su principal característica es que ocupan solo una casilla de memoria, por lo tanto
una variable simple hace referencia a un único valor a la vez, dentro de este grupo
de datos se encuentra:
1. Enteros
2. Reales
3. Caracteres
4. Boléanos
5. Enumerados
6. Subrangos
¿QUÉ ES LA PROGRAMACIÓN MODULAR?
La programación modular consiste en la descomposición de un programa en
trozos más pequeños denominados módulos o subprogramas, en el que cada uno
de ellos se encargara de llevar a cabo una tarea concreta y bien definida, y se
agrupara según su funcionalidad. Cada uno de estos módulos se analizara y
codificara por separado.
Un 'módulo' es cada una de las partes de un programa que resuelve uno de los
subproblemas en que se divide el problema complejo original. Cada uno de estos
módulos tiene una tarea bien definida y algunos necesitan de otros para poder
operar. En caso de que un módulo necesite de otro, puede comunicarse con este
mediante una interfaz de comunicación que también debe estar bien definida.
Cada uno de estos módulos puede hacer a su vez llamadas a otros módulos que
siempre devolverán el control al módulo desde el que fueron llamados, pone freno
a la redundancia del código, ya que aíslan las secuencias de instrucciones más
usadas y que se repiten, se les da un nombre y cuando se quieran usar,
simplemente se invocara dicho nombre en el lugar donde sea necesario.
Una aplicación portátil -del inglés "portable"- es una aplicación informática que
puede ser utilizada, sin instalación previa, en un ordenador que posea el sistema
operativo para el que fue programada. Esto significa que no es necesaria la
instalación de bibliotecas adicionales en el sistema para su funcionamiento que
modifique la información de configuración del ordenador.
Arrays
Los arrays son una estructura que almacena los datos un elemento al lado del
otro. En la mayoria de lenguajes de programación esta estructura de datos es de
tamaño fijo y no puede guardar datos de diferentes tipos, es decir no puedo
guardar valores numericos y booleanos al mismo tiempo, aunque claramente hay
excepciones, por ejemplo: Javascript.
Listas enlazadas
Las listas enlazadas son un tipo de estructura de datos similar a los arrays con la
diferencia de que por defecto no tenemos por qué saber la cantidad de elementos
que va a contener. Estas listas se componen de nodos los cuales tienen dos
atributos: el primero es el item o elemento que va a contener este nodo y el
segundo atributo es una referencia al siguiente elemento de la lista.
Pilas
Las pilas son un tipo de listas que tienen la particularidad de sólo poder eliminar o
insertar en la cima de la lista. A estas acciones se le conocen como apilar y
desapilar y conlleva a que el último elemento que ingresa a la pila sea el primero
en salir a lo cual se le conoce como LIFO (Last in First out).
Colas
Esta estructura es otro tipo de lista que nos permite emular el comportamiento de
una fila o cola de la vida real donde el primer elemento en ingresar a la fila es el
primero en salir, lo que quiere decir que las inserciones (Encolar) se realizan al
final y las extracciones (Desencolar) se realizan al frente de la cola, lo cual se
conoce como FIFO (First in First out).
Arboles binarios
Los arboles binarios son estructuras de datos que se componen de una nueva
clase de nodo donde cada uno contiene un item o un valor, una referencia a un
nodo que sera el hijo izquierdo y otra referencia para el nodo derecho, una
característica esencial de los arboles binarios es que la inserción de sus
elementos se realizan siguiendo un criterio, si el item del nodo a insertar es menor
a su nodo padre, la inserción se realiza por la izquierda y en caso contrario la
inserción se realiza por el lado derecho y como consecuencia de esto nuestro
arbol siempre estara organizado de tal manera que los hijos izquierdos de cada
nodo seran menores a el y los derechos seran mayores, lo cual nos permite
realizar búsquedas muy eficientes debido a la organización de esta información
donde para buscar un elemento solo es necesario ir comparando el valor a buscar
con el valor del nodo actual y asi tomar la decisión si ir por la izquierda o por la
derecha, ahorrandonos las búsquedas por el otro lado del arbol.
¿PARA QUE SIRVEN LAS ESTRUCTURAS DE DATOS?
Las estructuras de datos son útiles porque nos permiten tener una batería de
herramientas para solucionar ciertos tipos de problemas. Además, nos permiten
hacer un software más eficiente optimizando recursos, algo muy útil para IoT y
para los entornos que trabajan con Big Data.
¿COMO SE CLASIFICAN LAS ESTRUCTURAS DE DATOS
DE DATOS?
Arrays
Pila
Cola
Grafos
Los datos se pueden clasificar según su origen, su rango, el tipo de lenguaje con
el que queremos trabajar sobre ellos etc. La clasificación más práctica y global que
permite trabajar de forma efectiva en el mundo digital es la basada en su
estructura. Según esta, hay 3 tipos de datos: estructurados, semiestructurados y
no estructurados.
Los datos estructurados son los datos típicos de la mayoría de bases de datos
relacionales (RDBMS). Estas bases de datos se caracterizan por tener un
esquema determinado que define cómo son las tablas en las que se almacenan
los datos, qué tipo de campos tienen y cómo se relacionan entre ellas.
Los datos continuos, o una superficie continua, representan fenómenos en los que
cada ubicación de la superficie es una medida del nivel de concentración o de su
relación a partir de un punto fijo en el espacio o de una fuente de emisión. A los
datos continuos se les suele conocer también como datos de campo, no discretos
o de superficie.
En estos primeros años lo normal era que el hardware fuera de propósito general.
Por otra parte, el software se diseña a medida para cada aplicación y tenía una
distribución relativamente pequeña. El software como producto estaba en su
infancia. La mayoría del software se desarrollaba y era utilizado por la misma
persona un organización. La misma persona lo escribía , lo ejecutaba y, si fallaba,
lo depuraba. Debido a que la movilidad en el trabajo era baja, los ejecutivos
estaban seguros de que esa persona estará allí cuando se encontrara algún error.
Debido a este entorno personalizado del software, el diseño era un proceso
implícito, realizado en la mente de alguien, y la documentación normalmente no
existía.
VENTAJAS:
Permite modificar “Globalmente” las variables sin tener que recorre el código
buscando cada aparición.
Define variables y evita que cambien entre rutinas.
Separa desde el inicio del programa el espacio en memoria.
Se trabaja más fácil el paso de datos entre aplicaciones.
DESVENTAJAS: