Download programa para la fx 5800p
Document related concepts
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ó!