Los Nueve Principios del Desempeño de la Sostenibilidad
Cap7 1 vectores
1. Vectores
CAPITULO 7-
1
Ing. Mary Dunnia López N.
UNIVERSIDAD AUTONOMA GABRIEL RENE MORENO
Facultad Ciencias Exactas y Tecnología
Semestre II/2018
2. Dados 50 números enteros, obtener el promedio de ellos y encontrar los
números que fueron mayores que el promedio.
• Una de las principales dificultades que se observan con
estos problemas es que para la resolución de ambos es
necesario almacenar la totalidad de los datos a
procesar.
• No sería eficiente crear N cantidad de variables para
guardar estos datos.
Es posible resolver estos problemas?
Por qué?
Como ?
3. Es una forma particular de organizar datos en una
computadora para que pueda ser utilizado de manera
eficiente.
Tipos de
Estructuras
Simples
Reales
Enteros
Carácter
Booleano
Cadenas
ARREGLOS: Vectores y
Matrices
Complejas
4. 1. Introducción
• Definición
• Estructura Vector
2. Algoritmos
Típicos
• Cargar un Vector
• Mostrar un Vector
3. Algoritmos
útiles
• Ordenar un Vector
• Buscar en un Vector.
4. Ejercicios
• Ejercicio1
• Ejercicio2
5. Mi vector
Nombre de la variable
9 35 4 826
Elementos
Posición : 0
Mi vector[0] = 9
Un vector es una estructura de datos que puede almacenar un conjunto de datos
de un mismo tipo.
Características:
• Se identifica con un único nombre de variable.
• Cada elemento se almacena en posiciones uno a lado de la otra.
• Se accede a cada uno de sus elementos por la posición que
ocupa
6. Como se dijo anteriormente, los arreglos son estructuras de datos,
por lo tanto las mismas deben ser declaradas.
Dim
nombre_del_vector (tamaño) as
tipo_dato
Dim
nombreVector () as tipoDato
…
…
Redim nombreVector(10)
7. 1. Asignación de valores
Alumnos(3) = “Juan Perez”
Precios(0) = “23.50”
2. En un vector los datos son todos del mismo tipo
23.5 00 0 0Juan Perez0
8. Option explicit on
Dim vec() as integer
Dim n as integer
Sub CarVec()
Dim x as string, i as integer
N= TextBox.Text
Redim Vec(N)
for i:= 0 to N-1 do
x=Grid1.item(i,0).value
vec(i)=cint(x)
next i
End Sub
9. Option Explicit on
Dim vec() as integer
Dim n as integer
Sub MosVec()
Dim i as integer, x as string
Redim vec(n)
for i:= 0 to n-1 do
x= cstr(vec(i) )
Grid1.Item(i,0).value=x
next i
End Sub
10. Pasos para resolver este problema:
Leer un vector de N elementos
Ordenar el vector por un método
Conocido
Mostrar el Vector ordenado
Pasos para resolver este problema:
Leer un vector de N elementos
Ordenar el vector por el método Burbuja
Buscar un elemento (X) entre todos los
elementos del vector
Si encuentra el valor mostrar su posición.
Ordenar los elementos de un vector
Buscar un “valor en un vector de N elementos.
18. Option Explicit on
Dim Vector1() as integer
‘Grid1 es el objeto DataGrid del formulario
'El SUB CarVec copia Grid1 al vector de programa llamado Vec1
Sub CarVec()
Dim n as integer, pos As Integer
'Obteniendo la dimensión del vector
n = CInt(text2.Text)
ReDim Vector1(n)
For pos = 0 To n - 1
Vector1(pos) = Grid1.Item(pos,0)
Next pos
End Sub
Dele 2 Click sobre el boton en el Formulario
Suba a la linea 1 del archivo y escriba las siguientes instrucciones
Private Sub Button1_Click()
Call CarVec
Call OrdVecPro
Call MosVec
End Sub
Avance con el cursor hasta la línea dentro del Button1_Click
19. 'Ordenando por método de la burbuja
Sub OrdVecPro()
Dim i As Integer, j As Integer
Dim aux As Integer, n As Integer
n = CInt(Text2.Text)
'Comienza a recorrer el vector y ordenar
For i = 0 To n - 2
For j = i + 1 To n - 1
If (Vector1(i) > Vector1(j)) Then
aux = Vector1(i)
Vector1(i) = Vector1(j)
Vector1(j) = aux
End If
Next j
Next i
End Sub
'Mostrando el vector ordenado
Sub MosVec()
Dim n As Integer, pos As Integer
n = CInt(Text2.Text)
For pos = 0 To n - 1
Grid1.Item(pos,0) = Vector1(pos)
Next pos
End Sub
20.
21. Precondición
El vector debe estar ordenado
Algoritmo
Se compara el dato buscado con el elemento en el
centro del vector.
Si coinciden, el dato ha sido encontrado
Si el dato es mayor que el elemento central del
vector, se tiene que buscar el dato en segunda mitad
del vector.
Si el dato es menor que el elemento central del
vector, se tiene que buscar el dato en la primera
mitad del vector.
24. Cargar 10 elementos en un vector, sumarlos y mostrar el
resultado.
Pasos para resolver este problema:
Leer un vector de 10 elementos
Sumar los elementos
Mostrar el resultado de la suma en pantalla
Ejemplo 1
Muestra
resultados
Lectura del
vector
Suma de
los elementos
25. Pasos para resolver este problema:
1. Crear un nuevo proyecto con: TextBox1 (N), DataGridView1
(Vector), Button (boton).
2. Haga 2click sobre el boton Button1.
Private SUB Button1_Click()
CALL Sumar()
End sub
3. Declarar el vector como Variable Global debajo de la instrucción
Public Class Form1
Dim sumandos() as integer
4. Luego Crear el proceso Sumar.
26. Sub Sumar()
Dim suma as integer, N as integer, i as integer, x as string, mensage as
string
N = CInt(Text2.Text)
ReDim sumandos(N)
suma = 0
For i = 0 To N - 1
‘Grid1 es el nombre objeto tipo DataGrid del Formulario
x = Grid1.Item(i,0).value
sumandos(i) = CInt(x)
suma = suma + CInt(x)
Next i
mensage = "La suma total es: " + CStr(suma)
MsgBox («TOTAL»,VBOkOnly,mensage)
End Sub
Lectura desde el DataGrid
Suma de los elementos
Muestra resultados
Dimension del vector
27. Leer un vector de 15 elementos
Acumular en S la sumar los elementos
Dividir S entre 15
Mostrar el Promedio
Recorrer el vector buscando y mostrando
los que sean mayor que el promedio.
Dados 15 números enteros, obtener el promedio de
ellos. Mostrar por pantalla dicho promedio y los números
ingresados que fueron mayores que el promedio
Pasos para resolver este problema:
Hinweis der Redaktion
Dim nombres(5) as string
Dim nombres() as string
……………………
……………………
Redim nombres(5)
Se comienza comparando el primer elemento con el segundo, si están desordenados se intercambian. Luego se compara el segundo con el tercero, intercambiándolos si están desordenados.
Este proceso que se realiza sobre todos los elementos constituye una pasada sobre el vector. Al terminar algunos de los elementos más pequeños se han “burbujeado” hacia arriba, mientras que los más grandes se han “hundido”, de aquí el nombre del método.
Encontrando el Primero Comenzar con el primer elemento (i)
e ir comparando con el siguiente hasta el ultimo (j)
Encontrando el Segundo Al termniar de comparar el primero con todos
saltar al segundo elemento (i)y comparar el segundo con todos