SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
ESTRUCTURAS Y UNIONES
Sugerencias y herramientas para crear para crear y presentar diapositivas en
formato panorámico
Contenido
 Estructuras
 Acceso a estructuras
 Estructuras anidadas
 Arrays de estructuras
 Utilización de estructuras como parámetros
 Uniones
 Enumeraciones
 Campos de bit
 Ejercicios
 E
Estructuras
 Los arrays son estructuras de datos que contienen un numero
          y                          q
 determinado de elementos y todos los elementos han de ser
 del mismo tipo de datos. Por ejemplo si se dispone de una
 lista de temperaturas es muy útil un array sin embargo si
          temperaturas,                array;    embargo,
 se necesita una lista de información de clientes que
 contengan elementos tales como; el nombre, edad, la
        g
 dirección, # de cuenta, los arrays no son adecuados. La
 solución a este problema es usar un tipo de dato registro, en
 C llamado estructura
Cont…
Cont
 Una estructura es una colección de uno o mas tipos de elementos
 denominados miembros, cada uno d l cuales puede ser un tipo
 d      i d     i b        d        de los    l      d       i
 de dato diferente
 Supongamos que se desea almacenar los datos de una colección de
 discos compactos de música. Estos datos pueden ser;
   Titulo
   Artista
   Numero de canciones
   Precio
   Fecha de compra
Declaración de una estructura
 Una estructura es un tipo de dato definido por el
                            p                  p
 usuario, que se debe declarar antes de que se pueda
 utilizar. El formato de la declaración es;
   Struct <nombre de la estructura> {
   <tipo de dato mienmbro1><nombre miembro>
   <tipo de dato mienmbro2><nombre miembro>
   ….
   <tipo d d
   < i de dato mienmbron><nombre miembro>};
                  i    b ><        b  i b >}
Definición de variables de estructuras
 Al igual que a los tipos de datos enumerados, a una
 estructura se accede utilizando una variable o variables que
 se deben definir después de la declaración de la estructura.
 Las variables de estructuras se pueden definir de dos
 formas;
   Listándolas inmediatamente después de la llave de cierre de la
   declaración d l estructura
   d l       ió de la t t
   Listando el tipo de la estructura creado seguido por las variables
   correspondientes en cualquier lugar del programa antes de
   utilizarlas
     ili l
Ejemplo
 1. struct colecciones_CD
 {
 char titulo[30] ;
 char artista[25] ;
 int num_canciones;
 float precio;
 char fecha_compra[8];
 } cd1, cd2, cd3;
 2. t t l i
 2 struct colecciones_CD cd1, cd2, cd3;
                      CD d1 d2 d3
Inicialización de una declaración de estructuras
  Se puede inicializar una estructura dentro de una
  sección de código de su programa, o bien se puede
  inicializar la estructura como parte de la definición
                                             definición.
  Cuando se inicializa una estructura como parte de
  la definición se especifican los valores iniciales
      definición,                             iniciales,
  entre llaves, después de la definición de variables
  estructura
El tamaño de una estructura
 El operador sizeof se aplica sobre un tipo de datos, o bien
     p                  p                p
 sobre una variable. Se puede aplicar para determinar el
 tamaño que ocupa en memoria una estructura
 Void main ()
   {
   Struct
   Str ct persona mar
                   mar;
   Printf (“Sizeof (persona):%dn”,sizeof(mar));
   }
Acceso a estructuras
 Almacenamiento de información en estructuras;
   Se puede almacenar información en estructuras mediante
   inicialización, asignación directa o lectura del teclado
 Acceso a una estructura de datos mediante el operador
 punto
   La asignación de datos a los miembros de una variable
   estructura se h
     t t         hace mediante el operador punto. L sintaxis en C
                        di t l         d      t La i t i
   es;
   <nombre variable estructurada> . <nombre miembro> = datos;
   Cd1.precio=0.75
Cont ..
 Acceso a una estructura mediante el operador puntero
   El operador puntero ->, sirve para acceder a los datos de
   una estructura a partir de un puntero. Para utilizar este
   operador se debe definir primero una variable puntero
   para apuntar a la estructura
   La asignación de datos a estructuras utilizando el operador
   puntero ti
       t   tiene el f
                  l formato;
                         t
   <puntero estructura> -> <nombre miembro>=datos;
   Ptr_est Nota 8.5;
   Ptr est->Nota=8.5;
