1
Ricardo Carrera Hernández
Arreglos
Parte I
Universidad Veracruzana
Ricardo Carrera Hernández
Agosto 2013
Campus Ixtac
Definición
 Colección de datos.
 Contienen valores del mismo tipo.
 Su tamaño no se puede modificar una vez definido.
 El acceso a sus elementos puede ser secuencial o aleatorio.
 Puede ser unidimensional o multidimensional.
2
Tipos de datos
3
Dato Características Observaciones
Simple estándar
Entero (integer)
Flotante (float)
Carácter (char)
Lógico (boolean)
Definido por el programador (no
estándar)
Subrango (subrange)
Enumerativo (enumerated)
Estructurado estáticos
Arrays (vectores/matrices)
Registros (record)
Archivos (files)
Conjuntos (set)
Cadenas (string)
dinámicos
Listas (pilas/ colas)
Listas enlazadas
Árboles
Grafos
Arreglos unidimensionales
4
2 4 6 8 10 1412 16 18 20
X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7) X(8) X(9)
Nombre del arreglo: X
 Arreglo de una dimensión
 También se le llama vector
5
Vector Alumnos
Luis Francisco1
José2
Victoria3
..
Martíni
..
Graciela30
Dirección r
Dirección r + 1
Dirección r + 2
Dirección r + 29
Datos en el vector
 Cada elemento del vector se trata como una variable simple al
ocupar un lugar en memoria.
números[20]  75
 La instrucción
escribir(números[20])
 Visualiza el valor almacenado en la posición 20ª.
Ejemplo
 Considerar un vector A de ocho elementos:
A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7]
14.0 12.0 8.0 7.0 6.41 5.23 6.15 7.25
Elemento
1º
Elemento
2º
Elemento
8º
Acciones Resultados
escribir(A[0]) Visualiza el valor de A[0] o 14.0
A[4]  45 Almacena el valor 45 en A[4]
suma  A[1] + A[3] Almacena la suma de A[1] y A[3] o bien 19.0 en la variable suma
suma  suma + A[4] Añade en la variable suma el valor de A[4], es decir, suma = 64.0
A[5]  A[5] + 3.5 Suma 3.5 A[5]; el nuevo valor de A5] será 9.73
A[6]  A[1] + A[2] Almacena la suma de A[1] y A[2] en A[6]; el nuevo valor de A[6] será 20.0
8
Ejercicio
 Supongamos un vector V de ocho elementos
V[1] V[2] V[3] V[4] V[5] V[6] V[7] V[8]
12 5 -7 14.5 20 1.5 2.5 -10
 Si i  4
V[i + 1] representa el elemento V[5] de valor 20
V[i + 2] representa el elemento V[6] de valor 1.5
V[i – 2] representa el elemento V[2] de valor 5
V[i + 3] representa el elemento V[7] de valor2.5
9
Operaciones con vectores
 Asignación
 Lectura/escritura
 Recorrido
 Actualizar
 Ordenación
 Búsqueda
10
Declaración de un vector en el
algoritmo
tipo
array[liminf .. limsup] de tipo : nombre_array
Donde:
nombre_array nombre válido del arreglo
liminf .. limsup límites inferior y superior del rango del array
tipo tipo de datos de los elementos del array:
entero, flotante, etc.
Ejemplo
tipo
array[1..10] de carácter : nombres
var
nombres : n
11
Ejemplo
 Lectura de 20 valores enteros de un vector denominado f.
12
algoritmo LeeVector
tipo
array[1..20] de entero : final
var
final : f
entero: i
inicio
desde i  0 hasta 19 hacer
leer (f[i])
fin_desde
fin
Ejercicio
 Diseñar el algoritmo anterior usando las estructuras:
 Mientras
 Repetir
13
 Realizar la corrida de escritorio del siguiente diagrama de flujo y
escribir el algoritmo en pseudocódigo.
14
Variable Tipo
n
altura[1] .. altura[n]
i
media
altos
bajos
suma
15
Ricardo Carrera Hernández
Arreglos
Parte I
Universidad Veracruzana
Ricardo Carrera Hernández
Agosto 2013
Campus Ixtac

