+ All Categories
Home > Documents > programacion de computadores - Modulo3

programacion de computadores - Modulo3

Date post: 28-Jul-2015
Category:
Upload: miguel-angel-zamora
View: 220 times
Download: 6 times
Share this document with a friend
Popular Tags:
33
rogramación de rogramación de omputadores omputadores Facultad Ingeniería Departamento de Ingeniería de Sistemas e UN - Virtual 2008 Módulo 4 Arreglos, cadenas y matrices
Transcript

rogramación rogramación dedeomputadoreomputadoress

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

ARREGLOS Y ARREGLOS Y MATRICESMATRICES

•Arreglos

•Cadenas de Caracteres

•Matrices

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

ARREGLOSARREGLOS

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

ARREGLOSDefinición:Definición: Espacio de memoria que permite almacenar una Espacio de memoria que permite almacenar una

colección de datos de un mismo tipo.colección de datos de un mismo tipo.

Acceso:Acceso: Nombre de variable e índice dentro de paréntesis Nombre de variable e índice dentro de paréntesis cuadrados.cuadrados.

Ejemplo:Ejemplo:

2020 -5-5 88 121266X = X =

X[0] = 20X[0] = 20X[3] = 6X[3] = 6X[2] = 8X[2] = 8X[1] = -5X[1] = -5

X[4] = 12X[4] = 12NombreNombre

IndiceIndice

00 11 22 4433

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

ARREGLOSARREGLOS

Formato de definición en seudo-lenguajeFormato de definición en seudo-lenguaje

<Nombre> : arreglo[<tamaño>] de <tipo><Nombre> : arreglo[<tamaño>] de <tipo>

Dimensión:Dimensión: Número de casillas que Número de casillas que

conforman el arregloconforman el arreglo

En el ejemplo anterior, la dimensión de En el ejemplo anterior, la dimensión de X es 5X es 5

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

Inicializar un Arreglo con cerosInicializar un Arreglo con ceros

EJEMPLO 1EJEMPLO 1

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

t : arreglo[5 ] de enterot : arreglo[5 ] de enterom: enterom: enteropara(m:=0 hasta 4)para(m:=0 hasta 4)hacerhacer

t[m] := 0t[m] := 0

fin_parafin_para

EJEMPLO 1EJEMPLO 1PROGRAMPROGRAM

AA

MEMORIAMEMORIA

xxxxxx xxxxxx xxxxxx xxxxxx

xxxxxx

xxxxxx

mm

tt

0011223344

00

t[0]t[0]

00

t[1]t[1]

00

t[2]t[2] t[3]t[3] t[4]t[4]

00 00

55

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

EJEMPLO 2EJEMPLO 2

Inicializar un Arreglo con valores leídosInicializar un Arreglo con valores leídos

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

EJEMPLO 2EJEMPLO 2

t : arreglo[5 ] de enterot : arreglo[5 ] de enterom: enterom: enteropara(m:=0 hasta 4) para(m:=0 hasta 4) hacer hacer leer (t[m])leer (t[m])

fin_parafin_para

PROGRAMPROGRAMAA

MEMORIAMEMORIA

tt

xxxxxxmm

t[0]t[0] t[1]t[1] t[2]t[2] t[3]t[3] t[4]t[4]

xxxxxx xxxxxx xxxxxx xxxxxxxxxxxx2020 -5-5 88 66 1212

xxxxxx001122334455

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

EJEMPLO 3EJEMPLO 3

Sumar los elementos de un arregloSumar los elementos de un arreglo

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

EJEMPLO 3EJEMPLO 3

suma := 0suma := 0para(m := 0 hasta 4) para(m := 0 hasta 4) hacerhacer

suma := suma+t[m]suma := suma+t[m]

fin_parafin_para

escribir (suma)escribir (suma)

PROGRAMPROGRAMAA

MEMORIAMEMORIA

2020 -5-5 88 121266tt

mm sumsumaa

t[0]t[0] t[1]t[1] t[2]t[2]t[3]t[3] t[4]t[4]

xxxxxxxxxxxx001122334455 xxxxxxxxxxxx0020201515232329294141

4141SALIDASALIDA

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

Ordenar en forma ascendente unOrdenar en forma ascendente unconjunto de números enteros conjunto de números enteros

almacenados en un arregloalmacenados en un arreglo

EJEMPLO 4EJEMPLO 4

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

temp := 0temp := 0para(i:=0 hasta 2) hacerpara(i:=0 hasta 2) hacer para(j:=i+1 hasta 3) hacerpara(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] := tempt[i] := temp

