SlideShare una empresa de Scribd logo
1 de 18
Republica Bolivariana de Venezuela
Ministerio del Poder Popular para la Educación
Universidad Nacional Experimental de Guayana
Carrera: Ingeniería Industrial
Sección: 1
Algoritmos y Estructura de Datos
Profesor : Alumno:
Luis Estraño Héctor Luces
Fecha: 02-06-2016 CI: 27112376
-Tipos de datos
*Datos de tipo Entero
Un tipo de dato entero en computación es un tipo de dato que puede representar un subconjunto finito de los números enteros. El número mayor que
puede representar depende del tamaño del espacio usado por el dato y la posibilidad (o no) de representar números negativos. Los tipos de dato entero
disponibles y su tamaño dependen del lenguaje de programación usado así como la arquitectura en cuestión. Por ejemplo, si para almacenar un número
entero disponemos de 4 bytes de memoria tememos que:
 4 Bytes = 4x8 = 32 bits
 Con 32 bits se pueden representar 232=4294967296 valores:
• Sólo positivos (enteros sin signo): del 0 al 4294967295
• Positivos y negativos (enteros con signo): del -2147483648 al 2147483647
Las típicas operaciones aritméticas: suma, resta, multiplicación y división se pueden realizar con datos de tipo entero. En el caso de la división, el
resultado podría ser un valor real, en ese caso, si el resultado se ha de almacenar como entero la parte decimal del resultado deberá ser eliminada, en
principio hay dos métodos para hacerlo:
• El redondeo: Aproximar el valor real al entero más cercano (Ej: 3,8-->4 / 3,2-->3)
• El truncamiento: Eliminar del valor real la parte decimal (Ej: 3,8-->3 / 3,2-->3)
Otra operación importante que se puede realizar con número enteros es la operación de módulo o resto de la división entera, es decir:
 184 dividido 3 = 61 (resto 1) --> 184 módulo 3 = 1
En general la operación módulo cumple que:
 a mod b = c
• c ≥ 0
• c < b
• si c es igual a 0 --> a es múltiplo de b
• si c es igual a 0 y b es igual a 2n (siendo n un número entero mayor o menor a 0) --> a (Es Par)
*Datos de tipo real
Es un tipo de dato en programas informáticos que representa la aproximación de un número real.
Al igual que los números enteros, el tipo real está limitado superior e inferiormente según la cantidad de memoria que haya disponible para almacenarlo. Otro
elemento importante a tener en cuenta en este tipo de datos es la precisión con que se pueden representar números con decimales, cuantos decimales se pueden
representar. Esta característica también está directamente relacionada con la cantidad de memoria disponible para almacenar un valor real.
A modo de ejemplo, en la tabla siguiente se muestran los rangos así como los formatos de almacenamiento para los tipos reales fundamentales para un determinado
lenguaje de programación.
 Tipos reales fundamentales en Pascal:
Tipo Rango Dígitos Tamaño
significativos en bytes
---------------------------------------------------------------------------------
Real48 2.9 x 10^-39 .. 1.7 x 10^38 11 – 12 6
Single 1.5 x 10^–45 .. 3.4 x 10^38 7 – 8 4
Double 5.0 x 10^–324 .. 1.7 x 10^308 15 – 16 8
Extended 3.6 x 10^–4951 .. 1.1 x 10^4932 19 – 20 10
Comp –2^63+1 .. 2^63 –1 19 – 20 8
Currency –922337203685477.5808 .. 922337203685477.5807 19 – 20 8
Cuando la precisión que admite un valor real es rebasada el valor de este se trunca o se redondea. Por ejemplo si el máximo número de dígitos decimales que puede
albergar un tipo real es 10 la siguiente operación:
 a = 123,123456789 / 100
 debería dar como resultado que a es igual a 1,23123456789, pero este valor tiene 11 decimales, por lo que el valor de a será uno de estos:
 Truncando: a = 1,2312345678
 Redondeando: a = 1,2312345679
*Datos de tipo Lógico
El tipo de dato lógico o booleano es en computación aquel que puede representar valores de lógica binaria, esto es 2 valores, valores
que normalmente representan falso o verdadero. Se utiliza normalmente en la programación, estadística, electrónica, matemáticas
(Álgebra booleana), etc.
Para generar un dato o valor lógico a partir de otros tipos de datos, típicamente, se emplean los operadores relacionales (u operadores
de relación), por ejemplo: 0 es igual a falso y 1 es igual a verdadero
 (3>2)= 1 = verdadero
 (7>9)= 0 = falso
Una vez se dispone de uno o varios datos de tipo booleano, estos se pueden combinar en expresiones lógicas mediante los operadores
lógicos (Y, O, NO, …). Un ejemplo de este tipo de expresiones serían:
 verdadero Y falso → falso
 falso O verdadero → verdadero
 NO verdadero → falso
