Documentos de Académico
Documentos de Profesional
Documentos de Cultura
10
10
3. Bibliografía 23
2
1. Informacion de la unidad
Tema de la semana:
» Objetivo:
» Tema:
Vectores
» Subtemas:
1. Definición
2. Operaciones con vectores
3. Algoritmos de ordenación
4. Algoritmos de búsqueda
» Unidad:
3
Datos estructurados: Vectores, cadenas de texto y vectores multidimensionales - Vectores
2.1 Definición
Arreglos
Los arreglos o arrays (en inglés), son un conjunto ordenado de datos del mismo tipo,
tienen una secuencia de elementos y cada elemento puede ser identificado.
El tipo de arreglo más simple es conocido como vector o arreglo de una dimensión. Por
ejemplo : El arreglo unidimensional “País”, consta de “n” elementos, puede ser
representado como en la tabla 3.1 donde País (I) contendrá un elemento, será tipo
cadena y contendrá el nombre de un País, Ej.: PAIS(1) contiene “ECUADOR”, PAIS(2)
contiene “CHILE”, …, etc.
Subíndices
Donde, si partimos del ejemplo de la Tabla 3.1, podemos leer que PAIS(1)
representa al vector PAIS en la posición 1, PAIS(2) representa al vector PAIS en la
posición 2 y así sucesivamente.
Limites
Ahora que conocemos los subíndices, podemos determinar que los vectores, tienen
principio y fin.
4
Datos estructurados: Vectores, cadenas de texto y vectores multidimensionales - Vectores
Para representar los límites del vector PAIS, podemos usar la notación PAIS(1:N).
Donde 1 es el límite inferior del vector, y N es el límite superior.
Los límites del vector también permiten identificar el rango del mismo, ya que el rango
será igual al número de elementos del vector.
Elementos de un vector
Los vectores contienen dentro de sí, datos, estos pueden ser de cualquier tipo:
numéricos, caracteres o tipo de cadena de caracteres.
COLEGIOS(n) 17 DE SEPTIEMBRE
Ya que los datos dentro de la memoria del ordenador se ubican de forma continua,
podemos representar un vector llamado NÚMEROS en la tabla 3.3 con 20 posiciones
de memoria sucesivamente.
5
Datos estructurados: Vectores, cadenas de texto y vectores multidimensionales - Vectores
Memoria
NUMEROS[1] Dirección X
… …
Los elementos de un vector pueden ser procesados como una variable, ya que ocupan
una posición de memoria, Entonces,
NÚMEROS[3] ← 25
Se almacena el valor real o entero 25 en la posición número 3 del vector NÚMEROS y
para especificarlo como una instrucción de salida escribimos
escribir (NUMEROS[3])
Con esto podremos visualizar el valor del vector en la posición 3, es decir se va a
presentar el valor de 25.
Con la premisa anterior, podemos decir que se puede acceder al valor de los vectores
en cada una de sus posiciones, entonces plantearemos el vector A compuesto de 5
elementos, con valores de tipo real.
Operaciones básicas que podemos realizar con el vector NOTAS de la tabla 3.4
Acciones Resultados
» escribir(A[1]) Presenta el valor de A en la posición 1, y es 9.0
6
Datos estructurados: Vectores, cadenas de texto y vectores multidimensionales - Vectores
7
Datos estructurados: Vectores, cadenas de texto y vectores multidimensionales - Vectores
Implementación en lenguaje C
Declaración de un Arreglo
tipo nombre_variable[tamaño];
donde:
8
Datos estructurados: Vectores, cadenas de texto y vectores multidimensionales - Vectores
- tipo, declara el tipo base del arreglo, que es el tipo de cada elemento del mismo, int,
significa tipo de números entero.
9
Datos estructurados: Vectores, cadenas de texto y vectores multidimensionales - Vectores
Debido a que al declarar un valor como float este permite solamente 7 dígitos, en
binario 32 bits, por lo que este se redondea. Si se desea presentar el valor de 8 dígitos,
el vector debe declararse como doublé ya que este permite hasta 64 bits, o sea 15-16
dígitos.(David, 2017)
Pregunta 2: En la línea 19 de la figura 3.1 ¿Por qué para presentar por pantalla al
vector decimales[], se colocan los elementos en el índice “0” y “1”?
Esto se hace debido a que los vectores generalmente empiezan desde el índice “0”,
por lo que los valores ingresados se irán acomodando desde 0, al momento de la
declaración.
Asignación
Asumiendo
Leer(A[i])
A[1] ←1
© Universidad Estatal de Milagro – UNEMI
A[2] ←2
A[3] ←3
A[4] ←4
A[5] ←5
10
Datos estructurados: Vectores, cadenas de texto y vectores multidimensionales - Vectores
Recordemos que, para trabajar con arreglos, tenemos un inicio y un fin, entonces
podemos utilizar expresiones como desde y hasta para referirnos a un rango dentro
del vector.
Entonces si queremos asignar un mismo valor a cada elemento del vector A, podemos
usar un formato de algoritmo simple como
A[1] ←0
A[2] ←0
A[3] ←0
A[4] ←0
A[5] ←0
En el lenguaje C, ya que los arreglos ocupan espacio en memoria, debemos de
especificar el tipo de cada arreglo y número de elementos que este necesita, y así la
computadora pueda reservar la cantidad necesaria de memoria.(Deitel & Deitel, 2004)
Para indicarle al ordenador que reserve 5 espacios para el arreglo F, declaramos así:
Int F[5];
Así mismo podemos indicar al computador que reserve 3 elementos para el arreglo A,
y 6 para el arreglo O de la siguiente manera:
© Universidad Estatal de Milagro – UNEMI
Para leer los elementos de un vector, se debe recorrer de inicio a fin dicho vector,
dentro de los lenguajes de programación se usa la sentencia for y dentro de este se
presenta por pantalla el elemento del vector en su posición y lo que contiene, o sea su
valor.
11
Datos estructurados: Vectores, cadenas de texto y vectores multidimensionales - Vectores
i ←1
mientras i <=5
leer(F[i])
i←i+1
fin_mientras
Indica que el ordenador, leerá datos, mientras i sea menor o igual a 5, donde i
representa la posición de los elementos.
Suponiendo que los datos ingresados por teclado en la sentencia anterior fueron
i ←1
mientras i <=5
escribir(F[i])
i←i+1
fin_mientras
La sentencia escribir, presentara todos los valores que contienen los elementos del
vector F, es decir: 1, 3, 5, 7 y 11
Actualización de un vector
Los vectores pueden añadir valores a los elementos o modificarlos siempre y cuando
existan los espacios de memoria respectivos.
© Universidad Estatal de Milagro – UNEMI
12
Datos estructurados: Vectores, cadenas de texto y vectores multidimensionales - Vectores
Implementaciòn de arreglos en C
El ejemplo de la Figura 3.2 usa instrucciones for, para inicializar en “0” todos los
elementos de un arreglo, 10 en total, y se ha impreso todos los valores de dicho
arreglo de forma tabular, por medio de la instrucción printf, dentro de los comentarios
(/* */) entre las líneas 13 y 17, además de las líneas 22 a 27, se explica cómo se
establecen en la instrucción de impresión las tabulaciones, el resultado se presenta en
la Figura 3.2.2
© Universidad Estatal de Milagro – UNEMI
13
Datos estructurados: Vectores, cadenas de texto y vectores multidimensionales - Vectores
14
Datos estructurados: Vectores, cadenas de texto y vectores multidimensionales - Vectores
Existen varios algoritmos básicos de ordenación, pero en este caso estudiaremos los
más básicos:
Por medio de este procedimiento se realiza una búsqueda secuencial dentro del
vector, el algoritmo de ordenación por inserción (ascendente) funciona de la siguiente
manera.
15
Datos estructurados: Vectores, cadenas de texto y vectores multidimensionales - Vectores
16
Datos estructurados: Vectores, cadenas de texto y vectores multidimensionales - Vectores
17
Datos estructurados: Vectores, cadenas de texto y vectores multidimensionales - Vectores
El método de ordenación por selección directa permite ordenar valores, haciendo uso
de dos vectores, o listas, la lista principal almacena los datos desordenados, mientras
que por medio de un procedimiento se la recorre en búsqueda del elemento mínimo
quien se colocará primero en la segunda lista la cual irá recibiendo los elementos
mínimos de la lista principal para agruparlos de menor a mayor.
18
Datos estructurados: Vectores, cadenas de texto y vectores multidimensionales - Vectores
Este método se encarga de encontrar el menor valor dentro del vector, cuando lo
encuentra, lo desplaza a la izquierda, haciendo un intercambio con el elemento que
reemplaza, el cual se almacena en una variable auxiliar, como se expresa en el
algoritmo de la figura 3.6.
Tal como se observa en la figura 3.5 cuando un elemento se encuentra con otro menor
a él, este se queda ubicado en la misma posición, y el elemento con menor valor
empieza a compararse con los restantes.
© Universidad Estatal de Milagro – UNEMI
19
Datos estructurados: Vectores, cadenas de texto y vectores multidimensionales - Vectores
20
Datos estructurados: Vectores, cadenas de texto y vectores multidimensionales - Vectores
21
Datos estructurados: Vectores, cadenas de texto y vectores multidimensionales - Vectores
22
Datos estructurados: Vectores, cadenas de texto y vectores multidimensionales - Vectores
3. Bibliografía
» David, V. V. (2017). Curso: Programación.
» Deitel, H., & Deitel, P. J. (2004). Como_Programar en C/C++ yJava. (Pearson Educación
de México, Ed.) (4ta ed.). Naucalpan de Juárez: PRENTICE-HALL, INC.,.
23