Lectura de información de una estructura
 Si ahora se desea introducir la información en la
 estructura basta con acceder a los miembros de la
 estructura con el operador punto o flecha (puntero)
   Scanf(“%f”,&z.pr);
   Scanf(“%f”,&z->pi);
   S f(“%f” & > i)
Recuperación de información de una estructura
 Se recupera información de una estructura utilizando el
 operador de asignación o una sentencia de salida
 (print (), puts(),..)
   <nombre de la variable>=<nombre de la variable
   estrctura>.<nombre miembro>
   Printf(“”,<nombre    variable estructura>-><nombre
   miembro>
   X=z.pr;
   Printf( %f z >pr);
   Printf(“%f”,z->pr);
Estructuras anidadas
 Una estructura puede contener otras estructuras llamadas estructuras
 anidadas. S h d d fi i l miembros comunes solo una vez en
    id d Se han de definir los i b                       l
 su propia estructura y a continuación utilizar esa estructura como un
 miembro de otra estructura
Ejemplo
 struct info_dir         struct empleado
                                  p
                         {
 {                       char nombre_emp [ 3 0] ;
                         struct info_dir direccion_emp;
 char dirección[25] ;    double salario;
 char ciudad[20];        };
                         struct clientes
 char provincia [20] ;   {
 long int cod_postal;    char nombre_cliente[30];
                         struct info_dir direccion_clien;
 };                      double saldo;
                         };
Ejemplo 9 1
        9.1
 Se desea registrar una estructura Persona Empleado que contenga
 como miembros l d
         i b     los datos d una persona empleado que a su vez
                           de                   l d
 tenga los datos de la fecha de nacimiento. En un programa se
 muestra el uso de la estructura, se define una función para dar
 entrada a los datos de la entrada y otra función para dar salida a
 los datos de una estructura persona. A la función de entrada se
 transmite por dirección (&p) la variable estructura, por lo que el
 argumento correspondiente tiene que ser un puntero(*p) y el acceso
                                             puntero( p)
 a los campos se hace con el selector ->
Arrays de estructuras
 Se puede crear un array de estructuras tal como se
 crea un array de otros tipos. Mientras que los arrays
 p p
 proporcionan un medio practico de almacenar diversos
                           p
 valores del mismo tipo, los arrays de estructuras le
 p
 permiten almacenar juntos diversos valores de
                            j
 diferentes tipos, agrupados como estructuras
 S
 Struct info_libro libros[100]
                         [ 00]
Utilización de estructuras como parámetros
 C permite pasar estructuras a funciones, bien por valor o bien por
 referencia utilizando el operador &
    f     i    ili d l         d
 int main (void)
 {
 struct info_persona reg_dat;
 / * Pasa por referencia la variable * /
 Entrada_pna(&reg_dat);
 Entrada pna(&reg dat);
 / * Pasa por valor * /
 Ver_info(reg_dat);
 }
Uniones
 Las uniones son similares a las estructuras en cuanto que agrupan
 una serie d variables, pero l f
          i de       i bl         la forma d almacenamiento es
                                             de l          i
 diferente y, por consiguiente, efectos diferentes. Las uniones,
 declaradas con la palabra reservada unión, almacenan miembros
 múltiples en un paquete En una unión todos los miembros se solapan
                 paquete.
 entre si en la misma posición
   Unión nombre {
   Tipo1 miembro1;
   T         b
   Tipo2 miembro2;
   ..
   };
Enumeraciones
 Un enum es un tipo definido por el usuario con
 constantes de nombre de tipo entero. En la declaración
 de un tipo enum se escribe una lista de identificadores
 que internamente se asocian con las constantes enteras
 0,1,2,etc
 Enum nombre
   {
   Enum1, enum2, ….enum_n
   };
   }
Ejemplo 9 2
        9.2
 El siguiente programa muestra el uso de la
 enumeración boolean. El programa lee un texto y
 cuenta las vocales leídas La función vocal()
                         leídas.
 devuelve true si el carácter de entrada es vocal
