rogramación de omputadores Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
ARREGLOS Y MATRICES Arreglos Arreglos Arreglos Cadenas de Caracteres Cadenas de Caracteres Cadenas de Caracteres Cadenas de Caracteres Matrices Matrices Matrices Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
ARREGLOS Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
ARREGLOS 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 = X[0] = 20 X[3] = 6 X[2] = 8 X[1] = -5 X[4] = 12 Nombre Indice Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
ARREGLOS Formato de definición en seudo-lenguaje : arreglo[ ] de : arreglo[ ] de Dimensión: Número de casillas que conforman el arreglo En el ejemplo anterior, la dimensión de X es 5 Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
Inicializar un Arreglo con ceros EJEMPLO 1 Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
t : arreglo[5 ] de entero m: entero para(m:=0 hasta 4) hacer t[m] := 0 fin_para EJEMPLO 1 PROGRAMA MEMORIA xxxxxxxxxxxx xxx xxx m t t[0] 0 t[1] 0 t[2]t[3]t[4] 00 5 Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
EJEMPLO 2 Inicializar un Arreglo con valores leídos Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
EJEMPLO 2 t : arreglo[5 ] de entero m: entero para(m:=0 hasta 4) hacer leer (t[m]) leer (t[m])fin_para PROGRAMA MEMORIA t xxx m t[0]t[1]t[2]t[3]t[4] xxxxxxxxxxxxxxx xxx Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
EJEMPLO 3 Sumar los elementos de un arreglo Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
EJEMPLO 3 suma := 0 para(m := 0 hasta 4) hacer suma := suma+t[m] suma := suma+t[m]fin_para escribir (suma) PROGRAMA MEMORIA t msuma t[0]t[1]t[2]t[3]t[4] xxxxxx012345xxxxxx SALIDA Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
Ordenar en forma ascendente un conjunto de números enteros almacenados en un arreglo EJEMPLO 4 Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
temp := 0 para(i:=0 hasta 2) hacer para(j:=i+1 hasta 3) hacer para(j:=i+1 hasta 3) hacer si (t[i]>t[j]) entonces si (t[i]>t[j]) entonces temp := t[j] temp := t[j] t[j] := t[i] t[j] := t[i] t[i] := temp t[i] := temp fin_si fin_si fin_para fin_parafin_para EJEMPLO 5 PROGRAMA MEMORIA xxx temp t xxxxxx ij Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
PROBLEMA ARREGLOS PROBLEMA ARREGLOS Leer un conjunto de datos enteros e imprimir los mismos datos en el orden inverso al leído. datos en el orden inverso al leído. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
CADENAS DE CARACTERES Definición: Arreglo de caracteres. Definición: Arreglo de caracteres. Características: Manejo de terminador de cadena ‘\0’ Características: Manejo de terminador de cadena ‘\0’ Longitud: Número de símbolos antes del terminador de cadena. Longitud: Número de símbolos antes del terminador de cadena. cas \ 0 \ 0a X = La longitud de X es 4 Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
CADENAS DE CARACTERES Formato de definición en seudo-lenguaje : arreglo[ ] de caracter : arreglo[ ] de caracter Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
CADENAS DE CARACTERES Especificación: Caracteres entre comillas dobles. Operaciones: compararCadena compararCadena copiarCadena copiarCadena longitudCadena longitudCadena concatenarCadena concatenarCadena leerCadena leerCadena escribirCadena escribirCadena Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
CONCATENAR Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
CADENAS DE CARACTERES X := “da” Y := “do” Z := concatenar(X,Y) \ 0 XXXX XX XXXX X = Y = Z = \ 0 XXXX XX XXXX \ 0 XXXX XX XXXX PROGRAMA MEMORIA da \ 0 XX XXXX X = Y = Z = \ 0 XXXX XX XXXX \ 0 XXXX XX XXXX da \ 0 XX XXXX X = Y = Z = do \ 0 XX XXXX \ 0 XXXX XX XXXX da \ 0 XX XXXX X = Y = Z = do \ 0 XX XXXX dad \ 0 o Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
PROBLEMA CADENAS PROBLEMA CADENAS Leer una cadena de caracteres y contar el número de espacios que se encuentran en ella. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
MATRICES Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
MATRICES Definición:Espacio de memoria que permite almacenar una 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 Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
X = X[0] [0] = 120 X [2] [0] = -25 X [1] [2] = 34 X [0] [2] = 65 X[2] [1] = 49 Nombre Fila Fila Columna Acceso: Nombre de variable y dos índices. Al primer índice se le llama índice de fila y al segundo índice de columna. Ejemplo: MATRICES Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
MATRICES Formato de definición en seudo-lenguaje : matriz [ ][ ] de : matriz [ ][ ] de N : número de filas M : número de columnas Dimensión: Dimensión: es el número filas por el número de columnas. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
EJEMPLO 5 Llenar una matriz de tres por tres Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
EJEMPLO 5 mat: matriz [3][3] de entero para(i:=0 hasta 2 hacer) para(j:=0 hasta 2 hacer) para(j:=0 hasta 2 hacer) mat[i][j] := i+j fin_para fin_parafin_para PROGRAMA MEMORIA j mat xxx i xxxxxx xxxxxxxxx xxx xxxxxxxxx 0123xxx0123 xxxxxx 0xxxxxx xxx xxxxxxxxx xxxxxx 01xxx xxx xxxxxxxxx xxxxxx 012 xxx xxxxxxxxx xxxxxx xxxxxxxxx xxx xxxxxxxxx xxxxxxxxx xxxxxx xxx Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 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 Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
xxxxxxxxx xxx EJEMPLO 6 suma := 0 para(j := 0 hasta 2) hacer para(i := 0 hasta 2) para(i := 0 hasta 2) hacer hacer suma := suma+M[j] [i] suma := suma+M[j] [i] fin_para fin_para t[j]:=suma t[j]:=suma suma:=0 suma:=0fin_para escribir (t[0],t [1], t [2]) PROGRAMA MEMORIA t jsuma t[0]t[1]t[2] xxx0 1 xxxxxx SALIDA i i j M Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 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 Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
CODIFICACIÓN EN C++ ARREGLOS Seudocódigo : arreglo [ ] de C++ [ ]; Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
CADENA DE CARACTERES Seudocódigo : arreglo [ ] de carácter C++ char [ ]; CODIFICACIÓN EN C++ Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
MATRICES Seudocódigo : matriz [ ][ ] de C++ [ ][ ]; CODIFICACIÓN EN C++ Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
FIN Gracias por la atención prestada Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices