SlideShare una empresa de Scribd logo
1 de 26
Ingeniería en Sistemas Computacionales
Estructura de Datos
Unidad I: Tipos Abstractos de Datos
Este material está desarrollado para la asignatura Estructura de Datos
AED-1026, de la carrera de Ingeniería en Sistemas Computacionales,
plan de estudios ISIC-2010-224
Unidad I
Introducción a las Estructuras de Datos
Competencia de la Unidad
Representar y aplicar los tipos de datos abstractos por medio de un lenguaje
de programación.
1.1. Tipos de Datos Abstractos
Algunos lenguajes de programación tienen características que nos permiten
ampliar el lenguaje añadiendo sus propios tipos de datos.
• Un tipo de dato definido por el programador se denomina tipo abstracto de
datos (TAD) para diferenciarlo del tipo fundamental (predefinido) de datos.
• En esencia un tipo abstracto de datos es un tipo que consta de datos
(estructuras de datos propias) y operaciones que se pueden realizar sobre esos
datos. Un TAD se compone de estructuras de datos y los procedimientos o
funciones que manipulan esas estructuras de datos.
• Es decir, los usuarios de un TAD se comunican con éste a partir de la interfaz
que ofrece el TAD mediante funciones de acceso.
• Las unidades de programación de lenguajes que pueden implementar un TAD
reciben distintos nombres:
Trabajando con Tipos Abstractos de Datos
Concepto de estructura:
• Una estructura es una colección de uno o más elementos, cada uno de los
cuales puede ser de un tipo de dato diferente.
• Cada elemento de la estructura se denomina miembro.
• Una estructura puede contener un número ilimitado de miembros.
• A las estructuras también se las llama registros.
• Definición del tipo de dato estructura: Una estructura es un tipo de dato
creado por el usuario, por tanto, es necesario definirlo antes de poder
utilizarlo. Un vez definido, podremos crear variables de tipo estructura.
• Declaración de variables de tipo estructura: Una vez definido el tipo de dato
estructura, necesitamos declarar variables de ese tipo (Como para cualquier
tipo de dato).
• Inicialización de variables de tipo estructura: Las variables de tipo estructura
las podemos inicializar de dos formas:
• Ejercicio: Crear una estructura que contenga los campos básicos de una
agenda personal.
• Ejercicio: Crear un registro que contenga los datos personales para una
nómina.
• Acceso a los miembros de una variable de tipo estructura: Una vez que hemos
declarado una variable de tipo estructura, podemos acceder a los miembros
de dicha variable:
Acceso a los miembros de una variable de tipo estructura:
Acceso a los miembros de una variable de tipo estructura:
• Ejercicio: Utilizando estructuras desarrolle un programa que permita la captura
de la información correspondiente a un disco, el programa debe repetir la
captura hasta que el usuario teclee enter en el nombre del disco:
Campos de la estructura
• Nombre del disco
• Cantidad de canciones
• Precio
• Fecha de Compra (dd/mm/aaaa)
El programa debe ser entregado en archivo ya probado en Dev C++
1.2. Modularidad
• Módulo: Un módulo que se supone que representa una función lógica es una
secuencia léxicamente continúa de instrucciones que se encuentra limitado
por elementos de fronteras y además se caracteriza por disponer de un
nombre o identificador.
• Módulo: Es aquél que está constituido por una o varias instrucciones
físicamente contiguas y lógicamente encadenadas, las cuales se pueden
referenciar mediante un nombre y pueden ser llamadas desde diferentes
puntos de un programa.
Un módulo puede ser:
• Un programa
• Una función
• Una subrutina (procedimiento o función)
• La modularidad se basa en la descomposición de un problema en una serie de
sub problemas; dividiéndolo en pequeños módulos. Esta división exige la
presencia de un módulo denominado módulo de base o principal, y su función
es que controle los demás.
• El módulo principal coordina las llamadas a los módulos secundarios y pasa
los datos necesarios en forma de parámetros. A su vez cada modulo puede
contener sus propios datos y llamar a otros módulos o funciones.
Principios para asegurar diseños modulares:
Pocas interfaces: Cada módulo debe comunicarse con tan pocos como
sea posible.
Interfaces pequeñas (Acoplamiento débil): Si dos módulos se
comunican, deben intercambiar la menor información posible.
Interfaces explícitas: Cuando dos módulos se comunican, debe estar
claro en el texto de uno o de ambos.
Ocultación de la información: Toda la información sobre un módulo
debe ser privada al módulo, a menos que se haya declarado
específicamente como pública.
• La solución de un problema complejo puede obtenerse a menudo a partir de la
resolución de subproblemas más simples (estrategia “divide y vencerás”).
• Ejemplo:
• Ejemplo: Un programa debe calcular el IVA por cada operación de una factura de 3 elementos.
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
float precio=0, cantidad=0, iva=0;
float subtotal=0, iva_total=0,
total_pago=0;
cout<<"capture cantidad 1:";
cin>> cantidad;
cout<<"capture Precio 1:";
cin>> precio;
iva=cantidad*precio*0.16;
iva_total=iva_total+iva;
subtotal=subtotal+
(cantidad*precio);
cout<< "IVA: " << iva <<endl;
cout<<"capture cantidad 2:";
cin>> cantidad;
cout<<"capture Precio 2:";
cin>> precio;
iva=cantidad*precio*0.16;
iva_total=iva_total+iva;
subtotal=subtotal+(cantidad*precio);
cout<< "IVA: " << iva <<endl;
cout<<"capture cantidad 3:";
cin>> cantidad;
cout<<"capture Precio3:";
cin>> precio;
iva=cantidad*precio*0.16;
iva_total=iva_total+iva;
subtotal=subtotal+(cantidad*precio);
cout<< "IVA: " << iva <<endl;
total_pago=subtotal+iva_total;
cout<< "IVA total: " << iva_total
<<endl;
cout<< "Total a Pagar: " << total_pago
<<endl;
system("pause");
return 0;
}
#include <cstdlib>
#include <iostream>
using namespace std;
float calc_iva(float precio, float
cantidad) {
float iva = precio*cantidad*0.16;
return iva;
}
int main(int argc, char *argv[]) {
float precio=0, cantidad=0, iva=0;
float subtotal=0, iva_total=0,
total_pago=0;
cout<<"capture cantidad 1:";
cin>> cantidad;
cout<<"capture Precio 1:";
cin>> precio;
iva=calc_iva(precio, cantidad);
iva_total=iva_total+iva;
subtotal=subtotal+(cantidad*precio);
cout<< "IVA: " << iva <<endl;
cout<<"capture cantidad 2:";
cin>> cantidad;
cout<<"capture Precio 2:";
cin>> precio;
iva=calc_iva(precio, cantidad);
iva_total=iva_total+iva;
subtotal=subtotal+(cantidad*precio);
cout<< "IVA: " << iva <<endl;
cout<<"capture cantidad 3:";
cin>> cantidad;
cout<<"capture Precio3:";
cin>> precio;
iva=calc_iva(precio, cantidad);
iva_total=iva_total+iva;
subtotal=subtotal+(cantidad*precio);
cout<< "IVA: " << iva <<endl;
total_pago=subtotal+iva_total;
cout<< "IVA total: " << iva_total
<<endl;
cout<< "Total a Pagar: " << total_pago
<<endl;
system("pause");
return 0;
}
Ejercicio: realice un programa que calcule el IVA, el DTA y el IGI a productos que
son importados a territorio nacional. Se debe realizar un módulo que haga el
calculo de los impuestos, ya sea que se calcule cada uno de ellos de forma
modular o que se haga un modulo general para todos los impuestos
Entregar el programa ya funcionando y probado en Dev C++
Tabla de impuestos
• IVA = 16%
• DTA = 8 por millar
• IGI depende del país de origen de la mercancía
USA = 0%
CAN = 0%
UK = 2%
EU = 0%
JP = 2%
CHN = 50%
BR = 5%
AUL = 2%
RU = 10%
IND = 10%
Datos necesarios por partida:
Producto
Cantidad
Precio
Unidad de Medida
País
IVA
DTA
IGI
Total
Nota: Cualquier
otro país paga el
25% de IGI.
Memoria Estática
• Para implementar alguna estructura de datos, primero es necesario tener muy
claro cómo va a ser el manejo de memoria.
• La diferencia entre estructuras estáticas y dinámicas esta en el manejo de
memoria. En la memoria estática durante la ejecución del programa el tamaño
de la estructura no cambia.
• La estructura que maneja memoria estática son los arreglos.
• Un arreglo es una colección finita, homogénea y ordenada de elementos. Es
finita porque todo arreglo tiene un límite, homogénea porque todos los
elementos son del mismo tipo y ordenada porque se puede determinar cuál es
el enésimo elemento.
Manejo de memoria dinámica
• En la memoria dinámica durante la ejecución del programa el tamaño de la
estructura puede cambiar.
• La memoria dinámica, es el espacio de almacenamiento que solicita una clase
o método en tiempo de ejecución. De esa manera, a medida que el proceso
requiere de más espacio se solicita al sistema operativo, sin que el proceso se
preocupe por donde serán asignados los datos, ni que espacios de memoria
nos entregara el sistema operativo.
• Así como existen estructuras de datos estáticas (arreglos), también existen
estructuras de datos dinámicas (listas y árboles).
Manejo de memoria dinámica
• Una lista es un conjunto de nodos que contiene información heterogénea. Los
nodos de una lista se encuentran enlazados o relacionados por medio de
direccionamientos de memoria como referencia, y se estructuran de la
siguiente manera:
Bibliografía
• Joyanes, Zahonero. Estructura de Datos en C++. McGraw Hill. Madrid, España.
2007. ISBN: 978-84-481-5645-9.