*Datos de tipo enumerado
Los tipos de datos enumerados nos permiten crear tipos de datos con un orden en particular. Para crear un tipo de dato
enumerado se hace uso de la palabra reservada Type, y se encierra entre paréntesis separando con comas, los valores que
se pueden usar. Estos valores deben ser escritos usando letras del alfabeto en latín y números, pueden estar
compuestos de 1 o más caracteres y no deben empezar con números. A continuación un ejemplo:
{$codepage UTF8}
TYPE
Números = (Cero, Uno,Dos,Tres,Cuatro);
VAR
N01 : Números;
BEGIN
N01:=Cero;
N01:=Uno; readln
END.
Código fuente 11: Creación de un tipo de dato enumerado
*Datos de tipo carácter
Carácter es una unidad de información que corresponde aproximadamente con un grafema
o con una unidad o símbolo parecido, como los de un alfabeto o silabario de la forma escrita
de un lenguaje natural.
Un ejemplo de carácter es una letra, un número o un signo de puntuación. El concepto
también abarca a los caracteres de control, que no se corresponden con símbolos del lenguaje
natural sino con otros fragmentos de información usados para procesar textos, tales como el
retorno de carro y el tabulador, así como instrucciones para impresoras y otros dispositivos
que muestran dichos textos (como el avance de página).
 Codificación de caracteres
Los ordenadores y los equipos de comunicaciones representan caracteres mediante el uso de
una codificación que asigna un valor a cada carácter (típicamente, un valor entero
representado por una secuencia de bits) que puede ser almacenado o transmitido por una
red. La codificación más común ha sido hasta hace poco ASCII, si bien actualmente se está
haciendo más popular el Unicode. Un ejemplo de codificación no digital sería el código
Morse, que en lugar de usar bits representa los caracteres mediante una serie de impulsos
eléctricos de longitud variable (puntos y rayas).
*Datos de tipo Subrango
El tipo de dato subrango es el más simple que se puede definir en un programa Pascal. Estos tipos son útiles, sobre todo por la facilidad que
ofrecen para verificar automáticamente errores. Un tipo subrango se define de un tipo ordinal, especificando dos constantes de ese tipo, que
actúan como límite inferior y superior del conjunto de datos de ese tipo. Un tipo subrango es un tipo ordinal y sus valores se ordenan de igual
modo que en el tipo patrón de que se deducen.
Ejemplos
0..9 — este tipo subrango consta de los elementos 0,1,2,3,4,5,6,7,8,9
'0'..'9' — este subrango consta de los caracteres '0','1','2','3','4','5','6','7','8', '9'
'A'..'F' — este subrango consta de los caracteres 'A','B','C','D','E','F'
Se pueden crear variables cuyos valores se restrinjan a un subrango dado. Las declaraciones de tipo subrango se sitúan entre las declaraciones
de constantes y de variables.
-Estructura de datos
*Estructura de datos Arrays
Una estructura array (matriz o vector) es un conjunto finito y ordenado
de elementos homogéneos. La
propiedad “ordenado” significa que el elemento primero, segundo,
tercero,..., enésimo de un
array puede ser identificado. Los elementos de un array son
homogéneos, es decir, del mismo
tipo de datos. Un array puede ser compuesto de todos sus elemento de
tipo entero, etc. los
arrays se conocen también como matrices – en matemática – y tablas –
en cálculos financieros.
El tipo mas simple de array es el array unidimensional o vector (matriz
de dimensión).
El subíndice o índice de un elemento (1, 2, ..., i, n) designa su posición en la ordenación del
vector. Otras posibles notaciones del vector son:
a1, a2,......ai,.......an
A(1) , A(2), ......., A(i), ......A(n)
Obsérvese que solo el vector global tiene nombre (NOTAS). Los elementos del vector se
referencian por su subíndice o índice (subscript), es decir, posición relativa en el vector.
En algunos libros y tratados de programación, además de las notaciones anteriores se suele
utilizar esta otra:
A(L:U)
= (A(I))
Para I =L.L – 1 .....U – 1, U donde cada elemento A (I) es de tipo T
que significa: A, vector unidimensional con elementos de tipo T, cuyos subíndices varían en el
rango de L a U, lo cual significa que el índice no tiene por que comenzar necesariamente en 0
o en i .
como ejemplo de un vector o array unidimensional, se puede considerar el vector
TEMPERATURA, que contiene las temperaturas horarias registradas en una ciudad durante los
veinticuatro horas del día. Este vector constará de veinticuatro elementos de tipo real ya que
las temperaturas normalmente no serán enteras siempre.
*Cadena de Caracteres
En programación, una cadena de caracteres, palabras, ristra de caracteres o frase (string, en inglés) es una secuencia ordenada (de
longitud arbitraria, aunque finita) de elementos que pertenecen a un cierto lenguaje formal o alfabeto análogas a una fórmula o a una
oración. En general, una cadena de caracteres es una sucesión de caracteres (letras, números u otros signos o símbolos). Si no se ponen
restricciones al alfabeto, una cadena podrá estar formada por cualquier combinación finita de los caracteres disponibles (las letras de
la 'a' a la 'z' y de la 'A' a la 'Z', los números del '0' al '9', el espacio en blanco ' ', símbolos diversos '!', '@', '%', etcétera).
En este mismo ámbito, se utilizan habitualmente como un tipo de dato predefinido, para palabras, frases o cualquier otra sucesión de
caracteres. En este caso, se almacenan en un vector de datos, o matriz de datos de una sola fila (array, en inglés). Las cadenas se
pueden almacenar físicamente:
 Seguidas;
 Enlazados letra a letra.
