Sunteți pe pagina 1din 9

Página 1

V. ARREGLOS.

OBJETIVOS.

1. Identifica el uso de la estructura de datos arreglos en la solución de


problemas, a través de algoritmos estructurados.
2. Maneja los diferentes formatos de declaración e inicialización de la
estructura arreglo, a través de algoritmos estructurados.
3. Maneja los métodos de búsqueda, que sobre la estructura de arreglo se
pueden llevar a cabo, a través de algoritmos estructurados.
4. Resuelve algoritmos que manejen la estructura de datos arreglos y los
métodos de búsqueda, bajo una metodología estructurada.

Preparado por: Ludia Gómez de Meléndez


Página 2

V. ARREGLOS.

5.1. QUE ES UN ARREGLO?

Es una colección o conjunto de memoria consecutiva en la cual se almacenan


elementos homogéneos los cuales tiene el mismo nombre de variable para
trabajarlas; un arreglo puede manejar cualquier tipo de datos numéricos, de
cadena, carácter o booleano.
Los arreglos se requieren ya que en el mundo real existen un conjunto de
procesos que requieren la manipulación de un gran número de valores, es así
como ésta estructura viene a cumplir este trabajo, es importante indicar que los
arreglos son estructuras diseñadas por el usuario y son temporales una vez su
programa se cierre esta deja de existir.
Ejemplos de arreglos son la población de un país, las ganancias de una empresa
durante los últimos 10 años, la producción de arroz de una empresa, etc.

Ganancias de X empresa población de un país

Figura # 1. Cada uno de estos ejemplos representa más de un valor a representar

Los arreglos son referenciados a través de un nombre de variable y sus


elementos se accesan a través de un subíndice.
Los arreglos pueden ser manejados en cualquier tipo de operación que hasta el
momento se haya visto.
5.1. TIPOS DE ARREGLOS (UNA Y DOS DIMENSIONES).
Los arreglos se clasifican bajo las siguientes dimensiones:
1. Arreglos unidimensionales
2. Arreglos bidimensionales
La dimensión está determinada por la cantidad de subíndices que el arreglo
maneja, para esta asignatura solo veremos arreglos de una dimensión.

Preparado por: Ludia Gómez de Meléndez


Página 3

La dimensión de un arreglo unidimensional es igual al número de elementos que


componen al arreglo unidimensional; a los arreglos unidimensionales comúnmente
se les conoce también como vector.

DECLARACIÓN DE ARREGLO UNIDIMENSIONAL


Declarar un arreglo es definir dentro del algoritmo la estructura que tendrá el
mismo, su nombre, su tipo de datos y la cantidad de elementos que puede
manejar.

FORMATO
tipo de dato nombre del arreglo (tamaño)
Nombre de arreglo: es un nombre de identificador valido.
Tamaño: cantidad de elementos del arreglo.
Tipos de datos: valores que puede tomar cada celda del arreglo
Ejemplo:
entero vec(15), veca(5)
real hom(5), mujer( 10)

99.99
99 99 99 99 99 99.99
veca (5) 99.99 hom (5)
99.99
99.99

FILA (veca) y uno COLUMNA (hom)


REPRESENTACIÓN GRÁFICA DE UN VECTOR

CÓMO ACCESAR LOS ELEMENTOS DE UN ARREGLO


UNIDIMENSIONAL.

Para accesar los elementos de un arreglo se hace necesario contar con un


subíndice, el cual es cualquier constante, expresión numérica positiva, variable
que permita accesar y trabajar sobre cualquier posición del arreglo.
EJEMPLO:

vect(i) = vect(i) + 10 // ARREGLO DE ENTEROS

Preparado por: Ludia Gómez de Meléndez


Página 4

veca(5) = veca(9) * 2
nomp(i+2) = “panamá” // ARREGLO DE CADENA
suma = vect(15) + vect(10) // SE SUMA CELDAS DEL
AREGLO
Y SE ASIGNA A UNA VARIABLE
SIMPLE

5.2. OPERACIONES CON VECTORES

Los vectores al igual que cualquier tipo de variable puede ser utilizada en
cualquier tipo de operación de las que hemos visto anteriormente.

5.2.1. LECTURA DE UN VECTOR.

Al igual que una variable simple los vectores pueden ser leídos, pero como su
teoría lo define un nombre de variable y un subíndice requiere entonces del uso
de las sentencias de repetición principalmente el PARA. Comúnmente a esta
operación se le denomina cargar a un vector desde una lectura.

EJEMPLO:

entero veca (15) 11 1


00
Para i = 1,15, 1
00 2
Leer (veca(i))
22 3
00
00
:
Fin Para 100 200 300 999 …. 982
33
00
00

99 1
99 5
99
Cada valor que se lee es almacenado directamente en cada celda del arreglo
veca. También puede darse el caso de que se lea un valor y el mismo sea
almacenado en cada celda del arreglo vecmat.
::

99
Preparado por: Ludia Gómez de Meléndez
88
22
Página 5

Para i = 1,5,1
1 Introduzca
Imprimir ( “Introduzca un numero”) 339
339 Introduzca un
un número
número
Leer (nom) 2 99
99 339 enter
339 enter
vecmat(i) = nom :: 99
99 enter
enter
Fin Para ::
5 2999
2999 2999
2999 enter
enter

