ESTRUCTURAS DE DATOS. Agenda –Introducción Estructuras –Declaración de estructuras...

15
ESTRUCTURAS DE DATOS

Transcript of ESTRUCTURAS DE DATOS. Agenda –Introducción Estructuras –Declaración de estructuras...

Page 1: ESTRUCTURAS DE DATOS. Agenda –Introducción Estructuras –Declaración de estructuras –Definición de variables tipo estructuras –Inicialización de variables.

ESTRUCTURAS DE DATOS

Page 2: ESTRUCTURAS DE DATOS. Agenda –Introducción Estructuras –Declaración de estructuras –Definición de variables tipo estructuras –Inicialización de variables.

Agenda

– Introducción Estructuras– Declaración de estructuras– Definición de variables tipo estructuras– Inicialización de variables tipo estructuras.– Acceso a las variables tipo estructuras

Page 3: ESTRUCTURAS DE DATOS. Agenda –Introducción Estructuras –Declaración de estructuras –Definición de variables tipo estructuras –Inicialización de variables.

Introducción a Estructuras

En un arreglo todos los elementos son del mismo tipo de datos.

INTRODUCCIÓN

T1=10°C

T2=12°C

T3=8°C

T4=20°C

T5=18°C

V1=30Km/h

V2=25Km/h

V3=35Km/h

V4=40Km/h

10 12 8 20 18TEMP[ ] 30 25 35 40VELC[ ]

Page 4: ESTRUCTURAS DE DATOS. Agenda –Introducción Estructuras –Declaración de estructuras –Definición de variables tipo estructuras –Inicialización de variables.

Introducción a Estructuras (2)Una lista de información, por ejemplo, de estudiantes contiene elementos tales como:

El nombre,la edad, las notas, semestre, etc.,

Para esto los arreglos no son adecuados.

INTRODUCCIÓN

Nomb= ‘’LUIS’’

Apell= ‘’LOPEZ’’

Edad= 17

NotaInf1= 4.5

NotaCalc1= 4.4

Sem= 1

ESTUDIANTE: NombApellSemNotaInf1NotaCalc1

“Luis” “Lopez” 17 4.5

Nombre Apellido Edad NotaInf1

4.4

NotaCalc1

1

Semestre

ESTUDIANTE

Page 5: ESTRUCTURAS DE DATOS. Agenda –Introducción Estructuras –Declaración de estructuras –Definición de variables tipo estructuras –Inicialización de variables.

Componentes de una EstructuraUna estructura es una colección de uno o mas tipos denominados miembros, cada uno de los cuales puede ser de un tipo de datos diferente.

Ejemplo: Estructura ‘estudiante’

INTRODUCCIÓN

TIPOS DE DATOS Cadena de Caracteres max 50 Cadena de Caracteres max 15 Numerico Entero Numerico Entero Numerico Flotante Numerico Flotante

MIEMBROSNombreApellidoedadSemestreNotaInf1NotaCalc1

“Luis” “Lopez” 17 4.5

Nombre Apellido Edad NotaInf1

4.4

NotaCalc1

1

Semestre

ESTUDIANTE

Page 6: ESTRUCTURAS DE DATOS. Agenda –Introducción Estructuras –Declaración de estructuras –Definición de variables tipo estructuras –Inicialización de variables.

Componentes de una Estructura• Ejemplo: Estructura ‘CD de musica’

INTRODUCCIÓN

TIPOS DE DATOS Cadena de Caracteres max 40 Cadena de Caracteres max 40 Cadena de Caracteres max 15 Numerico entero Numerico entero Numerico entero

MIEMBROS– Titulo– Artista– Género– Número Canciones– Año de lanzamiento– Precio

Page 7: ESTRUCTURAS DE DATOS. Agenda –Introducción Estructuras –Declaración de estructuras –Definición de variables tipo estructuras –Inicialización de variables.

ESTRUCTURAS EN CESTRUCT. Y C

En C existe un tipo de dato, llamado estructura.

“Luis” “Lopez” 17 4.5

Nombre Apellido Edad NotaInf1

4.4

NotaCalc1

1

Semestre

ESTUDIANTE

Se puede utilizar una estructura para almacenar diferentes tipos de información sobre una persona, tal como nombre, estado civil, edad, fecha de nacimiento,…

Una ESTRUCTURA Es un TIPO DE DATO QUE UNO CREA, Y QUE ES PERSONALIZADO

Page 8: ESTRUCTURAS DE DATOS. Agenda –Introducción Estructuras –Declaración de estructuras –Definición de variables tipo estructuras –Inicialización de variables.

Declaración de una Estructura

struct nombreDeLaEstructura{ tipoDeDatoMiembro1 nombreMiembro1; tipoDeDatoMiembro2 nombreMiembro2; ... tipoDeDatoMiembroN nombreMiembroN;} ;

Con la declaración de un estructura estamos creando un tipo de datos NUEVO y PERSONALIZADO. Se utiliza la palabra clave struct

ESTRUCT. Y C

Page 9: ESTRUCTURAS DE DATOS. Agenda –Introducción Estructuras –Declaración de estructuras –Definición de variables tipo estructuras –Inicialización de variables.