Generalmente los caracteres se guardan uno a continuación de otro para fines de eficiencia en el acceso.
Un caso especial de cadena es la que contiene cero caracteres. A esta cadena se la llama cadena vacía.
*Estructura de Datos en registros
Un registro, en programación, es un tipo de dato estructurado formado por la unión de varios elementos bajo una misma
estructura. Estos elementos pueden ser, o bien datos elementales (entero, real, carácter,...), o bien otras estructuras de datos. A
cada uno de esos elementos se le llama campo.
Un registro se diferencia de un vector en que éste es una colección de datos iguales, es decir, todos del mismo tipo, mientras que
en una estructura los elementos que la componen, aunque podrían serlo, no tiene porque ser del mismo tipo.
El concepto de registro que se acaba de presentar es muy similar al concepto de registro en bases de datos, este segundo se
refiere a una colección de datos que hacen referencia a un mismo ítem que se van a guardar en una fila de una tabla de la base de
datos.
* Estructura de Datos en Lista
En Ciencias de la Computación, una lista enlazada es una de las estructuras de datos fundamentales, y puede ser usada para
implementar otras estructuras de datos. Consiste en una secuencia de nodos, en los que se guardan campos de datos arbitrarios y
una o dos referencias, enlaces o punteros al nodo anterior o posterior. El principal beneficio de las listas enlazadas respecto a los
vectores convencionales es que el orden de los elementos enlazados puede ser diferente al orden de almacenamiento en la
memoria o el disco, permitiendo que el orden de recorrido de la lista sea diferente al de almacenamiento.
Una lista enlazada es un tipo de dato autorreferenciado porque contienen un puntero o enlace (en inglés link, del mismo
significado) a otro dato del mismo tipo. Las listas enlazadas permiten inserciones y eliminación de nodos en cualquier punto
de la lista en tiempo constante (suponiendo que dicho punto está previamente identificado o localizado), pero no permiten un
acceso aleatorio. Existen diferentes tipos de listas enlazadas: listas enlazadas simples, listas doblemente enlazadas, listas
enlazadas circulares y listas enlazadas doblemente circulares.
Las listas enlazadas pueden ser implementadas en muchos lenguajes. Lenguajes tales como Lisp y Scheme tiene estructuras
de datos ya construidas, junto con operaciones para acceder a las listas enlazadas. Lenguajes imperativos u orientados a objetos
tales como C o C++ y Java, respectivamente, disponen de referencias para crear listas enlazadas.
*Estructura de datos en Arboles
Un árbol es una estructura no lineal en la que cada nodo puede apuntar a uno o varios nodos.
También se suele dar una definición recursiva: un árbol es una estructura en compuesta por un dato y varios árboles.
Estas son definiciones simples. Pero las características que implican no lo son tanto.
Árbol
Definiremos varios conceptos. En relación con otros nodos:
 Nodo hijo: cualquiera de los nodos apuntados por uno de los nodos del árbol. En el ejemplo, 'L' y 'M' son hijos de 'G'.
 Nodo padre: nodo que contiene un puntero al nodo actual. En el ejemplo, el nodo 'A' es padre de 'B', 'C' y 'D'.
Los árboles con los que trabajaremos tienen otra característica importante: cada nodo sólo puede ser apuntado por otro nodo, es decir,
cada nodo sólo tendrá un padre. Esto hace que estos árboles estén fuertemente jerarquizados, y es lo que en realidad les da la apariencia de
árboles.
 En cuanto a la posición dentro del árbol:
 Nodo raíz: nodo que no tiene padre. Este es el nodo que usaremos para referirnos al árbol. En el ejemplo, ese nodo es el 'A'.
 Nodo hoja: nodo que no tiene hijos. En el ejemplo hay varios: 'F', 'H', 'I', 'K', 'L', 'M', 'N' y 'O'.
 Nodo rama: aunque esta definición apenas la usaremos, estos son los nodos que no pertenecen a ninguna de las dos categorías anteriores. En
el ejemplo: 'B', 'C', 'D', 'E', 'G' y 'J'.
*Algoritmos
En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus y
éste a su vez del matemático persa Al-Juarismi ) es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que
permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un estado
inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de
estudio de la algoritmia.
En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario,
que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en
matemática son el algoritmo de multiplicación, para calcular el producto, el algoritmo de la división para calcular el cociente de dos
números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolverlo
*Representación de Algoritmos
Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y
lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar
pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más
estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico.
La descripción de un algoritmo usualmente se hace en tres niveles:
 1.Descripción de alto nivel. Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera
verbal, posiblemente con ilustraciones y omitiendo detalles.
 2.Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución.
 3.Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a
cabo instrucciones.
 También es posible incluir un teorema que demuestre que el algoritmo es correcto, un análisis de complejidad o ambos.
*Pseudocódigo
En ciencias de la computación, y análisis numérico, el pseudocódigo (o falso lenguaje) es una descripción de alto nivel compacta e
informal del principio operativo de un programa informático u otro algoritmo.
Utiliza las convenciones estructurales de un lenguaje de programación real, pero está diseñado para la lectura humana en lugar de la
lectura mediante máquina, y con independencia de cualquier otro lenguaje de programación. Normalmente, el pseudocódigo omite
detalles que no son esenciales para la comprensión humana del algoritmo, tales como declaraciones de variables, código específico del
sistema y algunas subrutinas. El lenguaje de programación se complementa, donde sea conveniente, con descripciones detalladas en
lenguaje natural, o con notación matemática compacta. Se utiliza pseudocódigo pues este es más fácil de entender para las personas que
el código del lenguaje de programación convencional, ya que es una descripción eficiente y con un entorno independiente de los
principios fundamentales de un algoritmo. Se utiliza comúnmente en los libros de texto y publicaciones científicas que se documentan
varios algoritmos, y también en la planificación del desarrollo de programas informáticos, para esbozar la estructura del programa antes
de realizar la efectiva codificación.
.
*Organigrama
Un organigrama es la representación gráfica de la estructura de una empresa o cualquier otra organización, incluyen las estructuras
departamentales y, en algunos casos, las personas que las dirigen, hacen un esquema sobre las relaciones jerárquicas y competenciales de
vigor.
El organigrama es un modelo abstracto y sistemático que permite obtener una idea uniforme y sintética de la estructura formal de una
organización:
 Desempeña un papel informativo.
 Presenta todos los elementos de autoridad, los niveles de jerarquía y la relación entre ellos.