CAMPOS DE BIT
 El lenguaje C permite realizar operaciones con los bits de una
 palabra. C l campos d bi C permite acceder a un numero d
    l b Con los           de bits      i       d                 de
 bits de una palabra entera. Un campo de bits es un conjunto de bits
 adyacentes dentro de una palabra entera
 Struct identificador_campo{
                           {
   Tipo nombre1: longitud1;
   Tipo nombre 2: longitud2;
      p              g      ;
   ..
   Tipo nombren: longitudn;
   }
Ejercicios
 Escribe un programa para calcular el numero de
 días que hay entre dos fechas; declarar fecha
 como una estructura
           estructura.
 Escribe un programa que permita hacer las
 operaciones d suma, resta, multiplicación y di i ió
         i    de        t     lti li ió      división
 de números complejos. El numero complejo a de
 definirse
 d fi i como una estructura.
Patrón de prueba de pantalla panorámica (16:9)




                               Prueba de la
                                relación de
                                  aspecto
                            (Debe parecer circular)




       4x3

16x9

Más contenido relacionado

La actualidad más candente

Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasHuascar Génere
 
Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)Ariel Tonatiuh Espindola
 
NORMALIZACIÓN DE BASES DE DATOS.pdf
NORMALIZACIÓN DE BASES DE DATOS.pdfNORMALIZACIÓN DE BASES DE DATOS.pdf
NORMALIZACIÓN DE BASES DE DATOS.pdfSumica1
 
Convertir un número decimal a binario con punto
Convertir un número decimal a binario con puntoConvertir un número decimal a binario con punto
Convertir un número decimal a binario con puntoPedro Rodriguez Oliveira
 
Unidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicasUnidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicasrehoscript
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..NANO-06
 
Unidad 3 estructura lineales
Unidad 3 estructura linealesUnidad 3 estructura lineales
Unidad 3 estructura linealesEnrique2194
 
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
 
Normalizaciòn
NormalizaciònNormalizaciòn
Normalizaciònomarzon
 
Estructura de Datos: Pila
Estructura de Datos: PilaEstructura de Datos: Pila
Estructura de Datos: PilaEmerson Garay
 
conceptos de Punteros y Nodos
conceptos de Punteros y Nodosconceptos de Punteros y Nodos
conceptos de Punteros y NodosBoris Salleg
 
nombres, alcances y enlaces (lenguajes de programación)
nombres, alcances y enlaces (lenguajes de programación)nombres, alcances y enlaces (lenguajes de programación)
nombres, alcances y enlaces (lenguajes de programación)bretorio
 
Tipos de datos en java
Tipos de datos en javaTipos de datos en java
Tipos de datos en javaproyectopcd
 

La actualidad más candente (20)

Colas estáticas. IESIT
Colas estáticas. IESITColas estáticas. IESIT
Colas estáticas. IESIT
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
 
Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)
 
Programa de Pila Estática
Programa de Pila EstáticaPrograma de Pila Estática
Programa de Pila Estática
 
NORMALIZACIÓN DE BASES DE DATOS.pdf
NORMALIZACIÓN DE BASES DE DATOS.pdfNORMALIZACIÓN DE BASES DE DATOS.pdf
NORMALIZACIÓN DE BASES DE DATOS.pdf
 
Convertir un número decimal a binario con punto
Convertir un número decimal a binario con puntoConvertir un número decimal a binario con punto
Convertir un número decimal a binario con punto
 
Unidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicasUnidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicas
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
Administracion de memoria
Administracion de memoriaAdministracion de memoria
Administracion de memoria
 
Cadenas y punteros.ppt
Cadenas y punteros.pptCadenas y punteros.ppt
Cadenas y punteros.ppt
 
Método de Vuelta Atrás (Backtracking)
Método de Vuelta Atrás (Backtracking)Método de Vuelta Atrás (Backtracking)
Método de Vuelta Atrás (Backtracking)
 
Procesos
ProcesosProcesos
Procesos
 
Unidad 3 estructura lineales
Unidad 3 estructura linealesUnidad 3 estructura lineales
Unidad 3 estructura lineales
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Normalizaciòn
NormalizaciònNormalizaciòn
Normalizaciòn
 
Estructura de Datos: Pila
Estructura de Datos: PilaEstructura de Datos: Pila
Estructura de Datos: Pila
 
conceptos de Punteros y Nodos
conceptos de Punteros y Nodosconceptos de Punteros y Nodos
conceptos de Punteros y Nodos
 
