3.6 Manejo de E/S Estructuras En la creación de soluciones para algunos problemas surge la necesidad de agrupar datos de diferente tipo o de manejar datos.

Slides:



Advertisements
Presentaciones similares
Ing. Eduard Antonio Lozano Córdoba
Advertisements

Metodología de la Programación
Repaso para la construcción del intérprete 2012
Fundamentos de la Programación Estructurada
Procedimientos y Funciones
Programación I Teoría III
Programación I Teoría IV
Tipos de Datos Básicos y Estructurados
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
MANEJO DE ARRAYS EN C.
INFORMATICA I Arreglos 1 CLASE 17.
Informática II Prof. Dr. Gustavo Patiño MJ
Estructuras Compuestas.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Unidad 3 Punteros.
ÁRBOLES DE EXPRESION.
¿Qué es un PUNTERO?: Un puntero es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No.
Vectores en java.
Funciones “En C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
Modificadores.
Tipos de Datos Básicos 1.
Tema 6: Clases Antonio J. Sierra.
Álgebra elemental.
Diseño de algoritmos “Punteros”
Tema 9 Estructuras.
Fundamentos de Programación
Semana 5 Subprogramas..
Matrices Es una estructura homogénea, compuesta por varios elementos, todos del mismo tipo y almacenados consecutivamente en memoria A cada elemento se.

Clase 10: Estructuras de datos y arreglos.
Descomposición Modular. Funciones
Unidad VI Registros (estructuras, uniones y enumeraciones)
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Componentes Directivas Declaraciones globales.
FIEE VARIABLES Ing. José Antonio Poma G.. FIEE Variables Una variable es un identificador (nombre de la variable) que hace referencia a.
El lenguaje de programación C - Vectores y matrices -
EXPRESIONES Y SENTENCIAS
Prof. Gonzalo Pastor struct. struct Un struct permite dividir cada posición del vector en varias partes Una estructura (struct) es un tipo de datos compuesto.
Elementos básicos del lenguaje
Ada 2º Parte (variables, ámbitos , subrutinas , tipos abstractos de datos y excepciones)
Unidad II Introducción a la programación en C++
Informática Ingeniería en Electrónica y Automática Industrial
Programación en C para electrónicos
Listas Ligadas Simples. Definíción I  Es, en sencillas palabras. un grupo de datos organizados secuencialmente, pero a diferencia de los arreglos, la.
Elementos básicos del lenguaje
PUNTEROS Y REFERENCIAS
APUNTADORES.
Programación Procedural y Recursiva en C++
Registros Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes.
Términos algoritmo diseñar algoritmo implementar algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
Computación II Capitulo VII Punteros. Presentación de la unidad Objetivos: –Ser capaces de utilizar punteros. –Comprender las relaciones entre punteros,
INTRODUCCION A LA PROGRAMACION
Unidad 2 Estructuras ESCUELA DE COMPUTACIÓN.
PRINCIPIOS DE PROGRAMACIÓN
COMPUTACIÓN I TEMA 9. Constructor de tipos: struct Definición de nuevos tipos: typedef. Arreglos de estructuras Prof. Mireya Morales.
Fundamentos de Programación
Arreglos unidimensionales
Presente un cuestionario con los aspectos mas importantes sobre los
Lic. Carla Aguirre Montalvo
MEMORIA DINÁMICA.
Gabriela Araya Baez Estudiante Ingenieria Civil Industrial.
:: Prof. Yeniffer Peña Introducción a JAVA Presentación Programación I.
PROF. RAFAEL MONTENEGRO B. UNELLEZ-APURE Introducci Ó n a los Arreglos (“arrays”) en C++
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
Lenguaje de Programación II Prof. Rafael Montenegro B. Carrera: T.S.U en Informática Periodo: 2014-I.
Computación I :: Prof. Yeniffer Peña Lenguaje C Presentación Computación I.
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTAD DE INGENIERÍA COORDINACIÓN DE MATERIAS PROPEDÉUTICAS INGENIERÍA EN SISTEMAS ENERGÉTICOS SUSTENTABLES.
Estructuras Estructuras En la creación de soluciones para algunos problemas surge la necesidad de agrupar datos de diferente tipo o de manejar datos que.
Transcripción de la presentación:

3.6 Manejo de E/S Estructuras En la creación de soluciones para algunos problemas surge la necesidad de agrupar datos de diferente tipo o de manejar datos que serian muy difícil de describir en los tipos de datos primitivos. En estos casos se deben aprovechar las características que hacen al lenguaje C especial, por ejemplo el uso de estructuras.

3.6 Manejo de E/S Estructuras Una estructura es una colección de una o más variables de iguales o diferentes tipos, agrupadas bajo un solo nombre. Es decir, es un tipo de dato compuesto que permite almacenar un conjunto de datos de diferente tipo que pueden ser tratadas como una unidad. En C una estructura (struct), es una estructura de datos cuyos elementos individuales pueden ser de distinto tipo.

3.6 Manejo de E/S Estructuras Las estructuras pueden contener tipos de datos simples y tipos de datos compuestos. Los tipos de datos simples (o primitivos) son: carácter, números enteros o números de punto flotante. Los tipos de datos compuestos son: los arreglos y las estructuras.

3.6 Manejo de E/S Estructuras Así, una estructura puede contener elementos enteros, flotantes y caracteres. Apuntadores, arreglos y otras estructuras pueden ser también incluidas como elementos dentro de una estructura. A los elementos individuales de una estructura se le denomina miembros.