12. arreglos parte i

  • 1.
    1 Ricardo Carrera Hernández Arreglos ParteI Universidad Veracruzana Ricardo Carrera Hernández Agosto 2013 Campus Ixtac
  • 2.
    Definición  Colección dedatos.  Contienen valores del mismo tipo.  Su tamaño no se puede modificar una vez definido.  El acceso a sus elementos puede ser secuencial o aleatorio.  Puede ser unidimensional o multidimensional. 2
  • 3.
    Tipos de datos 3 DatoCaracterísticas Observaciones Simple estándar Entero (integer) Flotante (float) Carácter (char) Lógico (boolean) Definido por el programador (no estándar) Subrango (subrange) Enumerativo (enumerated) Estructurado estáticos Arrays (vectores/matrices) Registros (record) Archivos (files) Conjuntos (set) Cadenas (string) dinámicos Listas (pilas/ colas) Listas enlazadas Árboles Grafos
  • 4.
    Arreglos unidimensionales 4 2 46 8 10 1412 16 18 20 X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7) X(8) X(9) Nombre del arreglo: X  Arreglo de una dimensión  También se le llama vector
  • 5.
  • 6.
    Datos en elvector  Cada elemento del vector se trata como una variable simple al ocupar un lugar en memoria. números[20]  75  La instrucción escribir(números[20])  Visualiza el valor almacenado en la posición 20ª.
  • 7.
    Ejemplo  Considerar unvector A de ocho elementos: A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] 14.0 12.0 8.0 7.0 6.41 5.23 6.15 7.25 Elemento 1º Elemento 2º Elemento 8º Acciones Resultados escribir(A[0]) Visualiza el valor de A[0] o 14.0 A[4]  45 Almacena el valor 45 en A[4] suma  A[1] + A[3] Almacena la suma de A[1] y A[3] o bien 19.0 en la variable suma suma  suma + A[4] Añade en la variable suma el valor de A[4], es decir, suma = 64.0 A[5]  A[5] + 3.5 Suma 3.5 A[5]; el nuevo valor de A5] será 9.73 A[6]  A[1] + A[2] Almacena la suma de A[1] y A[2] en A[6]; el nuevo valor de A[6] será 20.0
  • 8.
    8 Ejercicio  Supongamos unvector V de ocho elementos V[1] V[2] V[3] V[4] V[5] V[6] V[7] V[8] 12 5 -7 14.5 20 1.5 2.5 -10  Si i  4 V[i + 1] representa el elemento V[5] de valor 20 V[i + 2] representa el elemento V[6] de valor 1.5 V[i – 2] representa el elemento V[2] de valor 5 V[i + 3] representa el elemento V[7] de valor2.5
  • 9.
    9 Operaciones con vectores Asignación  Lectura/escritura  Recorrido  Actualizar  Ordenación  Búsqueda
  • 10.
    10 Declaración de unvector en el algoritmo tipo array[liminf .. limsup] de tipo : nombre_array Donde: nombre_array nombre válido del arreglo liminf .. limsup límites inferior y superior del rango del array tipo tipo de datos de los elementos del array: entero, flotante, etc.
  • 11.
    Ejemplo tipo array[1..10] de carácter: nombres var nombres : n 11
  • 12.
    Ejemplo  Lectura de20 valores enteros de un vector denominado f. 12 algoritmo LeeVector tipo array[1..20] de entero : final var final : f entero: i inicio desde i  0 hasta 19 hacer leer (f[i]) fin_desde fin
  • 13.
    Ejercicio  Diseñar elalgoritmo anterior usando las estructuras:  Mientras  Repetir 13  Realizar la corrida de escritorio del siguiente diagrama de flujo y escribir el algoritmo en pseudocódigo.
  • 14.
    14 Variable Tipo n altura[1] ..altura[n] i media altos bajos suma
  • 15.
    15 Ricardo Carrera Hernández Arreglos ParteI Universidad Veracruzana Ricardo Carrera Hernández Agosto 2013 Campus Ixtac