nombres, alcances y enlaces (lenguajes de programación)
nombres, alcances y enlaces (lenguajes de programación)nombres, alcances y enlaces (lenguajes de programación)
nombres, alcances y enlaces (lenguajes de programación)
 
Tercera forma normal
Tercera forma normalTercera forma normal
Tercera forma normal
 
Tipos de datos en java
Tipos de datos en javaTipos de datos en java
Tipos de datos en java
 

Destacado

Estructuras en C
Estructuras en CEstructuras en C
Estructuras en CVane Borjas
 
Tipos de Uniones
Tipos de UnionesTipos de Uniones
Tipos de UnionesJose David
 
ProgramacióN ElectróNica 2, Estructuras
ProgramacióN ElectróNica 2, EstructurasProgramacióN ElectróNica 2, Estructuras
ProgramacióN ElectróNica 2, Estructuraslouis
 
Estructuras repetitivas anidadas exposiciones
Estructuras repetitivas anidadas exposicionesEstructuras repetitivas anidadas exposiciones
Estructuras repetitivas anidadas exposicionesAhurinContreras
 
Linea del tiempo
Linea del tiempoLinea del tiempo
Linea del tiempoLibertad25
 
Estructura selectiva multiple
Estructura selectiva multipleEstructura selectiva multiple
Estructura selectiva multipleNora O. Martínez
 

Destacado (11)

Estructuras en C
Estructuras en CEstructuras en C
Estructuras en C
 
Tipos de Uniones
Tipos de UnionesTipos de Uniones
Tipos de Uniones
 
ProgramacióN ElectróNica 2, Estructuras
ProgramacióN ElectróNica 2, EstructurasProgramacióN ElectróNica 2, Estructuras
ProgramacióN ElectróNica 2, Estructuras
 
Estructuras repetitivas anidadas exposiciones
Estructuras repetitivas anidadas exposicionesEstructuras repetitivas anidadas exposiciones
Estructuras repetitivas anidadas exposiciones
 
Linea del tiempo
Linea del tiempoLinea del tiempo
Linea del tiempo
 
Estructura selectiva doble
Estructura selectiva dobleEstructura selectiva doble
Estructura selectiva doble
 
Arrays
ArraysArrays
Arrays
 
Procesos de Fabricacion
Procesos de FabricacionProcesos de Fabricacion
Procesos de Fabricacion
 
Estructura selectiva multiple
Estructura selectiva multipleEstructura selectiva multiple
Estructura selectiva multiple
 
While y do while c++
While y do while c++While y do while c++
While y do while c++
 
ANTOLOGÍA DE QUÍMICA II
ANTOLOGÍA DE QUÍMICA IIANTOLOGÍA DE QUÍMICA II
ANTOLOGÍA DE QUÍMICA II
 

Similar a ESTRUCTURAS Y UNIONES EN C++

Estructuras de datos en Introducción a la Programación
Estructuras de datos en Introducción a la ProgramaciónEstructuras de datos en Introducción a la Programación
Estructuras de datos en Introducción a la ProgramaciónFacultad de Ciencias y Sistemas
 
Unidad%2 bxii estructuras
Unidad%2 bxii estructurasUnidad%2 bxii estructuras
Unidad%2 bxii estructurasjeoselyn
 
Tema-estructuras-c++.pdf
Tema-estructuras-c++.pdfTema-estructuras-c++.pdf
Tema-estructuras-c++.pdfSANTOS400018
 
Estructura de Datos
Estructura de DatosEstructura de Datos
Estructura de Datosluna_72
 
Tema 9 www.fresymetal.com
Tema 9 www.fresymetal.comTema 9 www.fresymetal.com
Tema 9 www.fresymetal.comFresyMetal
 
GuíA De PráCtica 2
GuíA De PráCtica 2GuíA De PráCtica 2
GuíA De PráCtica 2louis
 
Computacion estructuras
Computacion estructurasComputacion estructuras
Computacion estructurasManuel
 
Nucleo 2 estructuras dinámicas
Nucleo 2 estructuras dinámicasNucleo 2 estructuras dinámicas
Nucleo 2 estructuras dinámicascarsanta
 
Estructuras 1
Estructuras 1Estructuras 1
Estructuras 1eduard
 
