Estructura de datos y algortimos

12
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA VICERRECTORADO ACADEMICO COORDINACION GENERAL DE PREGRADO PROYECTO DE CARRERA INGENIERIA INDUSTRIAL UNIDAD CURRICULAR TECNICAS DE ESTUDIO PROFESOR: LUIS ESTRAÑO REALIZADO POR: MENA ANGEL C. I: 24412838 CIUDAD GUAYANA, JUNIO DEL 2016

Transcript of Estructura de datos y algortimos

Page 1: Estructura de datos y algortimos

UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA

VICERRECTORADO ACADEMICO

COORDINACION GENERAL DE PREGRADO

PROYECTO DE CARRERA INGENIERIA INDUSTRIAL

UNIDAD CURRICULAR TECNICAS DE ESTUDIO

PROFESOR:

LUIS ESTRAÑO

REALIZADO POR:

MENA ANGEL

C. I: 24412838

CIUDAD GUAYANA, JUNIO DEL 2016

Page 2: Estructura de datos y algortimos

Tipos de datos• Datos de Tipo Entero

Como ya habrás leído el tipo de datos

entero es un tipo simple, y dentro de

estos, es ordinal. Al declarar una variable

de tipo entero, estás creando una variable

numérica que puede tomar valores

positivos o negativos, y sin parte decimal.

Este tipo de variables, puedes utilizarlas

en asignaciones, comparaciones,

expresiones aritméticas, etc. Algunos de

los papeles más comunes que desarrollan

son:

• Controlar un bucle

• Usarlas como contador,

incrementando su valor cuando

sucede algo.

• Realizar operaciones enteras, es

decir, sin parte decimal.

• Y muchas más...

• Datos de Tipo Real

El tipo de datos real es el que se

corresponde con los números reales.

Este es un tipo importante para los

cálculos. Por ejemplo en los

estadísticos, ya que se caracterizan

por tratar fundamentalmente con

valores decimales.

nota: Aunque pueda que estés

acostumbrado a escribir con coma los

decimales, te advierto que en Pascal

y en todos los lenguajes de

programación se escribe con un

punto. Por ejemplo: 3.1416

Page 3: Estructura de datos y algortimos

• Datos de Tipo LógicoEl tipo de datos lógico es el que te permite

usar variables que disponen sólo de dos

posibles valores: cierto o falso. Debido a

esto, su utilidad salta a la vista, y no es

otra que variables de chequeo. Nos sirven

para mantener el estado de un objeto

mediante dos valores:

• si/no

• cierto/falso

• funciona/no funciona

• on/off

• etc.

• Datos de Tipo Carácter

Con el tipo carácter puedes tener objetos

que representen una letra, un número, etc.

Es decir, puedes usar variables o

constantes que representen un valor

alfanumérico. Pero ojo, cada variable sólo

podrá almacenar un carácter.

Sin embargo, con las cadenas de

caracteres (strings) puedes contener en

una sola variable más de un carácter. Por

ejemplo, puedes tener en una variable tu

nombre.

Page 4: Estructura de datos y algortimos

• 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.

• Datos de Tipo Subrango

Los tipos de datos subrango, son rangos

de valores, que se deben definir a partir de

un tipo de dato enumerado, números

Enteros o el tipo de dato char. Los

subrangos se declaran, separando con

dos puntos seguidos los datos que

determinan el inicio y final del intervalo.

Los valores que se asignen a un tipo de

dato subrango, deben estar comprendidos

en el intervalo durante la ejecución del

programa.

Page 5: Estructura de datos y algortimos

Estructura de datos• Arrays

Un arreglo o ARRAY está formado por un

conjunto finito de elementos o de componentes

del mismo tipo comúnmente llamado tipo base.

En otro orden de ideas, un ARRAY es una lista

de un número finito de de elementos del mismo

tipo que se caracteriza por:

• Almacenar los elementos en posiciones de

memoria continuas.

• Tener un único nombre de variable que

representa a todos los elementos, y éstos a su

vez se diferencian por un índice o subíndice.

• Acceso directo o aleatorio a cada uno de

los elementos del arreglo.

• Cadena de caracteres

La cadena es quizás la estructura más simple de

una estructura de datos y más aún, de una

contigua o secuencial. Una cadena se define

como una secuencia de caracteres que se

interpretan como un único dato. Su longitud

puede ser fija o variable por lo que, además de

saber que están constituidas por caracteres

alfanuméricos, hemos de conocer (definición de

datos, etapa de declaración) su longitud.

En una variable de tipo cadena (string) puede

almacenar una palabra, o una frase; un nombre,

un nombre completo (con apellidos, incluyendo

espacios). La longitud de una cadena se puede

determinar, normalmente indicando el numero

de espacios (caracteres alfanuméricos) máximo

que podría contener.

