Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programacin
prog1()
Si no se necesitan
argumentos
prog1(x,y)
Si se necesitan
argumentos
624
3. Pulse .
Nota: Los argumentos indican los valores iniciales de un programa.
Para cancelar la ejecucin del programa en caso de que se produzca un error, pulse
N. A continuacin, puede corregir el error y volver a ejecutarlo.
Nota: La TI-89 Titanium / Voyage 200 tambin comprueba los errores de tiempo de
Programacin
625
La mayor parte de las rdenes de entrada y salida emplean la pantalla Program E/S.
Las rdenes de entrada solicitan al usuario la introduccin de informacin.
Una vez que el programa se interrumpe, la TI-89 Titanium / Voyage 200 muestra la
ltima pantalla presentada.
La pantalla Program E/S
En la pantalla Program E/S, el nuevo resultado aparece debajo de los ya existentes
previamente (que pueden haber aparecido anteriormente como consecuencia de la
ejecucin del mismo programa o de otro distinto). Una vez que la pgina de salida est
completa, las salidas anteriores van desapareciendo por la parte superior de la pantalla.
Programacin
626
ltima
salida
Nota: Para borrar las salidas anteriores, introduzca la orden Clr[O en el programa. Clr[O
Pulse N, 2 K, o
@
"
H 8"
para presentar la pantalla Home.
o bien
Programacin
627
Elemento Permite:
Type
Folder
Programacin
628
Elemento Permite:
Variable
Programacin
629
alfabtico.
Programacin
630
Copia de un programa
En algunos casos, puede interesarle copiar un programa o funcin para editar la copia y
conservar el original.
1. Presente el programa o funcin que quiere copiar.
2. Pulse y seleccione 2:Save Copy As.
3. Especifique la carpeta y variable para la copia.
4. Pulse dos veces.
Nota sobre el borrado de un programa
Dado que todas las sesiones de Program Editor se almacenan automticamente, los
programas y funciones anteriores pueden ir acumulndose hasta agotar la memoria.
Para borrar programas y funciones, utilice la pantalla VAR-LINK (2 ). Para
obtener informacin sobre VAR-LINK, consulte Gestin de la memoria y de las
variables.
Programacin
631
Tras escribir cada lnea del programa, pulse . De esta forma se inserta una nueva
lnea en blanco que permitir continuar introduciendo otra. La lnea del programa puede
tener una longitud superior a la lnea de la pantalla, en cuyo caso pasar
automticamente a la siguiente lnea de sta.
Nota: La introduccin de una orden no implica su ejecucin. sta se produce al ejecutar
el programa.
Programacin
632
@
8d
H 2X
o
Pulse y seleccione 9:
Programacin
633
Las estructuras de control, como las rdenes If...EndIf, utilizan una prueba
condicional para determinar la parte del programa que se va a ejecutar.
Programacin
634
salida.
Introduccin de valores en un programa
Para introducir valores en un programa, puede:
Programacin
635
:Disp 126
:cos(p/4)!maximum
:Input "Enter a
value",i
:Request "Enter an
integer",n
prog1(3,5)
Nota: Para obtener una lista de las rdenes de entrada disponibles, consulte rdenes
de entrada.
Ejemplo de transferencia de valores a un programa
El siguiente programa dibuja una circunferencia en la pantalla Graph y, a continuacin,
traza una recta horizontal por la parte superior de dicha circunferencia. Se deben
transferir tres valores al programa; las coordenadas x e y del centro de la circunferencia
y el radio r de la misma.
Programacin
636
:circ(x,y,r)
:Prgm
:FnOff
:ZoomStd
:ZoomSqr
:Circle x,y,r
:LineHorz y+r
:EndPrgm
En la plantilla, slo aparece
circ( ) inicialmente; asegrese de
editar esta lnea.
Nota: En este ejemplo, no puede utilizar circle como nombre del programa por estar
Programacin
637
circ(0,0,5)
Transferido a r
Transferido a y
Transferido a x
Nota: En este ejemplo se supone que se introducen valores que pueden presentarse en
la ventana de visualizacin, definida mediante ZoomStd y ZoomSqr.
638
Las funciones (no los programas) pueden utilizarse en expresiones. Por ejemplo:
3func1(3) es vlido, no 3prog1(3).
Programacin
Define
Goto
Local
While...EndWhile
Exit
If...EndIf (en todas sus formas)
Loop...EndLoop
! (tecla )
639
setGraph
switch
setMode
Pueden referirse a cualquier variable; sin embargo, slo pueden almacenar valores
en variables locales.
-
Programacin
640
Nombre de la funcin,
especificado al crearla.
Introduzca las rdenes entre
Func y EndFunc.
Programacin
:cube(x)
:Func
:x^3
:EndFunc
641
:cube(x)
:Func
:If x<0
: Return 0
:x^3
:EndFunc
Programacin
642
Nota: Dado que en la funcin x e y son locales, cualquier variable de nombre x o y no les
afectara.
Funcin llamada desde la pantalla Home
Funcin definida en
Program Editor
3!x:125!y
4xroot(3,125)
20
:xroot(x,y)
:Func
:y^(1/x)
:EndFunc
Programacin
643
:subtest2(x,y)
:Prgm
: Disp x,y
:EndPrgm
Programacin
644
Las subrutinas internas se llaman y ejecutan de la misma manera que los programas
independientes.
:subtest1()
:Prgm
:local subtest2
:Define subtest2(x,y)=Prgm
: Disp x,y
:EndPrgm
:Beginning of main program
:For i,1,4,1
: subtest2(i,I*1000)
:EndFor
:EndPrgm
645
Las rdenes Lbl son componentes locales del programa en que se encuentran. Por
tanto, la orden Goto del programa que las llama no puede extenderse hasta la etiqueta
de una subrutina o viceversa.
Descripcin
Variables del
Variables de nombre reservado que se crean
sistema (Global) automticamente para almacenar informacin sobre el
estado de la TI-89 Titanium / Voyage 200 calculadora
grfica. Por ejemplo, las variables de ventana (xmin,
xmax, ymin, ymax, etc.) estn disponibles de forma
global para cualquier carpeta.
Programacin
646
mbito
Descripcin
Variables de
carpeta
Programacin
647
For i,i,10,1
Disp i
EndFor
Produce un mensaje de error Circular definition si x o i no tienen valor. El error no se
produce si x o i ya tuvieran asignado un valor.
Programacin
648
Descripcin
key
Archive
BldData
CopyVar
Define
DelFold
DelType
DelVar
getFold
getType
isArchiv()
isLocked()
isVar()
Local
Programacin
649
Orden
Descripcin
Lock
MoveVar
NewData
NewFold
NewPic
Rename
Unarchiv
Unlock
Nota: Las rdenes Define, DelVar y Local se encuentran disponibles en el men Var
de la barra de herramientas de Program Editor.
Programacin
650
Programacin
651
lnea continua, como: Define fact(n)=Func:Local donde los puntos suspensivos (...)
indican que el texto de la lnea de entrada contina fuera de pantalla.
Por ejemplo:
Define fact(n)=Func:
Local m:
While n>1:
nm!m: n1!n:
EndWhile:
Return m:
EndFunc
A la variable local m no se le asigna un valor inicial.
En el ejemplo anterior, la variable local m existe independientemente de cualquier
variable m que, a su vez, exista fuera de la funcin.
Programacin
652
Programacin
653
Programacin
654
Descripcin
&
char
dim
expr
format
inString
Programacin
655
Orden
Descripcin
left
mid
ord
right
rotate
shift
string
Pruebas condicionales
Las pruebas condicionales permiten a los programas tomar decisiones. Por ejemplo,
dependiendo de si la prueba es verdadera o falsa, el programa puede decidir cul de
entre dos acciones va a realizar. Las pruebas condicionales se emplean con estructuras
de control, como If...EndIf, y con bucles, como While...EndWhile (descritos ms adelante
en este mdulo).
Programacin
656
Introduccin de un operador
H 2
La lista de operadores de prueba se
muestra cerca de la parte inferior del
men Built-in.
Operadores relacionales
Los operadores relacionales permiten definir una prueba condicional que compara dos
valores. Estos nmeros pueden ser nmeros, expresiones, listas o matrices (pero
deben coincidir en tipo y tamao).
Operador
Verdadero si:
Ejemplo
>
Mayor que
a>8
<
Menor que
a<0
a+b|100
a+6{b+1
Programacin
657
Operador
Verdadero si:
Ejemplo
Igual
list1=list2
Distinto de
mat1mat2
con el teclado:
>= for |
<= for {
/= for
Para obtener el carcter /, pulse e.
Operadores booleanos
Los operadores booleanos permiten combinar los resultados de dos pruebas distintas.
Operador
Verdadero si:
Ejemplo
and
or
a{0 or b+c>10
xor
Programacin
658
La funcin Not
La funcin not cambia el resultado de una prueba de verdadero a falso y viceversa. Por
ejemplo:
not x>2
es verdadero si
falso si
x{2
x>2
Nota: Si utiliza not en la pantalla Home, en el rea de historia aparecer como ~. Por
ejemplo, not x>2 aparece como ~(x>2).
Programacin
659
:If | Then
:EndIf
El cursor est
situado de forma que
pueda introducir una
prueba condicional.
La orden If
Para ejecutar slo una orden cuando la prueba condicional es verdadera, utilice la forma
general:
:If x>5
:
Disp "x is greater than 5"
:Disp x
Slo se ejecuta si x>5; de lo contrario, se omite.
Siempre muestra el valor de x.
En este ejemplo, antes de ejecutar la orden If deber almacenar un valor en x.
Nota: Utilice el sangrado para facilitar la lectura y comprensin de los programas.
Programacin
660
Programacin
661
: 5x!x
:EndIf
:Disp x
Slo se ejecuta si x>5.
Slo se ejecuta si x{5.
Presenta el valor de:
2x si x>5
5x si x{5
Programacin
662
Puede utilizar Goto en cualquier parte del programa para trasladarse hasta la posicin
correspondiente a la etiqueta especificada.
Goto Nombre de etiqueta
especifica la orden Lbl hasta la que se va a
trasladar
Programacin
663
Programacin
664
su final.
Los bucles For...EndFor
El bucle For...EndFor emplea un contador para controlar la cantidad de veces que se
repite. La sintaxis de la orden For es:
Nota: El valor inicial puede ser inferior al final, pero el incremento debe ser negativo.
Programacin
665
Al ejecutar For, el valor variable se compara con el valor fin. Si variable no supera el
valor fin, el bucle se ejecuta; de lo contrario, el control del programa saltar a la orden
siguiente a EndFor.
i>5
i{5
:For i,0,5,1
: -------: -------:EndFor
:--------
Programacin
666
Presenta 0, 1, 2, 3, 4 y 5.
Presenta 6. Cuando variable alcanza el valor 6, el bucle no se ejecuta.
Nota: Puede definir la variable contador como local siempre que no necesite
almacenarla tras interrumpir el programa.
x<5
:While x<5
: -------: -------:EndWhile
:--------
Programacin
667
Las variables referidas en la condicin deben ajustarse antes que la orden While.
Los valores pueden generarse en el programa o puede solicitarse al usuario la
introduccin de los mismos.
Por ejemplo:
:0!x
:While x<5
: Disp x
: x+1!x
:EndWhile
:Disp x
Inicialmente, ajusta x.
Presenta 0, 1, 2, 3 y 4.
Incrementa x.
Presenta 5. Cuando x toma el valor 5, el bucle deja de ejecutarse.
Programacin
668
:Loop
: -------: -------:EndLoop
:-------Normalmente, el bucle contiene rdenes que permiten al programa salir del mismo. Las
rdenes ms utilizadas son: If, Exit, Goto y Lbl (etiqueta). Por ejemplo:
:0!x
:Loop
: Disp x
: x+1!x
: If x>5
:
Exit
:EndLoop
:Disp x
La orden If permite comprobar la condicin.
Se sale del bucle y se pasa a este punto cuando x llega a 6.
Nota: La orden Exit permite salir del bucle actual.
El bucle:
Programacin
669
If tambin puede utilizar una orden Goto para transferir el control del programa a una
orden Lbl (etiqueta) determinada.
Programacin
670
Descripcin
getConfg
getFold
getMode
getUnits
setFold
setGraph
setMode
setTable
setUnits
switch
Programacin
671
Programacin
672
rdenes de entrada
Orden
Descripcin
getKey
Input
Programacin
673
Orden
Descripcin
InputStr
PopUp
Prompt
Request
rdenes de salida
Orden
Descripcin
Clr[O
Disp
DispG
DispHome
DispTbl
Programacin
674
Orden
Descripcin
Output
Format
Pause
Text
Notas:
En los programas, no basta con realizar una operacin para que aparezca el
resultado. Es preciso utilizar una orden de salida.
Descripcin
Dialog...
EndDlog
Programacin
675
Orden
Descripcin
Toolbar...
EndTbar
CustmOn...
CustmOff
Custom...
EndCustm
DropDown
Item
Request
Text
Title
Notas:
Request y Text son rdenes independientes que tambin pueden utilizarse fuera del
cuadro de dilogo o del bloque del programa de la barra de herramientas.
Programacin
676
Realice lo siguiente:
Activar el
men
personalizado
Programacin
Pulse 2 .
677
Para:
Realice lo siguiente:
Desactivar el
men
personalizado
@
2
H
CustmOff
Programacin
678
Nota: Cuando el usuario selecciona un elemento de men, el texto definido por esa
orden Item se pega en la posicin actual del cursor.
Por ejemplo:
:Custom
:Title "Vars"
:Item "L1":Item "M1":Item "Prgm1":Item "Func1":Item "Data1"
:Item "Text1":Item "Pic1":Item "GDB1":Item "Str1"
:Title "f(x)"
:Item "f(x)":Item "g(x)":Item "f(x,y)":Item "g(x,y)"
Programacin
679
:Title "Units"
:Item "_m/_s^2":Item "_ft/_s^2":Item "_m":Item "_ft":Item "_l"
Nota: Este men puede ser ligeramente distinto del men personalizado predeterminado
de su calculadora.
Programacin
680
lneas.
Puede crear y usar slo un men cada vez. Si necesita ms, escriba un programa
distinto para cada men personalizado y ejecute el programa del men que precise.
Restauracin del men personalizado predeterminado
Para restaurar el men:
1. En el men normal de la pantalla Home (no en el personalizado), elija Clean Up.
@
2
H
2. Seleccione 3:Restore custom default.
Las rdenes usadas para crear el men
predeterminado se pegan en la lnea de
entrada.
3. Pulse para ejecutar las rdenes y recuperar el valor predeterminado.
Cuando restaure el valor predeterminado, los mens anteriores se eliminan. Si el men
anterior se cre con un programa, puede ejecutar el programa de nuevo si desea
reutilizar el men ms tarde.
Programacin
681
Descripcin
DispTbl
setTable
Table
rdenes de grficas
Orden
Descripcin
ClrGraph
Define
DispG
FnOff
Programacin
682
Orden
Descripcin
FnOn
Graph
Input
NewPlot
PlotsOff
PlotsOn
setGraph
setMode
Style
Trace
ZoomBox
a
ZoomTrig
Programacin
683
Descripcin
AndPic
CyclePic
NewPic
RclGDB
RclPic
RplcPic
StoGDB
StoPic
XorPic
Nota: Para obtener informacin sobre las imgenes grficas y las bases de datos,
consulte tambin Temas complementarios de grficos.
Programacin
684
@ 158,0
H 238,0
@ 0,76
H 0,102
@ 158,76
H 238,102
Programacin
-10,10
10,10
-10,-10
10,-10
685
Nota: Para obtener informacin sobre las coordenadas del pixel en la pantalla dividida,
Descripcin
ClrDraw
Descripcin
PtChg o
PxlChg
PtOff o
PxlOff
PtOn o
PxlOn
Programacin
686
Orden
Descripcin
PtTest o
PxlTest
PtText o
PxlText
Descripcin
Circle o
PxlCrcl
DrawSlp
Line o
PxlLine
LineHorz o
PxlHorz
LineTan
LineVert o
PxlVert
Programacin
687
Dibujo de expresiones
Orden
Descripcin
DrawFunc
DrawInv
DrawParm
DrawPol
DrwCtour
Shade
Programacin
688
Descripcin
GetCalc
SendCalc
Programacin
689
Orden
Descripcin
SendChat
Nota: Para obtener un ejemplo de programa que sincronice las unidades de recepcin y
transmisin de forma que GetCalc y SendCalc se ejecuten en la secuencia adecuada,
Descripcin
Get
Send
Programacin
690
Durante la prueba, no utilice variables locales, para as poder comprobar los valores
de las variables tras la interrupcin del programa. Una vez depurado ste, defina las
variables que procedan como locales.
Inserte en el programa, de forma provisional, las rdenes Disp y Pause para mostrar
los valores de las variables importantes.
-
Programacin
691
Descripcin
Try...EndTry
ClrErr
PassErr
Programacin
692
Ejemplo 1
En este ejemplo se emplea InputStr para la entrada, el bucle While...EndWhile para
calcular el resultado y Text para presentarlo.
:prog1()
:Prgm
:InputStr "Enter an integer",n
:expr(n)!n
:0!temp:1!I
:While i{n
: temp+i!temp
: i+1!I
:EndWhile
:Text "The answer is "&string(temp)
:EndPrgm
Solicita una entrada en la pantalla Program E/S.
Convierte la cadena introducida con InputStr en una expresin.
Calcula el bucle.
Presenta la salida en un cuadro de dilogo.
Programacin
693
Ejemplo 2
En este ejemplo se emplea Prompt para la entrada, Lbl y Goto para crear un bucle y
Disp para presentar el resultado.
:prog2()
:Prgm
:Prompt n
:0!temp:1!I
:Lbl top
: temp+i!temp
: i+1!I
: If i{n
:
Goto top
:Disp temp
:EndPrgm
Programacin
694
Ejemplo 3
En este ejemplo se emplea Dialog...EndDlog para crear cuadros de dilogo para la
entrada y la salida. Loop...EndLoop se emplea en el clculo del resultado.
:prog3()
:Prgm
:Dialog
: Title "Enter an integer"
: Request "Integer",n
:EndDlog
:expr(n)!n
:0!temp:0!I
:Loop
: temp+i!temp
: i+1!I
: If i>n
:
Exit
:EndLoop
:Dialog
: Title "The answer is"
: Text string(temp)
:EndDlog
:EndPrgm
Programacin
695