Você está na página 1de 33

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
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
Módulo 4
Arreglos, cadenas y matrices

ARREGLOS

Facultad Ingeniería UN - Virtual


Departamento de Ingeniería de Sistemas e Industrial 2008
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
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
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
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
4
3
2
1
0
5
fin_para
t xxx
0 xxx
0 xxx
0 xxx
0 xxx
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
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
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
20 xxx
-5 xxx
8 xxx
6 xxx
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
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
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
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
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
0
7
3
t[i] := temp
fin_si i xxx
3
2
1
0 j xxx1
4
3
2
fin_para
fin_para t 12
-2
3 123 12-2
3 12
7 7

Facultad Ingeniería UN - Virtual


Departamento de Ingeniería de Sistemas e Industrial 2008
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
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
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
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
Módulo 4
Arreglos, cadenas y matrices

CONCATENAR

Facultad Ingeniería UN - Virtual


Departamento de Ingeniería de Sistemas e Industrial 2008
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
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
Módulo 4
Arreglos, cadenas y matrices

MATRICES

Facultad Ingeniería UN - Virtual


Departamento de Ingeniería de Sistemas e Industrial 2008
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
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
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
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
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
0 xxx
1 xxx
2

xxx
1 xxx
2 xxx
3

xxx
2 xxx
3 xxx
4

Facultad Ingeniería UN - Virtual


Departamento de Ingeniería de Sistemas e Industrial 2008
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
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
3
1
6
2
5
9
1
2
xxx
0 xxx
2
3
0
1
suma := 0
para(j := 0 hasta 2)
hacer t xxx
3 xxx
6 xxx
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
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
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
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
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
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

Você também pode gostar