SlideShare una empresa de Scribd logo
1 de 33
UNIDAD I TIPOS DE DATOS
1.1 TIPOS  DE DATOS El tipo de datos de un elemento de programación hace referencia al tipo de datos que puede contener y  cómo se almacenan dichos datos. Los tipos de datos se aplican a todos los valores que pueden almacenarse en la memoria del equipo o participar en la evaluación de una expresión.  Cada variable, literal, constante, enumeración, propiedad, parámetro de procedimiento, argumento de procedimiento y valor devuelto por un procedimiento tiene un tipo de datos.
Un elemento de programación se define con una instrucción de declaración y su tipo de datos se especifica con la cláusula As. La lista siguiente muestra las instrucciones utilizadas para declarar diversos elementos: ,[object Object]
Integer– Datos que pueden tener cualquier número entero, o sea, no tiene punto decimal. Puede tener valores desde –32,768 hasta 32,767.,[object Object]
Single-precision (floatingpoint)– Número con un máximo de seis (6) lugares decimales.
Double-precision (floatingpoint)– Número con un máximo de catorce (14) lugares decimales.,[object Object]
Currency– Otro tipo de “floatingpoint”. Puede tener valores desde –922 trillones hasta 922 trillones.
Bolean – Tiene solo los valores True (cierto) o False (falso).
Byte – Tiene números enteros desde 0 a 255.,[object Object]
1.1 TIPOS  DE DATOS SIMPLES Estos definen los métodos de almacenamiento disponibles para representar información, junto con la manera en que dicha información ha de ser interpretada.  Para crear una variable (de un tipo simple) en memoria debe declararse indicando su tipo de variable y su identificador que la identificará de forma única. La sintaxis de declaración de variables es la siguiente:  Tipo Simple Identificador1, Identificador2;  Esta sentencia indica al compilador que reserve memoria para dos variables del tipo simple Tipo Simple con nombres Identificador1 e Identificador2.
Un tipo de dato entero 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: del 0 al 4294967295  Positivos y negativos: del -2147483648 al 2147483647  Dim As Integer El tipo de dato lógico o booleano es en computación aquel que puede representar valores de lógica binaria, esto es, valores que representen falso o verdadero.  verdaderoANDfalso --> falso falsoORverdadero --> verdadero NOTverdadero --> falso If a<35 and a>10 then Se deben de cumplir las dos condiciones para llevar a cabo la ejecución del programa.
1.1.1.1 DEFINICION DE BYTE Y BIT, CARÁCTER Y PALABRA Bit.-   Es el espacio más pequeño de información  que puede tener dos valores posibles  v O  ó  un V o encendido o apagado.  Byte.- = 8 bits.  El más significativo esta a la derecha.                           El menos significativo esta a la izquierda.  El número más grande que se pueda almacenar en un byte es 2° -1=   255 cardinales cada signo  -128ª+ 127 2 = 4  no es cierto que es el número que almacenamos en dos bits1 00. 2 –1= 3  que es el número máximo que puede almacenarse en 2 bits.  1 1 .
Carácter:   Cada carácter esta asignado a un  número en código ASCII  0-31  para control de la máquina y de 32-180 para cada uno de los caracteres con el fin de almacenarlos en un byte. Longitud de palabra:  Es un espacio para almacenar datos. Dependiendo del tipo de procesador la longitud de palabra puede correr sus aplicaciones a:                         IN         2 –1       8     bits      Es el número de líneas .                                      2 – 1     16    bits      que puede procesarse a                        OUT      2 – 1     32    bits       la vez en forma                                      2 – 1     64    bits      simultáneo.                                1001                                   1100   Codificación Ponderada   8-4-2-1 Ejemplo   Representación   BCD     8-4-2-1
1.1.1.2 MANIPULACION DE BITS Visual Basic no admite explícitamente las funciones de manipulación de bits de conjunto, borrar, alternar y examinar. En este artículo describe cómo simular estas funciones en Visual Basic.  Manipulación de nivel de bits es práctica común para sistemas operativos y programas que necesitan para ahorrar espacio.  Visual Basic no se puede tratar el nivel de bits directamente, pero utilizando los operadores lógicos, pueden manipular datos bit trabajando con un byte en un momento.  A continuación se presenta algunas rutinas de bits (manipulación).
Las rutinas Array asumen 32 bits por elemento, comenzando con los bits del 0 al 31 en el primero, del 32 al 63 en el segundo, etc. La matriz no necesita comenzar en el elemento cero.
1.1.1.3 ORGANIZACIÓN DE DATOS SIMPLES La principal característica de los datos simples 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 encuentran: enteros, reales, carácter, boleanos, enumerados y subrrango (los dos últimos no existen  en algunos lenguajes de programación).
La Unidad Central de Procesamiento toma instrucciones y datos de la memoria primaria en grupo de n bits, llamados palabras de computadora .      Un Bit sólo puede tomar dos posibles estados asociados con el cero y el uno.  La longitud de una palabra de computadora es el número de bits que la componen; en la mayoría de las computadoras esta longitud ocia entre 8 y 64 bits.  La memoria físicamente está construida por un conjunto de m palabras de longitud n, en donde a cada palabra se le asigna una dirección, que es un número único, entre 0 y m -1, llamado la dirección de la palabra, como se muestra a continuación.                                                
El conjunto de datos propios o nativos que una computadora en particular puede manejar esta determinado por las funciones que han sido alambradas en su hardware. Sin embargo, podemos interpretar el concepto de tipo de dato como el usuario lo maneja. Por ejemplo, si una persona quiere sumar dos números enteros, a la persona no le interesa el mecanismo detallado por medio del cual se va a hacer la suma. la computadora "implementa" en el hardware o en le software mecanismos para realizar dicha operación.
1.1.1.4 TIPOS  DE ABSTRACTOS Un tipo de dato abstracto (TDA) o Tipo abstracto de datos (TAD) es un modelo matemático compuesto por una colección de operaciones definidas sobre un conjunto de datos para el modelo. La abstracción, una de las herramientas que más nos ayuda a la hora de solucionar un problema, es un mecanismo fundamental para la comprensión de problemas y fenómenos que poseen una gran cantidad de detalles, su idea principal consiste en manejar un problema, fenómeno, objeto, tema o idea como un concepto general, sin considerar la gran cantidad de detalles que estos puedan tener. El proceso de abstracción presenta dos aspectos complementarios. Destacar los aspectos relevantes del objeto.
Ignorar los aspectos irrelevantes del mismo (la irrelevancia depende del nivel de abstracción, ya que si se pasa a niveles más concretos, es posible que ciertos aspectos pasen a ser relevantes).  De modo general podemos decir que la abstracción permite establecer un nivel jerárquico en el estudio de los fenómenos, el cual se establece por niveles sucesivos de detalles. Generalmente, se sigue un sentido descendente de detalles, desde los niveles más generales a los niveles más concretos. Por ejemplo: los lenguajes de programación de alto nivel permiten al programador abstraerse del sin fin de detalles de los lenguajes ensambladores. Otro ejemplo, la memoria de la computadora es una estructura unidimensional formada por celdas y sin embargo trabajamos como si fuera única. La abstracción nos brinda la posibilidad de ir definiendo una serie de refinamientos sucesivos a nuestro TDA y entiéndase bien que cuando decimos refinamientos sucesivos nos estamos refiriendo a la estrategia que se utiliza para descomponer un problema en subproblemas. Conforme evoluciona el diseño de software a cada nivel de módulos se representa un refinamiento en el nivel de abstracción. Esto es, incluir detalles que fueron obviados en un nivel superior, en un nivel más bajo de la jerarquía. Veamos los diferentes tipos de abstracción que podemos encontrar en un programa:
2. Abstracción de datos: Tipo de datos: proporcionado por los leguajes de alto nivel. La representación usada es invisible al programador, al cual solo se le permite ver las operaciones predefinidas para cada tipo.  Tipos definidos: por el programador que posibilitan la definición de valores de datos más cercanos al problema que se pretende resolver.  TDA: para la definición y representación de tipos de datos (valores + operaciones), junto con sus propiedades.  Objetos: Son TDA a los que se añade propiedades de reutilización y de compartición de código.  Si profundizamos más al mundo de la programación y sus conceptos, existen dos de estos conceptos que no se deben confundir, ellos son: tipo de datos y estructura de datos. Un tipo de dato, en un lenguaje de programación, define un conjunto de valores que una determinada variable puede tomar, así como las operaciones básicas sobre dicho conjunto. Ahora veamos como se van relacionando estos conceptos. Los tipos de datos constituyen un primer nivel de abstracción, ya que no se tiene en cuenta cómo se implementan o se representan realmente la información sobre la memoria de la máquina.
Para el usuario, el proceso de implementación o representación es invisible. Veamos entonces que son las estructuras de datos. Las estructuras de datos son colecciones de variables, no necesariamente del mismo tipo, relacionadas entre sí de alguna forma. Las estructuras de datos están caracterizadas por el tipo de dato de los elementos guardados en la estructura y por la relación definida sobre estos elementos. Al nivel de las estructuras de datos son totalmente irrelevantes las operaciones sobre un elemento en particular, solamente tienen carácter relevante las operaciones que envuelvan la estructura de forma global. Ejemplos de utilización de TDAs Algunos ejemplos de utilización de TDAs en programación son: Conjuntos: Implementación de conjuntos con sus operaciones básicas (unión, intersección y diferencia), operaciones de inserción, borrado, búsqueda...  Árboles Binarios de Búsqueda: Implementación de árboles de elementos, utilizados para la representación interna de datos complejos. Aunque siempre se los toma como un TDA separado son parte de la familia de los grafos.  Pilas y Colas: Implementación de los algoritmos FIFO Y LIFO.  Grafos: Implementación de grafos; una serie de vértices unidos mediante una serie de arcos o aristas.
1.2.1 ESTRUCTURAS DE DATOS DEFINICIÓN En programación, una estructura de datos es una forma de organizar un conjunto de datos elementales (un dato elemental es la mínima información que se tiene en el sistema) con el objetivo de facilitar la manipulación de estos datos como un todo o individualmente.  Una estructura de datos define la organización e interrelacionamiento de estos, y un conjunto de operaciones que se pueden realizar sobre él. Las operaciones básicas son:  Alta, adicionar un nuevo valor a la estructura.  Baja, borrar un valor de la estructura.  Búsqueda, encontrar un determinado valor en la estructura para realizar una operación con este valor, en forma SECUENCIAL o BINARIO (siempre y cuando los datos estén ordenados)…
Otras operaciones que se pueden realizar son:  Ordenamiento, de los elementos pertenecientes a la estructura.  Apareo, dadas dos estructuras originar una nueva ordenada y que contenga a las apareadas.  Cada estructura ofrece ventajas y desventajas en relación a la simplicidad y eficiencia para la realización de cada operación. De esta forma, la elección de la estructura de datos apropiada para cada problema depende de factores como la frecuencia y el orden en que se realiza cada operación sobre los datos.  Cambios efectuados por Rosana Gutiérrez Montoya, Licenciatura en Informática, INSTITUTO TECNOLÓGICO DE TIJUANA
1.1.2 Clasificación estructura de datos CLASIFICACIÓN DE ESTRUCTURAS DE DATOS:  Una estructura de datos es una clase de datos que se puede caracterizar por su organización y operaciones definidas sobre ella. Algunas veces a estas estructuras se les llama tipos de datos.  en ellas encontramos las siguientes:  ESTRUCTURAS LÓGICAS DE DATOS:  En un programa, cada variable pertenece a alguna estructura de datos explícita o implícitamente definida, la cual determina el conjunto de operaciones validas para ella. Las estructuras de datos que se discuten aquí son estructuras de datos lógicas. Cada estructura de datos lógica puede tener varias representaciones físicas diferentes para sus almacenamientos posibles.
ESTRUCTURAS PRIMITIVAS Y SIMPLES:  Son primitivas aquellas que no están compuestas por otras estructuras de datos por ejemplo, enteros, booleanos y caracteres. Otras estructuras de datos se pueden construir de una o mas primitivas. Las estructuras de datos simples que consideramos se construyen a partir de estructuras primitivas y son: cadenas, arreglos y registros. A estas estructuras de datos las respaldan muchos lenguajes de programación.  ESTRUCTURAS LINEALES Y NO LINEALES:  Las estructuras de datos simples se pueden combinar de varias maneras para formar estructuras mas complejas. Las dos cases principales de estructuras de datos son las lineales y las no lineales, dependiendo de la complejidad de las relaciones lógicas que representan. Las estructuras de datos lineales incluyen pilas, colas y listas ligadas lineales. Las estructuras de datos no lineales
1.2.2.1 Estructura de datos lineales y no lineales
Arreglos, listas enlazadas, pilas y colas.  Comprender, definir y utilizar os conceptos de las estructuras lineales – arreglos unidimensionales, bidimensionales y arreglos paralelos. Conocer y utilizar las operaciones mas usuales con arreglos unidimensionales y bidimensionales.  Manejar los términos punteros y arreglos de punteros.  Definir una lista enlazada y conocer y hacer uso de las operaciones mas comunes  Definir y diferenciar las estructuras de datos TAD pilas y colas. Utilizar cada una de estas estructuras en la codificación de un algoritmo, utilizando el lenguaje de programación C++.
Arreglos:  Es un conjunto de datos o una estructura de datos homogéneos que se encuentran ubicados en forma consecutiva en la memoria RAM (sirve para almacenar datos en forma temporal).  Un arreglo puede definirse como un grupo o una colección finita, homogénea y ordenada de elementos. Los arreglos pueden ser de los siguientes tipos:  • De una dimensión.  • De dos dimensiones.  • De tres o más dimensiones.  Listas enlazadas.  Simples.  Dobles.  Circulares.  Multi listas.  Clases para la implementación de Listas.
Pilas.  Una pila (stack en inglés) es una lista ordinal o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del inglés Last In First Out, último en entrar, primero en salir) que permite almacenar y recuperar datos. Se aplica en multitud de ocasiones en informática debido a su simplicidad y ordenación implícita en la propia estructura.
Colas.  Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir.  Estructura de datos no lineales: árboles y grafos.  Diferenciar entre las estructuras árboles y grafos. Conocer la representación en memoria de un árbol y de un grafo. Árboles.  • Árboles binarios.  • Árboles de expresión.  • Construcción de árbol binario.  • Recorrido de un árbol.  • Aplicación de árboles binarios.  • Árbol binario y de búsqueda.  • Opresiones con árboles binarios de búsqueda.
Grafos.  Un grafo (específicamente, grafo simple no dirigido) es un par G D .V; E/ D .V .G/; V .E//, donde V es un conjunto finito no vacío de elementos llamados vértices y E es un conjunto de pares desordenados de elementos distintos de V llamados aristas. Es decir, una arista e 2 E tiene la forma fu; vg, donde u; v 2 V y u 6D v.  La terminología en teoría de grafos varía muchísimo: prácticamente no hay dos textos que adopten la misma. En particular, los vértices de un grafo también reciben a veces el nombre de nodos, y las aristas arcos, ejes o líneas.

