La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Diseño de algoritmos Estructuras Claudio Gutiérrez-Soto.

Presentaciones similares


Presentación del tema: "Diseño de algoritmos Estructuras Claudio Gutiérrez-Soto."— Transcripción de la presentación:

1 Diseño de algoritmos Estructuras Claudio Gutiérrez-Soto.

2 Estructuras Las estructuras son un conjunto de variables que se referencian bajo un mismo nombre, proporcionando un medio conveniente para mantener reunida la información relacionada

3 Estructuras Las variables "campos" que abarca la estructura se llaman elementos de la estructura. En general cada elemento de la estructura está relacionada lógicamente con los otros. Ejemplo: Definición de una estructura para almacenar datos básicos de una persona. struct usuario{ char nombre[30]; char calle[40]; char cuidad[20]; char region[3]; char fono[7]; int edad; };

4 Estructuras La palabra clave struct, le indica al compilador que está siendo declarada una estructura. Obsérvese que la definición termina con un ;. Esto es debido a que la definición de una estructura es una sentencia. Note que los campos dentro de una estructura no requieren ser del mismo tipo de dato. El número de estructuras y el número de campos dependerá del problema a resolver.

5 Estructuras Declaración de Variables de tipo estructura Sintaxis: struct nombre_estructura var1,var2,....,varN; o struct nombre_estructura{ Elementos de estructura }var1,var2,....,varN;

6 Estructuras Ejemplo: Definición de variables struct usuario user1, user2; Otra forma de poder haber hecho esto seria: struct usuario{ char nombre[30]; char calle[40]; char cuidad[20]; char region[3]; char fono[7]; int edad; } user1,user2;

7 Estructuras Referencia a los elementos de una estructura Para hacer referencia a los elementos de una estructura se utiliza el operador punto.. Sintaxis: var_tipo_struct. elemento El nombre de la variable estructura va seguido del punto y del nombre del elemento, referenciando ese elemento individual de la estructura.

8 Estructuras Ejemplo: printf("Ingrese el nombre para el primer usuario \n"); gets(user1.nombre); printf("Ingrese la edad del primer usuario \n"); scanf("%d",&user1.edad);

9 Estructuras Inicialización de variables tipo estructura struct usuario{ char nombre[30]; char calle[40]; char cuidad[20]; char region[3]; char fono[7]; int edad; } user1,user2; main() { struct user1={Claudio,Collao,Conce,Octava,111,35}; printf(Saludos %s \n,user1.nombre); }

10 Estructuras Arreglos de estructuras Supongamos nuestra estructura: struct usuario y que deseamos declarar N usuarios, se suscitaría lo siguiente: struct usuario{ char nombre[30]; char calle[40]; char cuidad[20]; char region[3]; char fono[7]; int edad; } user1,user2,..., userN;

11 Estructuras Arreglos de estructuras Lo cual para acceder a cada variable se traduce en algo realmente complejo; Para resolver esta complejidad podemos utilizar un arreglo. struct usuario{ char nombre[30]; char calle[40]; char cuidad[20]; char region[3]; char fono[7]; int edad; }user[N];

12 Estructuras Arreglos de estructuras Por lo tanto se puede definir un arreglo de estructuras de la forma anterior o de la siguiente forma: struct usuario user[N];

13 Estructuras Arreglos de estructuras Para poder acceder a algún elemento del arreglo, se indica el nombre del arreglo, el índice del arreglo y el elemento de la estructura. Por ejemplo: for(i=0;i

14 Estructuras Estructuras en las funciones Funciones de tipo estructura Son las funciones que devuelven datos de tipo estructura. Sintaxis: struct nombre_estructura nombre_funcion(parametros) { }

15 Estructuras Ejemplo: En este ejemplo se crea una estructura que almacena los elementos de los número complejos, o sea el valor real y el imaginario. struct complejos{ float real; float imaginario; }; typedef struct complejos COMPLEX; COMPLEX asignar(float Real, float Imag) { COMPLEX a; a.real=Real; a.imaginario=Imag; return(a); } main() { COMPLEX a; float aR,aI; printf(ingrese la parte real para a\n); scanf(%f,&aR); printf(ingrese la parte imaginaria para a\n); scanf(%f,&aI); a=asignar(aR,aI); }

16 ¿Preguntas?


Descargar ppt "Diseño de algoritmos Estructuras Claudio Gutiérrez-Soto."

Presentaciones similares


Anuncios Google