La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Diseño de algoritmos “Estructuras”

Presentaciones similares


Presentación del tema: "Diseño de algoritmos “Estructuras”"— 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<N ;i++) { printf("Ingrese el nombre para user[%d] \n",i); gets(user[i].nombre); }

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”"

Presentaciones similares


Anuncios Google