Más contenido relacionado

La actualidad más candente

. An introduction to machine learning and probabilistic ...
. An introduction to machine learning and probabilistic .... An introduction to machine learning and probabilistic ...
. An introduction to machine learning and probabilistic ...
butest
 

La actualidad más candente (20)

Data Science - Part XII - Ridge Regression, LASSO, and Elastic Nets
Data Science - Part XII - Ridge Regression, LASSO, and Elastic NetsData Science - Part XII - Ridge Regression, LASSO, and Elastic Nets
Data Science - Part XII - Ridge Regression, LASSO, and Elastic Nets
 
Credit card fraud detection using python machine learning
Credit card fraud detection using python machine learningCredit card fraud detection using python machine learning
Credit card fraud detection using python machine learning
 
Understanding Bagging and Boosting
Understanding Bagging and BoostingUnderstanding Bagging and Boosting
Understanding Bagging and Boosting
 
Credit Card Fraudulent Transaction Detection Research Paper
Credit Card Fraudulent Transaction Detection Research PaperCredit Card Fraudulent Transaction Detection Research Paper
Credit Card Fraudulent Transaction Detection Research Paper
 
Decision tree
Decision treeDecision tree
Decision tree
 
. An introduction to machine learning and probabilistic ...
. An introduction to machine learning and probabilistic .... An introduction to machine learning and probabilistic ...
. An introduction to machine learning and probabilistic ...
 