Ejemplo Declaración de Estructura “Estudiante Informatica1”

DECLARACIÓN

struct nombreDeLaEstructura{

tipoDeDatoMiembro1 nombreMiembro1; tipoDeDatoMiembro2 nombreMiembro2; ... tipoDeDatoMiembroN nombreMiembroN;} ;

struct estudianteInform1{ char nombre[50]; char cedula[15]; char email[50]; float notaTeorica; float notaLab; int faltas;} ;

MIEMBROSNombreCedulaCorreo ElectrónicoNota TeóriaNota LaboratorioFaltas

TIPOS DE DATOSCadena de Caracteres max 50Cadena de Caracteres max 15Cadena de Caracteres max 50Numerico flotanteNumerico flotanteNumerico entero.

Page 10: ESTRUCTURAS DE DATOS. Agenda –Introducción Estructuras –Declaración de estructuras –Definición de variables tipo estructuras –Inicialización de variables.

Ejemplo 2: Declaración de Estructura “CD de Musica”

DECLARACIÓN

struct cdsMusica{ char titulo[40]; char artista[40]; char genero[15]; int numCanciones; int lanzamiento; int precio;} ;

MIEMBROSTituloArtistaGéneroNúmero CancionesAño de lanzamientoPrecio

TIPOS DE DATOSCadena de Caracteres max 40Cadena de Caracteres max 40Cadena de Caracteres max 15Numerico enteroNumerico enteroNumerico entero

struct nombreDeLaEstructura{

tipoDeDatoMiembro1 nombreMiembro1; tipoDeDatoMiembro2 nombreMiembro2; ... tipoDeDatoMiembroN nombreMiembroN;} ;

Page 11: ESTRUCTURAS DE DATOS. Agenda –Introducción Estructuras –Declaración de estructuras –Definición de variables tipo estructuras –Inicialización de variables.

Ejemplo3: Declaración de Estructura “numero complejo”

DECLARACIÓN

struct complejo{ float parte-real; float parte-imaginaria;};

struct complejo{float parte-real, parte-imaginaria;};

MIEMBROSParte_RealParte_Imaginaria

TIPOS DE DATOSNumerico FlotanteNumerico Flotante

Page 12: ESTRUCTURAS DE DATOS. Agenda –Introducción Estructuras –Declaración de estructuras –Definición de variables tipo estructuras –Inicialización de variables.

Declarando VARIABLES tipo estructura

Variables tipo Estructura

Cuando declaramos una estructura solo se está diciendo que forma tendrá, SE CREA UN NUEVO TIPO DE DATOS.

struct cdsMusica{ char titulo[40]; char artista[40]; char genero[15]; int numCanciones; int lanzamiento; int precio;};

struct cdsMusica cd1, cd2, cd3;

struct cdsMusica{ char titulo[40]; char artista[40]; char genero[15]; int numCanciones; int lanzamiento; int precio;} cd1,cd2,cd3; //Se delaran 3 Vbles

Falta instanciar la estructura o simplemente reservarle un espacio en memoria con un nombre especifico, Se declara una Variable de este nuevo tipo.

Page 13: ESTRUCTURAS DE DATOS. Agenda –Introducción Estructuras –Declaración de estructuras –Definición de variables tipo estructuras –Inicialización de variables.

Declarando variables tipo estructura

Variables tipo Estructura

La declaración de las estructuras se realiza por fuera de las definiciones de cualquier función.

struct cdsMusica{ char titulo[40]; char artista[40]; char genero[15]; int numCanciones; int lanzamiento; int precio;};

struct cdsMusica cd1,cd2,cd3; //3 vbles tipo globales

int main(void){ struct cdsMusica cd4,cd5,cd6; //3 Vbles locales ….}

La declaración de Variables tipo Estructura, mantiene las normas de la declaración de cualquier otra variable.

struct cdsMusica{ char titulo[40]; char artista[40]; char genero[15]; int numCanciones; int lanzamiento; int precio;} cd1,cd2,cd3;

int main(void){ struct cdsMusica cd4,cd5,cd6; ….}

Page 14: ESTRUCTURAS DE DATOS. Agenda –Introducción Estructuras –Declaración de estructuras –Definición de variables tipo estructuras –Inicialización de variables.

Inicialización de Variables tipo estructura

Variables tipo Estructura

struct cdsMusica{ char titulo[40]; char artista[40]; char genero[15]; int numCanciones; int lanzamiento; int precio;};

struct cdsMusica cd1= { “The Best Of 1980-1990", “U2", “Rock” , 15, 1998, 50000};

Cuando se declara una variable, se reserva espacio en memoria.

struct cdsMusica cd1;

cd1 titulo

artista

genero

NumCanc.

añoLanza.

precio

Page 15: ESTRUCTURAS DE DATOS. Agenda –Introducción Estructuras –Declaración de estructuras –Definición de variables tipo estructuras –Inicialización de variables.

Bibliografía

• Joyanes Aguilar, Luis. PROGRAMACIÓN EN C. Metodología, algoritmos y estructura de datos Capitulo 9.

• Google