Más contenido relacionado

La actualidad más candente

Ejercicios de entidad relacion extendida
Ejercicios de entidad relacion extendidaEjercicios de entidad relacion extendida
Ejercicios de entidad relacion extendidaDavid Rocha Bardales
 
3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registros3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registrosMeztli Valeriano Orozco
 
Ejercicios de base de datos
Ejercicios de base de datosEjercicios de base de datos
Ejercicios de base de datosMaria Barrios
 
Detección y Corrección de errores
Detección y Corrección de erroresDetección y Corrección de errores
Detección y Corrección de erroresRonie Martínez
 
Usando flex en Windows
Usando flex en WindowsUsando flex en Windows
Usando flex en WindowsMariano Rico
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de DatosJorge Luis Chalén
 
Tipos de datos ok
Tipos de datos okTipos de datos ok
Tipos de datos okTensor
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfijaOmarzingm
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento internoFernando Solis
 
Fundamentos de Base de Datos
Fundamentos de Base de DatosFundamentos de Base de Datos
Fundamentos de Base de DatosSaulo Aizprua
 
Introduccion a Cassandra
Introduccion a CassandraIntroduccion a Cassandra
Introduccion a CassandraStratebi
 
Mapa conceptual
Mapa conceptualMapa conceptual
Mapa conceptualhitwinenze
 