Machine Learning for Fraud Detection
Machine Learning for Fraud DetectionMachine Learning for Fraud Detection
Machine Learning for Fraud Detection
 
Credit card fraud dection
Credit card fraud dectionCredit card fraud dection
Credit card fraud dection
 
Exploratory data analysis with Python
Exploratory data analysis with PythonExploratory data analysis with Python
Exploratory data analysis with Python
 
Ridge regression, lasso and elastic net
Ridge regression, lasso and elastic netRidge regression, lasso and elastic net
Ridge regression, lasso and elastic net
 
Pca(principal components analysis)
Pca(principal components analysis)Pca(principal components analysis)
Pca(principal components analysis)
 
Introduction to Maximum Likelihood Estimator
Introduction to Maximum Likelihood EstimatorIntroduction to Maximum Likelihood Estimator
Introduction to Maximum Likelihood Estimator
 
Exploratory data analysis
Exploratory data analysisExploratory data analysis
Exploratory data analysis
 
One R (1R) Algorithm
One R (1R) AlgorithmOne R (1R) Algorithm
One R (1R) Algorithm
 
Ridge regression
Ridge regressionRidge regression
Ridge regression
 
Learning from imbalanced data
Learning from imbalanced data Learning from imbalanced data
Learning from imbalanced data
 
