1. INSTITUTO TECNOLOGICO SUPERIOR DE FELIPE
CARRILLO PUERTO
ESTRUCTURA DE DATOS
Docente: Niels Henryk Aranda Cuevas
Alumna: Marleni Tuyub che
Carrera: ISC
Semestre: 3er S. “A”
2. INTRODUCCIÓN A LAS ESTRUCTURAS DE DATOS
ARREGLOS BIDIMENCIONALES
int numeros[4][4];
void leer(){
for(int L=0; L<4; L++){
for(int C=0; C<4; C++){
cout<<"Introduzca un número";
cin>>numeros[L][C];
En este apartado tenemos un ejemplo de tipo arreglo de dimensional porque es un dato que agrupan muchos datos del mismo tipo, en donde cada elemento se
puede trabajar individualmente y se puede referenciar con un mismo nombre y en este ejemplo lo primero que hacemos es hacer una declaración y por eso
tenemos int porque allí empieza pero siempre empieza desde 0 y siempre va ser menor que 4 y L++. Hacemos esa declaración porque empezara de 1 a 1
Y cout es la parte donde nosotros vamos a poner “introducir numero”.
void dp(){
cout<<"nLa diagonal principal";
for(int i=0; i<4; i++){
cout<<numeros[i][i];
Aqui empieza nuestra lectura, en esta parte en cout vamos a poner nLa diagonal principal porque ya cuando lo mandamos a imprimir solo va ser la diagonal
principal y con for con la misma funcion
3. void di(){
int cont=3;
cout<<"nLa diagonal invertida";
for(int i=0; i<4; i++){
cout<<numeros[i][cont];
cont = cont-1;
}
}
Terminando con la lectura …y en este apartado lo único que cambia es int es nuestra variable porque depende que variable vamos a poner en
este caso es el 3 y cout ponemos” números” “i” porque empezara desde 0 de 1 a 1
void f3(){
cout<<"nLa fila 3:";
for(int c=0; c<4; c++){
cout<<numeros[2][c];
}
}
void cusr(){
int c;
cout<<"nIntroduzca el número de la columna a imprimir";
cin>>c;
cout<<"nLinea deseada:";
c = c-1;
for(int L=0; L<4; L++){
4. cout<<numeros[L][c];
}
}
int main (int argc, char *argv[]) {
leer();
dp();
di();
f3();
cusr();
return 0;
}
Pues en este ultilmo paso lo que vamos a hacer es hacer una llamada a nuestra lectura para decirle lo que vamos a imprimir y depende de nuestra variable, porque
ya de esa lectura lo manda a imprimir
5. MEMORIA ESTÁTICA Y DINÁMICA
Es la memoria que se reserva en el momento de la compilación antes de comenzar a ejecutar el programa. Los objetos son creados al iniciar el programa y destruidos al
finalizar el mismo. Consideraciones:
1. Error en tiempo de ejecución de índice fuera de rango
2. Se debe conocer con anticipación el tamaño de la estructura V [3 ], M[2,2], C[5,3,2]
3. Se guarda en memoria adyacente ejemplo
4. Vectores, Matrices, Cubos, registros, archivos
Ventajas
1. Lógica simple
2. Optimo para resolver problemas P y M
Desventajas
1. No se puede modificar el tamaño de las estructuras en T.D.E
2. No se optima con grandes cantidades de datos
3. Desperdicio de memoria cando no se utiliza la totalidad del tamaño por ejemplo V[100]
6. DINÁMICA
La memoria dinámica se refiere a aquella memoria que no puede ser definida ya que no se conoce o no se tiene idea del número de
la variable a considerarse, la solución a este problema es la memoria dinámica que permite solicitar memoria en tiempo de ejecución,
por lo que cuanta más memoria se necesite, más se solicita al sistema operativo.
Consideraciones
1. Manejo transparente del tamaño de la estructura
2. Se guarda donde se encuentra el espacio
3. No se guarda necesariamente en memoria adyacente
Ventajas
1. El tamaño de la estructura no infiere en la lógica del programa
Desventajas
1. Las estructuras de datos son una forma avanzada de manejar datos en tiempo de ejecución
7. CONCLUSION GENERAL
La computadora procesa distintos tipos de información en forma de datos, estos datos pueden ocupar uno o varios espacios en la memoria, por lo que se les
puede considerar como simples o estructurados, los datos simples son los que solo ocupan un espacio de la memoria mientras que los datos estructurados
necesitan varios espacios de la memoria. Las estructuras de datos se ocupan de organizar y relacionar los diferentes tipos de datos que se manejan, además de
controlar la forma en se almacenan y como es que se puede acceder a elementos particulares de los datos.
Y en este programa sólo puede almacenar valores en un rango de [-2 16/2, +216/2] y disponer de los operadores aritméticos: +, -, *, / y mod.