Diseo de algoritmos Estructuras Claudio GutirrezSoto Estructuras Las

  • Slides: 16
Download presentation
Diseño de algoritmos “Estructuras” Claudio Gutiérrez-Soto.

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

Estructuras ¨ Las estructuras son un conjunto de variables que se referencian bajo un

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

Estructuras Las variables "campos" que abarca la estructura se llaman elementos de la estructura.

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; };

Estructuras La palabra clave struct, le indica al compilador que está siendo declarada una

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.

Estructuras Declaración de Variables de tipo estructura Sintaxis: struct nombre_estructura var 1, var 2,

Estructuras Declaración de Variables de tipo estructura Sintaxis: struct nombre_estructura var 1, var 2, . . , var. N; o struct nombre_estructura{ Elementos de estructura }var 1, var 2, . . , var. N;

Estructuras Ejemplo: Definición de variables struct usuario user 1, user 2; Otra forma de

Estructuras Ejemplo: Definición de variables struct usuario user 1, user 2; 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; } user 1, user 2;

Estructuras Referencia a los elementos de una estructura Para hacer referencia a los elementos

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.

Estructuras Ejemplo: printf("Ingrese el nombre para el primer usuario n"); gets(user 1. nombre); printf("Ingrese

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

Estructuras Inicialización de variables tipo estructura struct usuario{ char nombre[30]; char calle[40]; char cuidad[20];

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; } user 1, user 2; main() { struct user 1={“Claudio”, ”Collao”, ”Conce”, ”Octava”, 111, 35}; printf(“Saludos %s n”, user 1. nombre); } n

Estructuras Arreglos de estructuras Supongamos nuestra estructura: struct usuario y que deseamos declarar N

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; } user 1, user 2, . . . , user. N;

Estructuras Arreglos de estructuras Lo cual para acceder a cada variable se traduce en

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];

Estructuras Arreglos de estructuras Por lo tanto se puede definir un arreglo de estructuras

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];

Estructuras Arreglos de estructuras Para poder acceder a algún elemento del arreglo, se indica

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<N ; i++) { printf("Ingrese el nombre para user[%d] n", i); gets(user[i]. nombre); }

Estructuras en las funciones Funciones de tipo estructura Son las funciones que devuelven datos

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

Estructuras Ejemplo: En este ejemplo se crea una estructura que almacena los elementos de

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 a. R, a. I; printf(“ingrese la parte real para an”); scanf(“%f”, &a. R); printf(“ingrese la parte imaginaria para an”) scanf(“%f”, &a. I); a=asignar(a. R, a. I); }

¿Preguntas?

¿Preguntas?