Factor analysis
Factor analysisFactor analysis
Factor analysis
 
Introduction to principal component analysis (pca)
Introduction to principal component analysis (pca)Introduction to principal component analysis (pca)
Introduction to principal component analysis (pca)
 
Regression analysis by Muthama JM
Regression analysis by Muthama JMRegression analysis by Muthama JM
Regression analysis by Muthama JM
 
Statistics for data science
Statistics for data science Statistics for data science
Statistics for data science
 

Destacado

Epigramas Americanos Enrique DíEz Canedo
Epigramas Americanos Enrique DíEz CanedoEpigramas Americanos Enrique DíEz Canedo
Epigramas Americanos Enrique DíEz Canedo
lotino
 
Portafolios 001
Portafolios 001Portafolios 001
Portafolios 001
grupor8
 
Aprende Inglés en 7 Días - Ramon Campayo
Aprende Inglés en 7 Días - Ramon CampayoAprende Inglés en 7 Días - Ramon Campayo
Aprende Inglés en 7 Días - Ramon Campayo
gsoldier
 
Desde El Aire 3 - Photos taken from air
Desde El Aire 3 - Photos taken from airDesde El Aire 3 - Photos taken from air
Desde El Aire 3 - Photos taken from air
shvax
 
20 Reglas De Vida
20 Reglas De Vida20 Reglas De Vida
20 Reglas De Vida
marcokastro
 
49 Php. Funciones De Usuario
49 Php. Funciones De Usuario49 Php. Funciones De Usuario
49 Php. Funciones De Usuario
José M. Padilla
 
Ambito juridico.com el-verdadero_drama_de_los_riesgos_profesionales
Ambito juridico.com el-verdadero_drama_de_los_riesgos_profesionalesAmbito juridico.com el-verdadero_drama_de_los_riesgos_profesionales
Ambito juridico.com el-verdadero_drama_de_los_riesgos_profesionales
Diego Javier Mesa Rada
 
Amigos Pps
Amigos PpsAmigos Pps
Amigos Pps
shakiel
 
Sistema Nervioso
Sistema NerviosoSistema Nervioso
Sistema Nervioso
pretde
 
Designing Task Based Call To Promote Interaction
Designing Task Based Call To Promote InteractionDesigning Task Based Call To Promote Interaction
Designing Task Based Call To Promote Interaction
Northern Arizona University
 

Destacado (20)

Ivonne parodi entrevista blog
Ivonne parodi entrevista blogIvonne parodi entrevista blog
Ivonne parodi entrevista blog
 
Nuevas cosas anime llegan a kawaiitastic!!!!
Nuevas cosas anime llegan a kawaiitastic!!!!Nuevas cosas anime llegan a kawaiitastic!!!!
Nuevas cosas anime llegan a kawaiitastic!!!!
 