En el organigrama no se tiene que encontrar toda la información para conocer cómo es la estructura total de la empresa.
Todo organigrama tiene el compromiso de cumplir los siguientes requisitos:
 Tiene que ser fácil de entender y sencillo de utilizar.
 Debe contener únicamente los elementos indispensables.
 Tipos de organigrama:
 Vertical: Muestra las jerarquías según una pirámide, de arriba abajo.
 Horizontal: Muestra las jerarquías de izquierda a derecha.
 Mixto: Es una combinación entre el horizontal y el vertical.
 Circular: La autoridad máxima está en el centro, y alrededor de ella se forman círculos concéntricos donde figuran las autoridades en
niveles decrecientes.
 Escalar: Se usan sangrías para señalar la autoridad, cuanto mayor es la sangría, menor es la autoridad de ese cargo.
 Tabular: Es prácticamente escalar, solo que el tabular no lleva líneas que unen los mandos de autoridad.
*Diagrama Nassi-Shneiderman
 En programación de computadores un diagrama Nassi-Shneiderman (o NSD por sus siglas en inglés), también conocido como
diagrama de Chapin, es una representación gráfica que muestra el diseño de un programa estructurado.
 Fue desarrollado en 1972 por Isaac Nassi y Ben Shneiderman. Este diagrama también es conocido como estructograma, ya que sirve
para representar la estructura de los programas. Combina la descripción textual del pseudocódigo con la representación gráfica del
diagrama de flujo.
*Referencias Bibliográficas
 www.wikipedia.com
 www.conoce3000.com
 www.monografias.com
 www.informaticaaldia.com

Más contenido relacionado

La actualidad más candente

Tipos de datos en programacion
Tipos de datos en programacionTipos de datos en programacion
Tipos de datos en programacionAlfonso
 
Tema 1 Datos y tipos de datos
Tema 1    Datos y tipos de datosTema 1    Datos y tipos de datos
Tema 1 Datos y tipos de datosrufiflores0469
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionBoris Salleg
 
Constantes y variables
Constantes y variablesConstantes y variables
Constantes y variablesEdgar0622
 
Tipos de Datos y Operadores
Tipos de Datos y OperadoresTipos de Datos y Operadores
Tipos de Datos y OperadoresOswaldo Basurto
 
Unidad 1 algoritmos y programas
Unidad 1 algoritmos y programasUnidad 1 algoritmos y programas
Unidad 1 algoritmos y programasRoberth Camana
 
Tipos de datos en pseudocódigo
Tipos de datos en pseudocódigoTipos de datos en pseudocódigo
Tipos de datos en pseudocódigoAbrirllave
 
Tipos de datos, identificadores, variables y constantes
Tipos de datos, identificadores,  variables y constantesTipos de datos, identificadores,  variables y constantes
Tipos de datos, identificadores, variables y constantesIEO Santo Tomás
 
Elementos basicos de un programa
Elementos basicos de un programaElementos basicos de un programa
Elementos basicos de un programamanuel tenezaca
 
Estructuras De Datos-Arreglos
Estructuras De Datos-Arreglos Estructuras De Datos-Arreglos
Estructuras De Datos-Arreglos Simeon Bordones
 
Elementos de programas
Elementos de programasElementos de programas
Elementos de programasprofecona169
 
Tema 1-1 datos y tipos de datos
Tema 1-1 datos y tipos de datosTema 1-1 datos y tipos de datos
Tema 1-1 datos y tipos de datosRufi Flores
 
Teoría de informática (contar)
Teoría de informática (contar)Teoría de informática (contar)
Teoría de informática (contar)lucascen
 
Arreglos programacion
Arreglos programacionArreglos programacion
Arreglos programacionashildir
 
Informe de arreglos en PseInt
Informe de arreglos en PseInt Informe de arreglos en PseInt
Informe de arreglos en PseInt Chad Bridge
 
Trabajo de informatica
Trabajo de informatica Trabajo de informatica
Trabajo de informatica luis_cooper
 

La actualidad más candente (18)

Tipos de datos en pascal
Tipos de datos en pascalTipos de datos en pascal
Tipos de datos en pascal
 
Tipos de datos en programacion
Tipos de datos en programacionTipos de datos en programacion
Tipos de datos en programacion
 
Tema 1 Datos y tipos de datos
Tema 1    Datos y tipos de datosTema 1    Datos y tipos de datos
Tema 1 Datos y tipos de datos
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacion
 
Constantes y variables
Constantes y variablesConstantes y variables
Constantes y variables
 
Tipos de Datos y Operadores
Tipos de Datos y OperadoresTipos de Datos y Operadores
Tipos de Datos y Operadores
 
Clasificación y Tipos de Datos
Clasificación y Tipos de DatosClasificación y Tipos de Datos
Clasificación y Tipos de Datos
 