fin_si fin_si fin_parafin_parafin_parafin_para

EJEMPLO 5EJEMPLO 5PROGRAMPROGRAM

AA

MEMORIAMEMORIA

1212 33 -2-2 77

xxxxxxtemptemp

tt

xxxxxx xxxxxxii jj

0033-2-23377

00112233 11223344

1212 121233 1212

2233443344

33 121233 33-2-2 33-2-2 33-2-2 771212 121233 121233 121233 771212 121277 121277 1212

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

PROBLEMA ARREGLOS

Leer un conjunto de datos enteros e Leer un conjunto de datos enteros e imprimir los mismosimprimir los mismos

datos en el orden inverso al leído.datos en el orden inverso al leído.

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

CADENAS DE CADENAS DE CARACTERESCARACTERES

• Definición:Definición: Arreglo de caracteres.Arreglo de caracteres.

• Características:Características: Manejo de terminador de cadena ‘\0’Manejo de terminador de cadena ‘\0’

• Longitud:Longitud: Número de símbolos antes del Número de símbolos antes del terminador de cadena.terminador de cadena.

cc aa ss \ 0 \ 0 aaX X ==

La longitud de X es 4La longitud de X es 4

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

CADENAS DE CADENAS DE CARACTERESCARACTERES

Formato de definición en seudo-lenguajeFormato de definición en seudo-lenguaje

<Nombre> : arreglo[<tamaño>] de caracter<Nombre> : arreglo[<tamaño>] de caracter

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

CADENAS DE CADENAS DE CARACTERESCARACTERES

Especificación: Especificación: Caracteres entre Caracteres entre comillas comillas

dobles.dobles.

Operaciones: Operaciones: • compararCadenacompararCadena• copiarCadenacopiarCadena• longitudCadenalongitudCadena• concatenarCadenaconcatenarCadena• leerCadenaleerCadena• escribirCadenaescribirCadenaFacultad Ingeniería

Departamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

CONCATENARCONCATENAR

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

CADENAS DE CADENAS DE CARACTERESCARACTERES

X := “da”X := “da”Y := “do”Y := “do”Z := concatenar(X,Y)Z := concatenar(X,Y)

\ 0\ 0 XXXX XXXX XX XX XXXXX =X =

Y =Y =

Z =Z =

\ 0\ 0 XXXX XXXX XX XX XXXX

\ 0\ 0 XXXX XXXX XX XX XXXX

PROGRAMAPROGRAMA

MEMORIAMEMORIAdd aa \ 0\ 0 XX XX XXXXX =X =

Y =Y =

Z =Z =

\ 0\ 0 XXXX XXXX XX XX XXXX

\ 0\ 0 XXXX XXXX XX XX XXXX

dd aa \ 0\ 0 XX XX XXXXX =X =

Y =Y =

Z =Z =

dd oo \ 0\ 0 XX XX XXXX

\ 0\ 0 XXXX XXXX XX XX XXXX

dd aa \ 0\ 0 XX XX XXXXX =X =

Y =Y =

Z =Z =

dd oo \ 0\ 0 XX XX XXXX

dd aa dd \ 0\ 0 oo

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

PROBLEMA CADENAS

Leer una cadena de caracteres Leer una cadena de caracteres y contar el número y contar el número

de espacios que se encuentran en ellade espacios que se encuentran en ella..

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

MATRICESMATRICES

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

MATRICESMATRICES

Definición:Definición:Espacio de memoria queEspacio de memoria que

permite almacenar una permite almacenar una

colección de datos de colección de datos de

un mismo tipoun mismo tipo

Los elementos no están organizados linealmente sino que su

organización es bidimensional, es decir, en filas y columnas.

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

X =X =

X[0] [0] = 120X[0] [0] = 120

X [2] [0] = -25X [2] [0] = -25

X [1] [2] = 34X [1] [2] = 34

X [0] [2] = 65X [0] [2] = 65X[2] [1] = 49X[2] [1] = 49

NombreNombre FilaFila

34341616

120120 3939 6565

7171

-25-25 82824949

ColumnaColumna

Acceso:Acceso: Nombre de variable y dos Nombre de variable y dos índices. Al primer índice se índices. Al primer índice se

lelellama índice de fila y al llama índice de fila y al

segundosegundoíndice de columna.índice de columna.

Ejemplo:Ejemplo:

MATRICESMATRICES

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

MATRICESMATRICES

Formato de definición en seudo-lenguajeFormato de definición en seudo-lenguaje

<Nombre> : matriz [<N>][<M>] de <tipo><Nombre> : matriz [<N>][<M>] de <tipo>

