Sie sind auf Seite 1von 8

UNMSM

ALGORITMICA I

ARREGLOS : FUNDAMENTOS Y APLICACIONES

SEPARATA

] P[n ][k]. [m

Prof. Ulises ROMAN C. Junio, 2005

ARREGLOS

PAG. 1

UNMSM

ALGORITMICA I

ARREGLOS : FUNDAMENTOS Y APLICACIONES 1. DEFINICION:


Segn Joyanes AaGUILAR Un arreglo es una serie de datos del mismo tipo estos datos se denominan elementos del arreglo Segn Julio VASQUEZ Un arreglo es una estructura homognea de datos almacenados consecutivamente en memoria Segn Ulises ROMAN Un arreglo es una estructura de datos DINAMICOS que guardan la misma relacin y tipo con los elementos que poseen

2. CARACTERISTICAS:
Conserva los valores para su posterior utilizacin Facilita obtener datos de la memoria Facilita el acceso eficiente a ellos Se usa para procesar una lista de datos mas de una vez. Se puede representar de manera vertical y horizontal

3. DECLARACION DE ARREGLOS:
Los arreglos se pueden inicializar y declarar segn su aplicacin como sigue:

Int Float Double Char Otros ARREGLOS

Identificador de Nombre: Vector V[t] A[w] Char

Numero de Elementos del Arreglo: [10] [20] PAG. 2

UNMSM

ALGORITMICA I

Ejemplos: Int A[4]; Double x[100]; float N[2]; Char Cadena[6];

// Declara una lista de 4 elementos // Declara una lista de 100 elementos // Declara una lista de 2 elementos // Declara una lista tipo cadena de 6 elementos

4. TIPOS DE ARREGLOS:
Los arreglos se clasifican por el numero de ndices que soportan, as existe arreglos que usan un ndices, dos ndices y mas ndices denominados: Uni - dimensionales (VECTORES), bi - dimensionales (MATRICES) y multi - dimensionales(POLIEDROS).

4.1. Arreglos UNI- DIMENSIONALES Son arreglos que tienen un solo ndice de acceso, tambin
conocidos como VECTORES Representacin Grfica:
V[ 1 ]
10

V[ 2 ]

V[ 3 ]
20

V[ 4 ]
4

***** V[ n ]

V: 14

*****

Tamao de (i = 1 a n ) 10 14 20 4 * * *

X[1] X[2] X[3] X[4] * * * X[n]

X:

Tamao de (i = 1 a n )

ARREGLOS

PAG. 3

UNMSM

ALGORITMICA I

4.2. Arreglos BI- DIMENSIONALES Son arreglos que tienen dos ndice (fila , columna) de acceso,
tambin conocidos como TABLAS / MATRICES. Representacin Grfica:

M[1]

M[2]

*****

M[m]

M[1] M[2] * M: *
* * M[n]
][m [n M
][k ][m P[n ].

4.3. Arreglos MULTI- DIMENSIONALES Son arreglos que tienen tress o mas ndice (dimensiones) de
acceso, tambin conocidos como POLIEDROS. Representacin Grfica:

P:

ARREGLOS

PAG. 4

UNMSM

ALGORITMICA I

5. RESUMEN DE ARREGLOS:
Las estructuras de datos permiten combinar elementos de diferentes tipos de datos como Arreglos, punteros y registros, etc. Para almacenar elementos del mismo tipo de datos y de esta manera se puede usar en problemas como: Simulacin de matrices Tableros de juego ( ajedrez o dama, etc.) Tratamiento de cadenas Trabajos en 3D

6. APLICACIONES CON ARREGLOS:


1. Analizar y leer el siguiente programa y escribir el resultado que genera; sabiendo que Pedido toma el valor de 5. Inicio Entero P[6] , C[6], K, Pedido, R[6] K 1 Mientras (K <= 6) Hacer P[K] K*100 C[K] K*1000 K K+1 Fin_mientras Leer pedido K 1 J 6 Mientras (K <= 6) Hacer R [k] P[j] * Pedido C[k] C[K] R[K] K K1 Fin_mientras K 1 Mientras ( K <= 6) Hacer Escritura R[K], C[K] K K+1 Fin_mientras Fin RPTA: Despus analizar el algoritmo se obtiene de l:

ARREGLOS

PAG. 5

UNMSM

ALGORITMICA I

Antes de pedido P C Despus del pedido R C

1 100 1000 1 3000 -2000

2 200 2000 2 3000 -1000

3 300 3000 3 3000 0

4 400 4000 4 3000 1000

5 500 5000 5 3000 2000

6 600 6000 6 3000 3000

2.Cul ser el contenido de tal arreglo despus de la ejecucin del siguiente lado for? Indice 14 26 18 25 40 32 12 6 49

for(i=1; i<=7; i++) { for(i=1;i<=7;i++) { if(b[i] > b[i+1]) { temp=b[i+2]; b[i+2]=b[i+1]; b[i+1]=temp; } } } RPTA: Despus de analizar el algoritmo se tubo como salida: Indice 1 14 2 26 3 25 4 40 5 32 6 12 7 18 8 49 9 6

3 . Cul es el resultado del siguiente fragmento?

ARREGLOS

PAG. 6

UNMSM

ALGORITMICA I

For(indice=0; indice<5; indice++) { cout<<C[indice]<<endl; } indice Char[5]; 0 LIMA 1 CALLAO 2 PTE.PIEDRA 3 ANCON 4 ATE

La salida de este vector no se vera como el cuadro anterior ,ya que un vector declarado como CHAR puede almacenar un solo carcter por cada espacio de memoria asignado Solo se podra indicar la primera letra de cada lugar .Tal vez la solucin seria crear vectores independientes para cada lugar de procedencia ,y despus mostrarlos simultneamente. #include<iostream.h> #include<conio.h> #include<stdlib.h> #include<stdio.h> void main() { char c[5],let; int indice; clrscr(); for(indice=1;indice<=5;indice++) { clrscr(); cout<<"\n\n\n\t\t\t**** VECTOR DE CARACTERES ****"; cout<<"\n\n\t Ingrese los caracteres al vector"; cout<<"\n\n\tLa posicion ["<<indice<<"] ocupa :"; cin>>let; c[indice]=let; } clrscr(); cout<<"\n\n\t Los valores ingresados al vector son: "; for(indice=1;indice<=5;indice++) { cout<<"\n\n\tLa posicion ["<<indice<<"] ocupa :"<<c[indice]; } getch(); } 4. Cual es el resultado del siguiente algoritmo int A[5][7]

ARREGLOS

PAG. 7

UNMSM

ALGORITMICA I

indice1 indice2 0 1 2 3 4 5 1 2 3 4 5 6 7

For(indice1=0; indice1<5; indice1++) { For(indice2=0; indice2<5; indice2++) { cout<<Ingrese datos en A[<<indice1<<indice2<<]; cin>>A[indice1][indice2]; } RPTA: Despus de analizar el algoritmo compuesta de la matiz A[indice1][indice2] Se observa que solo se puede ingresar los datos a la matriz, pero no se puede visualizar ninguna salida ya que el algoritmo esta incompleto, si se quiere visualizar el resultado del algoritmo se tendr que aadir dos sentencias FOR ms al algoritmo. Adems se observa que solo tendr como salida desde A[0] [0].hasta A[4][4];

ARREGLOS

PAG. 8

Das könnte Ihnen auch gefallen