Unidad 1 algoritmos y programas
Unidad 1 algoritmos y programasUnidad 1 algoritmos y programas
Unidad 1 algoritmos y programas
 
Tipos de datos en pseudocódigo
Tipos de datos en pseudocódigoTipos de datos en pseudocódigo
Tipos de datos en pseudocódigo
 
Tipos de datos, identificadores, variables y constantes
Tipos de datos, identificadores,  variables y constantesTipos de datos, identificadores,  variables y constantes
Tipos de datos, identificadores, variables y constantes
 
Elementos basicos de un programa
Elementos basicos de un programaElementos basicos de un programa
Elementos basicos de un programa
 
Estructuras De Datos-Arreglos
Estructuras De Datos-Arreglos Estructuras De Datos-Arreglos
Estructuras De Datos-Arreglos
 
Elementos de programas
Elementos de programasElementos de programas
Elementos de programas
 
Tema 1-1 datos y tipos de datos
Tema 1-1 datos y tipos de datosTema 1-1 datos y tipos de datos
Tema 1-1 datos y tipos de datos
 
Teoría de informática (contar)
Teoría de informática (contar)Teoría de informática (contar)
Teoría de informática (contar)
 
Arreglos programacion
Arreglos programacionArreglos programacion
Arreglos programacion
 
Informe de arreglos en PseInt
Informe de arreglos en PseInt Informe de arreglos en PseInt
Informe de arreglos en PseInt
 
Trabajo de informatica
Trabajo de informatica Trabajo de informatica
Trabajo de informatica
 

Similar a TiposDatosVE-IngIndus (20)

Algoritmos y Estructuras de Datos
Algoritmos y Estructuras de DatosAlgoritmos y Estructuras de Datos
Algoritmos y Estructuras de Datos
 
Compu
CompuCompu
Compu
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 
Bienvenidos
BienvenidosBienvenidos
Bienvenidos
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 
Estructura de datos y algoritmos
Estructura de datos y algoritmos Estructura de datos y algoritmos
Estructura de datos y algoritmos
 
Conceptos de algoritmos
Conceptos de algoritmosConceptos de algoritmos
Conceptos de algoritmos
 
Presentación1
Presentación1Presentación1
Presentación1
 
Lenguajes De Bajo Nivel
Lenguajes De Bajo NivelLenguajes De Bajo Nivel
Lenguajes De Bajo Nivel
 
Computacion asignacion 3
Computacion asignacion 3Computacion asignacion 3
Computacion asignacion 3
 
Investigacion tipo de datos
Investigacion tipo de datosInvestigacion tipo de datos
Investigacion tipo de datos
 
Datos y algoritmos
Datos y algoritmosDatos y algoritmos
Datos y algoritmos
 
Act. Individual.- Pseudocódigos y diagramas de flujo
 Act. Individual.- Pseudocódigos y diagramas de flujo Act. Individual.- Pseudocódigos y diagramas de flujo
Act. Individual.- Pseudocódigos y diagramas de flujo
 
Tipo de datos
Tipo de datosTipo de datos
Tipo de datos
 
Escuela Superior Politécnica de Chimborazo
Escuela Superior Politécnica de ChimborazoEscuela Superior Politécnica de Chimborazo
Escuela Superior Politécnica de Chimborazo
 
Tipo de datos
Tipo de datosTipo de datos
Tipo de datos
 
4 Datos
4 Datos4 Datos
4 Datos
 
3.1.- Tipo de Datos
3.1.- Tipo de Datos3.1.- Tipo de Datos
3.1.- Tipo de Datos
 
Estructuras de datos y Algoritmos
Estructuras de datos y AlgoritmosEstructuras de datos y Algoritmos
Estructuras de datos y Algoritmos
 
37 tarazona karen programacion
37 tarazona karen programacion37 tarazona karen programacion
37 tarazona karen programacion
 

Último

Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicaFlor Idalia Espinoza Ortega
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 

Último (20)

Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamica
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 

