Semana1 - Estructura de Datos
Semana1 - Estructura de Datos
Semana1 - Estructura de Datos
Semana 1
nombre
nombre sexo
Apellidos
sexo
talla
talla
edad
edad
18/04/2023
LOGRO
18/04/2023
INTRODUCCIÓN
• La información que se procesa en la computadora es un conjunto de datos, que pueden ser simples o
estructurados. Los datos simples son aquellos que ocupan sólo un localidad de memoria, mientras que los
estructurados son un conjunto de casillas de memoria a las cuales hacemos referencia mediante un identificador
único.
• Las estructuras ayudan a organizar datos complicados, en particular dentro de programas grandes debido a que, le
permiten a un grupo de variables relacionadas tratarlas como una unidad en lugar de hacerlo como entidades
separadas.
Estructura
• Una estructura es un grupo de variables las cuales pueden ser diferentes tipos sostenidas o mantenidas
juntas en una sola unidad. Esta unidad se llama estructura.
EJEMPLO
• Una estructura es el registro de una nómina en una empresa: un empleado está descripto por un conjunto de
atributos tales como nombre, domicilio, dni, sexo, sueldo. Algunos de estos atributos pueden, a su vez, ser
Nombre
apellido
Urbanización
Sexo
Numero
Domicilio
dni
Calle
Sueldo
ESTRUCTURAS
• Las estructura conocidas generalmente con el nombre de registros, representan un tipo de datos estructurado. Se
utilizan para resolver problemas que involucran tipos de datos estructurados heterogéneos.
• “Una estructura es una colección de elementos finita y heterogénea” ; finita porque se puede determinar el numero
de componentes y heterogénea porque todos los elementos pueden ser de tipos de datos diferentes. Cada
componente de la estructura se denomina campo y se identifica con un nombre único.
• Una estructura (struct) es un tipo de dato definido por el usuario que puede encapsular uno o más tipos existentes.
struct XXXX{
char c;
int i;
float f;
double d;
}
EJEMPLO.
• Consideremos a los estudiante de la universidad UPN de los cuales se desea almacenar la siguiente información.
Nombre, apellidos, sexo, dirección, codigo
• CODIGO ( char[8])
• NOMBRE ( char[25])
• APELLIDOS ( char[25])
• SEXO (char)
• DIRECCIÓN ( char[60])
• Una estructura es un tipo de datos definido por el usuario, se debe declarar nantes de que se pueda utilizar. El
• Una vez que una estructura con nombre ha sido creada, la misma puede ser usada para declarar cualquier número
de variables. Por ejemplo, en el siguiente fragmento de código se ha creado la estructura Estudiante compuesta por
los miembros nombre, apellidos y sexo. En este ejemplo, se declara la variable Alumno.
• Para crear una variable tipo estructura se emplea:
• Ejemplo
Estudiante Alumno ;
• En caso de conocer los valores de los miembros de la estructura cuando se crea una variable nueva del tipo de
estructura, se pueden asignar simultáneamente dichos valores.
Estudiante Alumno ={“Carla”,”Torres Rios”,”F”};
FORMAS DE DECLARAR
struct estructura_amigo {
/* Definimos la estructura estructura_amigo */
char nombre[30]; struct estructura_amigo {
char apellido[40]; char nombre[30];
char telefono[10]; char apellido[40];
int edad; char telefono[10];
}; int edad;
struct estructura_amigo amigo; } amigo;
/* Declaramos la variable amigo con esa estructura */
REFERENCIA A LOS DATOS DE LA ESTRUCTURA
• Para eso se debe invocar a la variable declarada de la estructura y luego colocar el punto para que en forma
continua se llame al miembro o campo.
Variable.campo;
Ejemplo
alumno.nombre=“Lourdes María”;
alumno.apellidos=“Rosas Ramos”;
alumno.sexo=“F”;
• Las estructuras de datos se emplean con el objetivo principal de organizar los datos contenidos dentro de la
memoria de la PC. Así, nuestra primera experiencia con estructuras comienza desde el momento mismo en que
usamos en nuestros programas variables de tipos primitivos (char, short, int, float, etc).
• Una estructura anidada, es una estructura que puede invocar a otra estructura, previamente definidas, para poder
mencionar un miembro o dato de la estructura se indican, ordenadamente, el nombre de la estructura principal, el
nombre de la estructura anidada y el nombre del miembro de la estructura, todos ellos separados por el operador
punto(“.”).
//Lo que antes era la estructura Cliente, Ahora se llama Persona.
struct Cliente{ struct Persona{
char nombre[20], apellido[20]; char nombre[20], apellido[20];
int edad, numeroIdentificacion; int edad, id;
long telefono; long telefono;
}; };
//Fecha de nacimiento de una persona.
struct Registro{ struct Fecha{
int dia, mes, anio;
char nombre[20], apellido[20];
};
int edad, numeroIdentificacion; struct Registro{
long telefono; //Dos tipos de datos estructura, esto es la anidación
int dia,mes,anio; Persona persona;
//Fecha de nacimiento de la persona Fecha fec;
}; };
ARREGLOS DE ESTRUCTURAS
• Igual que una variable, las estructuras puede formar parte de un arreglo. Para ello, primero debemos definir la
• La empresa veterinaria “Patitas shop” desea almacenar los datos de los perros que son atendidos en su único local,
para ello; se toman los datos del dueño que son: nombre, apellidos, dirección y dni. Realizar una estructura que
permita capturar también los datos de los perros atendidos por la veterinaria estos datos son: nombre, apellidos,
raza, edad, color, sexo, los perros tienen el apellido paterno y materno del dueño.
• cin.ignore()
cin.ignore() puede utilizarse sin parámetros o con dos parámetros uno parámetro es la cantidad de caracteres que va
ignorar y el segundo parámetro es hasta qué carácter va ignorar
• cin.ignore(); se utiliza para ignorar lo que hay en el buffer y no se salte la lectura de datos cuando de cambia
de string a int
• cin.ignore(100,’n’); cuando se declara de esta forma va ignorar hasta 100 caracteres o hasta llegar la la letra n
• getline()
Este método permite leer strings en c++ para utilizarlo se necesita primero haber declarado un variable de tipo
string y para leer los datos ingresados se puede hacer de dos formas:
• getline (cin, “nombredevariable”, ‘carácter delimitador’) permite leer una cadena hasta que llegue al carácter que
lo delimita
• getline (cin,”nombredevariable”) se pude usar sin un carácter delimitado pero el que usara será el salto de línea
por defecto.
GRACIAS