trabajo de investidacion unidad 8

9

Click here to load reader

Upload: benito-lopez

Post on 15-Dec-2015

222 views

Category:

Documents


0 download

DESCRIPTION

trabajos de investigación de importancia de datos importantes no es resultantes de importacioa

TRANSCRIPT

Page 1: Trabajo de Investidacion Unidad 8

INGENIERÍAINSTITUTO TECNOLÓGICO DE SALINA CRUZ

MATERIA

Algoritmos y programación

PROFRA.:

SUSANA MÓNICA ROMAN NAJERA

SEMESTRE

2

GRUPO

2B2

ESTUDIANTE:

LÓPEZ VÁSQUEZ SEBASTIÁN

CARRERA

INGENIERÍA MECÁNICA

TEMA: ESTRUCTURAS

SALINA CRUZ, OAXACA JUNIO DE 2014

Page 2: Trabajo de Investidacion Unidad 8

Contenido INTRODUCCIÓN ................................................................................................................................... 3

ESTRUCTURAS ..................................................................................................................................... 4

Definición de estructuras en Lenguaje C ......................................................................................... 4

Inicialización de estructuras ............................................................................................................ 4

Asignación de estructuras ............................................................................................................... 5

Referencia de campos de una estructura ................................................................................. 6

Punteros a Estructuras ................................................................................................................ 7

CONCLUSIONES ................................................................................................................................... 8

REFERENCIAS VIRTUALES .................................................................................................................... 9

Page 3: Trabajo de Investidacion Unidad 8

INTRODUCCIÓN

Gracias a las estructuras se han podido lograr y formalizar las estructuras con

base a los programas que se refieren a programación en C, y que servirán como

guía para una mejor comprensión del tema de la unidad.

El objetivo de este trabajo es presentar información relevante al tema de la

unidad así como citar ejemplos que ayuden a una mejor comprensión del tema de

la unidad.

El presente trabajo es muy significativo ya que facilita la comprensión del

tema de la unidad y que servirá de base en la programación para los estudiantes.

El siguiente trabajo fue creado con información obtenida de las fuentes de

internet y archivos, que sirvieron como base para crear este trabajo y que están

relacionadas con la unidad.

El trabajo contiene los elementos delas estructuras en lenguaje en C, así

como los fundamentos, la inicialización y algunos ejemplos para crearlas, con

base a la investigación previa hecha.

Se espera que el trabajo haya satisfecho las necesidades del conocimiento,

además de que la información sea clara y precisa.

Page 4: Trabajo de Investidacion Unidad 8

ESTRUCTURAS

Una estructura es un conjunto de datos, posiblemente de tipos diferentes, agrupadas bajo un mismo nombre, para hacer más eficiente su manejo.

Las estructuras ayudan a organizar datos complicados, particularmente en programas grandes, ya que permiten tratar como una unidad a un conjunto de variables relacionadas, en lugar de tratarlas como entidades independientes.

Un buen criterio de uso de estructuras establece que la definición de una estructura debe ir acompañada por la definición de un conjunto de funciones que se encargan de realizar la manipulación directa de la nueva entidad creada.

Definición de estructuras en Lenguaje C

Una estructura se define en lenguaje C a través de la siguiente sintáxis:

struct Nombre { tipo1 Campo1; tipo2 Campo2; ... tipoN CampoN; };

La declaración

struct Nombre Var1;

Declara una variable del tipo "struct Nombre", esto es, el compilador reserva la cantidad de memoria sufuciente para mantener la estructura íntegra (es decir espacio para almacenar Campo1, Campo2, ..., CampoN). Cuando se hace referencia a la variable Var, se está haciendo referencia a la estructura íntegra.

Inicialización de estructuras

Se puede inicializar una estructura externa o estática añadiendo a su definición la lista de inicializadores:

struct Fecha { int Dia;

Page 5: Trabajo de Investidacion Unidad 8

char *Mes; int Anio; }; struct Fecha Hoy = {8,"Mayo",1991}, VarFecha; ... VarFecha = Hoy;

La asignación VarFecha = Hoy copia la estructura integra Hoy en VarFecha. Cuando dentro de los campos de una estructura aparecen punteros y uno realiza este tipo de asignación, se está copiando también los valores de los punteros, de tal manera que se puede estar haciendo referencia a un dato desde dos puntos diferentes lo que puede causar efectos no deseados y un potencial peligro para la aplicación.

Asignación de estructuras

La asignación de estructuras está permitida, pero sólo entre objetos del mismo tipo de estructura, (salvo que se usen constructores), y funciona como la intuición nos dice que debe hacerlo.

Quizás te hayas quedado intrigado por el comentario anterior, que adelantaba que se pueden asignar estructuras diferentes, siempre que se usen los constructores adecuados.

Esto, en realidad, se puede extender a cualquier tipo, no sólo a estructuras. Por ejemplo, definiendo el constructor adecuado, podemos asignar un entero a una estructura.