La actualidad más candente (20)

Ejercicios de normalizacion
Ejercicios de normalizacionEjercicios de normalizacion
Ejercicios de normalizacion
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Estructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II RecursividadEstructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II Recursividad
 
11 Funciones
11 Funciones11 Funciones
11 Funciones
 
Ejercicios de entidad relacion extendida
Ejercicios de entidad relacion extendidaEjercicios de entidad relacion extendida
Ejercicios de entidad relacion extendida
 
3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registros3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registros
 
Ejercicios de base de datos
Ejercicios de base de datosEjercicios de base de datos
Ejercicios de base de datos
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Detección y Corrección de errores
Detección y Corrección de erroresDetección y Corrección de errores
Detección y Corrección de errores
 
Usando flex en Windows
Usando flex en WindowsUsando flex en Windows
Usando flex en Windows
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Tipos de datos ok
Tipos de datos okTipos de datos ok
Tipos de datos ok
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
Fundamentos de Base de Datos
Fundamentos de Base de DatosFundamentos de Base de Datos
Fundamentos de Base de Datos
 
Abstracción de datos
Abstracción de datosAbstracción de datos
Abstracción de datos
 
Introduccion a Cassandra
Introduccion a CassandraIntroduccion a Cassandra
Introduccion a Cassandra
 
