Anexo A
Diferencias de sintaxis de algunos estatutos entre versiones de QBASIC y QB64 para Windows 7
Competencia instrumental: Habilidad bsica de manejo de la computadora
Dependiendo de la infraestructura de cmputo donde se realicen las competencias se deben
tener en consideracin las observaciones que se detallan ms adelante, esto es debido a que se
han detectado algunas situaciones al ejecutar los programas FelMath@. Por ejemplo:
o QB64 para ROMBERG no puede resolver el ejercicio 2 de la prctica 6.10
o QB64 para ROMBFOUR presenta ligera diferencia al generar los coeficientes de Fourier
de la prctica 6.11
o QB64 para POLEGEND, no soporta la instruccin de la prctica 6.12
DO WHILE POLINOMIO(A(), ZL, A, N) * POLINOMIO(A(), ZL + .05, A, N) >= 0
o QB64 para RUNGEKUT presenta diferencias significativas en la prctica 7.7
En la primera edicin de Mtodos Numricos por computadora, la codificacin de los
programas de cmputo se muestran escritos en QBASIC, a los cuales se les deber modificar la
sintaxis correspondiente solo a los estatutos que no son compatibles o no estn definidos en el
mbito de QB64 versin 0.942; Las funciones deben ser introducidas a travs de New Function
del men Edit y eliminar o comentar las DEF FNF(). Los cambios se muestran a continuacin:
Nombre del
programa
BEATTIE
FANNING
Sintaxis en
QBASIC
DECLARE SUB LEE.VECTOR.DATA (X!(), I, N)
CALL LEE.VECTORDATA(P(), 0, M)
SUB LEE.VECTORDATA (X(), I, N)
DEF FNF (CF, RE) = -.4 + 1.74 * LOG(RE * SQR(CF)) SQR(1 / CF)
DELTAPRE
GRAEFFE
BAIRSTOW
ESCALA
G_GAUSS
CALL LEE.MATRIZ.DATA(A(), N, M)
SUB LEE.MATRIZ.DATA (MATRIZ(), N, M)
Felmath@
Sintaxis en
QB64
DECLARE SUB LEE.VECTORDATA (X!(), I, N)
CALL LEE.VECTORDATA(P(), 0, M)
SUB LEE.VECTORDATA (X(), I, N)
FUNCTION FNF (CF, RE)
FNF = -.4 + 1.74 * LOG(RE * SQR(CF))
SQR(1 / CF)
END FUNCTION
FUNCTION FNF (ROUE, D, RE, FM)
FNF = -2 * LOG(ROUE / (3.7 * D) + 2.51 / (RE
* SQR(FM))) / LOG(10) - 1 / SQR(FM)
END FUNCTION
DECLARE SUB LEE.NDATA (L, X!(), N)
CALL LEE.NDATA(1, A(), NP1)
SUB LEE.NDATA (L, X(), N)
DECLARE SUB LEE.NDATA (L, X!(), N)
CALL LEE.NDATA(3, A(), NP3)
SUB LEE.NDATA (L, X(), N)
DECLARE SUB LEE.MATRIZDATA (MATRIZ!(),
N, M)
CALL LEE.MATRIZDATA(A(), N, M)
SUB LEE.MATRIZDATA (MATRIZ(), N, M)
Hoja de corrida
Nombre del
programa
G_JORDAN
Sintaxis en
QBASIC
DECLARE SUB LEE.MATRIZ.DATA (MATRIZ!(), N, M)
JACOBI
G_SEIDEL
Sintaxis en
QB64
DECLARE SUB LEE.MATRIZDATA (MATRIZ!(),
N, M)
CALL LEE.MATRIZDATA(A(), N, NPLUSM)
SUB LEE.MATRIZDATA (MATRIZ(), N, M)
FUNCTION FNF1 (X1, X2)
FNF1 = SIN(X1 * X2) - X2 / (2 * PI)
END FUNCTION
FUNCTION FNF2 (X1, X2)
FNF2 = 2 * PI * X1 - (PI - .25) * (EXP(2 * X1 1) - 1)
END FUNCTION
DECLARE SUB LEE.NDATA (L, X!(), N)
DECLARE SUB LEE.MATRIZDATA (MATRIZ!(),
N, M)
CALL LEE.MATRIZ.DATA(A(), N, M)
CALL LEE.N.DATA(1, X(), N)
CALL LEE.MATRIZDATA(A(), N, M)
CALL LEE.NDATA(1, X(), N)
ILIN2DIM
DERIV1Y2
CALL LEE.MATRIZ.DATA(F(), N, M)
SUB LEE.MATRIZ.DATA (MATRIZ(), N, M)
DEF FNFX (X) = 6 * X ^ 2 - X ^ 3
TRAPECIO
SIMPSON
ROMBERG
ROMBFOUR
EIGENVAL
Felmath@
Hoja de corrida
Nombre del
programa
POLEGEND
LEGENDRE
TAYLOR3
Sintaxis en
QBASIC
DO WHILE POLINOMIO(A(), ZL, A, N) *
POLINOMIO(A(), ZL + .05, A, N) >= 0
DECLARE SUB LEE.VECTOR.DATA (X!(), I, N)
CALL LEE.VECTOR.DATA(NPUNTOS(), I, N)
CALL LEE.VECTOR.DATA(LLAVE(), 0, N)
CALL LEE.VECTOR.DATA(Z(), 0, N)
CALL LEE.VECTOR.DATA(PESO(), 0, N)
SUB LEE.VECTOR.DATA (X(), I, N)
DEF FNFXY (X, Y) = (2 * X * Y)
EULERS1
EULERM1
EULERM2
RUNGEKSY
Sintaxis en
QB64
No soportado
DECLARE SUB LEE.VECTORDATA (X!(), I, N)
CALL LEE.VECTORDATA(NPUNTOS(), I, N)
CALL LEE.VECTORDATA(LLAVE(), 0, N)
CALL LEE.VECTORDATA(Z(), 0, N)
CALL LEE.VECTORDATA(PESO(), 0, N)
SUB LEE.VECTORDATA (X(), I, N)
FUNCTION FNFXY (X, Y)
FNFXY = (2 * X * Y)
END FUNCTION
FUNCTION FNDF (X, Y)
FNDF = 2 * X * FNFXY(X, Y) + 2 * Y
END FUNCTION
FUNCTION FNFXY (X, Y)
FNFXY = 6 - Y / 100
END FUNCTION
FUNCTION FNFXY (X, Y)
FNFXY = 6 - 2 * Y / (300 + X)
END FUNCTION
FUNCTION FNN1 (X, Y, T)
FNN1 = Y
END FUNCTION
CALL LEE.VECTOR.DATA(G(), 0, N)
CALL LEE.VECTORDATA(G(), 0, N)
Felmath@