ARREGLOS UNIDIMENSIONALES Y BIDIMENSIONALES
Facultad de Ingeniería
Escuela de Ingeniería Informática
“Algoritmos y Arreglos”
Asignatura
INF 1141 – Fundamentos de Algoritmos
(Primer Semestre 2015)
Profesores
Pamela Hermosilla Monckton (Paralelo 1)
Rodolfo Villarroel Acevedo (Paralelo 2)
Pontificia Universidad Católica de Valparaíso
Escuela de Ingeniería Informática
ArraysUnidimensionales (Vectores)
- Un array es un conjunto finito y ordenado de elementos homogéneos
Cada elemento puede ser identificado
Son del mismo tipo de datos
- Un array unidimensional o vector es el tipo de array más simple
Arreglo notas
70
65
62
60
58
55
notas [1] = 70
notas [2] = 65
notas [n]
notas [3] = 62
notas [4] = 60
Subíndice designa la posición
del elemento en el vector
50
PontificiaUniversidad Católica de Valparaíso
Escuela de Ingeniería Informática
Arrays Unidimensionales (Vectores)
- Las operaciones que se pueden realizar con vectores son: asignación, lectura,
escritura, recorrido, actualización (añadir, borrar, insertar), ordenación, búsqueda.
- La notación algorítmica que utilizaremos es la siguiente:
numero :vector [100] numerico
Pontificia Universidad Católica de Valparaíso
Escuela de Ingeniería Informática
Arrays Unidimensionales (Vectores)
sin array …
(muchas variables)
var
nota1,nota2, nota3, sum: numerico
…
imprimir (“nota 1 = “)
leer (nota1)
…
sum = nota1 + nota2 + nota3
con array …
var
sum: numerico
nota: vector[3] numerico
…
desde i = 1 hasta 3
{
imprimir (“nota ”,i, “ = ”)
leer (nota [i])}
sum = 0
desde i = 1 hasta 3
{
sum = sum + nota [i]
}
Pontificia Universidad Católica de Valparaíso
Escuela de Ingeniería Informática
Arrays Unidimensionales (Ejemplos)
var
min, max, i, prom: numerico
temp: vector[24] numerico
nota: vector[45] numerico
const
max_hora = 24
total = 45
var
min, max, i, prom: numerico
temp: vector[max_hora] numerico
nota: vector[total] numerico
PontificiaUniversidad Católica de Valparaíso
Escuela de Ingeniería Informática
Arrays Unidimensionales (Vectores)
Asignación:
numero [2] = 5
numero [x] = x + y
numero [a] = temp [5] + 2
desde i = 1 hasta 5
{
numero [i] = i*i
}
Pontificia Universidad Católica de Valparaíso
Escuela de Ingeniería Informática
Arrays Unidimensionales (Vectores)
Lectura:
leer (
leer (numero [4])
leer (numero [x])
leer (numero [a+b])
Escritura:
imprimir (
imprimir (“el número es: ”, numero [3])
imprimir (“el número es: ”, numero [a])
Pontificia Universidad Católica de Valparaíso
Escuela de Ingeniería Informática
Arrays Unidimensionales (Vectores)
Imprimir
desde i = 1 hasta 4
{
imprimir (nombre [i],“ ”)
}
imprimir(“\n”)
desde i = 1 hasta 4
{
imprimir (edad [i],“ ”)
}
ana pedro luis felipe
22 19 26 21
Pontificia Universidad Católica de Valparaíso
Escuela de Ingeniería Informática
Ejemplo
programa ejemplo
const
max_alumnos = 50
var
n, i, prom: numerico
nota: vector [max_alumnos] numerico
inicio
repetir
imprimir(“Ingrese la cantidad de alumnos. El máximo de alumnos es cincuenta”)
leer (n)
hasta (n > 0and n <= max_alumnos)
imprimir (“Ingresar notas de alumnos”)
desde i = 1 hasta n
{
imprimir (“Nota alumno ”,i,“= ”)
leer (nota [i])
}
Pontificia Universidad Católica de Valparaíso
Escuela de Ingeniería Informática
programa malo
var
n: numerico
temp: vector [n] numerico
inicio
repetir
imprimir (“n = “)
leer (n)
hasta (n > 0)
desde i = 1 hasta n
…
MAL
Pontificia Universidad Católica deValparaíso
Escuela de Ingeniería Informática
Arrays Unidimensionales (Vectores)
Inserción:
/* Se desea insertar nuevo_elemento en la posición p */
/* i corresponde al índice del último elemento*/
c=i
mientras (c >= p)
{
autos [c + 1] = autos [c]
c=c–1
}
autos [p] = nuevo_elemento
/* actualizar índice del último elemento*/
i=i+1
Pontificia Universidad Católica de Valparaíso
Escuela de Ingeniería...
Regístrate para leer el documento completo.