5.2.2. INSTRUCCIÓN DE SALIDA.

Para la salida de resultado en la pantalla o papel se hace necesario trabajar con


la sentencia de repetición.
Para i = 1, 5, 1
Imprimir (“veca [“ ,i “] =”, veca(i))
Fin Para

1 Veca[1]
339
339 Veca[1] == 339
339
2 99
99 Veca
Veca [2]
[2] == 99
99
:: ::
Veca
Veca [5]
[5] == 2999
2999
5 2999
2999

5.3 PROCEDIMIENTOS DE BÚSQUEDAS Y ORDENAMIENTO DE UN


ARREGLO

5.3.1. Búsqueda Secuencial y Binaria.


Es la técnica más simple para buscar en una lista de datos un elemento
específico. Este método consiste en recorrer la lista elemento a elemento

Preparado por: Ludia Gómez de Meléndez


Página 6

comenzando con el primero de la lista, este método es utilizado para lista


no ordenadas y esa es su gran virtud ya que en términos de eficiencia será
preciso considerar un contador que represente dicha posición.

EJEMPLO:
Se tiene un vector de 6 posiciones cuyos datos han sido ya almacenados y
se desea si existe el elemento T en él. El algoritmo debe finalizar cuando se
encuentre al elemento buscado.
INICIO
/* Bloque de declarativas */
entero vec(6)
entero f, t, cont
cadena encontrado
/* Bloque de instrucciones */
f=1
encontrado = “no”
Imprimir (“Elemento a buscar”)
Leer (t)
Repetir
Si vec(f) = t Entonces
encontrado = “si”
cant = f
Fin Si
Hasta Que (encontrado == “si” O f > 6)
Si encontrado == “si” Entonces
Imprimir ( “el elemento buscado está en la fila:”, cont, “del vector”)
Sino
Imprimir (“no se encontro”, t “en el vector”)
Fin_Si
FIN

b. Binario
Este algoritmo es válido exclusivamente para vectores ordenados y consiste
en comparar el elemento buscado con el valor del centro del arreglo y si no
es igual al valor buscado se reduce el intervalo de búsqueda a la mitad
derecha o izquierda según donde pueda encontrarse el valor a buscar. El
algoritmo termina si se encuentra el valor buscado o si el tamaño del
intervalo de búsqueda quede anulado.

Preparado por: Ludia Gómez de Meléndez


Página 7

En los casos en que existen repeticiones en el vector, del valor buscado,


este algoritmo obtendrá uno de ellos aleatoriamente.

INICIO
/* Bloque de declarativas */
entero v(5)
entero valor, inicio, fin, centro
/* Bloque de instrucciones */
inicio = 1
fin = 5
centro = fin
Imprimir (“ Que números deseas encontrar”)
Leer (valor)
Mientras (v(centro) < > valor Y inicio < fin )
Si ( v(centro) > valor) Entonces
fin = fin - 1
Sino
inicio = centro + 1
Fin Si
centro = (inicio + fin) / 2
Fin Mientras
Si (v(centro) == valor) Entonces
Imprimir ( “encontrado en la posición”, centro)
Sino
Imprimir (“no existe el valor buscado”)
Fin Si
FIN

20 30 40 50 60

inicio centro=3 fin

5.3.2. MÉTODO DE ORDENAMIENTO PUSH DOWN.

En el método de Push Down de trabaja con una tabla de n elementos, la


cual requiere de un ordenamiento en forma ascendente. Esto se realiza
comparando el primer elemento con cada uno de los demás elementos de
la tabla, por ejemplo si es más grande que el segundo, se intercambian los

Preparado por: Ludia Gómez de Meléndez


Página 8

contenidos; luego se comparan el primero con el tercero y así


sucesivamente hasta hacer la comparación n-1
Ejemplo:
INICIO
(* BLOQUE DE DECLARATIVAS *)
entero i, j, temp
entero v(4)
//BLOQUE DE INSTRUCCIONES
i=0
Repetir
i=i+1
Para j = i + 1 , 4, 1
Si ( v(i) > v(j) ) Entonces
temp = v(i)
v(i) = v(j)
v(j) = temp
Fin Si
Fin Para
Hasta i < 3
FIN

8 i<3 i j tempo j <=4 v(i) > v(j)


13 ? ? ? ?
2 0
1 1 2 2 <= 4 C 8 > 13 F
3 3 <= 4 C 8 > 2 C
8
2
4 2 4<= 4 C 2 >1 C
13
5 5 <= 4 F
8
1 1<3C 2 3 13 3 <= 4 C 13 > 8 C
4 4 <=4 C 8 > 2 C
1 5 8 5 <= 4 F
13
8 2<3C 3 4 4 <= 4 C 13 > 8 C
2 5 13 5 <= 4 F
3<3 F

1
8
13
2

Preparado por: Ludia Gómez de Meléndez


Página 9

1
2
13
8

1
2
8
13

Preparado por: Ludia Gómez de Meléndez

S-ar putea să vă placă și