Índice Ejercicio 1. Cálculo de la Integral definida de un

Anuncio
Curso 2002-2003 Examen Grupo A
Programación en Visual Basic 6.0
Pág. 1
Índice
Ejercicio 1. Cálculo de la Integral definida de un Polinomio (1.5ptos)............................................. 1
Ejercicio 2. Simulación del Péndulo Simple (5.0ptos)....................................................................... 3
Antes de empezar a realizar el examen es conveniente recalcar tres cosas:
•
Deben verificar que se les ha creado la cuenta G:\, en la cual tienen que crear dos
subdirectorios: Uno será G:\Ejer1 y el otro G:\Ejer2.
•
Es importante que lean con detenimiento los ejercicios, sobretodo tienen que tratar de
entender bien lo que se les está pidiendo.
•
Se debe desarrollar primero el ejercicio 1 para poder optar a que se corrija el segundo
ejercicio.
Ejercicio 1. Cálculo de la Integral definida de un Polinomio (1.5ptos)
Este ejercicio consiste en la realización de un
pequeño algoritmo matemático en Visual Basic
6.0 que permita calcular la integral definida de
un polinomio entre dos puntos.
Para el cálculo de la integral de un polinomio del
tipo:
P( x) = A + B * x + C * x 2
se utilizará el método de aproximación de suma
de las áreas rectangulares bajo la curva. Este
Fig. 1 Cálculo de la integral como suma de las áreas
algoritmo se basa en la división del intervalo
(x1,x2) en “n” subintervalos. Si estos subintervalos son lo suficientemente pequeños se puede
aproximar el área por debajo de la función por el área del rectángulo, como se muestra en la figura.
En la Fig. 2 se muestra el formulario principal de la aplicación. En él se piden, por medio de cajas
de texto los siguientes datos:
•
Los coeficientes A, B y C del polinomio.
•
Los puntos del intervalo (x1,x2) donde se va a calcular el área del polinomio.
•
Y por último se pide el número de Puntos en que se va a dividir el intervalo (se puede
verificar que a medida que se aumenta el número de puntos, la integral es más precisa).
Además, dicho formulario tendrá una etiqueta donde se mostrará el resultado del cálculo y dos
botones de comando, uno para Calcular y el otro Salir para finalizar el programa.
Metodología de programación:
Como único requisito para dar por válido este ejercicio es que el cálculo de la integral se haga en
una función que reciba como argumentos un vector y una variable y devuelva el resultado de la
integral.
La definición de la función es como sigue:
Public Function Integral(vec() As Double, Num As Integer) As Double
Escuela Superior de Ingenieros – TECNUN – Universidad de Navarra
Curso 2002-2003 Examen Grupo A
Programación en Visual Basic 6.0
Pág. 2
A continuación se describen los argumentos de la función:
•
vec() es un vector de 5 elementos, en el cual se le pasarán los coeficientes A, B y C y los
límites x1 y x2 , según el siguiente orden:
o vec(0)=A vec(1)=B vec(2)=C vec(3)=x1 vec(4)=x2
•
Num es el número que se va a utilizar para dividir en Num intervalos.
Deben recordar que para que una función devuelva un valor, se debe utilizar una variable que tiene
el mismo nombre que la función.
La llamada en el formulario principal (desde el evento del botón calcular) podría ser de la siguiente
manera:
Private Sub cmdCalcular_Click()
Dim vec(5) As Double, Num As Integer
‘ copiar valores de las cajas de texto al vector
res = Integral(vec, Num)
‘llamada a la función Integral
‘escribir el resultado del cáculo en la etiqueta lblRes
End Sub
La función se debe realizar en un módulo nuevo, al que se le denominará funcInt.bas.
El nombre del formulario será Integral.frm y el del proyecto será Integral.vbp.
Estos tres ficheros deben estar en el directorio G:\Ejer1.
Fig. 2 Formulario del programa Integral.
Los datos de los coeficientes A, B y C y los límites X1 y X2 pueden ser reales, es decir, de coma
flotante, ya sean positivos como negativos. El único dato que será entero son los Puntos. Se debe
verificar antes de realizar los cálculos que X1 sea menor que X2.
Escuela Superior de Ingenieros – TECNUN – Universidad de Navarra
Curso 2002-2003 Examen Grupo A
Programación en Visual Basic 6.0
Pág. 3
Ejercicio 2. Simulación del Péndulo Simple (5.0ptos)
En este ejercicio se pide realizar un programa en Visual Basic
que permita simular el movimiento de un péndulo simple sin
amortiguamiento.
Las ecuaciones que rigen el movimiento del péndulo simple sin
amortiguamiento son las siguientes:
θ (t ) = θ (0) * cos(ω * t )
donde θ (0) es el ángulo inicial y ω = g / L , siendo g la cte.
de la gravedad (9.81 m/s2 en la tierra y 3.81m/s2 en marte) y L la
longitud de la cuerda (en mts.).
Fig. 3 Variables del Péndulo
El período de oscilación de la masa viene dado por la sgte. fórmula:
es el tiempo que tarda la masa en ir y volver desde el pto. Inicial.
T = 2 * π L / g Este
Como se puede apreciar en la ecuación, el ángulo θ está en función del tiempo t, esto quiere
decir que al desarrollar la simulación, hay que calcular el ángulo en el que se encuentra la masa a
cada instante y a partir de aquí hallar los valores de la posición en x e y, que vienen dados por las
y = L * cos(θ ) donde θ debe estar en radianes (si
siguientes ecuaciones: x = L * sin(θ )
consideramos el origen de la Fig. 3)
En la Fig. 4 se muestra el formulario del programa Péndulo así como los componentes
necesarios para la realización de este ejercicio, los cuales describiremos a continuación:
•
ScrollBar horizontal (hsbLon): permite elegir la longitud de la cuerda (entre 0 y 100 cm.)
•
Una caja de texto txtLon para introducir de forma directa el valor de la longitud de la cuerda
(a la derecha de la Scrollbar). El dato aquí introducido sólo se aceptará cuando se presione la
tecla Enter, en cuyo caso, se debe modificar la scrollbar hsbLon. Concluyendo, hay dos
formas de introducir la longitud de la cuerda: con la scrollbar y con la caja de texto, las
cuales deben estar relacionadas, es decir que cuando cambie una, se actualice la otra.
•
TextBox (txtAng): permite introducir el ángulo inicial en grados (cuidado que en la fórmula
hay que convertirlos a radianes)
•
Dos Option Buttons para elegir el planeta de la simulación (tierra o marte).
•
Un PictureBox (pctBox) para realizar las gráficas. Poner el origen 0,0 según se ve en la
figura (parte superior central de la gráfica) y elegir la escala de acuerdo con la longitud
máxima de la cuerda.
•
Un timer (timer1) con un intervalo de 50ms para realizar la simulación.
•
Un botón de Start para empezar. Este botón debe cambiar a Stop para poder detener la
simulación (tiene una doble función).
•
Un menú con la opción Salir para terminar el programa.
Condición: Una vez que se ha iniciado la simulación ya no se debe permitir cambiar las condiciones
iniciales de Angulo, sólo variar la longitud de la cuerda y el tipo de planeta.
Escuela Superior de Ingenieros – TECNUN – Universidad de Navarra
Curso 2002-2003 Examen Grupo A
Programación en Visual Basic 6.0
Pág. 4
Formulario:
0,0
Fig. 4 Formulario del programa Pendulo.
Nota: Los cambios que se realicen en las condiciones iniciales, mientras no se esté simulando, se
deben ver en la gráfica; es decir, si cambio la longitud, se debe ver en la gráfica este cambio.
Pasos a seguir en la programación:
•
Todas las variables deben ser declaradas, para lo cual se debe utilizar Option Explicit.
•
Poner la escala adecuada del PictureBox al inicio del programa, en la función que se ejecuta
sólo una vez, cuando se carga el formulario (cuál es?). Dibujar el eje en el método paint.
•
Una vez se inicie la simulación (“Start”), se debe habilitar el timer1 y deshabilitar los
componentes necesarios e inicializar una variable t (declarada como global cómo?) a cero.
El botón de comando debe cambiar su “caption” a Stop.
•
En el evento del timer1 hay que realizar el cálculo del ángulo θ en función t. Con este valor
calcular x e y y dibujar la posición de la masa (con un circulo relleno de radio 2) y la cuerda
(una línea normal). Luego incrementar el valor de t (sumándole el intervalo del timer1 en
ms) para que se pueda realizar el nuevo cálculo (recordar que para “limpiar” un pictureBox
se usa su método cls o sino se puede utilizar el método paint para hacer el gráfico).
•
Los cambios que se hagan en la longitud y el planeta mientras se realiza la simulación, se
deben ver reflejados en ésta.
•
Cuando se presiona el botón “Stop” se detiene el timer1 y se habilitan los componentes que
no lo están y se inicializa la variable t a cero y las demás que se deseen.
Según los datos de la Fig. 4, se obtiene un período de 1.41 segundos, este es el tiempo que el
péndulo tarda en ir y volver desde la posición inicial (para L=50cm. en la tierra). Este tiempo es
independiente de la posición inicial en que se encuentre el péndulo. Sólo depende de L y g.
Los ficheros de este ejercicio deben estar en el directorio G:\Ejer2 y deben ser los siguientes:
•
Formulario: Pendulo.frm
Proyecto: Pendulo.vbp
Suerte a Todos!!!
Escuela Superior de Ingenieros – TECNUN – Universidad de Navarra
Descargar