Epigramas Americanos Enrique DíEz Canedo
Epigramas Americanos Enrique DíEz CanedoEpigramas Americanos Enrique DíEz Canedo
Epigramas Americanos Enrique DíEz Canedo
 
Portafolios 001
Portafolios 001Portafolios 001
Portafolios 001
 
El Turismo
El TurismoEl Turismo
El Turismo
 
PresentacióN Crece
PresentacióN CrecePresentacióN Crece
PresentacióN Crece
 
ANTEPROYECTO
ANTEPROYECTO ANTEPROYECTO
ANTEPROYECTO
 
Aprende Inglés en 7 Días - Ramon Campayo
Aprende Inglés en 7 Días - Ramon CampayoAprende Inglés en 7 Días - Ramon Campayo
Aprende Inglés en 7 Días - Ramon Campayo
 
Comunidad Virtual
Comunidad VirtualComunidad Virtual
Comunidad Virtual
 
62 Php. Creando Imagenes
62 Php. Creando Imagenes62 Php. Creando Imagenes
62 Php. Creando Imagenes
 
Gracias Padre
Gracias PadreGracias Padre
Gracias Padre
 
E Commerce Y E Business
E Commerce  Y E BusinessE Commerce  Y E Business
E Commerce Y E Business
 
Tu Angel
Tu AngelTu Angel
Tu Angel
 
Desde El Aire 3 - Photos taken from air
Desde El Aire 3 - Photos taken from airDesde El Aire 3 - Photos taken from air
Desde El Aire 3 - Photos taken from air
 
20 Reglas De Vida
20 Reglas De Vida20 Reglas De Vida
20 Reglas De Vida
 
49 Php. Funciones De Usuario
49 Php. Funciones De Usuario49 Php. Funciones De Usuario
49 Php. Funciones De Usuario
 
Ambito juridico.com el-verdadero_drama_de_los_riesgos_profesionales
Ambito juridico.com el-verdadero_drama_de_los_riesgos_profesionalesAmbito juridico.com el-verdadero_drama_de_los_riesgos_profesionales
Ambito juridico.com el-verdadero_drama_de_los_riesgos_profesionales
 
Amigos Pps
Amigos PpsAmigos Pps
Amigos Pps
 
Sistema Nervioso
Sistema NerviosoSistema Nervioso
Sistema Nervioso
 
Designing Task Based Call To Promote Interaction
Designing Task Based Call To Promote InteractionDesigning Task Based Call To Promote Interaction
Designing Task Based Call To Promote Interaction
 

Similar a Unidad 1

Lenguajes De Bajo Nivel
Lenguajes De Bajo NivelLenguajes De Bajo Nivel
Lenguajes De Bajo Nivel
guestbf0046
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
lensh
 
Tutorial proton ide plus part 1
Tutorial proton ide plus part 1Tutorial proton ide plus part 1
Tutorial proton ide plus part 1
dar851112
 
37 tarazona karen programacion
37 tarazona karen programacion37 tarazona karen programacion
37 tarazona karen programacion
karenyulithza
 

Similar a Unidad 1 (20)

Investigacion tipo de datos
Investigacion tipo de datosInvestigacion tipo de datos
Investigacion tipo de datos
 
Codigo C+++
Codigo C+++Codigo C+++
Codigo C+++
 
Tipo de Datos!
Tipo de Datos!Tipo de Datos!
Tipo de Datos!
 
Tipo de datos
Tipo de datosTipo de datos
Tipo de datos
 
Algoritmo y mas teoria logica
Algoritmo y mas teoria logicaAlgoritmo y mas teoria logica
Algoritmo y mas teoria logica
 
Lenguajes De Bajo Nivel
Lenguajes De Bajo NivelLenguajes De Bajo Nivel
Lenguajes De Bajo Nivel
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 
Tutorial proton ide plus part 1
Tutorial proton ide plus part 1Tutorial proton ide plus part 1
Tutorial proton ide plus part 1
 
Presentación1
Presentación1Presentación1
Presentación1
 
Power designer
Power designerPower designer
Power designer
 
Power designer
Power designerPower designer
Power designer
 
Power designer
Power designerPower designer
Power designer
 
caracteristicas de power designer
caracteristicas de power designercaracteristicas de power designer
caracteristicas de power designer
 
Computacion asignacion 3
Computacion asignacion 3Computacion asignacion 3
Computacion asignacion 3
 
Computacion de ing nahum
Computacion de ing nahumComputacion de ing nahum
Computacion de ing nahum
 
37 tarazona karen programacion
37 tarazona karen programacion37 tarazona karen programacion
37 tarazona karen programacion
 
Tema1
Tema1Tema1
Tema1
 
Tema1 informatica.
Tema1 informatica.Tema1 informatica.
Tema1 informatica.
 
Tipos de datos en power designer
Tipos de datos en power designerTipos de datos en power designer
Tipos de datos en power designer
 
Tiposdedatosjava
TiposdedatosjavaTiposdedatosjava
Tiposdedatosjava
 