Estructuras fundamentales
Estructuras fundamentalesEstructuras fundamentales
Estructuras fundamentalesluis cedeño
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matricesJohanna Marin
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matricesJohanna Marin
 

Similar a ESTRUCTURAS Y UNIONES EN C++ (20)

Estructuras de datos en Introducción a la Programación
Estructuras de datos en Introducción a la ProgramaciónEstructuras de datos en Introducción a la Programación
Estructuras de datos en Introducción a la Programación
 
Unidad%2 bxii estructuras
Unidad%2 bxii estructurasUnidad%2 bxii estructuras
Unidad%2 bxii estructuras
 
Tema-estructuras-c++.pdf
Tema-estructuras-c++.pdfTema-estructuras-c++.pdf
Tema-estructuras-c++.pdf
 
Estructura de Datos
Estructura de DatosEstructura de Datos
Estructura de Datos
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
 
Tema 9 www.fresymetal.com
Tema 9 www.fresymetal.comTema 9 www.fresymetal.com
Tema 9 www.fresymetal.com
 
GuíA De PráCtica 2
GuíA De PráCtica 2GuíA De PráCtica 2
GuíA De PráCtica 2
 
Estructura de registros
Estructura de registrosEstructura de registros
Estructura de registros
 
Estructuras
EstructurasEstructuras
Estructuras
 
Estructuras ing. Vanessa Borgas
Estructuras ing. Vanessa BorgasEstructuras ing. Vanessa Borgas
Estructuras ing. Vanessa Borgas
 
Curso9 estructuras
Curso9 estructurasCurso9 estructuras
Curso9 estructuras
 
Curso9 estructuras
Curso9 estructurasCurso9 estructuras
Curso9 estructuras
 
Computacion estructuras
Computacion estructurasComputacion estructuras
Computacion estructuras
 
Estructura c
Estructura c Estructura c
Estructura c
 
Nucleo 2 estructuras dinámicas
Nucleo 2 estructuras dinámicasNucleo 2 estructuras dinámicas
Nucleo 2 estructuras dinámicas
 
Estructuras 1
Estructuras 1Estructuras 1
Estructuras 1
 
Estructuras fundamentales
Estructuras fundamentalesEstructuras fundamentales
Estructuras fundamentales
 
Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 

Más de die_dex

Appendix a introduction tonthe microprocessor and the microcomputer
Appendix a introduction tonthe microprocessor and the microcomputerAppendix a introduction tonthe microprocessor and the microcomputer
Appendix a introduction tonthe microprocessor and the microcomputerdie_dex
 
Comercio internacional
Comercio internacionalComercio internacional
Comercio internacionaldie_dex
 
Analisis del comercio exterior en la ultima década
Analisis del comercio exterior en la ultima décadaAnalisis del comercio exterior en la ultima década
Analisis del comercio exterior en la ultima décadadie_dex
 
Micro-nanosystems for electrical metrology and precision instrumentation
Micro-nanosystems for electrical metrology and precision instrumentationMicro-nanosystems for electrical metrology and precision instrumentation
Micro-nanosystems for electrical metrology and precision instrumentationdie_dex
 
Bolometric Applications at Room Temperature
Bolometric Applications at Room TemperatureBolometric Applications at Room Temperature
Bolometric Applications at Room Temperaturedie_dex
 
Proposed changes to the definition of the ampere and the kilogram and their i...
Proposed changes to the definition of the ampere and the kilogram and their i...Proposed changes to the definition of the ampere and the kilogram and their i...
Proposed changes to the definition of the ampere and the kilogram and their i...die_dex
 
Analog to Digital Converters Testing
Analog to Digital Converters TestingAnalog to Digital Converters Testing
Analog to Digital Converters Testingdie_dex
 
Towards Uniformity of DC Voltage Metrology within SIM
Towards Uniformity of DC Voltage Metrology within SIMTowards Uniformity of DC Voltage Metrology within SIM
Towards Uniformity of DC Voltage Metrology within SIMdie_dex
 
FUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADOR
FUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADORFUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADOR
FUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADORdie_dex
 
Urgencia hipertensiva
Urgencia hipertensivaUrgencia hipertensiva
Urgencia hipertensivadie_dex
 