3.6 Manejo de E/S Definición de una STRUCT La declaración de estructuras es algo más complicada que la declaración de arreglos, ya que una estructura debe ser definida en términos de sus miembros individuales. En general, la composición de una estructura puede ser definida como: struct nombreEstructura{ miembro 1; miembro 2; miembro m; } ; En esta declaración, struct es una palabra reservada requerida; nombreEstructura es un nombre que identifica estructuras de este tipo (estructuras que tengan esta composición); y miembro 1, miembro 2,.., miembro m son declaraciones de miembros individuales.

3.6 Manejo de E/S Los nombres de los miembros dentro de una estructura deben ser todos diferentes, pero el nombre de un miembro puede ser el mismo que el de una variable definida fuera de la estructura. Sin embargo, no se puede inicializarse a un miembro dentro de la declaración del tipo de la estructura. Una vez que la composición de la estructura ha sido definida, las variables individuales de este tipo de estructura pueden declararse como sigue: struct nombreEstructura variable; donde struct es la palabra reservada requerida, nombreEstructura es el nombre que aparece en la declaración de estructura y variable es una variable de estructura del tipo nombreEstructura.

3.6 Manejo de E/S Ejemplo: struct cuenta { int numCuenta; char tipoCuenta; char nombre [8O] ; float saldo; } ; Ahora podemos declarar las variables antiguocliente y nuevocliente: struct cuenta antiguocliente, nuevocliente;

3.6 Manejo de E/S Es posible combinar la declaración de la composición de la estructura con la de las variables de estructura, como se muestra a continuación. struct nombreEstructura { miembro 1; miembro 2; … miembro m; }variable 1, variable 2, …, variable n; nombreEstrucura es opcional en esta situación.

3.6 Manejo de E/S Una variable de estructura puede ser definida como miembro de otra estructura. En tales situaciones, la declaración de la estructura interna debe aparecer antes que la declaración de la estructura externa. struct fecha { int mes; int dia; int anio; } ; struct cuenta { int numCuenta; char tipoCuenta; char nombre [80]; float saldo; struct fecha ultimoPago; } antiguoCliente, nuevoCliente;

3.6 Manejo de E/S Inicialización de Estructuras A los miembros de una variable de estructura se le pueden asignar valores iniciales de la misma forma que a los arreglos. Los valores iniciales deben aparecer en el orden en que serán asignados a sus correspondientes miembros de la estructura, encerrados entre llaves y separados por comas. La forma general es: struct nombreEstructura variable = {valor 1, valor 2, …, valor m}; donde valor 1 refiere al valor del primer miembro, valor 2 al valor del segundo, y así sucesivamente. Para el ejemplo anterior: static struct cuenta cliente = {12345, 'R', "José R. García", , 5, 24, 1990};

3.6 Manejo de E/S Procesamiento de Estructuras Los miembros de una estructura se procesan generalmente de modo individual, como entidades separadas. Por tanto, tenemos que ser capaces de acceder a los miembros individuales de la estructura. Un miembro de una estructura puede ser accedido escribiendo variable.miembro donde variable se refiere el nombre de una variable de tipo estructura y miembro el nombre de un miembro dentro de la estructura. El punto (.) que separa el nombre de la variable del nombre del miembro es un operador; es un miembro del grupo de mayor prioridad, y su asociatividad es de izquierda a derecha.

3.6 Manejo de E/S Para el ejemplo de los clientes struct fecha { int mes; int dia; int anio; } ; struct cuenta { int numCuenta; char tipoCuenta; char nombre [80]; float saldo; struct fecha ultimoPago; } cliente; Si queremos acceder al número de cuenta del cliente, debemos escribir cliente.numCuenta

3.6 Manejo de E/S Se pueden escribir expresiones más complejas usando repetidamente el operador punto. Por ejemplo, si un miembro de una estructura es a su vez otra estructura, entonces el miembro de la estructura más interna puede ser accedido escribiendo variable.miembro.submiembro donde miembro refiere el nombre del miembro dentro de la estructura externa y submiembro el nombre del miembro dentro de la estructura interna. Análogamente, si un miembro de una estructura es un arreglo, entonces un elemento individual del arreglo puede ser accedido escribiendo variable.miembro[expresión] donde expresión es un valor no negativo que indica el elemento del arreglo.

3.6 Manejo de E/S El último miembro de cliente es cliente.ultimoPago, que es una estructura de tipo fecha. Por tanto, para acceder al mes del último pago debemos escribir: cliente.ultimoPago.mes Análogamente, el tercer miembro de cliente es el arreglo de caracteres cliente.nombre. El tercer carácter dentro de este arreglo puede ser accedido escribiendo: cliente.nombre[2]

3.6 Manejo de E/S Paso de estructuras a funciones Se pueden pasar los miembros individuales, o las estructuras completas a una función. Los miembros individuales de una estructura o bien una estructura completa se pueden pasar a una función como argumentos en la llamada a la función, y un miembro de una estructura o una estructura completa puede ser devuelto mediante la instrucción return. Para hacer esto, cada miembro de la estructura se trata como una variable ordinaria.

3.6 Manejo de E/S struct fecha { int mes; int dia; int anio; } ; struct cuenta { int numCuenta; char tipoCuenta; char nombre [80]; float saldo; struct fecha ultimoPago; } cliente; Si queremos pasarle a una función una variable tipo estructura void miFuncion(struct cuenta miCliente) Si queremos que la función devuelva una variable tipo estructura struct cuenta miFuncion( )

3.6 Manejo de E/S Ejemplo: Representando puntos con estructuras…

3.6 Manejo de E/S Ejemplo: Función que recibe una variable de tipo estructura.

3.6 Manejo de E/S Función que devuelve una variable tipo estructura

3.6 Manejo de E/S

Ejemplo: Representando puntos con estructuras…

3.6 Manejo de E/S Función que recibe y devuelve variables tipo estructura