Mapa conceptual
Mapa conceptualMapa conceptual
Mapa conceptual
 

Destacado

Clase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y ArreglosClase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y Arreglossalomonaquino
 
Estructuras de datos y tipos de datos abstractos
Estructuras de datos y tipos de datos abstractosEstructuras de datos y tipos de datos abstractos
Estructuras de datos y tipos de datos abstractosLuis Lastra Cid
 
Fundamentos de Programacion - Unidad 5 arreglos (vectores)
Fundamentos de Programacion - Unidad 5 arreglos (vectores)Fundamentos de Programacion - Unidad 5 arreglos (vectores)
Fundamentos de Programacion - Unidad 5 arreglos (vectores)José Antonio Sandoval Acosta
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesJosé Antonio Sandoval Acosta
 
Estructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesEstructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesJosé Antonio Sandoval Acosta
 
18 Arboles Como Estructura De Busqueda
18 Arboles Como Estructura De Busqueda18 Arboles Como Estructura De Busqueda
18 Arboles Como Estructura De BusquedaUVM
 
Sesion 01 algoritmos y estructura de datos
Sesion 01  algoritmos y estructura de datosSesion 01  algoritmos y estructura de datos
Sesion 01 algoritmos y estructura de datosimagincor
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareJosé Antonio Sandoval Acosta
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosJosé Antonio Sandoval Acosta
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloJosé Antonio Sandoval Acosta
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosJosé Antonio Sandoval Acosta
 
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicosFundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicosJosé Antonio Sandoval Acosta
 
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...José Antonio Sandoval Acosta
 
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...José Antonio Sandoval Acosta
 
M1 actividad 3.1 - Presentación dimensión académica
M1 actividad 3.1 - Presentación dimensión académicaM1 actividad 3.1 - Presentación dimensión académica
M1 actividad 3.1 - Presentación dimensión académicaJosé Antonio Sandoval Acosta
 
BD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD MovilesBD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD MovilesJosé Antonio Sandoval Acosta
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasJosé Antonio Sandoval Acosta
 
Simulacion para ISC - Unidad 1 Introducción a la Simulación
Simulacion para ISC - Unidad 1 Introducción a la SimulaciónSimulacion para ISC - Unidad 1 Introducción a la Simulación
Simulacion para ISC - Unidad 1 Introducción a la SimulaciónJosé Antonio Sandoval Acosta
 

Destacado (20)

Clase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y ArreglosClase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y Arreglos
 
Estructuras de datos y tipos de datos abstractos
Estructuras de datos y tipos de datos abstractosEstructuras de datos y tipos de datos abstractos
Estructuras de datos y tipos de datos abstractos
 
Fundamentos de Programacion - Unidad 5 arreglos (vectores)
Fundamentos de Programacion - Unidad 5 arreglos (vectores)Fundamentos de Programacion - Unidad 5 arreglos (vectores)
Fundamentos de Programacion - Unidad 5 arreglos (vectores)
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 
Estructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesEstructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras Lineales
 