Guia para la_atencion_del_parto_normal_en_mcf
Guia para la_atencion_del_parto_normal_en_mcfGuia para la_atencion_del_parto_normal_en_mcf
Guia para la_atencion_del_parto_normal_en_mcfdie_dex
 
Equipo humano y materiales para recepción de recién
Equipo humano y materiales para recepción de reciénEquipo humano y materiales para recepción de recién
Equipo humano y materiales para recepción de reciéndie_dex
 
Crisis hipertensivas
Crisis hipertensivasCrisis hipertensivas
Crisis hipertensivasdie_dex
 
GENERACIÓN ELÉCTRICA
GENERACIÓN ELÉCTRICAGENERACIÓN ELÉCTRICA
GENERACIÓN ELÉCTRICAdie_dex
 
FORMATO IEEE
FORMATO IEEEFORMATO IEEE
FORMATO IEEEdie_dex
 
HISTORIA DE LAS TELECOMUNICACIONES
HISTORIA DE LAS TELECOMUNICACIONESHISTORIA DE LAS TELECOMUNICACIONES
HISTORIA DE LAS TELECOMUNICACIONESdie_dex
 
Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01
Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01
Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01die_dex
 
Metrologia
MetrologiaMetrologia
Metrologiadie_dex
 
Mediciones e instrumentacion_industrial
Mediciones e instrumentacion_industrialMediciones e instrumentacion_industrial
Mediciones e instrumentacion_industrialdie_dex
 

Más de die_dex (20)

Appendix a introduction tonthe microprocessor and the microcomputer
Appendix a introduction tonthe microprocessor and the microcomputerAppendix a introduction tonthe microprocessor and the microcomputer
Appendix a introduction tonthe microprocessor and the microcomputer
 
Comercio internacional
Comercio internacionalComercio internacional
Comercio internacional
 
Analisis del comercio exterior en la ultima década
Analisis del comercio exterior en la ultima décadaAnalisis del comercio exterior en la ultima década
Analisis del comercio exterior en la ultima década
 
Micro-nanosystems for electrical metrology and precision instrumentation
Micro-nanosystems for electrical metrology and precision instrumentationMicro-nanosystems for electrical metrology and precision instrumentation
Micro-nanosystems for electrical metrology and precision instrumentation
 
Bolometric Applications at Room Temperature
Bolometric Applications at Room TemperatureBolometric Applications at Room Temperature
Bolometric Applications at Room Temperature
 
Proposed changes to the definition of the ampere and the kilogram and their i...
Proposed changes to the definition of the ampere and the kilogram and their i...Proposed changes to the definition of the ampere and the kilogram and their i...
Proposed changes to the definition of the ampere and the kilogram and their i...
 
Analog to Digital Converters Testing
Analog to Digital Converters TestingAnalog to Digital Converters Testing
Analog to Digital Converters Testing
 
Towards Uniformity of DC Voltage Metrology within SIM
Towards Uniformity of DC Voltage Metrology within SIMTowards Uniformity of DC Voltage Metrology within SIM
Towards Uniformity of DC Voltage Metrology within SIM
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
FUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADOR
FUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADORFUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADOR
FUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADOR
 
Urgencia hipertensiva
Urgencia hipertensivaUrgencia hipertensiva
Urgencia hipertensiva
 
Guia para la_atencion_del_parto_normal_en_mcf
Guia para la_atencion_del_parto_normal_en_mcfGuia para la_atencion_del_parto_normal_en_mcf
Guia para la_atencion_del_parto_normal_en_mcf
 
Equipo humano y materiales para recepción de recién
Equipo humano y materiales para recepción de reciénEquipo humano y materiales para recepción de recién
Equipo humano y materiales para recepción de recién
 
Crisis hipertensivas
Crisis hipertensivasCrisis hipertensivas
Crisis hipertensivas
 
GENERACIÓN ELÉCTRICA
GENERACIÓN ELÉCTRICAGENERACIÓN ELÉCTRICA
GENERACIÓN ELÉCTRICA
 
FORMATO IEEE
FORMATO IEEEFORMATO IEEE
FORMATO IEEE
 
HISTORIA DE LAS TELECOMUNICACIONES
HISTORIA DE LAS TELECOMUNICACIONESHISTORIA DE LAS TELECOMUNICACIONES
HISTORIA DE LAS TELECOMUNICACIONES
 
Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01
Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01
Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01
 
