1. Módulo 4
Arreglos, cadenas y matrices
rogramación de
omputadores
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
2. Módulo 4
Arreglos, cadenas y matrices
ARREGLOS Y MATRICES
•Arreglos
•Cadenas de Caracteres
•Matrices
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
3. Módulo 4
Arreglos, cadenas y matrices
ARREGLOS
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
4. Módulo 4
ARREGLOS
Arreglos, cadenas y matrices
Definición: Espacio de memoria que permite almacenar una colección
de datos de un mismo tipo.
Acceso: Nombre de variable e índice dentro de paréntesis cuadrados.
Ejemplo:
X= 20 -5 8 6 12
0 1 2 3 4
X[0] = 20 X[1] = -5
X[2] = 8 X[3] = 6
X[4] = 12 Indice
Nombre
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
5. Módulo 4
Arreglos, cadenas y matrices
ARREGLOS
Dimensión: Número de casillas que
conforman el arreglo
En el ejemplo anterior, la dimensión de X es 5
Formato de definición en seudo-lenguaje
<Nombre> : arreglo[<tamaño>] de <tipo>
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
6. Módulo 4
Arreglos, cadenas y matrices
EJEMPLO 1
Inicializar un Arreglo con ceros
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
7. Módulo 4
Arreglos, cadenas y matrices
EJEMPLO 1
PROGRAMA
t : arreglo[5 ] de entero
m: entero
para(m:=0 hasta 4)
hacer MEMORIA
t[m] := 0
m xxx
5
4
3
2
1
0
fin_para
t xxx xxx xxx xxx xxx
0 0 0 0 0
t[0] t[1] t[2] t[3] t[4]
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
8. Módulo 4
Arreglos, cadenas y matrices
EJEMPLO 2
Inicializar un Arreglo con valores leídos
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
9. Módulo 4
Arreglos, cadenas y matrices
EJEMPLO 2
PROGRAMA
t : arreglo[5 ] de entero
m: entero
para(m:=0 hasta 4) MEMORIA
hacer
leer (t[m]) m xxx
5
4
3
2
1
0
fin_para
t xxx xxx xxx xxx xxx
20 -5 8 6 12
t[0] t[1] t[2] t[3] t[4]
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
10. Módulo 4
Arreglos, cadenas y matrices
EJEMPLO 3
Sumar los elementos de un arreglo
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
11. Módulo 4
Arreglos, cadenas y matrices
EJEMPLO 3
MEMORIA
m xxx
5
4
3
2
1
0 suma xxx
41
29
23
15
20
0
PROGRAMA
suma := 0 t
para(m := 0 hasta 4) 20 -5 8 6 12
hacer
suma := suma+t[m] t[0] t[1] t[2] t[3] t[4]
fin_para
SALIDA
escribir (suma) 41
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
12. Módulo 4
Arreglos, cadenas y matrices
EJEMPLO 4
Ordenar en forma ascendente un
conjunto de números enteros
almacenados en un arreglo
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
13. Módulo 4
EJEMPLO 5
Arreglos, cadenas y matrices
PROGRAMA
temp := 0
para(i:=0 hasta 2) hacer
para(j:=i+1 hasta 3) hacer
si (t[i]>t[j]) entonces
MEMORIA
temp := t[j]
t[j] := t[i] temp
xxx
-2
7
3
0
t[i] := temp
fin_si i xxx
3
2
1
0 j xxx
4
3
2
1
fin_para
fin_para t 12
-2
3 12
3 12
-2
7
3 12
7
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
14. Módulo 4
Arreglos, cadenas y matrices
PROBLEMA ARREGLOS
Leer un conjunto de datos enteros e
imprimir los mismos
datos en el orden inverso al leído.
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
15. Módulo 4
Arreglos, cadenas y matrices
CADENAS DE CARACTERES
• Definición: Arreglo de caracteres.
• Características: Manejo de terminador de cadena ‘0’
• Longitud: Número de símbolos antes del
terminador de cadena.
X= c a s a 0
La longitud de X es 4
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
16. Módulo 4
Arreglos, cadenas y matrices
CADENAS DE CARACTERES
Formato de definición en seudo-lenguaje
<Nombre> : arreglo[<tamaño>] de caracter
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
17. Módulo 4
Arreglos, cadenas y matrices
CADENAS DE CARACTERES
Especificación: Caracteres entre
comillas dobles.
Operaciones:
• compararCadena
• copiarCadena
• longitudCadena
• concatenarCadena
• leerCadena
• escribirCadena
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
18. Módulo 4
Arreglos, cadenas y matrices
CONCATENAR
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
19. Módulo 4
Arreglos, cadenas y matrices
CADENAS DE CARACTERES
PROGRAMA X := “da”
Y := “do”
Z := concatenar(X,Y)
MEMORIA
X= d0 XX
a XX
0
0 XX XX
Y= d
0 XX
o XX
0
0 XX XX
Z= d
0 XX
a XX
d XX
o XX
0
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
20. Módulo 4
Arreglos, cadenas y matrices
PROBLEMA CADENAS
Leer una cadena de caracteres
y contar el número
de espacios que se encuentran en ella.
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
21. Módulo 4
Arreglos, cadenas y matrices
MATRICES
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
22. Módulo 4
Arreglos, cadenas y matrices
MATRICES
Definición: Espacio de memoria que
permite almacenar una
colección de datos de
un mismo tipo
Los elementos no están organizados
linealmente sino que su organización es
bidimensional, es decir, en filas y columnas.
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
23. Módulo 4
MATRICES Arreglos, cadenas y matrices
Acceso: Nombre de variable y dos
índices. Al primer índice se le
llama índice de fila y al segundo
índice de columna.
Ejemplo:
120 39 65 X[0] [0] = 120 X [1] [2] = 34
X[2] [1] = 49 X [0] [2] = 65
X = 71 16 34 Columna
X [2] [0] = -25
-25 49 82 Fila
Nombre
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
24. Módulo 4
Arreglos, cadenas y matrices
MATRICES
Dimensión: es el número filas por el
número de columnas.
Formato de definición en seudo-lenguaje
<Nombre> : matriz [<N>][<M>] de <tipo>
N : número de filas
M : número de columnas
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
25. Módulo 4
Arreglos, cadenas y matrices
EJEMPLO 5
Llenar una matriz de tres por tres
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
26. Módulo 4
Arreglos, cadenas y matrices
EJEMPLO 5
PROGRAMA
MEMORIA
mat: matriz [3][3] de entero i j
para(i:=0 hasta 2 hacer)
xxx
3
2
1
0 xxx
3
2
1
0
para(j:=0 hasta 2 hacer)
mat[i][j] := i+j mat
fin_para
fin_para xxx xxx xxx
0 1 2
xxx xxx xxx
1 2 3
xxx xxx xxx
2 3 4
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
27. Módulo 4
Arreglos, cadenas y matrices
EJEMPLO 6
Teniendo la matriz M de tres por tres,
guardar en el arreglo t, la suma de los
elementos de cada fila de la matriz
inicial (e.d.: en t[0] se guarda la suma
de la fila 0 de la matriz, en t[1] se guar-
da la suma de la fila 1 de la matriz …)
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
28. Módulo 4
Arreglos, cadenas y matrices
EJEMPLO 6
M i
MEMORIA
0 1 2
j 1 2 3 j i suma
2 3 4 PROGRAMA xxx
0
9
5
2
6
3
1
2
1
xxx
0 xxx
3
0
2
1 0
suma := 0
para(j := 0 hasta 2)
hacer t xxx xxx xxx
3 6 9
para(i := 0 hasta 2)
hacer
suma := suma+M[j][i]
fin_para t[0] t[1] t[2]
t[j]:=suma
suma:=0
fin_para SALIDA 369
escribir (t[0],t [1], t [2])
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
29. Módulo 4
Arreglos, cadenas y matrices
PROBLEMA MATRICES
Realizar un programa que lea la
dimensión de una matriz (número de filas y
número de columnas) y los datos, e
imprima la matriz en pantalla.
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
30. Módulo 4
Arreglos, cadenas y matrices
CODIFICACIÓN EN C++
ARREGLOS
Seudocódigo
<NOMBRE> : arreglo [<N>] de <TIPO>
C++
<TIPO> <NOMBRE>[<N>];
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
31. Módulo 4
Arreglos, cadenas y matrices
CODIFICACIÓN EN C++
CADENA DE CARACTERES
Seudocódigo
<NOMBRE> : arreglo [<N>] de carácter
C++
char <NOMBRE>[<N>];
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
32. Módulo 4
Arreglos, cadenas y matrices
CODIFICACIÓN EN C++
MATRICES
Seudocódigo
<NOMBRE> : matriz [<N>][<M>] de <TIPO>
C++
<TIPO> <NOMBRE>[<N>][<M>];
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008
33. Módulo 4
Arreglos, cadenas y matrices
FIN
Gracias por la
atención prestada
Facultad Ingeniería UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial 2008