TiposDatosVE-IngIndus

  • 1. Republica Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Universidad Nacional Experimental de Guayana Carrera: Ingeniería Industrial Sección: 1 Algoritmos y Estructura de Datos Profesor : Alumno: Luis Estraño Héctor Luces Fecha: 02-06-2016 CI: 27112376
  • 2. -Tipos de datos *Datos de tipo Entero Un tipo de dato entero en computación es un tipo de dato que puede representar un subconjunto finito de los números enteros. El número mayor que puede representar depende del tamaño del espacio usado por el dato y la posibilidad (o no) de representar números negativos. Los tipos de dato entero disponibles y su tamaño dependen del lenguaje de programación usado así como la arquitectura en cuestión. Por ejemplo, si para almacenar un número entero disponemos de 4 bytes de memoria tememos que:  4 Bytes = 4x8 = 32 bits  Con 32 bits se pueden representar 232=4294967296 valores: • Sólo positivos (enteros sin signo): del 0 al 4294967295 • Positivos y negativos (enteros con signo): del -2147483648 al 2147483647 Las típicas operaciones aritméticas: suma, resta, multiplicación y división se pueden realizar con datos de tipo entero. En el caso de la división, el resultado podría ser un valor real, en ese caso, si el resultado se ha de almacenar como entero la parte decimal del resultado deberá ser eliminada, en principio hay dos métodos para hacerlo: • El redondeo: Aproximar el valor real al entero más cercano (Ej: 3,8-->4 / 3,2-->3) • El truncamiento: Eliminar del valor real la parte decimal (Ej: 3,8-->3 / 3,2-->3) Otra operación importante que se puede realizar con número enteros es la operación de módulo o resto de la división entera, es decir:  184 dividido 3 = 61 (resto 1) --> 184 módulo 3 = 1 En general la operación módulo cumple que:  a mod b = c • c ≥ 0 • c < b • si c es igual a 0 --> a es múltiplo de b • si c es igual a 0 y b es igual a 2n (siendo n un número entero mayor o menor a 0) --> a (Es Par)
  • 3. *Datos de tipo real Es un tipo de dato en programas informáticos que representa la aproximación de un número real. Al igual que los números enteros, el tipo real está limitado superior e inferiormente según la cantidad de memoria que haya disponible para almacenarlo. Otro elemento importante a tener en cuenta en este tipo de datos es la precisión con que se pueden representar números con decimales, cuantos decimales se pueden representar. Esta característica también está directamente relacionada con la cantidad de memoria disponible para almacenar un valor real. A modo de ejemplo, en la tabla siguiente se muestran los rangos así como los formatos de almacenamiento para los tipos reales fundamentales para un determinado lenguaje de programación.  Tipos reales fundamentales en Pascal: Tipo Rango Dígitos Tamaño significativos en bytes --------------------------------------------------------------------------------- Real48 2.9 x 10^-39 .. 1.7 x 10^38 11 – 12 6 Single 1.5 x 10^–45 .. 3.4 x 10^38 7 – 8 4 Double 5.0 x 10^–324 .. 1.7 x 10^308 15 – 16 8 Extended 3.6 x 10^–4951 .. 1.1 x 10^4932 19 – 20 10 Comp –2^63+1 .. 2^63 –1 19 – 20 8 Currency –922337203685477.5808 .. 922337203685477.5807 19 – 20 8 Cuando la precisión que admite un valor real es rebasada el valor de este se trunca o se redondea. Por ejemplo si el máximo número de dígitos decimales que puede albergar un tipo real es 10 la siguiente operación:  a = 123,123456789 / 100  debería dar como resultado que a es igual a 1,23123456789, pero este valor tiene 11 decimales, por lo que el valor de a será uno de estos:  Truncando: a = 1,2312345678  Redondeando: a = 1,2312345679
  • 4. *Datos de tipo Lógico El tipo de dato lógico o booleano es en computación aquel que puede representar valores de lógica binaria, esto es 2 valores, valores que normalmente representan falso o verdadero. Se utiliza normalmente en la programación, estadística, electrónica, matemáticas (Álgebra booleana), etc. Para generar un dato o valor lógico a partir de otros tipos de datos, típicamente, se emplean los operadores relacionales (u operadores de relación), por ejemplo: 0 es igual a falso y 1 es igual a verdadero  (3>2)= 1 = verdadero  (7>9)= 0 = falso Una vez se dispone de uno o varios datos de tipo booleano, estos se pueden combinar en expresiones lógicas mediante los operadores lógicos (Y, O, NO, …). Un ejemplo de este tipo de expresiones serían:  verdadero Y falso → falso  falso O verdadero → verdadero  NO verdadero → falso
  • 5. *Datos de tipo enumerado Los tipos de datos enumerados nos permiten crear tipos de datos con un orden en particular. Para crear un tipo de dato enumerado se hace uso de la palabra reservada Type, y se encierra entre paréntesis separando con comas, los valores que se pueden usar. Estos valores deben ser escritos usando letras del alfabeto en latín y números, pueden estar compuestos de 1 o más caracteres y no deben empezar con números. A continuación un ejemplo: {$codepage UTF8} TYPE Números = (Cero, Uno,Dos,Tres,Cuatro); VAR N01 : Números; BEGIN N01:=Cero; N01:=Uno; readln END. Código fuente 11: Creación de un tipo de dato enumerado
  • 6. *Datos de tipo carácter Carácter es una unidad de información que corresponde aproximadamente con un grafema o con una unidad o símbolo parecido, como los de un alfabeto o silabario de la forma escrita de un lenguaje natural. Un ejemplo de carácter es una letra, un número o un signo de puntuación. El concepto también abarca a los caracteres de control, que no se corresponden con símbolos del lenguaje natural sino con otros fragmentos de información usados para procesar textos, tales como el retorno de carro y el tabulador, así como instrucciones para impresoras y otros dispositivos que muestran dichos textos (como el avance de página).  Codificación de caracteres Los ordenadores y los equipos de comunicaciones representan caracteres mediante el uso de una codificación que asigna un valor a cada carácter (típicamente, un valor entero representado por una secuencia de bits) que puede ser almacenado o transmitido por una red. La codificación más común ha sido hasta hace poco ASCII, si bien actualmente se está haciendo más popular el Unicode. Un ejemplo de codificación no digital sería el código Morse, que en lugar de usar bits representa los caracteres mediante una serie de impulsos eléctricos de longitud variable (puntos y rayas).
  • 7. *Datos de tipo Subrango El tipo de dato subrango es el más simple que se puede definir en un programa Pascal. Estos tipos son útiles, sobre todo por la facilidad que ofrecen para verificar automáticamente errores. Un tipo subrango se define de un tipo ordinal, especificando dos constantes de ese tipo, que actúan como límite inferior y superior del conjunto de datos de ese tipo. Un tipo subrango es un tipo ordinal y sus valores se ordenan de igual modo que en el tipo patrón de que se deducen. Ejemplos 0..9 — este tipo subrango consta de los elementos 0,1,2,3,4,5,6,7,8,9 '0'..'9' — este subrango consta de los caracteres '0','1','2','3','4','5','6','7','8', '9' 'A'..'F' — este subrango consta de los caracteres 'A','B','C','D','E','F' Se pueden crear variables cuyos valores se restrinjan a un subrango dado. Las declaraciones de tipo subrango se sitúan entre las declaraciones de constantes y de variables. -Estructura de datos *Estructura de datos Arrays Una estructura array (matriz o vector) es un conjunto finito y ordenado de elementos homogéneos. La propiedad “ordenado” significa que el elemento primero, segundo, tercero,..., enésimo de un array puede ser identificado. Los elementos de un array son homogéneos, es decir, del mismo tipo de datos. Un array puede ser compuesto de todos sus elemento de tipo entero, etc. los arrays se conocen también como matrices – en matemática – y tablas – en cálculos financieros. El tipo mas simple de array es el array unidimensional o vector (matriz de dimensión).
  • 8. El subíndice o índice de un elemento (1, 2, ..., i, n) designa su posición en la ordenación del vector. Otras posibles notaciones del vector son: a1, a2,......ai,.......an A(1) , A(2), ......., A(i), ......A(n) Obsérvese que solo el vector global tiene nombre (NOTAS). Los elementos del vector se referencian por su subíndice o índice (subscript), es decir, posición relativa en el vector. En algunos libros y tratados de programación, además de las notaciones anteriores se suele utilizar esta otra: A(L:U) = (A(I)) Para I =L.L – 1 .....U – 1, U donde cada elemento A (I) es de tipo T que significa: A, vector unidimensional con elementos de tipo T, cuyos subíndices varían en el rango de L a U, lo cual significa que el índice no tiene por que comenzar necesariamente en 0 o en i . como ejemplo de un vector o array unidimensional, se puede considerar el vector TEMPERATURA, que contiene las temperaturas horarias registradas en una ciudad durante los veinticuatro horas del día. Este vector constará de veinticuatro elementos de tipo real ya que las temperaturas normalmente no serán enteras siempre.
  • 9. *Cadena de Caracteres En programación, una cadena de caracteres, palabras, ristra de caracteres o frase (string, en inglés) es una secuencia ordenada (de longitud arbitraria, aunque finita) de elementos que pertenecen a un cierto lenguaje formal o alfabeto análogas a una fórmula o a una oración. En general, una cadena de caracteres es una sucesión de caracteres (letras, números u otros signos o símbolos). Si no se ponen restricciones al alfabeto, una cadena podrá estar formada por cualquier combinación finita de los caracteres disponibles (las letras de la 'a' a la 'z' y de la 'A' a la 'Z', los números del '0' al '9', el espacio en blanco ' ', símbolos diversos '!', '@', '%', etcétera). En este mismo ámbito, se utilizan habitualmente como un tipo de dato predefinido, para palabras, frases o cualquier otra sucesión de caracteres. En este caso, se almacenan en un vector de datos, o matriz de datos de una sola fila (array, en inglés). Las cadenas se pueden almacenar físicamente:  Seguidas;  Enlazados letra a letra. Generalmente los caracteres se guardan uno a continuación de otro para fines de eficiencia en el acceso. Un caso especial de cadena es la que contiene cero caracteres. A esta cadena se la llama cadena vacía.
  • 10. *Estructura de Datos en registros Un registro, en programación, es un tipo de dato estructurado formado por la unión de varios elementos bajo una misma estructura. Estos elementos pueden ser, o bien datos elementales (entero, real, carácter,...), o bien otras estructuras de datos. A cada uno de esos elementos se le llama campo. Un registro se diferencia de un vector en que éste es una colección de datos iguales, es decir, todos del mismo tipo, mientras que en una estructura los elementos que la componen, aunque podrían serlo, no tiene porque ser del mismo tipo. El concepto de registro que se acaba de presentar es muy similar al concepto de registro en bases de datos, este segundo se refiere a una colección de datos que hacen referencia a un mismo ítem que se van a guardar en una fila de una tabla de la base de datos. * Estructura de Datos en Lista En Ciencias de la Computación, una lista enlazada es una de las estructuras de datos fundamentales, y puede ser usada para implementar otras estructuras de datos. Consiste en una secuencia de nodos, en los que se guardan campos de datos arbitrarios y una o dos referencias, enlaces o punteros al nodo anterior o posterior. El principal beneficio de las listas enlazadas respecto a los vectores convencionales es que el orden de los elementos enlazados puede ser diferente al orden de almacenamiento en la memoria o el disco, permitiendo que el orden de recorrido de la lista sea diferente al de almacenamiento.
  • 11. Una lista enlazada es un tipo de dato autorreferenciado porque contienen un puntero o enlace (en inglés link, del mismo significado) a otro dato del mismo tipo. Las listas enlazadas permiten inserciones y eliminación de nodos en cualquier punto de la lista en tiempo constante (suponiendo que dicho punto está previamente identificado o localizado), pero no permiten un acceso aleatorio. Existen diferentes tipos de listas enlazadas: listas enlazadas simples, listas doblemente enlazadas, listas enlazadas circulares y listas enlazadas doblemente circulares. Las listas enlazadas pueden ser implementadas en muchos lenguajes. Lenguajes tales como Lisp y Scheme tiene estructuras de datos ya construidas, junto con operaciones para acceder a las listas enlazadas. Lenguajes imperativos u orientados a objetos tales como C o C++ y Java, respectivamente, disponen de referencias para crear listas enlazadas.
  • 12. *Estructura de datos en Arboles Un árbol es una estructura no lineal en la que cada nodo puede apuntar a uno o varios nodos. También se suele dar una definición recursiva: un árbol es una estructura en compuesta por un dato y varios árboles. Estas son definiciones simples. Pero las características que implican no lo son tanto. Árbol Definiremos varios conceptos. En relación con otros nodos:  Nodo hijo: cualquiera de los nodos apuntados por uno de los nodos del árbol. En el ejemplo, 'L' y 'M' son hijos de 'G'.  Nodo padre: nodo que contiene un puntero al nodo actual. En el ejemplo, el nodo 'A' es padre de 'B', 'C' y 'D'. Los árboles con los que trabajaremos tienen otra característica importante: cada nodo sólo puede ser apuntado por otro nodo, es decir, cada nodo sólo tendrá un padre. Esto hace que estos árboles estén fuertemente jerarquizados, y es lo que en realidad les da la apariencia de árboles.  En cuanto a la posición dentro del árbol:  Nodo raíz: nodo que no tiene padre. Este es el nodo que usaremos para referirnos al árbol. En el ejemplo, ese nodo es el 'A'.  Nodo hoja: nodo que no tiene hijos. En el ejemplo hay varios: 'F', 'H', 'I', 'K', 'L', 'M', 'N' y 'O'.  Nodo rama: aunque esta definición apenas la usaremos, estos son los nodos que no pertenecen a ninguna de las dos categorías anteriores. En el ejemplo: 'B', 'C', 'D', 'E', 'G' y 'J'.
  • 13. *Algoritmos En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus y éste a su vez del matemático persa Al-Juarismi ) es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia. En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en matemática son el algoritmo de multiplicación, para calcular el producto, el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolverlo
  • 14. *Representación de Algoritmos Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico. La descripción de un algoritmo usualmente se hace en tres niveles:  1.Descripción de alto nivel. Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles.  2.Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución.  3.Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones.  También es posible incluir un teorema que demuestre que el algoritmo es correcto, un análisis de complejidad o ambos.
  • 15. *Pseudocódigo En ciencias de la computación, y análisis numérico, el pseudocódigo (o falso lenguaje) es una descripción de alto nivel compacta e informal del principio operativo de un programa informático u otro algoritmo. Utiliza las convenciones estructurales de un lenguaje de programación real, pero está diseñado para la lectura humana en lugar de la lectura mediante máquina, y con independencia de cualquier otro lenguaje de programación. Normalmente, el pseudocódigo omite detalles que no son esenciales para la comprensión humana del algoritmo, tales como declaraciones de variables, código específico del sistema y algunas subrutinas. El lenguaje de programación se complementa, donde sea conveniente, con descripciones detalladas en lenguaje natural, o con notación matemática compacta. Se utiliza pseudocódigo pues este es más fácil de entender para las personas que el código del lenguaje de programación convencional, ya que es una descripción eficiente y con un entorno independiente de los principios fundamentales de un algoritmo. Se utiliza comúnmente en los libros de texto y publicaciones científicas que se documentan varios algoritmos, y también en la planificación del desarrollo de programas informáticos, para esbozar la estructura del programa antes de realizar la efectiva codificación. .
  • 16. *Organigrama Un organigrama es la representación gráfica de la estructura de una empresa o cualquier otra organización, incluyen las estructuras departamentales y, en algunos casos, las personas que las dirigen, hacen un esquema sobre las relaciones jerárquicas y competenciales de vigor. El organigrama es un modelo abstracto y sistemático que permite obtener una idea uniforme y sintética de la estructura formal de una organización:  Desempeña un papel informativo.  Presenta todos los elementos de autoridad, los niveles de jerarquía y la relación entre ellos. En el organigrama no se tiene que encontrar toda la información para conocer cómo es la estructura total de la empresa. Todo organigrama tiene el compromiso de cumplir los siguientes requisitos:  Tiene que ser fácil de entender y sencillo de utilizar.  Debe contener únicamente los elementos indispensables.  Tipos de organigrama:  Vertical: Muestra las jerarquías según una pirámide, de arriba abajo.  Horizontal: Muestra las jerarquías de izquierda a derecha.  Mixto: Es una combinación entre el horizontal y el vertical.  Circular: La autoridad máxima está en el centro, y alrededor de ella se forman círculos concéntricos donde figuran las autoridades en niveles decrecientes.  Escalar: Se usan sangrías para señalar la autoridad, cuanto mayor es la sangría, menor es la autoridad de ese cargo.  Tabular: Es prácticamente escalar, solo que el tabular no lleva líneas que unen los mandos de autoridad.
  • 17. *Diagrama Nassi-Shneiderman  En programación de computadores un diagrama Nassi-Shneiderman (o NSD por sus siglas en inglés), también conocido como diagrama de Chapin, es una representación gráfica que muestra el diseño de un programa estructurado.  Fue desarrollado en 1972 por Isaac Nassi y Ben Shneiderman. Este diagrama también es conocido como estructograma, ya que sirve para representar la estructura de los programas. Combina la descripción textual del pseudocódigo con la representación gráfica del diagrama de flujo.
  • 18. *Referencias Bibliográficas  www.wikipedia.com  www.conoce3000.com  www.monografias.com  www.informaticaaldia.com