Metrologia
MetrologiaMetrologia
Metrologia
 
Mediciones e instrumentacion_industrial
Mediciones e instrumentacion_industrialMediciones e instrumentacion_industrial
Mediciones e instrumentacion_industrial
 

ESTRUCTURAS Y UNIONES EN C++

  • 1. ESTRUCTURAS Y UNIONES Sugerencias y herramientas para crear para crear y presentar diapositivas en formato panorámico
  • 2. Contenido Estructuras Acceso a estructuras Estructuras anidadas Arrays de estructuras Utilización de estructuras como parámetros Uniones Enumeraciones Campos de bit Ejercicios E
  • 3. Estructuras Los arrays son estructuras de datos que contienen un numero y q determinado de elementos y todos los elementos han de ser del mismo tipo de datos. Por ejemplo si se dispone de una lista de temperaturas es muy útil un array sin embargo si temperaturas, array; embargo, se necesita una lista de información de clientes que contengan elementos tales como; el nombre, edad, la g dirección, # de cuenta, los arrays no son adecuados. La solución a este problema es usar un tipo de dato registro, en C llamado estructura
  • 4. Cont… Cont Una estructura es una colección de uno o mas tipos de elementos denominados miembros, cada uno d l cuales puede ser un tipo d i d i b d de los l d i de dato diferente Supongamos que se desea almacenar los datos de una colección de discos compactos de música. Estos datos pueden ser; Titulo Artista Numero de canciones Precio Fecha de compra
  • 5. Declaración de una estructura Una estructura es un tipo de dato definido por el p p usuario, que se debe declarar antes de que se pueda utilizar. El formato de la declaración es; Struct <nombre de la estructura> { <tipo de dato mienmbro1><nombre miembro> <tipo de dato mienmbro2><nombre miembro> …. <tipo d d < i de dato mienmbron><nombre miembro>}; i b >< b i b >}
  • 6. Definición de variables de estructuras Al igual que a los tipos de datos enumerados, a una estructura se accede utilizando una variable o variables que se deben definir después de la declaración de la estructura. Las variables de estructuras se pueden definir de dos formas; Listándolas inmediatamente después de la llave de cierre de la declaración d l estructura d l ió de la t t Listando el tipo de la estructura creado seguido por las variables correspondientes en cualquier lugar del programa antes de utilizarlas ili l
  • 7. Ejemplo 1. struct colecciones_CD { char titulo[30] ; char artista[25] ; int num_canciones; float precio; char fecha_compra[8]; } cd1, cd2, cd3; 2. t t l i 2 struct colecciones_CD cd1, cd2, cd3; CD d1 d2 d3
  • 8. Inicialización de una declaración de estructuras Se puede inicializar una estructura dentro de una sección de código de su programa, o bien se puede inicializar la estructura como parte de la definición definición. Cuando se inicializa una estructura como parte de la definición se especifican los valores iniciales definición, iniciales, entre llaves, después de la definición de variables estructura
  • 9. El tamaño de una estructura El operador sizeof se aplica sobre un tipo de datos, o bien p p p sobre una variable. Se puede aplicar para determinar el tamaño que ocupa en memoria una estructura Void main () { Struct Str ct persona mar mar; Printf (“Sizeof (persona):%dn”,sizeof(mar)); }
  • 10. Acceso a estructuras Almacenamiento de información en estructuras; Se puede almacenar información en estructuras mediante inicialización, asignación directa o lectura del teclado Acceso a una estructura de datos mediante el operador punto La asignación de datos a los miembros de una variable estructura se h t t hace mediante el operador punto. L sintaxis en C di t l d t La i t i es; <nombre variable estructurada> . <nombre miembro> = datos; Cd1.precio=0.75
  • 11. Cont .. Acceso a una estructura mediante el operador puntero El operador puntero ->, sirve para acceder a los datos de una estructura a partir de un puntero. Para utilizar este operador se debe definir primero una variable puntero para apuntar a la estructura La asignación de datos a estructuras utilizando el operador puntero ti t tiene el f l formato; t <puntero estructura> -> <nombre miembro>=datos; Ptr_est Nota 8.5; Ptr est->Nota=8.5;
  • 12. Lectura de información de una estructura Si ahora se desea introducir la información en la estructura basta con acceder a los miembros de la estructura con el operador punto o flecha (puntero) Scanf(“%f”,&z.pr); Scanf(“%f”,&z->pi); S f(“%f” & > i)
  • 13. Recuperación de información de una estructura Se recupera información de una estructura utilizando el operador de asignación o una sentencia de salida (print (), puts(),..) <nombre de la variable>=<nombre de la variable estrctura>.<nombre miembro> Printf(“”,<nombre variable estructura>-><nombre miembro> X=z.pr; Printf( %f z >pr); Printf(“%f”,z->pr);
  • 14. Estructuras anidadas Una estructura puede contener otras estructuras llamadas estructuras anidadas. S h d d fi i l miembros comunes solo una vez en id d Se han de definir los i b l su propia estructura y a continuación utilizar esa estructura como un miembro de otra estructura
  • 15. Ejemplo struct info_dir struct empleado p { { char nombre_emp [ 3 0] ; struct info_dir direccion_emp; char dirección[25] ; double salario; char ciudad[20]; }; struct clientes char provincia [20] ; { long int cod_postal; char nombre_cliente[30]; struct info_dir direccion_clien; }; double saldo; };
  • 16. Ejemplo 9 1 9.1 Se desea registrar una estructura Persona Empleado que contenga como miembros l d i b los datos d una persona empleado que a su vez de l d tenga los datos de la fecha de nacimiento. En un programa se muestra el uso de la estructura, se define una función para dar entrada a los datos de la entrada y otra función para dar salida a los datos de una estructura persona. A la función de entrada se transmite por dirección (&p) la variable estructura, por lo que el argumento correspondiente tiene que ser un puntero(*p) y el acceso puntero( p) a los campos se hace con el selector ->
  • 17. Arrays de estructuras Se puede crear un array de estructuras tal como se crea un array de otros tipos. Mientras que los arrays p p proporcionan un medio practico de almacenar diversos p valores del mismo tipo, los arrays de estructuras le p permiten almacenar juntos diversos valores de j diferentes tipos, agrupados como estructuras S Struct info_libro libros[100] [ 00]
  • 18. Utilización de estructuras como parámetros C permite pasar estructuras a funciones, bien por valor o bien por referencia utilizando el operador & f i ili d l d int main (void) { struct info_persona reg_dat; / * Pasa por referencia la variable * / Entrada_pna(&reg_dat); Entrada pna(&reg dat); / * Pasa por valor * / Ver_info(reg_dat); }
  • 19. Uniones Las uniones son similares a las estructuras en cuanto que agrupan una serie d variables, pero l f i de i bl la forma d almacenamiento es de l i diferente y, por consiguiente, efectos diferentes. Las uniones, declaradas con la palabra reservada unión, almacenan miembros múltiples en un paquete En una unión todos los miembros se solapan paquete. entre si en la misma posición Unión nombre { Tipo1 miembro1; T b Tipo2 miembro2; .. };
  • 20. Enumeraciones Un enum es un tipo definido por el usuario con constantes de nombre de tipo entero. En la declaración de un tipo enum se escribe una lista de identificadores que internamente se asocian con las constantes enteras 0,1,2,etc Enum nombre { Enum1, enum2, ….enum_n }; }
  • 21. Ejemplo 9 2 9.2 El siguiente programa muestra el uso de la enumeración boolean. El programa lee un texto y cuenta las vocales leídas La función vocal() leídas. devuelve true si el carácter de entrada es vocal
  • 22. CAMPOS DE BIT El lenguaje C permite realizar operaciones con los bits de una palabra. C l campos d bi C permite acceder a un numero d l b Con los de bits i d de bits de una palabra entera. Un campo de bits es un conjunto de bits adyacentes dentro de una palabra entera Struct identificador_campo{ { Tipo nombre1: longitud1; Tipo nombre 2: longitud2; p g ; .. Tipo nombren: longitudn; }
  • 23. Ejercicios Escribe un programa para calcular el numero de días que hay entre dos fechas; declarar fecha como una estructura estructura. Escribe un programa que permita hacer las operaciones d suma, resta, multiplicación y di i ió i de t lti li ió división de números complejos. El numero complejo a de definirse d fi i como una estructura.
  • 24. Patrón de prueba de pantalla panorámica (16:9) Prueba de la relación de aspecto (Debe parecer circular) 4x3 16x9