Professional Documents
Culture Documents
PROGRAMACION
Introduccin
Programar la calculadora corresponde a decirle que presione teclas por s misma automticamente.
Los programas se pueden construir en la ventana RUN-MAT, eligiendo con SHIFT la opcin PRGM
sobre la tecla VARS, o bien ingresando en la ventana PRGM si se desea construir o ingresar programas
con la intencin de que stos permanezcan en la calculadora permanentemente para ser ocupados
posteriormente. A modo de ejemplo, organice un programa en la ventana RUN-MAT que permita
calcular el valor final de 2 x + 3y para cualquier valor de x, y cualquier valor de y. Observe que si bien
el smbolo , el smbolo n y las letras estn en el teclado, los otros smbolos tales como el signo de
interrogacin ? , los encontrar en el submen de las teclas SHIFT PRGM.
Ejemplo 1
En la ventana RUN-MAT, ingresemos la siguiente sintaxis:
? An
?Bn
2A +3B
Presionemos EXE para ejecutar el programa. La calculadora presentar a continuacin un primer signo
de interrogacin esperando el ingreso del valor A. Una vez que ingresa un valor para A oprima EXE y
aparecer un nuevo signo de interrogacin para ingresar un valor para B. Ingrselo y oprima EXE.
Aparecer el resultado de 2A + 3 B.
A continuacin se ver toda la secuencia en la calculadora:
47
Obtengamos por ejemplo los resultados para A = 152, 312 y B = 365,823 y para A = 2 10 5
3,15 10 6
y B=
Ejemplo 2
Mejoremos ahora la calidad de la programacin. Organicemos el siguiente programa que nos permitir
calcular simultneamente el rea de un crculo y la longitud de la circunferencia conocido el radio.
Ingresemos a la ventana PRGM y elijamos NEW. La calculadora estar esperando por un nombre de
programa (observe que el cursor est en ALPHA). Ingresemos el nombre CIRCULO y oprimamos
EXE. Ingresemos a continuacin la siguiente sintaxis observando que lo que est escrito entre comillas
se ver explcitamente en la pantalla al correr el programa. Las comillas estn en el teclado sobre la
tecla EXP. Comenzamos con el comando Lbl que acompaado de un nmero indica el nombre de un
rtulo y finalizamos con el comando Goto que acompaado del mismo nmero servir para realizar un
salto incondicional a una ubicacin especificada. Con ello permitimos que el programo se ejecute
constantemente . Estos comandos se encuentran en el submen JUMP al que se ingresa oprimiendo las
teclas SHIFT PRGM.
El smbolo p se halla oprimiendo SHIFT PRGM y el smbolo se produce al oprimir EXE cuando
se desea pasar a la lnea siguiente durante la programacin
Oprimamos la tecla ESC y habremos salido al listado de nombres de programa. Veremos nuestro
programa con el nombre de CIRCULO.
Si ha salido, pero desea reparar o editar lo ya programado, debido por ejemplo a algun error, ingrese al
programa con el submen EDIT.
48
Ejemplo 3
EL NUMERO e
1
Consideremos ahora la siguiente funcin f ( x ) = (1 + ) x . Ingrese en la ventana PRGM el nombre de
x
un nuevo programa llamado NUMERO E. Ingresemos el programa siguiente:
Salgamos de la programacin con ESC y ejecutemos el programa con EXE para hallar las imgenes de
los valores de x = 10, 100000, 1010 , 1011 ,1012
49
A qu valor tienden las imgenes de x cuando x crece indefinidamente? (ese valor constante se
denota en Matemticas por e)
Lo invitamos ahora a ingresar los valores de x = 1014 ,1015 , 10 20 . Reporte la anomala que se produce e
intente hallar una explicacin para comprender por qu los valores de las imgenes de stos nuevos
valores de x no corresponden a lo esperado. Para refrendar su explicacin ingrese la funcin en la
ventana GRAPH-TBL y obtenga un grfico de la funcin:
Lo invitamos ahora a volver a la ventana PRGM y a ejecutar el programa NUMERO e para obtener los
valores de x = 1014 ,1015 , 10 20 . Intente explicar la anomala que se produce y encuentre una explicacin
para comprender por qu los valores de las imgenes de stos nuevos valores de x no corresponden a lo
esperado.
Ejemplo 4
LAZOS EN LA PROGRAMACION
Con frecuencia deseamos repetir un mismo clculo varias veces. Intentemos por ejemplo sumar los n
primeros nmeros impares. Esto puede hacerse de la siguiente manera:
a)
b)
c)
50
=====SUMIMPAR====
Lbl 1
N=? N
0S
For 1 J To N
S + 2J 1 S
Next
Sp
Goto 1
Los comandos For, To, Next se encuentran ingresando con las teclas SHIFT PRGM y al submen
For. Esos comandos en conjunto crearn un lazo que comienza con For y termina con Next.. La
primera vez que ejecuta el lazo se efectuar J = 1. Despus J se incrementar de uno en uno cada vez
que se ejecute el lazo hasta que J = N tenga el mismo valor. Ejecute el programa con diferentes valores
de N menores o iguales a 10. Qu ley de formacin se forma? Demuestre su conclusin usando el
mtodo de induccin matemtica.
Notemos que podemos tambin crear un programa que siga la sintaxis basada en el concepto de
sumatoria. De hecho la frmula para la suma de los impares se obtiene de la expresin:
n
(2i 1)
i =1
i =1
i =1
(2i 1) = 2 i n = 2
n (n + 1)
n = n2
2
Un programa que llamaremos SUMIMP 2 basado en lo anterior tendra la siguiente estructura muy
simple. El smbolo de sumatoria se obtiene al ingresar va tecla OPTN al submen CALC:
51
Ejemplo 5
LAZOS Y CONDICIONES
Existen tres tipos de lazos: For To Next ; Do LpWhile y While WhileEnd. Las sintaxis lucen
de la siguiente manera:
For 1 J To ...
Afirmacin(es)
Next
...
Do
Afirmacin (es)
Condicin LpWhile
...
Condicin While
Afirmacin (es)
WhileEnd
...
52
Por otra parte se puede efectuar elecciones lgicas con la construccin de If Then Else IfEnd. Lo
que aparece entre parntesis es opcional:
Condicin If
Then Afirmacin
(Afirmacin (es) )
(Afirmacin (es) Else )
(Afirmacin (es) )
IfEnd
La diferencia fundamental entre los lazos While y los lazos Do es que el lazo While puede ser
totalmente omitido si la condicin no es verdadera desde el comienzo. En cambio el lazo Do se
ejecutar al menos una vez.
Los smbolos de relaciones de orden como , se pueden hallar oprimiendo las teclas SHIFT PRGM e
ingresando al submen LOGIC donde adems se podr incluir conectivos lgicos como And. Los
comandos If, Then en le submen IF y los comandos While y Do en el submen While.
Ingrese el siguiente programa con el nombre de PRIMOS que permite descomponer un nmero entero
en sus factores primos:
53
======= PRIMOS======
Lbl 1
X = ? X
2 P
While P X
X P Y
If Int Y = Y
Then Y X
Pp
Else If P = 2
Then 1 P
IfEnd
P+2P
IfEnd
WhileEnd
X
Goto 1
El programa determinar si el nmero X es divisible por nmeros P iguales a 2,3,5,7,9 etc. Si lo es, el
programa almacenar X en X , mostrar el nmero P e intentar ese mismo nmero una vez ms. Si
P
no lo es, intentar el siguiente P. El lazo termina cuando P es mayor que X , porque entonces X
mismo debe ser un nmero primo (Por qu?). La rutina comprobar la divisibilidad con todos los
nmeros impares y el nmero 2. Esto debe hacerse de sta manera porque no existe un algoritmo que
d todos los nmeros primos y solamente los nmeros primos. Sin embargo, esto no tiene importancia
debido a que si un nmero es divisible por 9 entonces tambin es divisible por 3, y eso es lo que se
comprueba primero. El nmero 9 nunca aparecer como factor primo. El hecho de que el nmero 2 sea
un nmero primo es lo que nos fuerza a considerar una afirmacin de tipo If-Then: Si P es igual a 2
entonces almacenamos uno en P y podemos sumar dos para obtener el siguiente nmero impar.
Puede hallar todos los primos del 2 al 100? Use el programa para mostrar que el nmero 302837 es un
nmero primo.Cunto demor? Puede hallar factores primos en su nmero telefnico privado?
Ejemplo 6
54
----------POT.CPLX------------Lbl 1
Rad
REAL ? A
IMAG ? B
GRADO ? N
If A 0
Then
(A 2 + B 2 ) R
tan 1 (B A) S
If A < 0
Then S + S
IfEnd
R N (cos NS + i sin NS) p
IfEnd
If A = 0
Then For 1 K To 100
If N = 4K
Then (BN) p
Goto 1n
IfEnd
If N = 4K 3
Then (BN) i p
Goto 1n
IfEnd
If N = 4K 2
Then (BN) x 1p
Goto 1n
IfEnd
If N = 4K 1
Then (BN) x i
Goto 1
IfEnd
N t
55
Compare los resultados anteriores con los que se puede obtener directamente en la calculadora en la
ventana RUN:
Ejemplo 7
El siguiente programa desarrollado tambin por el alumno Gerardo Roa permite hallar todas las races
de un nmero complejo. Ingrese el siguiente programa a su calculadora con el nombre RAIZCOMP
56
------------RAIZCOMP------------Lbl 1\
Rad
REAL ? A
IMAG ? B
GRADO ? N
If A 0
Then
(A 2 + B 2 ) R
tan 1 (B A) S
If A < 0
Then S + S
IfEnd
Goto 9
IfEnd
If A = 0 And B 0
Then Abs B R
sin 1 (B R ) S
Goto 9
IfEnd
Lbl 9
For 0 K To (N 1)
N x R (cos(S + 2K) N + i sin(S + 2K) N) p
Next
Goto 1
Usemos el programa anterior para calcular las cinco races quintas del nmero imaginario i:
57
Ejemplo 8
Hallar el nmero entero positivo n ms pequeo tal que f(n) < 0,001 para la funcin siguiente:
f ( x) =
1
x + 120 x 22
2
58
Vuelva a la ventana PRGM. El programa ingresado en la ventana PRGM deber lucir de la siguiente
manera:
o bien en la siguiente forma, donde se agrega una lnea con el comando ClrText, si desea que al correr
el programa la pantalla se limpie cada vez que ingrese un nuevo valor:
=====EVALF1=====
"FUNCION" ? Y1
Lbl 1
"X=" ? X
"Y1="
Y1
ClrText
Salgamos del programa con la tecla ESC y ejecutemos el programa EVALF1 con la tecla EXE.
Comprobemos que f (2) = 0,00450450 45 , f (3) = 0,00288184 438 y calculemos f ( 4) , f (5) , etctera,
hasta que obtengamos f (n) < 0,001 para algn n. Verificaremos que el n buscado es n = 8.
59
1
1
si x 2 + 120 x 22 > 1000
<
x + 120 x 22 1000
2
Ejemplo 9
PROGRAMA DE UN PASO
Ingresemos el siguiente programa de un paso. Esta versin automtica nos permitir hallar el valor de
la imgen f (n) para el siguiente valor de n. El objetivo ser entonces el poder ejecutar el progama una
cierta cantidad de veces y obtener como salida una sucesin de valores de n y f (n). Lo que queremos es
sumar 1 al valor de n con cada ejecucin del programa. Ingrese a PRGM el siguiente programa que
llamaremos EVALUP:
=====EVALUP=====
"FUNCION" ? Y1
0 X
Lbl 1
X+1 X
"N=": X
"F(N)=": Y1
ClrText
60
Oprima la tecla ESC para salir del programa y ejecute el programa EVALUP con EXE. Deber obtener
de un solo toque las imgenes de 1, de 2, de 3, de 4, de 5, de 6, de 7 y de 8 para corroborar una vez
ms que efectivamente f(8) < 0,001
Ejemplo 10
SUBPROGRAMAS
Usted puede ejecutar siempre un programa B dentro de un programa A. La sintaxis es muy sencilla:
Prog PROGNOMBRE
donde [Prog ] lo puede hallar en el men bajo SHIFT PRGM [ CTL ] y PROGNOMBRE es el
nombre del programa B. El programa B se ejecutar tan slo una vez, y entonces continuar la
ejecucin del programa A desde el punto donde se llam al programa B. Es recomendable usar
subprogramas de ste tipo en lugar de largos cdigos programticos como las construcciones del tipo If
Then Else. En general son mucho ms fciles de leer y por lo tanto producirn programas ms
estructurados.
61
Organizaremos a continuacin un programa que nos permitir usar la ley de Ohm con facilidad.
Denotemos la resistencia por R, el voltaje por V y la intensidad por I. La ley de Ohm puede ser
considerada de tres maneras distintas:
V =RI ,
R=
V
I
I=
V
R
El uso de cada una de estas formas depender de lo que se quiera calcular. El programa que queremos
digitar incluye un programa principal OHM en el cual se podr elegir V , R o I. Dependiendo de
la eleccin el programa llamar a un subprograma VCALC , RCALC o ICALC. El programa
principal luce as:
VOLTAJE
1
RESISTENCIA
2
INTENSIDAD
3
ELECCION ? A
If A = 1
Then Prog VCALC
If End
If A = 2
Then Prog RCALC
If End
If A = 3
Then Prog ICALC
If End
R = ? R
I = ? I
RxI
62
Complete el programa con los subprogramas RCALC e ICALC. Use el programa para calcular V
cuando R = 92 () e I = 2,5 (A). Calcule adems R cuando V = 230 (V) e I = 2,5 (A) y calcule I
cuando V = 230 (V) y R = 92 ().
EJERCICIOS Y PROYECTOS
1.
2.
3.
En sta actividad introducimos el uso del operador sumatoria de su calculadora. Para realizar
clculos con en la ventana RUN-MAT se usa la siguiente sintaxis:
X=b
f (X) =
X =a
63
f (X) =
X =a
Observe que en la ventana CAS no existe la posibilidad de elegir intervalos. Estos sern
considerados siempre en forma automtica de uno en uno.
En la ventana RUN-MAT, queremos ahora comprobar los resultados que obtuvo va
programacin para la suma de los primeros diez nmeros impares.
a) Qu funcin f ( X ) debemos ingresar en la sumatoria para ir obteniendo la suma parcial de
los cinco primeros nmeros impares? Describa claramente la sintaxis que ingres a su
calculadora para las cinco sumatorias. Cul es la sintaxis para la suma para 20 nmeros
impares y qu resultado le di?
b) Se puede automatizar el clculo de las sumas parciales con la sumatoria usando
programacin. Ingrese en la ventana PRGM adecuado el siguiente programa con el nombre
SUMIMP2, eligiendo un f ( X ) adecuado para nuestro problema. Describa cul fu el f ( X )
que ingres.
Lbl 1
N ? N
( f ( X ) , X , 1 , N) p
Goto 1
Salga de la edicin del programa con ESC y ejecute el programa ingresado desde N = 1 hasta
N = 10 . Confirme que se forma la misma ley de formacin para la suma de n nmeros impares
que la obtenida con el programa SUMIMPAR del Ejemplo 4. Cunto da su programa para
N = 31, N = 33 , N = 40 ?
c) Use sumatoria para deducir manualmente la frmula general para la suma de n nmeros.
d) Confirme la frmula general para n trminos en la ventana CAS, considerando la suma de n
nmeros impares desde 1 hasta N. Describa la sintaxis ingresada y diga qu frmula le di la
calculadora.
4.
64
1 1 1 1
+ + +
+ .....
2 4 8 16
a)
Encuentre cual es la funcin f( X ) que da lugar a la ley de formacin de cada uno de los
trminos de la suma
b)
En RUN-MAT use el operador para hallar la suma parcial de 5 trminos, 8 trminos
y 20 trminos. Ingrese la expresin f( X ) dentro de la sumatoria usando la tecla para fracciones
fraccionaria en lugar de la forma decimal (al menos hasta cierto valor). Describa la sintaxis
ingresada para obtener los tres resultados y los tres resultados que obtuvo. Recuerde que no es
necesario que usted ingrese la sintaxis completa de la sumatoria cada vez. Basta que una vez
ingresada y calculada la suma para 5 trminos, use la flecha para hacia arriba para superponer
el valor 5 por 8, oprimir EXE y volver con la flecha para hacia arriba nuevamente para
superponer el nuevo valor.
c)
Ingrese en la ventana PRGM y abra un nuevo programa llamado SUMPROG. Describa
la sintaxis que debe ingresar para automatizar con uso del comando las sumas parciales de
este problema de 1 a N (similar al que se us en la parte (b) del ejercicio anterior). Ejecute el
programa y complete la siguiente tabla:
N
RESULT.
10
13
14
15
A partir de qu valor de N dej de dar resultados en forma fraccionaria y comenz a dar los
resultados en forma decimal?
Complete ahora la siguiente tabla:
N
RESUL
31
32
33
35
36
37
40
65
1 1 1 1
+ + +
+ ..... se puede ver como la suma de trminos de una
2 4 8 16
progresin. A qu tipo de progresin corresponde? Explique como puede comprobar la suma
usando una frmula para la suma de n trminos de una progresin de este tipo. Encuentre la
frmula general para la suma de los n primeros nmeros de esta suma. Compruebe su frmula
para n = 20, usando el programa SUMPROG ingresado anteriormente.
d)
La suma:
e)
Compruebe en la ventana CAS que la frmula general para n trminos es la misma que
la obtenida por usted. Describa la sintaxis ingresada y el resultado de la mquina. Demuestre
que es equivalente con el obtenido por usted manualmente.
5.
a
k =1
a n en
terminos de n
a)
Resuelva el problema dado y encuentre los trminos a n en trminos de n demostrando
que efectivamente es una P.A.
b)
Cmo puede hallar mediante sumatoria la suma de n trminos de esa sucesin de
nmeros?. Describa esa sumatoria y obtenga una frmula general.
c)
Ingrese en la ventana PRGM e ingrese un nuevo programa con el nombre de
SUM P.A. Describa la sintaxis que permite calcular automticamente sumas parciales de 1 a N
de la progresin aritmtica con la sumatoria que usted describi anteriormente. Ejecute el
programa de N = 1 hasta N = 5 y diga qu resultados le di. Compruebe el caso N = 20 con la
frmula obtenida en la sumatoria.
d)
Describa un programa similar al programa SUMIMPAR`del Ejemplo 4 que permita
calcular la suma de n trminos de esta progresin aritmtica y que no use sumatoria, sino
comandos de programacin del tipo FOR , TO, NEXT. Ingrese a la ventana PRGM y
denomnelo por SUMIMP3. Ejectelo para comprobar que est correcto con N = 21 a N = 25 ,
comparandolo con el programa SUM P.A.
6.
Use la frmula cuadrtica tal como se hizo en el Ejemplo 8 para determinar el menor entero
2
1
n > 0 tal que f ( n ) <
tomando f ( x ) = 2
.
1000
x + 10 x + 100
66
7.
Para las siguientes funciones, repita los procedimientos usados en el Ejemplo 8 para hallar el
menor n > 0 tal que f (n ) < 0,001 :
a) f ( x ) =
x+3
;
x4 + 7
b)
f ( x ) = e 2 x
8.
AO
POBLACION
1965
3,299
1971
3,659
1981
4,473
67
9.
Construya un programa que calcule una de los elementos: velocidad media, distancia o tiempo
si se conocen las otras dos, usando una programacin que use como rutinas los subprogramas.
68