Anda di halaman 1dari 15

UNIVERSIDAD NACIONAL AUTONOMA DE

MEXICO

PROGRAMACION DE ALGORITMOS, SISTEMAS Y


ESTRUCTURAS DE DATOS

ARREGLOS y MATRICES
Para la implementación de sistemas de software
se requiere cualquiera de las siguientes
estructuras:

• Cadenas
• Estructuras de control
• Funciones
• Arreglos (arrays)
• Registros
• Pilas, colas
• Archivos
• Bases de Datos
LOS DATOS A PROCESAR PUEDEN SER:

SIMPLES
Ocupan solo una casilla de memoria. (enteros, reales, caracteres, booleanos).
Ejem.- 567

ESTRUCTURADOS.- Hacen referencia a un grupo de casillas de memoria


-Arreglos o vectores, archivos, árboles, registros, Bases de Datos, etc.
ESTRUCTURA DE DATOS ( ARREGLOS )

ARREGLOS O VECTORES.
ESTRUCTURADOS.- Hacen referencia a un grupo de casillas de memoria

Es una colección finita, homogenea y ordenada de elementos


Finita.- Indica el número máximo
Homogenea.- Son del mismo tipo (entero, reales, caracteres)
Ordemada.- Llevan un órden consecutivo a traves de un índice

Ejem.- A= 34 45 12 05 93 Datos
(0) (1) (2) (3) (4) Indices
ESTRUCTURA DE DATOS ( ARREGLOS )

ARREGLOS O VECTORES.
ESTRUCTURADOS.- Hacen referencia a un grupo de casillas de memoria
Los índices hacen referencia a los componentes (datos) en forma individual.

Ejem.- A= 34 45 12 05 93 Datos
(0) (1) (2) (3) (4) Indices

En forma individual.- A[2]= 12

Cuanto vale A[1], A[4] …?


ESTRUCTURA DE DATOS ( ARREGLOS )

OPERACIONES CON ARREGLOS O VECTORES.

Las operaciones básicas con Arreglos son:

•Lectura de un arreglo
•Despliegue de datos de un arreglo
•Llenado de un arreglo
•Ordenacion de un arreglo
•Búsqueda de datos en un arreglo
ESTRUCTURA DE DATOS ( ARREGLOS )

LLENADO/LECTURA DE UN ARREGLO

Pseudocodigo:
Dame los 10 datos ?
PARA i desde 0 hasta 10 incrementa
LEE A[i].

Codigo en C o C++
printf ("Dame los 10 datos");
for (i=0; i<10; i++)
{
scanf ("%d", &valor [i]);
}
ESTRUCTURA DE DATOS ( ARREGLOS )

DESPLIEGUE DE UN ARREGLO Y OPERACIONES CON SUS


COMPONENTES
Pseudocodigo:
PARA i desde 0 hasta 10 incrementa
Inicio
DESPLIEGA “Valor”, Indice + 1, valor
SUMA los valores del arreglo
termina

Codigo en C o C++
for (i=0; i<10; i++)
{
printf ("Valor %d = %d\n", i+1, valor [i]);
suma += valor [i];
}
ESTRUCTURA DE DATOS ( ARREGLOS )

PRACTICA (1):

A) HACER UN PROGRAMA (tablas1.cpp) EN C o C++ QUE


PIDA EL NUMERO Y DESPLIEGUE LA TABLA DE
MULTIPLICAR QUE LE CORRESPONDA.
ESTRUCTURA DE DATOS ( ARREGLOS )

PRACTICA (2):

A) HACER UN PROGRAMA (ProgArreg.cpp) EN C o C++ QUE


PIDA EL PROCESO PARA N CALIFICACIONES Y LOS
DATOS DESPLEGANDO AL FINAL SU PROMEDIO.
1.12.- ESTRUCTURA DE DATOS ( ARREGLOS )

ARREGLOS MULTIDIMENCIONALES:

Un vector es un array unidimensional, es decir, sólo utiliza un


índice para referenciar a cada uno de los elementos. Su
declaración será:
tipo nombre [tamaño];
Una matriz es un array multidimensional. Se definen igual que
los vectores excepto que se requiere un índice por cada
dimensión. Su sintaxis es la siguiente:
tipo nombre [tamaño 1][tamaño 2]...;
Una matriz bidimensional se podría representar gráficamente
como una tabla con filas y columnas.
1.12.- ESTRUCTURA DE DATOS ( ARREGLOS )

ARREGLOS MULTIDIMENCIONALES:
Ejem.- Una matriz de 2X3 (2 filas por 3 columnas) se inicializa en C/C++
como:
int matriz[2][3] = {
{ 20,50,30 },
{ 4,15,166 }
};

Otra manera es llenar el arreglo mediante una instrucción FOR anidada


ESTRUCTURA DE DATOS ( ARREGLOS ) Prueba este programa ….!

/* Matriz bidimensional. */
#include <stdio.h>
#include <conio.h>

main() /* Rellenamos una matriz */


{
int x,i,numeros[3][4]; /* rellenamos la matriz */
printf("Dime los valores de matriz 3X4\n");
for (x=0;x<3;x++)
for (i=0;i<4;i++)
scanf("%d",&numeros[x][i]);

/* visualizamos la matriz */
for (x=0;x<3;x++)
for (i=0;i<4;i++)
printf("%d",numeros[x][i]);
getch();
}
1.12.- ESTRUCTURA DE DATOS ( ARREGLOS )

int numeros[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

quedarían asignados de la siguiente manera:

numeros[0][0]=1 numeros[0][1]=2 numeros[0][2]=3 numeros[0][3]=4


numeros[1][0]=5 numeros[1][1]=6 numeros[1][2]=7 numeros[1][3]=8
numeros[2][0]=9 numeros[2][1]=10 numeros[2][2]=11 numeros[2][3]=12
ESTRUCTURA DE DATOS ( ARREGLOS )

PRACTICA (3):HACER UN PROGRAMA DE UNA MATRIZ DE 3x4 QUE


MUESTRE LA SIGUIENTE SALIDA:
Análisis de calificaciones:
[0] [1] [2] [3]
Estudiantes [0] 10 8 8 7
Estudiantes [1] 9 7 5 10
Estudiantes [2] 10 9 6 8

Calificacion mas baja: 5


Calificacion mas alta: 10
El promedio de la calificacion del estudiante 0 es 8.25
El promedio de la calificacion del estudiante 1 es 7.75
El promedio de la calificacion del estudiante 2 es 8.25

Anda mungkin juga menyukai