Hasta ahora, los constructores que hemos visto no usaban argumentos, pero eso no significa que no puedan tenerlos.

Un número complejo está compuesto por dos valores reales, el primero contiene lo que se llama la parte real y el segundo la parte imaginaria.

Esta estructura es suficiente para muchas de las cosas que podemos hacer con números imaginarios, pero aprovechando que podemos crear funciones, podemos añadir algunas que hagan de una forma más directa cosas que de otro modo requieren añadir código externo.

Por ahora nos limitaremos a añadir unos cuantos constructores. El primero es el más lógico: un constructor por defecto: Este construtor se usará, por ejemplo, si declaramos un array: El constructor por defecto será llamado para cada elemento del array, aunque no aparezca tal llamada en ningún punto del programa.

Page 6: Trabajo de Investidacion Unidad 8

Otro constructor nos puede servir para asignar un valor a partir de dos números:

Mediante este constructor podemos asignar valores iniciales en la declaración: Los números reales se consideran un subconjunto de los imaginarios, en los que la parte imaginaria vale cero. Esto nos permite crear otro constructor que sólo admita un valor real:

Este constructor nos permite, como en el caso anterior, inicializar un valor

de un complejo en la declaración, pero también nos permite asignar un valor double a un complejo, y por el sistema de promoción automático, también podemos asignar valores enteros o en coma flotante:

Este tipo de constructores se comportan como conversores de tipo, nada nos impide crear constructores con cualquier tipo de parámetro, y tales constructores se podrán usar para convertir cualquier tipo al de nuestra estructura.

Referencia de campos de una estructura

Un campo de una estructura se utiliza como una variable más. Para referenciar un campo de una estructura se emplea el operador ".".

Ejemplo:

Hoy.Dia = 24;

Hoy.Mes = "Agosto";

Hoy.Anio = 1991;

Las estructuras se pueden anidar:

struct Person

{

char Name [NAMESIZE];

char Adress[ADRSIZE];

long ZipCode;

double Salary;

struct Fecha Nacimiento;

};

Page 7: Trabajo de Investidacion Unidad 8

Para referenciar un campo de una estructura interna se utiliza la misma sintaxis, referenciando campos internos dentro de campos:

struct Person Juan;

Juan.Nacimiento.Dia = 14;

Punteros a Estructuras

Una vez definida las estructuras, se utilizan en forma análoga a los tipos estándar de datos, por lo tanto se pueden declarar arreglos de estructuras, y también punteros a estructuras. Se pueden declarar variables que apunten a estructuras:

Struct Fecha *FechaPtr;

Struct Fecha Hoy;

FechaPtr = &Hoy;

La referencia a un campo de una estructura a través de un puntero se realiza mediante el operador "->".

FechaPtr -> Dia = 15;

FechaPtr -> Mes = "Octubre";

Punteros a estructuras

Al igual que la mayoría de los tipos de datos en C, las estructuras pueden contener punteros y a su vez ser un puntero.

Cuando se accede a un dato de tipo struct que no es punto se accede a través del opreador punto (Planeta.Nombre), pero cuando la variable es puntero se accede con el operador (-> “Planeta->Nombre”).

Page 8: Trabajo de Investidacion Unidad 8

CONCLUSIONES

Gracias a la creación de nuevas formas de estructuras, que han servido para

aumentar la investigación de la programación y que sin ella no sería posible los

nuevos programas y aplicación es que se le dan en la actualidad.

La experiencia adquirida en este trabajo es muy satisfactoria y sin duda nos

ayudara a los ingenieros, no solo en la unidad, sino en la vida laboral, además nos ha

dado información relacionada al tema.

Lo aprendido en cuanto a los elementos de las estructuras, su definición y la

inicialización, será muy útil en cuanto a la programación.

En el presente trabajo, se lograron muy buenos resultados en cuanto a la

información investigada que será muy útil para el estudiante en el futuro.

El trabajo aquí presentado será muy útil para la creación de funciones y su

estructura, así como los métodos que se deben utilizar para lograr un mejor resultado

en la programación.

Se espera que el trabajo haya sido eficaz en cuanto a la información contenida

y que el objetivo se haya cumplido y que la información aquí presente haya

satisfech0o esta necesidad.

Page 9: Trabajo de Investidacion Unidad 8

REFERENCIAS VIRTUALES

Estructuras. (2012).Internet. Fuera de línea. Página consultada el 19 de junio de

2014. Disponible en:

http://gfif.udea.edu.co/cursos/extension/C/CursoC_V.pdf

Estructuras. (2012).Internet. En línea. Página consultada el 19 de junio de 2014.

Disponible en:

http://decsai.ugr.es/~jfv/ed1/c/cdrom/cap7/cap71.htm

Estructuras en leguaje C. (2012).Internet. En línea. Página consultada el 19 de

junio de 2014. Disponible en:

http://www.ib.cnea.gov.ar/~servos/CursoC/estructuras.htm