Download programa para la fx 5800p

Document related concepts

Resolución de triángulos wikipedia , lookup

Teorema del coseno wikipedia , lookup

Triángulo wikipedia , lookup

Trigonometría esférica wikipedia , lookup

Triángulo rectángulo wikipedia , lookup

Transcript
PROGRAMA PARA LA FX 5800P
Aviso para lectores:
Estos son los códigos empleados en el programa a falta de algo que se parezca mas a lo que
escribimos en la calculadora
El símbolo * representa la multiplicación
El símbolo / representa la división
El símbolo ¬ representa la orden de fracción
El símbolo -> representa la flecha de asignación a una memoria, es decir, la orden STOrage
El símbolo => representa al comando de salto que aparece en la tercera posición de la tercera
pantalla del menú de funciones de progr
El símbolo # representa al triangulito de mostrar texto y espera a que se pulse tecla EXE para
quitar el disp
Espero que se entiendan las indicaciones. Yo escribiré las ordenes una debajo de otra, y luego
el lector ya las pondrá del modo que quiera, con : o con EXE para escribirlas en diferentes
líneas ( yo lo haré como indico para poder añadir comentarios de cara a ilustrar el programa )
"DADOS 3 DATOS DE UN TRIANGULO NOS CALCULA LOS TRES RESTANTES. YO!"
#
%Se puede sustituir por el texto aclaratorio que se quiera. Ocupa una pantalla
Goto 8:
% Salta el mensaje de error al comienzo del fichero
Lbl 9:
% aquí se llega si hay algún error en los datos
"DATOS ERRONEOS"#
%No es muy explícito, pero para mi vale
Lbl 8:
%Una vez mostrado el mensaje en caso de error, pasamos a pedir
nuevamente los datos
Cls:
"LAD ->GOR ANG->gor": %Indico como voy a llamar a los lados y a los ángulos. Para estos he
utilizado los simbolos del menú de funciones 5:Angle
"1-CONOCID G,O,R":
%Explico cuales son los 3 casos de definición de
triángulos. Conocidos los tres lados
"2-CONOCID G,O,r":
% Conocidos dos lados y su angulo situado entre ellos
"3-CONOCID G,o,r"#
%Conocido un lado y sus dos ángulos adyacentes
"TU CASO"?->C:
%Leemos en C el caso propuesto
"LADO G"->L:
%Como en los tres casos leemos un lado, lo hacemos ya para
ahorrar código. EL guardarlo en la variable L es por mania personal sobre las memorias
% Si la medida del lado es negativo tenemos un error
G<0=>Goto 9:
C<3 =>Goto 1:
% en el aparatado 1 trabajaremos los dos primeros casos
"ANGULO r"?->U:
%Estamos en el caso 3 y empezamos a leer las medidas de los
ángulos
U<0=>Goto 9:
%Si la medida del ángulo es negativo
U>180 => Goto 9:
% O el ángulo es mayor de 180
"ANGULO o"?->S:
%Si el primer ángulo es correcto, leemos el segundo
S<0=>Goto 9:
%Si la medida del ángulo es negativo
S>180 => Goto 9:
% O el ángulo es mayor de 180
"ANGULO g =":
%Todo es correcto en el caso 3, vamos a calcular los datos que
faltan
180 - U - S -> T
%El tercer ángulo será lo que les falta hasta completar el ángulo
llano, y lo guardamos en la 3 variable para ángulos
"LADO O = ":
%Aplicando el teorema del seno
(L*sin(S))¬(sin(T))#
%Aquí queda calculado
"LADO R =":
%Calculamos el lado que falta
(L*sin(U))¬(sin(T))#
%Nuevamente utilizando el Teorema del Seno
Goto 0:
%Hemos acabado este caso
Lbl 1:
%Estamos en el caso 1 ó 2
"LADO O"?->K:
%Leemos el segundo lado que necesitamos en cualquiera de los dos
casos mencionados
%Si la medida del lado es negativo, nos encontramos ante un error
K<0 => Goto 9:
C=2 => Goto 2:
%En el apartado 2, trataremos el caso 2
"LADO R" ? -> M:
%Estamos en el caso 1 y nos faltaba leer la medida del tercer lado
M<0 => Goto 9:
%Nuevamente comprobamos que la lectura es correcta
If K > L:
%Ahora tenemos que comprobar que el lado mayor es menor que
la suma de los otros dos
Then If K > M:
% K es el mayor de los 3 lados
Then K > L+ M => Goto 9:
Else M > K + L => Goto 9: %En este caso el mayor debe ser M, ya que K es mayor que
L
IfEnd:
Else If L > M:
% K es menor que L
Then L > K + M => Goto 9: % Y por tanto hay que comprobar, que el mayor de los lados
( L ) es menor que la suma de los otros 2
Else M > K + L => Goto 9:
IfEnd:
%Las medidas de los lados son correctas
IfEnd:
%Ahora pasamos a calcular los datos que faltan
"ANGULO r = ":
%Comenzamos a calcular los ángulos por medio del Teorema del
Coseno
cos-1((M2-K2-L2)/(-2KL))# %arcocoseno de(( el cuadrado de M - el cuadrado de K - el
cuadrado de L)entre(-2 por K y por L))
Lbl 3:
%Esta parte se comparte con el caso 2, ya que aquí también
tenemos que calcular los dos ángulos que faltan
"ANGULO o = ":
cos-1((K2-M2-L2)/(-2ML))#
"ANGULO g = ":
cos-1((L2-M2-K2)/(-2MK))#
Goto 0
% Hemos acabado estos casos
Lbl 2:
% Aquí llegamos después de haber leído que es el caso 2, y
hemos leído la longitud de dos lados
"ANGULO r"?->U:
%Pedimos el dato que nos falta, que es el ángulo entre los dos
lados conocidos
U < 0 => Goto 9:
%Comprobamos el valor leído
U > 180 => Goto 9:
%Que se ajuste a valores entre 0 y 180
"LADO R = ":
%Ya tenemos los 3 datos, empezamos a calcular el resto
RAIZ(L2+K2-2LKcos(U))->M
%La medida del lado R la conseguimos gracias al Teorema del
Coseno, mediante la raiz cuadrada de la suma del cuadrado de los otros dos lados
%menos el doble del producto de los dos lados por el coseno del
angulo comprendido entre ellos, y lo guardo en la memoria M
Goto 3:
% Salto al apartado 3 para calcular el valor de los
dos ángulos que faltan
Lbl 0:
%Se acabó!