N : número de filasN : número de filasM : número de columnasM : número de columnas

Dimensión:Dimensión: es el número filas por el número de columnas.

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

EJEMPLO 5EJEMPLO 5

Llenar una matriz de tres por tresLlenar una matriz de tres por tres

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

EJEMPLO 5EJEMPLO 5

mat: matriz [3][3] de enteromat: matriz [3][3] de enteropara(i:=0 hasta 2 hacer)para(i:=0 hasta 2 hacer) para(j:=0 hasta 2 hacer)para(j:=0 hasta 2 hacer)

mat[i][j] := i+jmat[i][j] := i+j fin_para fin_para fin_parafin_para

PROGRAMAPROGRAMAMEMORIA

jj

matmat

xxxxxx

ii

xxxxxxxxxxxx

xxxxxx xxxxxx xxxxxx

xxxxxx

xxxxxx xxxxxxxxxxxx

00112233 xxxxxx00112233

xxxxxxxxxxxx

00 xxxxxx xxxxxx

xxxxxx

xxxxxx xxxxxxxxxxxx

xxxxxxxxxxxx

00 11 xxxxxx

xxxxxx

xxxxxx xxxxxxxxxxxx

xxxxxxxxxxxx

00 11 22

xxxxxx

xxxxxx xxxxxxxxxxxx

xxxxxxxxxxxx

00 11 22

11

xxxxxx xxxxxxxxxxxx

xxxxxx22

00 11 22

11

xxxxxx xxxxxxxxxxxx

3322

00 11 22

11

xxxxxx xxxxxxxxxxxx

3322

00 11 22

11

22 xxxxxxxxxxxx

3322

00 11 22

11

22 xxxxxx33

3322

00 11 22

11

22 4433

0011223300112233

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

EJEMPLO 6EJEMPLO 6

Teniendo la matriz M de tres por tres,Teniendo la matriz M de tres por tres,guardar en el arreglo guardar en el arreglo tt, la suma de los , la suma de los elementos de cada fila de la matriz elementos de cada fila de la matriz inicial (e.d.: en t[0] se guarda la suma inicial (e.d.: en t[0] se guarda la suma de la fila 0 de la matriz, en t[1] se guar-de la fila 0 de la matriz, en t[1] se guar-da la suma de la fila 1 de la matriz …)da la suma de la fila 1 de la matriz …)

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

xxxxxxxxxxxx xxxxxx

xxxxxx

EJEMPLO 6EJEMPLO 6

3322

00 11 22

11

22 4433

3322

00 11 22

11

22 4433

suma := 0suma := 0para(j := 0 hasta 2) para(j := 0 hasta 2) hacer hacer para(i := 0 hasta 2)para(i := 0 hasta 2) hacerhacer suma := suma+M[j]suma := suma+M[j][i][i] fin_parafin_para t[j]:=sumat[j]:=suma suma:=0suma:=0fin_parafin_paraescribir (t[0],t [1], t [2])escribir (t[0],t [1], t [2])

PROGRAMAPROGRAMA

MEMORIAMEMORIA

tt

jj sumsumaa

t[0]t[0] t[1]t[1] t[2]t[2]

xxxxxx0011 xxxxxxxxxxxx0000

3 6 93 6 9SALIDASALIDA

ii

i

j

66

11 1122 33

33

00 0011 113322 6633 0022 00 2211 5522 99

99

00

M

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

PROBLEMA PROBLEMA MATRICESMATRICES

Realizar un programa que lea la Realizar un programa que lea la dimensión de una matriz (número de filas y dimensión de una matriz (número de filas y

número de columnas) y los datos, e número de columnas) y los datos, e imprima la matriz en pantalla.imprima la matriz en pantalla.

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

CODIFICACIÓN EN C+CODIFICACIÓN EN C+++

ARREGLOSARREGLOS

Seudocódigo<NOMBRE> : arreglo [<N>] de <TIPO>C++<TIPO> <NOMBRE>[<N>];

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

CADENA DE CARACTERESCADENA DE CARACTERES

Seudocódigo<NOMBRE> : arreglo [<N>] de carácterC++char <NOMBRE>[<N>];

CODIFICACIÓN EN C+CODIFICACIÓN EN C+++

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

MATRICESMATRICES

Seudocódigo<NOMBRE> : matriz [<N>][<M>] de <TIPO>C++<TIPO> <NOMBRE>[<N>][<M>];

CODIFICACIÓN EN C+CODIFICACIÓN EN C+++

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices

FIN

Gracias por la atención prestada

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual2008

Módulo 4 Arreglos, cadenas y

matrices


Recommended