Documente Academic
Documente Profesional
Documente Cultură
INF 1141
UNIDAD 6: CARACTERSTICAS
AVANZADAS DE ARREGLOS EN SL
l.griffiths.m@gmail.com
2 Semestre 2015
Fundamentos de Algoritmos
Qu aprenderemos hoy?
1. Caractersticas avanzadas de los arreglos en SL
1. Arreglos Abiertos
2. Inicializacin de Arreglos
3. Asignacin de Arreglos
Fundamentos de Algoritmos
ARREGLOS ABIERTOS
Fundamentos de Algoritmos
Arreglos Dinmicos/Abiertos
NO es posible conocer o NO es
conveniente establecer la
cantidad mxima de elementos
que se almacenaran en un
arreglo en TIEMPO DE
COMPILACIN
Fundamentos de Algoritmos
Ejemplo
Fundamentos de Algoritmos
Cmo se declara un
Arreglo Abierto Unidimensional en SL?
Fundamentos de Algoritmos
Su prototipo es : dim(NombreArreglo,Dim1,Dim2,...DimN)
EJEMPLO:
B: vector [*] numerico
leer (n)
dim (B, n)
Fundamentos de Algoritmos
Veamos un Ejemplo
programa ejemplo
var
temperaturas : vector [*] numerico
n : numerico
inicio
cls()
repetir
imprimir("Ingrese nmero de das : ")
leer(n)
hasta (n>0)
dim(temperaturas , n)
leerArreglo(temperaturas , n)
imprimir(promedio (temperaturas , n) )
fin
Fundamentos de Algoritmos
Cmo se declara un
Arreglo Abierto Bidimensional en SL?
Fundamentos de Algoritmos
Su prototipo es : dim(NombreArreglo,Dim1,Dim2,...DimN)
EJEMPLO:
B: matriz [*,*] numerico
leer (m,n)
dim (B, m,n)
Fundamentos de Algoritmos
Veamos un Ejemplo
programa ejemplo
var
A:matriz [*,*] numerico
dimFila, dimCol :numerico
inicio
cls()
repetir
imprimir("Ingrese N de filas de la Matriz : ")
leer(dimFila)
hasta (dimFila > 0)
repetir
imprimir("Ingrese N de columnas de la Matriz : ")
leer(dimCol)
hasta (dimCol > 0)
dim(A, dimFila, dimCol)
leerMatriz (A, dimFila, dimCol)
mostrarMatriz (A, dimFila, dimCol)
fin
Fundamentos de Algoritmos
Fundamentos de Algoritmos
Fundamentos de Algoritmos
Inicializacin de arreglos en SL
Fundamentos de Algoritmos
Ejemplo
Fundamentos de Algoritmos
inicio
topeMeses = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
mesesAo = {enero, febrero, marzo, abril, mayo,
junio,
julio, agosto, septiembre, octubre,
noviembre,
diciembre}
A = { {1,2,3}, {4,5,6}, {7,8,9},{10,11,12},{13,14, 15} }
:
Fundamentos de Algoritmos
Veamos un Ejemplo
programa ejemplo
const
MESES=12
var
mesesAo: vector [MESES] cadena
temperaturas: vector [MESES] numerico
inicio
cls()
mesesAo = { enero, febrero, marzo, abril, mayo, junio,
julio, agosto, septiembre, octubre, noviembre,
diciembre}
leerArreglo(temperaturas, mesesAo, MESES)
fin
Fundamentos de Algoritmos
Veamos un Ejemplo
sub leerArreglo(ref A: vector [MESES] numerico; B: vector [MESES] cadena;
m: numerico)
var i:numerico
inicio
desde i=1 hasta m
{
imprimir(Ingrese temperatura promedio de ,B[i], 2014 : )
leer(A[i])
}
fin
Fundamentos de Algoritmos
COPIA DE ARREGLOS EN SL
Fundamentos de Algoritmos
Fundamentos de Algoritmos
Veamos un Ejemplo
programa ejemplo
var
A: matriz [5, 3] numerico
V1: vector [3] numerico
V2: vector [*] numerico //ABIERTO
inicio
cls()
A = { {1,3,5},{2,4,6},{7, 8, 9},{10, 11,12},{ 13,14, 15}}
V1 = Matriz [2] // {2, 4, 6}
V2 = V1 // {2, 4, 6}
mostrarArreglo(V1,3)
mostrarArreglo(V2,3)
fin
Fundamentos de Algoritmos
Fundamentos de Algoritmos
INVESTIGUE
3. Es posible en una matriz que las filas tengan longitudes diferentes unas de
otras?
Fundamentos de Algoritmos
Pero crear lluvia artificial es una operacin muy costosa. Por lo anterior, el
abuelo de Lisa debe limitarse a crear lluvia sobre solo una seccin, para que
el agua de la seccin seleccionada fluya a las secciones vecinas si su altura no
supera la altura de dicha seccin.
Fundamentos de Algoritmos
Lisa est decidida a encontrar una seccin tal que si su abuelo crea lluvia
artificial sobre ella, el nmero de secciones regadas sea la mxima.
Aydela a determinar el nmero mximo de secciones que es
posible regar al seleccionar alguna seccin!, escriba un programa en SL
que resuelva el problema de Lisa.
Fundamentos de Algoritmos
FUNDAMENTOS DE PROGRAMACIN