18 Arboles Como Estructura De Busqueda
18 Arboles Como Estructura De Busqueda18 Arboles Como Estructura De Busqueda
18 Arboles Como Estructura De Busqueda
 
Sesion 01 algoritmos y estructura de datos
Sesion 01  algoritmos y estructura de datosSesion 01  algoritmos y estructura de datos
Sesion 01 algoritmos y estructura de datos
 
Ingenieria de software - Unidad 4 seguridad
Ingenieria de software - Unidad 4 seguridadIngenieria de software - Unidad 4 seguridad
Ingenieria de software - Unidad 4 seguridad
 
M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015
M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015 M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015
M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de software
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datos
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicosFundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
 
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
 
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
 
M1 actividad 3.1 - Presentación dimensión académica
M1 actividad 3.1 - Presentación dimensión académicaM1 actividad 3.1 - Presentación dimensión académica
M1 actividad 3.1 - Presentación dimensión académica
 
BD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD MovilesBD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD Moviles
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
Simulacion para ISC - Unidad 1 Introducción a la Simulación
Simulacion para ISC - Unidad 1 Introducción a la SimulaciónSimulacion para ISC - Unidad 1 Introducción a la Simulación
Simulacion para ISC - Unidad 1 Introducción a la Simulación
 

Similar a Estructura de Datos Unidad 1 Tipo abstracto de datos TAD

Estructurade datos
Estructurade datosEstructurade datos
Estructurade datosDavidElizama
 
Presentacion unidad u1_estructura_de_datos_victor_uex
Presentacion unidad u1_estructura_de_datos_victor_uexPresentacion unidad u1_estructura_de_datos_victor_uex
Presentacion unidad u1_estructura_de_datos_victor_uexvictoruex
 
Primera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_a
Primera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_aPrimera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_a
Primera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_aJuanita Qontreras
 
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon KoudsiFUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon KoudsiRaimonKoudsi
 
Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1Ezer Ayala Mutul
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosEzer Ayala Mutul
 
