estructuras de datos. agenda –introducción estructuras –declaración de estructuras...
TRANSCRIPT
ESTRUCTURAS DE DATOS
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
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[ ]
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
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
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
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
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
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.
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;} ;
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
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.
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; ….}
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
Bibliografía
• Joyanes Aguilar, Luis. PROGRAMACIÓN EN C. Metodología, algoritmos y estructura de datos Capitulo 9.