Programación del Método del trapecio.
Enviado por Russell Garcia • 29 de Marzo de 2016 • Tarea • 3.626 Palabras (15 Páginas) • 285 Visitas
[pic 1]
Plantilla principal del Programa-Método del trapecio.
[pic 2][pic 3]
Botón principal Resolver
//Evalúa todos los paréntesis en caso de faltar uno aparecerá el siguiente mensaje
ON ERROR w=0
w=1
x=1
ecua=ALLTRIM(thisform.text1.value)
z=&ecua
ON ERROR
IF w=0
=MESSAGEBOX("Revisa tu ecuación",16,"Error")
RETURN
ENDIF
//Buca todas la “X”
IF "X"$THISFORM.TEXT1.VALUE
//Formaliza la tabla
DIMENSION array_resultados(thisform.n.Value+1,3)
//Realiza la operación, para saber el valor de h=b-a/n
h=(thisform.b.Value-thisform.a.Value)/thisform.n.Value
//Realiza un FOR de 0 hasta lo que mida n (Numero de intervalos), //guardando los valores en la tabla
FOR count_gusa=0 TO thisform.n.Value
array_resultados(count_gusa+1,1)=count_gusa
array_resultados(count_gusa+1,2)=thisform.a.Value + (count_gusa*h)
//Evalúa los resultados obtenidos en (1,2) y los mete en la //ecuación, dejando los resultados en (1,3)
x=array_resultados(count_gusa+1,2)
ecua=ALLTRIM(thisform.text1.value)
array_resultados(count_gusa+1,3)=&ecua
NEXT
//Obtenidos los resultados en (1,3), el programa busca el primer y //el ultimo valor de la tabla, guardándolos en fa y fb //respectivamente.
fa=array_resultados(1,3)
fb=array_resultados(thisform.n.Value+1,3)
//Busca los otros resultados sumándolos entre sí, guardándolo en //fs.
fs=0
FOR count_gusa=2 TO thisform.n.Value
fs=fs+array_resultados(count_gusa,3)
//Después fs será multiplicado por 2, enseguida será sumado con fa //y fb, guardando el valor en fs, a continuación tomando el valor //de h y dividiéndolo entre dos será multiplicando por el valor de //fs, el valor obtenido será guardado en fs
NEXT
fs=fs*2
fs=fa+fb+fs
fs=(h/2)*fs
//El resultado obtenido será redondeado a 10 decimales
thisform.text4.Value=ROUND(fs,10)
//El siguiente codigo sera para copear los valores de a, b, la //ecuación ingresada en el cuadro de texto y el resultado obtenido //en fs
thisform.label7.Caption=ALLTRIM(STR(thisform.b.Value))
thisform.label8.Caption=ALLTRIM(STR(thisform.a.Value))
thisform.label9.Caption=ALLTRIM(thisform.text2.Value)+")dx="+ALLTRIM(STR(thisform.text4.Value,20,10))+" U^2"
*****
//A continuación se presenta el código de la gráfica, tabulando //todos los resultados obtenidos de la tabla (1, 2) y (1, 3)
CLOSE DATABASES
SELECT 0
USE vfpgraph
thisform.oleboundcontrol1.controlsource="olegraph"
SELECT vfpgraph
#DEFINE CRLF CHR(13)+CHR(10)
#DEFINE TAB CHR(9)
lcData= " " + TAB + "F(x)" + CRLF
FOR t=1 TO ALEN(array_RESULTADOS,1)
lcData = lcData + alltrim(STR(array_RESULTADOS(t,2),20,16))
lcData = lcData + TAB
lcData = lcData + ALLTRIM(STR(array_RESULTADOS(t,3),20,16)) + CRLF
next
go 1
APPEND GENERAL olegraph DATA lcData
go 1
thisform.oleboundcontrol1.Refresh
thisform.oleboundcontrol1.visible=.t.
thisform.oleboundcontrol1.Refresh
...