equipo 3 clasificación de estructura(2.pptx
equipo 3  clasificación de estructura(2.pptxequipo 3  clasificación de estructura(2.pptx
equipo 3 clasificación de estructura(2.pptxPedroSilva456418
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUrban Skate House
 
PRESENTACION EVIDENCIAS RUBI VERONICA ISC J3 A
PRESENTACION EVIDENCIAS RUBI VERONICA ISC J3 APRESENTACION EVIDENCIAS RUBI VERONICA ISC J3 A
PRESENTACION EVIDENCIAS RUBI VERONICA ISC J3 AChisurin
 

Similar a Estructura de Datos Unidad 1 Tipo abstracto de datos TAD (20)

Estructurade datos
Estructurade datosEstructurade datos
Estructurade datos
 
Tipos de datos abstractos
Tipos de datos abstractosTipos de datos abstractos
Tipos de datos abstractos
 
Presentacion unidad u1_estructura_de_datos_victor_uex
Presentacion unidad u1_estructura_de_datos_victor_uexPresentacion unidad u1_estructura_de_datos_victor_uex
Presentacion unidad u1_estructura_de_datos_victor_uex
 
Estructuta de datos
Estructuta de datosEstructuta de datos
Estructuta de datos
 
Estructura de datos pdf
Estructura de datos pdfEstructura de datos pdf
Estructura de datos pdf
 
Primera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_a
Primera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_aPrimera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_a
Primera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_a
 
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon KoudsiFUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Tema1 (2)
Tema1 (2)Tema1 (2)
Tema1 (2)
 
Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datos
 
equipo 3 clasificación de estructura(2.pptx
equipo 3  clasificación de estructura(2.pptxequipo 3  clasificación de estructura(2.pptx
equipo 3 clasificación de estructura(2.pptx
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datos
 
Modelo Dinamico
Modelo DinamicoModelo Dinamico
Modelo Dinamico
 
Abd1 intro
Abd1 introAbd1 intro
Abd1 intro
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
PRESENTACION EVIDENCIAS RUBI VERONICA ISC J3 A
PRESENTACION EVIDENCIAS RUBI VERONICA ISC J3 APRESENTACION EVIDENCIAS RUBI VERONICA ISC J3 A
PRESENTACION EVIDENCIAS RUBI VERONICA ISC J3 A
 
Evidencias1 (Diapositivas - Rubi Veronica)
Evidencias1 (Diapositivas  - Rubi Veronica)Evidencias1 (Diapositivas  - Rubi Veronica)
Evidencias1 (Diapositivas - Rubi Veronica)
 

Más de José Antonio Sandoval Acosta

Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosJosé Antonio Sandoval Acosta
 

Más de José Antonio Sandoval Acosta (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
 
Economia
EconomiaEconomia
Economia
 
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
kitchenham.pptx
 
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
 

Último

CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfErikNivor
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptxJhordanGonzalo
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUMarcosAlvarezSalinas
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEANDECE
 
Cadenas de Markov investigación de operaciones
Cadenas de Markov investigación de operacionesCadenas de Markov investigación de operaciones
Cadenas de Markov investigación de operacionesal21510263
 
Exposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporaciónExposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporaciónjas021085
 
Fisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfFisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfJessLeonelVargasJimn
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaANDECE
 
Uso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendiosUso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendioseduardochavezg1
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfrolandolazartep
 
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfPPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfZamiertCruzSuyo
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciazacariasd49
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 

Último (20)

CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSE
 
Cadenas de Markov investigación de operaciones
Cadenas de Markov investigación de operacionesCadenas de Markov investigación de operaciones
Cadenas de Markov investigación de operaciones
 
Exposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporaciónExposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporación
 
Fisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfFisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdf
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de Almería
 
Uso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendiosUso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendios
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdf
 
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfPPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potencia
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 

Estructura de Datos Unidad 1 Tipo abstracto de datos TAD

  • 1. Ingeniería en Sistemas Computacionales Estructura de Datos Unidad I: Tipos Abstractos de Datos Este material está desarrollado para la asignatura Estructura de Datos AED-1026, de la carrera de Ingeniería en Sistemas Computacionales, plan de estudios ISIC-2010-224
  • 2. Unidad I Introducción a las Estructuras de Datos Competencia de la Unidad Representar y aplicar los tipos de datos abstractos por medio de un lenguaje de programación.
  • 3. 1.1. Tipos de Datos Abstractos Algunos lenguajes de programación tienen características que nos permiten ampliar el lenguaje añadiendo sus propios tipos de datos. • Un tipo de dato definido por el programador se denomina tipo abstracto de datos (TAD) para diferenciarlo del tipo fundamental (predefinido) de datos. • En esencia un tipo abstracto de datos es un tipo que consta de datos (estructuras de datos propias) y operaciones que se pueden realizar sobre esos datos. Un TAD se compone de estructuras de datos y los procedimientos o funciones que manipulan esas estructuras de datos.
  • 4. • Es decir, los usuarios de un TAD se comunican con éste a partir de la interfaz que ofrece el TAD mediante funciones de acceso. • Las unidades de programación de lenguajes que pueden implementar un TAD reciben distintos nombres:
  • 5. Trabajando con Tipos Abstractos de Datos Concepto de estructura: • Una estructura es una colección de uno o más elementos, cada uno de los cuales puede ser de un tipo de dato diferente. • Cada elemento de la estructura se denomina miembro. • Una estructura puede contener un número ilimitado de miembros. • A las estructuras también se las llama registros.
  • 6. • Definición del tipo de dato estructura: Una estructura es un tipo de dato creado por el usuario, por tanto, es necesario definirlo antes de poder utilizarlo. Un vez definido, podremos crear variables de tipo estructura.
  • 7.
  • 8. • Declaración de variables de tipo estructura: Una vez definido el tipo de dato estructura, necesitamos declarar variables de ese tipo (Como para cualquier tipo de dato).
  • 9. • Inicialización de variables de tipo estructura: Las variables de tipo estructura las podemos inicializar de dos formas:
  • 10. • Ejercicio: Crear una estructura que contenga los campos básicos de una agenda personal. • Ejercicio: Crear un registro que contenga los datos personales para una nómina.
  • 11. • Acceso a los miembros de una variable de tipo estructura: Una vez que hemos declarado una variable de tipo estructura, podemos acceder a los miembros de dicha variable:
  • 12. Acceso a los miembros de una variable de tipo estructura:
  • 13. Acceso a los miembros de una variable de tipo estructura:
  • 14. • Ejercicio: Utilizando estructuras desarrolle un programa que permita la captura de la información correspondiente a un disco, el programa debe repetir la captura hasta que el usuario teclee enter en el nombre del disco: Campos de la estructura • Nombre del disco • Cantidad de canciones • Precio • Fecha de Compra (dd/mm/aaaa) El programa debe ser entregado en archivo ya probado en Dev C++
  • 15. 1.2. Modularidad • Módulo: Un módulo que se supone que representa una función lógica es una secuencia léxicamente continúa de instrucciones que se encuentra limitado por elementos de fronteras y además se caracteriza por disponer de un nombre o identificador. • Módulo: Es aquél que está constituido por una o varias instrucciones físicamente contiguas y lógicamente encadenadas, las cuales se pueden referenciar mediante un nombre y pueden ser llamadas desde diferentes puntos de un programa.
  • 16. Un módulo puede ser: • Un programa • Una función • Una subrutina (procedimiento o función) • La modularidad se basa en la descomposición de un problema en una serie de sub problemas; dividiéndolo en pequeños módulos. Esta división exige la presencia de un módulo denominado módulo de base o principal, y su función es que controle los demás. • El módulo principal coordina las llamadas a los módulos secundarios y pasa los datos necesarios en forma de parámetros. A su vez cada modulo puede contener sus propios datos y llamar a otros módulos o funciones.
  • 17. Principios para asegurar diseños modulares: Pocas interfaces: Cada módulo debe comunicarse con tan pocos como sea posible. Interfaces pequeñas (Acoplamiento débil): Si dos módulos se comunican, deben intercambiar la menor información posible. Interfaces explícitas: Cuando dos módulos se comunican, debe estar claro en el texto de uno o de ambos. Ocultación de la información: Toda la información sobre un módulo debe ser privada al módulo, a menos que se haya declarado específicamente como pública.
  • 18. • La solución de un problema complejo puede obtenerse a menudo a partir de la resolución de subproblemas más simples (estrategia “divide y vencerás”).
  • 20. • Ejemplo: Un programa debe calcular el IVA por cada operación de una factura de 3 elementos. #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { float precio=0, cantidad=0, iva=0; float subtotal=0, iva_total=0, total_pago=0; cout<<"capture cantidad 1:"; cin>> cantidad; cout<<"capture Precio 1:"; cin>> precio; iva=cantidad*precio*0.16; iva_total=iva_total+iva; subtotal=subtotal+ (cantidad*precio); cout<< "IVA: " << iva <<endl; cout<<"capture cantidad 2:"; cin>> cantidad; cout<<"capture Precio 2:"; cin>> precio; iva=cantidad*precio*0.16; iva_total=iva_total+iva; subtotal=subtotal+(cantidad*precio); cout<< "IVA: " << iva <<endl; cout<<"capture cantidad 3:"; cin>> cantidad; cout<<"capture Precio3:"; cin>> precio; iva=cantidad*precio*0.16; iva_total=iva_total+iva; subtotal=subtotal+(cantidad*precio); cout<< "IVA: " << iva <<endl; total_pago=subtotal+iva_total; cout<< "IVA total: " << iva_total <<endl; cout<< "Total a Pagar: " << total_pago <<endl; system("pause"); return 0; }
  • 21. #include <cstdlib> #include <iostream> using namespace std; float calc_iva(float precio, float cantidad) { float iva = precio*cantidad*0.16; return iva; } int main(int argc, char *argv[]) { float precio=0, cantidad=0, iva=0; float subtotal=0, iva_total=0, total_pago=0; cout<<"capture cantidad 1:"; cin>> cantidad; cout<<"capture Precio 1:"; cin>> precio; iva=calc_iva(precio, cantidad); iva_total=iva_total+iva; subtotal=subtotal+(cantidad*precio); cout<< "IVA: " << iva <<endl; cout<<"capture cantidad 2:"; cin>> cantidad; cout<<"capture Precio 2:"; cin>> precio; iva=calc_iva(precio, cantidad); iva_total=iva_total+iva; subtotal=subtotal+(cantidad*precio); cout<< "IVA: " << iva <<endl; cout<<"capture cantidad 3:"; cin>> cantidad; cout<<"capture Precio3:"; cin>> precio; iva=calc_iva(precio, cantidad); iva_total=iva_total+iva; subtotal=subtotal+(cantidad*precio); cout<< "IVA: " << iva <<endl; total_pago=subtotal+iva_total; cout<< "IVA total: " << iva_total <<endl; cout<< "Total a Pagar: " << total_pago <<endl; system("pause"); return 0; }
  • 22. Ejercicio: realice un programa que calcule el IVA, el DTA y el IGI a productos que son importados a territorio nacional. Se debe realizar un módulo que haga el calculo de los impuestos, ya sea que se calcule cada uno de ellos de forma modular o que se haga un modulo general para todos los impuestos Entregar el programa ya funcionando y probado en Dev C++ Tabla de impuestos • IVA = 16% • DTA = 8 por millar • IGI depende del país de origen de la mercancía USA = 0% CAN = 0% UK = 2% EU = 0% JP = 2% CHN = 50% BR = 5% AUL = 2% RU = 10% IND = 10% Datos necesarios por partida: Producto Cantidad Precio Unidad de Medida País IVA DTA IGI Total Nota: Cualquier otro país paga el 25% de IGI.
  • 23. Memoria Estática • Para implementar alguna estructura de datos, primero es necesario tener muy claro cómo va a ser el manejo de memoria. • La diferencia entre estructuras estáticas y dinámicas esta en el manejo de memoria. En la memoria estática durante la ejecución del programa el tamaño de la estructura no cambia. • La estructura que maneja memoria estática son los arreglos. • Un arreglo es una colección finita, homogénea y ordenada de elementos. Es finita porque todo arreglo tiene un límite, homogénea porque todos los elementos son del mismo tipo y ordenada porque se puede determinar cuál es el enésimo elemento.
  • 24. Manejo de memoria dinámica • En la memoria dinámica durante la ejecución del programa el tamaño de la estructura puede cambiar. • La memoria dinámica, es el espacio de almacenamiento que solicita una clase o método en tiempo de ejecución. De esa manera, a medida que el proceso requiere de más espacio se solicita al sistema operativo, sin que el proceso se preocupe por donde serán asignados los datos, ni que espacios de memoria nos entregara el sistema operativo. • Así como existen estructuras de datos estáticas (arreglos), también existen estructuras de datos dinámicas (listas y árboles).
  • 25. Manejo de memoria dinámica • Una lista es un conjunto de nodos que contiene información heterogénea. Los nodos de una lista se encuentran enlazados o relacionados por medio de direccionamientos de memoria como referencia, y se estructuran de la siguiente manera:
  • 26. Bibliografía • Joyanes, Zahonero. Estructura de Datos en C++. McGraw Hill. Madrid, España. 2007. ISBN: 978-84-481-5645-9.