Está en la página 1de 8

VE

V EC
CTTO
ORRE
ES EN
SE NV
VIIS
SUUA
ALLB
BAAS
SIIC
C

Docente: Ing. PABLO DANIEL LONGHI


Ayudante: GUSTAVO ZBINDEN

Universidad Tecnológica Nacional


Unidad Académica Reconquista
Ingeniería Electromecánica

D 2006 E
Programación en computación
Ing. Electromecánica – U.T.N. Reconquista

SUMA Y PROMEDIO DE UN VECTOR

Durante la resolución de problemas utilizando vectores, hemos desarrollado diagramas


de flujo similares al que se muestra a continuación. En este caso el mismo representa la
solución a la obtención del promedio de un vector de N elementos, un diagrama similar
hemos realizado para la resolución del problema de la suma.

Durante el resto del instructivo, veremos que la codificación del algoritmo en VB esta
compuesta por otras tareas que no se han desarrollado en el diagrama de flujo, como ser
el caso del ingreso de datos al vector. Ya que esta es una tarea que se realiza para todos
los casos, no se plantea como problema en el algoritmo.

Para i = 1 a N

Sum = Sum + vect (i)

Prom = Sum /N

Mostrar Prom

La codificación de este algoritmo se remite solamente a los cálculos que se hacen sobre
el vector, y en nuestro caso la codificación del diagrama de flujo esta representado por
el código relacionado con el Botón “ Calcular valores” de la siguiente pantalla.

1
Docente: Ing. Pablo Daniel Longhi
Ayudante: Gustavo Zbinden
Programación en computación
Ing. Electromecánica – U.T.N. Reconquista

Para iniciar la codificación en Visual Basic de este programa, veremos un diseño de


interfase para poder ingresar los datos de entrada y ver los datos de salida.

El formulario cuenta con etiquetas como el caso del titulo y los demás elementos
descriptivos de los datos entrada. Las etiquetas son las siguientes con sus respectivos
valores

Label 1 “Promedio de los valores de un ...”


Label 2 “Cantidad de elementos del vector”
Label 3 “Suma de los valores del vector”
Label 4 “Promedio de los valores del vector”

Además cuenta con dos frames que nos van a servir para encuadrar los datos de entrada
de los datos de salida

Frame 1 “Ingreso de los datos”


Frame 2 “Calcular”

Tres botones, dos que servirán para ingresar los datos y para calcular los resultados y
mostrarlos y otro para salir del programa.

2
Docente: Ing. Pablo Daniel Longhi
Ayudante: Gustavo Zbinden
Programación en computación
Ing. Electromecánica – U.T.N. Reconquista

Command Botton 1 “Cargar datos del vector”


Command Botton 2 “Calcular valores”
Command Botton 3 “Salir”

Además , para mostrar los datos ingresados correspondientes a los valores del vector se
utilizara un objeto Picture. El mismo se encuentre dentro del frame “ingreso de datos”.
Este objeto deberá tener las siguientes propiedades para su correcto funcionamiento.

AutoRedraw = True ScaleMode = Centimeter

Los últimos elementos son las cajas de texto, las cuales nos servirán para mostrar los
valores ingresados, como la cantidad de valores del vector y las restantes para mostrar
los datos de salida:

TextBox 1 Muestra la cantidad de valores del vector


TextBox 2 Muestra la suma
TextBox 3 Muestra el promedio
La particularidad que presentan estas cajas de texto es que la utilizaremos solamente
para mostrar valores, no para ingresar, que es su función principal. Para optimizar esta
característica deberemos cambiarle la propiedad Enable a “False” para no permitir el
ingreso de valores a la caja de texto.

3
Docente: Ing. Pablo Daniel Longhi
Ayudante: Gustavo Zbinden
Programación en computación
Ing. Electromecánica – U.T.N. Reconquista

A continuación se detallaran los códigos de los eventos de los objetos command botton,
a través del evento clic, que relazarán las operaciones necesarias para realizar la tarea.
El siguiente código corresponde al evento clic del botón “Cargar datos del vector”.

Cargar de datos del vector


1 Private Sub carga_Click()
2 Text1.Text = " "
3 Text2.Text = " "
4 Text3.Text = " "
5 n = InputBox("ingrese la cantidad de valores del vector", "Valores")
6 Text1.Text = n
7 ReDim vector(1 To n)
8 For i = 1 To n
9 vector(i) = InputBox("ingrese el valor vector (" & i & ")", "Valores")
10 Picture1.CurrentX = I
11 Picture1.CurrentY = 0.2
12 Picture1.Print vector(i)
13 Next I
14 End Sub

Seguidamente se explicaran las funciones de cada una de las líneas:

1 Nombre del procedimiento (automático)