Page 6: Estructura de datos y algortimos

• Registros

Es un tipo de dato estructurado que consta

de un conjunto de elementos que pueden

ser del mismo tipo o de tipos diferentes.

Los componentes de un registro se

denominan campos. Cada campo tiene un

nombre llamado identificador (nombre) de

campo y un tipo de dato que indica la

información a almacenar.

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, otros), 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 registro los elementos que

la componen, aunque podrían serlo, no

tiene porque ser del mismo tipo.

• Listas

Las listas son una sucesión de cero o más

elementos.

Hay varios tipos de listas, las hay enlazadas,

no enlazadas, ordenadas y no ordenadas.

Nosotros vamos a estudiar las listas

enlazadas, tanto ordenadas como no

ordenadas.

La diferencia que existe entre las listas

enlazadas y las no enlazadas es que las

enlazadas utilizan punteros, es decir,

asignación dinámica de memoria, lo que

optimiza la gestión de la misma. Una lista no

enlazada es un simple array, y por lo tanto es

un bloque contiguo de memoria, mientras que

una lista enlazada es un conjunto de nodos

que no tienen porque ocupar posiciones

contiguas de memoria.

La diferencia entre listas ordenadas y no

ordenadas es obvia, las ordenadas

mantienen cierto orden entre sus elementos.

Page 7: Estructura de datos y algortimos

• 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.

Esto son definiciones simples. Pero las características que implican no lo son

tanto.

• Árboles Binarios

Árbol de búsqueda binario auto-balanceable

Árboles AVL

Árboles Rojo-Negro

Árbol AA

Árbol de segmento

• Árboles Multicamino

Árboles B (Árboles de búsqueda multicamino autobalanceados)

Árbol-B+

Árbol-B*

Page 8: Estructura de datos y algortimos

Algoritmos Concepto de Algoritmo

Es un método para resolver un problema mediante una serie de pasos definidos,

precisos y finitos.

• Es preciso ya que implica

• Es definido, si se sigue dos veces se obtiene el mismo resultado.

• Es finito, porque tiene un número determinado de pasos, implica que tiene fin.

• Representación de algoritmos

Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje

natural.

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.

Seudocódigo, diagramas de flujo y lenguajes de programación entre otros.

Pseudocodigo OrganigramasDiagramas de Nassi-

Schneiderman

Page 9: Estructura de datos y algortimos

Representación de algoritmosPseudocodigo

Es un conjunto pequeño y claro de instrucciones; en secuencia, que

permite llevar a cabo una tarea.

Page 10: Estructura de datos y algortimos

Representación de algoritmosOrganigramas

Es la representación de la secuencia a través de símbolos de la tarea que se va a realizar.

En programación se pueden distinguir dos tipos:

• Organigramas de Sistemas

Son diagramas destinados a describir el flujo de información entre los distintos soportes físicos de

un sistema informático.

• Diagramas de flujo del programa

Son los que se conoce comúnmente como Organigramas y constituyen la representación gráfica de

un algoritmo. Se utilizan como herramienta que hace más fácil la visualización de todos los

recorridos posibles que puede seguir un programa.

Page 11: Estructura de datos y algortimos

Representación de algoritmosDiagramas de Nassi-Schneiderman

Un diagrama Nassi-Shneiderman es una representación gráfica de un algoritmo para

programación estructurada. Desarrollados en 1972 por Isaac Nassi y Ben

Shneiderman, estos diagramas también son conocidos como estructogramas debido

a que muestran las estructuras de un programa.

Page 12: Estructura de datos y algortimos

Referencias bibliográficas• http://teleformacion.edu.aytolacoruna.es/PASCAL/document/tipos.htm

• http://www.conoce3000.com/html/espaniol/Libros/PascalConFreePascal/Ca

p02-08-Tipos%20de%20datos%20enumerados.php

• http://www.conoce3000.com/html/espaniol/Libros/PascalConFreePascal/Ca

p02-09-Tipos%20de%20datos%20subrango.php

• http://fannyestructuradatos.blogspot.com/p/arreglos.html

• https://umxestructuradedatos.wordpress.com/est-contiguas/cadenas-2/

• http://desarrolloinformaticoiutepal.blogspot.com/2012/05/estructura-de-

datos-arreglos-y.html

• http://www.hci.uniovi.es/Products/DSTool/listas/listas-queSon.html

• http://www.c.conclase.net/edd/?cap=006

• https://es.wikipedia.org/wiki/%C3%81rbol_(inform%C3%A1tica)

• https://mauriciozacarias.wordpress.com/definicion-de-algoritmo/

• http://algoritmos021415.blogspot.com/2012/04/representacion-de-un-

algoritmo.html

• http://www.iesjuandelacierva.com/paginade/fupro/apuntes/ut5.htm

• http://eii.ucv.cl/nessi/help/es/nsd.html