Unidad 1

  • 1. UNIDAD I TIPOS DE DATOS
  • 2. 1.1 TIPOS DE DATOS El tipo de datos de un elemento de programación hace referencia al tipo de datos que puede contener y cómo se almacenan dichos datos. Los tipos de datos se aplican a todos los valores que pueden almacenarse en la memoria del equipo o participar en la evaluación de una expresión. Cada variable, literal, constante, enumeración, propiedad, parámetro de procedimiento, argumento de procedimiento y valor devuelto por un procedimiento tiene un tipo de datos.
  • 3.
  • 4.
  • 5. Single-precision (floatingpoint)– Número con un máximo de seis (6) lugares decimales.
  • 6.
  • 7. Currency– Otro tipo de “floatingpoint”. Puede tener valores desde –922 trillones hasta 922 trillones.
  • 8. Bolean – Tiene solo los valores True (cierto) o False (falso).
  • 9.
  • 10. 1.1 TIPOS DE DATOS SIMPLES Estos definen los métodos de almacenamiento disponibles para representar información, junto con la manera en que dicha información ha de ser interpretada. Para crear una variable (de un tipo simple) en memoria debe declararse indicando su tipo de variable y su identificador que la identificará de forma única. La sintaxis de declaración de variables es la siguiente: Tipo Simple Identificador1, Identificador2; Esta sentencia indica al compilador que reserve memoria para dos variables del tipo simple Tipo Simple con nombres Identificador1 e Identificador2.
  • 11. Un tipo de dato entero 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: del 0 al 4294967295 Positivos y negativos: del -2147483648 al 2147483647 Dim As Integer El tipo de dato lógico o booleano es en computación aquel que puede representar valores de lógica binaria, esto es, valores que representen falso o verdadero. verdaderoANDfalso --> falso falsoORverdadero --> verdadero NOTverdadero --> falso If a<35 and a>10 then Se deben de cumplir las dos condiciones para llevar a cabo la ejecución del programa.
  • 12. 1.1.1.1 DEFINICION DE BYTE Y BIT, CARÁCTER Y PALABRA Bit.-   Es el espacio más pequeño de información  que puede tener dos valores posibles  v O  ó  un V o encendido o apagado. Byte.- = 8 bits.  El más significativo esta a la derecha.                           El menos significativo esta a la izquierda. El número más grande que se pueda almacenar en un byte es 2° -1=   255 cardinales cada signo  -128ª+ 127 2 = 4  no es cierto que es el número que almacenamos en dos bits1 00. 2 –1= 3  que es el número máximo que puede almacenarse en 2 bits.  1 1 .
  • 13. Carácter:   Cada carácter esta asignado a un  número en código ASCII  0-31  para control de la máquina y de 32-180 para cada uno de los caracteres con el fin de almacenarlos en un byte. Longitud de palabra:  Es un espacio para almacenar datos. Dependiendo del tipo de procesador la longitud de palabra puede correr sus aplicaciones a:                         IN         2 –1       8     bits      Es el número de líneas .                                      2 – 1     16    bits     que puede procesarse a                        OUT      2 – 1     32    bits      la vez en forma                                      2 – 1     64    bits      simultáneo.                                1001                                   1100   Codificación Ponderada   8-4-2-1 Ejemplo   Representación   BCD     8-4-2-1
  • 14. 1.1.1.2 MANIPULACION DE BITS Visual Basic no admite explícitamente las funciones de manipulación de bits de conjunto, borrar, alternar y examinar. En este artículo describe cómo simular estas funciones en Visual Basic. Manipulación de nivel de bits es práctica común para sistemas operativos y programas que necesitan para ahorrar espacio. Visual Basic no se puede tratar el nivel de bits directamente, pero utilizando los operadores lógicos, pueden manipular datos bit trabajando con un byte en un momento. A continuación se presenta algunas rutinas de bits (manipulación).
  • 15.
  • 16. Las rutinas Array asumen 32 bits por elemento, comenzando con los bits del 0 al 31 en el primero, del 32 al 63 en el segundo, etc. La matriz no necesita comenzar en el elemento cero.
  • 17. 1.1.1.3 ORGANIZACIÓN DE DATOS SIMPLES La principal característica de los datos simples 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 encuentran: enteros, reales, carácter, boleanos, enumerados y subrrango (los dos últimos no existen  en algunos lenguajes de programación).
  • 18. La Unidad Central de Procesamiento toma instrucciones y datos de la memoria primaria en grupo de n bits, llamados palabras de computadora .      Un Bit sólo puede tomar dos posibles estados asociados con el cero y el uno. La longitud de una palabra de computadora es el número de bits que la componen; en la mayoría de las computadoras esta longitud ocia entre 8 y 64 bits. La memoria físicamente está construida por un conjunto de m palabras de longitud n, en donde a cada palabra se le asigna una dirección, que es un número único, entre 0 y m -1, llamado la dirección de la palabra, como se muestra a continuación.                                              
  • 19. El conjunto de datos propios o nativos que una computadora en particular puede manejar esta determinado por las funciones que han sido alambradas en su hardware. Sin embargo, podemos interpretar el concepto de tipo de dato como el usuario lo maneja. Por ejemplo, si una persona quiere sumar dos números enteros, a la persona no le interesa el mecanismo detallado por medio del cual se va a hacer la suma. la computadora "implementa" en el hardware o en le software mecanismos para realizar dicha operación.
  • 20. 1.1.1.4 TIPOS DE ABSTRACTOS Un tipo de dato abstracto (TDA) o Tipo abstracto de datos (TAD) es un modelo matemático compuesto por una colección de operaciones definidas sobre un conjunto de datos para el modelo. La abstracción, una de las herramientas que más nos ayuda a la hora de solucionar un problema, es un mecanismo fundamental para la comprensión de problemas y fenómenos que poseen una gran cantidad de detalles, su idea principal consiste en manejar un problema, fenómeno, objeto, tema o idea como un concepto general, sin considerar la gran cantidad de detalles que estos puedan tener. El proceso de abstracción presenta dos aspectos complementarios. Destacar los aspectos relevantes del objeto.
  • 21. Ignorar los aspectos irrelevantes del mismo (la irrelevancia depende del nivel de abstracción, ya que si se pasa a niveles más concretos, es posible que ciertos aspectos pasen a ser relevantes). De modo general podemos decir que la abstracción permite establecer un nivel jerárquico en el estudio de los fenómenos, el cual se establece por niveles sucesivos de detalles. Generalmente, se sigue un sentido descendente de detalles, desde los niveles más generales a los niveles más concretos. Por ejemplo: los lenguajes de programación de alto nivel permiten al programador abstraerse del sin fin de detalles de los lenguajes ensambladores. Otro ejemplo, la memoria de la computadora es una estructura unidimensional formada por celdas y sin embargo trabajamos como si fuera única. La abstracción nos brinda la posibilidad de ir definiendo una serie de refinamientos sucesivos a nuestro TDA y entiéndase bien que cuando decimos refinamientos sucesivos nos estamos refiriendo a la estrategia que se utiliza para descomponer un problema en subproblemas. Conforme evoluciona el diseño de software a cada nivel de módulos se representa un refinamiento en el nivel de abstracción. Esto es, incluir detalles que fueron obviados en un nivel superior, en un nivel más bajo de la jerarquía. Veamos los diferentes tipos de abstracción que podemos encontrar en un programa:
  • 22. 2. Abstracción de datos: Tipo de datos: proporcionado por los leguajes de alto nivel. La representación usada es invisible al programador, al cual solo se le permite ver las operaciones predefinidas para cada tipo. Tipos definidos: por el programador que posibilitan la definición de valores de datos más cercanos al problema que se pretende resolver. TDA: para la definición y representación de tipos de datos (valores + operaciones), junto con sus propiedades. Objetos: Son TDA a los que se añade propiedades de reutilización y de compartición de código. Si profundizamos más al mundo de la programación y sus conceptos, existen dos de estos conceptos que no se deben confundir, ellos son: tipo de datos y estructura de datos. Un tipo de dato, en un lenguaje de programación, define un conjunto de valores que una determinada variable puede tomar, así como las operaciones básicas sobre dicho conjunto. Ahora veamos como se van relacionando estos conceptos. Los tipos de datos constituyen un primer nivel de abstracción, ya que no se tiene en cuenta cómo se implementan o se representan realmente la información sobre la memoria de la máquina.
  • 23. Para el usuario, el proceso de implementación o representación es invisible. Veamos entonces que son las estructuras de datos. Las estructuras de datos son colecciones de variables, no necesariamente del mismo tipo, relacionadas entre sí de alguna forma. Las estructuras de datos están caracterizadas por el tipo de dato de los elementos guardados en la estructura y por la relación definida sobre estos elementos. Al nivel de las estructuras de datos son totalmente irrelevantes las operaciones sobre un elemento en particular, solamente tienen carácter relevante las operaciones que envuelvan la estructura de forma global. Ejemplos de utilización de TDAs Algunos ejemplos de utilización de TDAs en programación son: Conjuntos: Implementación de conjuntos con sus operaciones básicas (unión, intersección y diferencia), operaciones de inserción, borrado, búsqueda... Árboles Binarios de Búsqueda: Implementación de árboles de elementos, utilizados para la representación interna de datos complejos. Aunque siempre se los toma como un TDA separado son parte de la familia de los grafos. Pilas y Colas: Implementación de los algoritmos FIFO Y LIFO. Grafos: Implementación de grafos; una serie de vértices unidos mediante una serie de arcos o aristas.
  • 24. 1.2.1 ESTRUCTURAS DE DATOS DEFINICIÓN En programación, una estructura de datos es una forma de organizar un conjunto de datos elementales (un dato elemental es la mínima información que se tiene en el sistema) con el objetivo de facilitar la manipulación de estos datos como un todo o individualmente. Una estructura de datos define la organización e interrelacionamiento de estos, y un conjunto de operaciones que se pueden realizar sobre él. Las operaciones básicas son: Alta, adicionar un nuevo valor a la estructura. Baja, borrar un valor de la estructura. Búsqueda, encontrar un determinado valor en la estructura para realizar una operación con este valor, en forma SECUENCIAL o BINARIO (siempre y cuando los datos estén ordenados)…
  • 25. Otras operaciones que se pueden realizar son: Ordenamiento, de los elementos pertenecientes a la estructura. Apareo, dadas dos estructuras originar una nueva ordenada y que contenga a las apareadas. Cada estructura ofrece ventajas y desventajas en relación a la simplicidad y eficiencia para la realización de cada operación. De esta forma, la elección de la estructura de datos apropiada para cada problema depende de factores como la frecuencia y el orden en que se realiza cada operación sobre los datos. Cambios efectuados por Rosana Gutiérrez Montoya, Licenciatura en Informática, INSTITUTO TECNOLÓGICO DE TIJUANA
  • 26. 1.1.2 Clasificación estructura de datos CLASIFICACIÓN DE ESTRUCTURAS DE DATOS: Una estructura de datos es una clase de datos que se puede caracterizar por su organización y operaciones definidas sobre ella. Algunas veces a estas estructuras se les llama tipos de datos. en ellas encontramos las siguientes: ESTRUCTURAS LÓGICAS DE DATOS: En un programa, cada variable pertenece a alguna estructura de datos explícita o implícitamente definida, la cual determina el conjunto de operaciones validas para ella. Las estructuras de datos que se discuten aquí son estructuras de datos lógicas. Cada estructura de datos lógica puede tener varias representaciones físicas diferentes para sus almacenamientos posibles.
  • 27. ESTRUCTURAS PRIMITIVAS Y SIMPLES: Son primitivas aquellas que no están compuestas por otras estructuras de datos por ejemplo, enteros, booleanos y caracteres. Otras estructuras de datos se pueden construir de una o mas primitivas. Las estructuras de datos simples que consideramos se construyen a partir de estructuras primitivas y son: cadenas, arreglos y registros. A estas estructuras de datos las respaldan muchos lenguajes de programación. ESTRUCTURAS LINEALES Y NO LINEALES: Las estructuras de datos simples se pueden combinar de varias maneras para formar estructuras mas complejas. Las dos cases principales de estructuras de datos son las lineales y las no lineales, dependiendo de la complejidad de las relaciones lógicas que representan. Las estructuras de datos lineales incluyen pilas, colas y listas ligadas lineales. Las estructuras de datos no lineales
  • 28. 1.2.2.1 Estructura de datos lineales y no lineales
  • 29. Arreglos, listas enlazadas, pilas y colas. Comprender, definir y utilizar os conceptos de las estructuras lineales – arreglos unidimensionales, bidimensionales y arreglos paralelos. Conocer y utilizar las operaciones mas usuales con arreglos unidimensionales y bidimensionales. Manejar los términos punteros y arreglos de punteros. Definir una lista enlazada y conocer y hacer uso de las operaciones mas comunes Definir y diferenciar las estructuras de datos TAD pilas y colas. Utilizar cada una de estas estructuras en la codificación de un algoritmo, utilizando el lenguaje de programación C++.
  • 30. Arreglos: Es un conjunto de datos o una estructura de datos homogéneos que se encuentran ubicados en forma consecutiva en la memoria RAM (sirve para almacenar datos en forma temporal). Un arreglo puede definirse como un grupo o una colección finita, homogénea y ordenada de elementos. Los arreglos pueden ser de los siguientes tipos: • De una dimensión. • De dos dimensiones. • De tres o más dimensiones. Listas enlazadas. Simples. Dobles. Circulares. Multi listas. Clases para la implementación de Listas.
  • 31. Pilas. Una pila (stack en inglés) es una lista ordinal o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del inglés Last In First Out, último en entrar, primero en salir) que permite almacenar y recuperar datos. Se aplica en multitud de ocasiones en informática debido a su simplicidad y ordenación implícita en la propia estructura.
  • 32. Colas. Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir. Estructura de datos no lineales: árboles y grafos. Diferenciar entre las estructuras árboles y grafos. Conocer la representación en memoria de un árbol y de un grafo. Árboles. • Árboles binarios. • Árboles de expresión. • Construcción de árbol binario. • Recorrido de un árbol. • Aplicación de árboles binarios. • Árbol binario y de búsqueda. • Opresiones con árboles binarios de búsqueda.
  • 33. Grafos. Un grafo (específicamente, grafo simple no dirigido) es un par G D .V; E/ D .V .G/; V .E//, donde V es un conjunto finito no vacío de elementos llamados vértices y E es un conjunto de pares desordenados de elementos distintos de V llamados aristas. Es decir, una arista e 2 E tiene la forma fu; vg, donde u; v 2 V y u 6D v. La terminología en teoría de grafos varía muchísimo: prácticamente no hay dos textos que adopten la misma. En particular, los vértices de un grafo también reciben a veces el nombre de nodos, y las aristas arcos, ejes o líneas.
  • 34. 1.2.2.2 Estructura De Datos Dinámicas Y Estáticas
  • 35. Datos estáticos: Su tamaño y forma es constante durante la ejecución de un programa y por tanto se determinan en tiempo de compilación. El ejemplo típico son los arrays. Tienen el problema de que hay que dimensionar la estructura de antemano, lo que puede conllevar desperdicio o falta de memoria.
  • 36. Datos dinámicos: Su tamaño y forma es variable (o puede serlo) a lo largo de un programa, por lo que se crean y destruyen en tiempo de ejecución. Esto permite dimensionar la estructura de datos de una forma precisa: se va asignando memoria en tiempo de ejecución según se va necesitando.