2 Blanquea la caja de texto 1 por si quedan valores de ejecuciones anteriores.
3 Blanquea la caja de texto 2 por si quedan valores de ejecuciones anteriores.
4 Blanquea la caja de texto 3 por si quedan valores de ejecuciones anteriores.
Carga de la variable n, que me dará la cantidad de valores que tendrá el vector. Se
5 utiliza la instrucción Inputbox () para ingresar el valor que será asignado a la
variable n.
6 Se muestra el valor de la variable “n” en la caja de texto 3.
7 Se redimensiona el vector a una cantidad de posiciones de valor “n”.
8 Inicio de la estructura repetitiva de 1 a n.
9 Se asigna el valor de vector (i) a través del inputbox ().
10 Se asigna la coordenada x dentro del picture.
11 Se asigna la coordenada y dentro del picture.
12 Se muestra el valor del vector en la pos. I, dentro del Picture.
13 Cierre de la instrucción repetitiva.
14 Fin del procedimiento.

4
Docente: Ing. Pablo Daniel Longhi
Ayudante: Gustavo Zbinden
Programación en computación
Ing. Electromecánica – U.T.N. Reconquista

Posicionamiento
Vale hacer alguna aclaración respecto al posicionamiento dentro del Picture,
observemos lo siguiente:

0,2

I=1

En este caso particular, la posición en el eje de las x es igual a i, o sea que de acuerdo a
la repetición este valor será: 1, 2 , 3... y como la escala del Picture esta en centímetros,
estos valores serán de 1, 2, 3 cm. para las posiciones 1, 2 y 3 de los respectivos valores
del vector en esas posiciones.
Respecto al eje de las y, el valor es constante en todo el vector, y es de 0.2 cm. desde el
borde superior del Picture para todos los valores, ya que no depende de “i”, ni de otra
variable.
En el caso de que se tome la escala en milímetros, tendremos que poner valores acordes
para la correcta distribución dentro del Picture.

Función INPUTBOX()
Una manera de ingresar los datos es a través de esta función de Visual Basic. La misma,
con los parámetros que figuran en la línea 5, nos permitirá cargar el valor de “n” para
poder definir la dimensión definitiva del vector. La apariencia de la ejecución de dicha
función es la siguiente:

Para el caso del ingreso de los valores del vector, la forma tendrá una variación, que es
la de introducir una variable en la descripción, en este caso la variable es el valor de “i”.

5
Docente: Ing. Pablo Daniel Longhi
Ayudante: Gustavo Zbinden
Programación en computación
Ing. Electromecánica – U.T.N. Reconquista

También tendremos que declarar las variables, en este caso y por simplicidad , las
declararemos en el Option Explicit de la siguiente manera:

1 Option Explicit
2 Dim n As Integer
3 Dim i As Integer
4 Dim sum As Single
5 Dim prom As Single
6 Dim vector() As Single

La fila 1 es una palabra reservada, las líneas 2 a la 5 definen las variables comunes, y en
la fila 6 se define el vector, con su nombre y su tipo de dato, no se define todavía el
tamaño, el cual se fijara en la línea 7 del evento “carga de datos del vector”, con la
sentencia Redim().

Calcular valores

El calculo de las variables de salida se realizaré a través del evento “clic”, del botón,
“Calcular valores”, y el código es el siguiente:

1 Private Sub calculo_Click()


2 sum = 0
3 prom = 0
4 For i = 1 To n
5 sum = sum + vector (i)
6 Next I
7 prom = sum / n
8 Text2.Text = sum
9 Text3.Text = prom
10 End Sub

Las aclaraciones de cada línea son las siguientes:

1 Nombre del procedimiento, del evento clic


2 Se pone a 0 la variable sum, en caso de que tenga algún dato de otra ejecución.
3 Se pone a 0 la variable prom, en caso de que tenga algún dato de otra ejecución.
4 Inicio de la estructura repetitiva para sumar los datos del vector.
5 Instrucción de asignación , acumulador.
6 Final de la estructura repetitiva (Fin-para)
7 Instrucción de asignación para hallar el promedio
8 Asignación de la variable sum a la caja de texto correspondiente.
9 Asignación de la variable prom a la caja de texto correspondiente.
10 Fin del procedimiento.

6
Docente: Ing. Pablo Daniel Longhi
Ayudante: Gustavo Zbinden
Programación en computación
Ing. Electromecánica – U.T.N. Reconquista

Salir

1 Private Sub salir_Click()


2 Unload Me
3 End Sub

Este procedimiento solo tiene una instrucción , que es la que cierra el formulario.

Resultado de una ejecución

Nota:

Este instructivo tiene por finalidad dar una alternativa simple para el ingreso de
vectores. Existen otras funciones en Visual Basic que brindan mejores prestaciones para
este tipo de tarea (Flexgrid).
Son muchas las operaciones que se pueden realizar sobre vectores, aquí se puede
obtener una de las manera de cargar y mostrar vectores.

7
Docente: Ing. Pablo Daniel Longhi
Ayudante: Gustavo Zbinden

También podría gustarte