Está en la página 1de 50

GUIA : operadores y funciones empleados en programacin

Da igual si son escritas en maysculas como en minsculas, as intpower es el mismo que IntPower. Si quiere utilizar una variable de texto la tiene que escribir entre comillas, entonces puede utilitar las constantes: LineBreak Salto de lnea (por ej. 'Una lnea'+LineBreak+'otra lnea'). TabChar Carcter de tabulacin (por ej. '1+1'+TabChar+'2').

Menos usuales
^ potenciacin (por ej. 2^3, da de resultado 8; es igual a Power (2; 3)). % porcentaje (por ej. 4%, es el mismo que 0,04). ! factorial (por ex 4!, da de resultado 24 = 4*3*2*1). div divisin entera (por ej. 5 div 3, da de resultado 1). mod resta de una divisin (por ej. 5 mod 3, da de resultado 2). not negacin (en comparaciones de tipo Boolean). and or xor operadores a nivel de bit, y en comparaciones a usar junto con if. En la utilizacin de los operadores hay la siguiente prioridad: 1: ! -x +x % 2: ^ 3: * / div mod 4: + 5: > >= < <= <> =

Operadores
Habituales
+, suma, resta. * multiplicacin (no x, puesto que correspondera a una variable o a una constante), no se puede obviar el signo (como en la notacin algebraica, as 13a+b tendra que escribir 13*a+b). / divisin (para divisin entera utilice div). Ejemplos:
(170+150+140-180) / 4 ((500*0,12) + (500*0,05)) * 0.8

6: not 7: or and xor Esto quiere decir que 2+3*5 es igual a 2 +(3*5).

Funciones
Funciones aritmticas
De comparacin Max (N1, N2: Nmero): Nmero Mximo de dos valores (por ej. Max (2*2; 3) devuelve el 4). Min (N1, N2: Nmero): Nmero Mnimo de dos valores (por ej. Min (2*2; 3) devuelve el 3). =, >, <, <>, <=, >= Por ej. 3*3>6 devuelve Verdad y 12/2=7 devuelve Falso. iif (B: Boolean; Res._Cierto, Res._Falso: Real): Real = (valor a comprobar; resultado cuando es cierto; resultado cuando es falso). Por ej. if (A<>0; 1/A; 0) da 0,5 si A=2, pero si A=0 en lugar de dar un mensaje de error devolver un 0. Aritmticas Random : Real

Sin ningn parmetro, devuelve un nmero real aleatorio del 0 al 1 (por ejemplo Random * 100, devolvera nmeros aleatorios del 1 al 100 cada vez que pulse Calcula). RandomR (Desde, Hasta: Integer): Integer Da un nmero entero aleatorio entre los dos valores designados. Abs (N: Nmero): Nmero Valor absoluto de un nmero (si se negativo lo pasa a positivo). Recip (N: Nmero): Real Recproco: igual a 1/valor, as Recip(3) = 0,33333... Sqrt (N: 0+): Real Raz cuadrada. Sqr (N: Nmero): Nmero Cuadrado. Power (Base: Real; Exponente: 0+): Real Potenciacin, as Power (2; Recip(3)) es lo mismo que la raz cbica de 2, y que escribir 2^Recip(3). IntPower

(Base: Real; Exponente: Int 0+): Real Potenciacin entera, as IntPower (2; 2,3) es lo mismo que Power (2; Round(2,3)). Exp (N: Real) Devuelve el valor de e elevado a la potencia de X, dnde e es la base de los logaritmos naturales (por ejemplo Exp (1) devuelve el nmero e, = 2,71828183..). Trunc (N: Real): Integer Devuelve la parte fraccionada de un nmero real (por ej. Trunc (1,9) da 1). TruncX (N: Real; Dec: Int 0-10): Real Respeta los decimales designados, de un nmero real (por ej. TruncX (1,987; 2) da 1,98). Round (N: Real): Integer Redondea un nmero real (por ej. Round (1,9) da 2). RoundX (N: Real; Dec: Int 0-10): Real Redondea un nmero real, con el nmero de decimales designados (por ej. RoundX (1,987; 2) da 1,99). Ceil (N: Real): Integer

Redondea un nmero real hacia el inmediato mayor (por ej. Ceil (2.8) da -2, Ceil (2.8) da 3). Floor (N: Real): Integer Redondea un nmero real hacia el inmediato menor (por ej. Floor (2.8) da -3, Floor (2.8) da 2). Frac (N: Real): Real Devuelve la parte fraccionada de un nmero (por ej. Frac (1,9) da 0,9). Odd (N: Integer): Boolean Devuelve Verdad si el nmero es impar, de lo contrario devuelve Falso. ToRange (N, Mn., Mx.: Nmero): Nmero Asegura que el nmero est dentro del margen (por ej. ToRange (1; 2; 8) da 2). IsPrime (N: Int +): Boolean Devuelve Verdad si el nmero es primo (no es divisible de forma entera), de lo contrario devuelve Falso. Fibo (N: Int +): Integer Nmero de Fibonacci.

LastCipher (N: Real): Integer ltima cifra de un nmero. Logartmicas Ln (N: 0+): Real Logaritmo neperiano. Log10 (N: 0+): Real Logaritmo en base 10 (por ej. Log10 (100), da 2; para encontrar el antilogaritmo de 2, hace falta escribir Power (10; 2) y devuelve el 100). LogN (Base: 0+; X: Real): Real Logaritmo en base n (por ej. si es en base 2, entonces LogN (2;1000) devuelve 10).

(X, Y: Real): Real Hipotenusa. Inversas ArcSin, ArcCos, ArcTan2, ArcCot, ArcCsc, ArcSec Hiperblicas SinH, CosH, TanH, CotH, CscH, SecH Inversas de hiperblicas ArcSinH, ArcCosH, ArcTanH, Arc CotH, ArcCscH, ArcSecH Conversiones DegToRad (N: Real): Real Grados a radianes. RadToDeg (N: Real): Real Radianes a grados.

Funciones trigonomtricas
Las abreviaturas utilizadas son: Sin = Seno Cos = Coseno Tan = Tangente Cot = Cotangente Sec = Secante Csc = Cosecante Los resultados son en radianes. Bsicas Sin, Cos, Tan, Cot, Csc, Sec Hypot

Funciones estadsticas
RandG (Media, DS: Real): Real Valores aleatorios de una distribucin de Gauss. LnGamma (N: 0+): Real Logaritmo neperiano de la funcin gama, (x). Binomial (N; Prob; K) = (Nm. ensayos; Prob.; Nm. xitos); acumu..

PBinom (N: Int +; P: 0-1; K: Int +): Real Probabilidad (X=K). FBinom (N: Int +; P: 0-1; K: Int +): Real Probabilidad (X<=K). InvBinom (N: Int +; P, Prob.: 0-1): Real Probabilidad (K<=X)=P. Poisson (; K) = (Media; Nm. sucesos). PPoisson (Mu: +; K: Int +): Real Probabilidad (X=K). FPoisson (Mu: +; K: Int +): Real Probabilidad (X<=K). InvPoisson (Mu: +; Prob.: 0-1): Real Probabilidad (K<=X)=P. Normal, de Gauss DNorm (N: Real): Real Densidad de la distribucin. FNorm (N: Real): Real Probabilidad (U<=X). PNorm

(N: Real): Real Probabilidad (|U|>=|X|). InvNorm (Prob.: 0-1): Real Probabilidad (U<=X)=P. Student (; t) DStudent (Nu: Int +; X: Real): Real Densidad de t. FStudent (Nu: Int +; X: Real): Real Probabilidad (t<=X). PStudent (Nu: Int +; X: Real): Real Probabilidad (|t|>=|X|). InvStudent (Nu: Int +; Prob.: 0-1): Real Probabilidad (t<=X)=P. 2 de Pearson (; 2) DKhi2 (Nu: Int +; X: +): Real Densidad de 2. FKhi2 (Nu: Int +; X: +): Real Probabilidad (2<=X). PKhi2 (Nu: Int +; X: +): Real Probabilidad (2>=X).

InvKhi2 (Nu: Int +; Prob.: 0-1): Real Probabilidad ( <=X)=P. Fisher-Snedecor (A; B; F) DSnedecor (Nu1, Nu2: Int +; X: +): Real Densidad de F. FSnedecor (Nu1, Nu2: Int +; X: +): Real Probabilidad (F<=X). PSnedecor (Nu1, Nu2: Int +; X: +): Real Probabilidad (F>=X). InvSnedecor (Nu1, Nu2: Int +; Prob.: 0-1): Real Probabilidad (F<=X)=P. Exponencial (; X), acumulados DExpo (Alfa: +; X: 0+): Real Densidad de distribucin. FExpo (Alfa: +; X: 0+): Real Probabilidad (<=X). InvExpo (Alfa: +; Prob.: 0-1): Real Probabilidad (<=X)=P. Beta (; ; X)
2

DBeta (Alfa, Beta: +; X: 0-1): Real Densidad de distribucin. FBeta (Alfa, Beta: +; X: 0-1): Real Probabilidad (<=X). InvBeta (Alfa, Beta: +; Prob.: 0-1): Real Probabilidad (<=X)=P. Gama (; ; X) DGamma (Alfa, Beta: +; X: 0+): Real Densidad de distribucin. FGamma (Alfa, Beta: +; X: 0+): Real Probabilidad (<=X). InvGamma (Alfa, Beta: +; Prob.: 0-1): Real Probabilidad (<=X)=P. Anlisis estadstico Vase tambin procedimentos estadsticos y uso estadstico de las matrices. Se supone que las muestras presentan una distribucin normal, para las prximas funciones. MeanInterval (DS: Real; n: Int 4MaxInt; Prob.: 0,5-1): Real Devuelve el valor a sumar y restar a la media para obtener el

intervalo de confianza, segn el valor de confianza asignado (habitualmente 0,95). Utiliza la funcin de Gauss (InvNorm) si la muestra es > 30 y la funcin de Student (InvStudent) si la muestra es <= 30. AnMeanOO (mA, mB, DSA, DSB: Real; nA, nB: Int 4-MaxInt): Real Anlisis de medias: entre dos de observadas. Devuelve el valor de p. Hay una diferencia significativa si p <= 0.05. Utiliza la funcin de Gauss (PNorm) si ambas muestras son > 30 y la funcin de Student (PStudent) si alguna de las muestras es <= 30. AnMeanTO (mT, mO, DSO: Real; nO: Int 4MaxInt): Real Anlisis de medias: entre la terica y la observada. Devuelve el valor de p. Hay una diferencia significativa si p <= 0.05. Utiliza la funcin de Gauss (PNorm) si la muestra es > 30 y la funcin de Student (PStudent) si es <= 30. AnSDOO (DSA, DSB: Real; nA, nB: Int 4MaxInt): Real Anlisis de la desviacin estndar (-> anlisis de

varianzas) de dos muestras observadas en las que no hay diferencia significativa con la media. Devuelve el valor de p. Hay una diferencia significativa si p <= 0.025. Utiliza la funcin de FisherSnedecor (FSnedecor).

Funciones con nmeros complejos


Mire tambin func./proc. para programacin. CpxCreate1 (N: Real): Complex Crea un complejo con la parte real. CpxCreate2 (Real, Imaginario: Real): Complex Crea un complejo con la parte real y la imaginaria. CpxFromPolar (Radio, Theta: Real): Complex Crea un complejo desde coordenadas polares. CpxGetRealP (C: Complex): Real La parte real. CpxGetImgP (C: Complex): Real La parte imaginaria. Aritmticas

CpxAbsSqr (C: Complex): Real Cuadrado del absoluto. CpxAbs (C: Complex): Real Absoluto. CpxAngle (C: Complex): Real ngulo. CpxSign (C: Complex): Complex Signo. CpxConjugate (C: Complex): Complex Conjuga. CpxInverse (C: Complex): Complex Inverso. CpxExp (C: Complex): Complex Exponencial. CpxLn (C: Complex): Complex Logaritmo neperiano. CpxLog2 (C: Complex): Complex Logaritmo en base 2. CpxLog10

(C: Complex): Complex Logaritmo en base 10. CpxLogN (C: Complex; X: Real): Complex Logaritmo en base N. CpxSqr (C: Complex): Complex Cuadrado. CpxSqrt (C: Complex): Complex Raz cuadrada. CpxPower (C, Pow: Complex): Complex Potencia. CpxTimesPosI (C: Complex): Complex Multiplicado por i. CpxTimesNegI (C: Complex): Complex Multiplicado por -i. CpxTimesImg (C: Complex; Fact: Real): Complex Multiplicado por un imaginario. CpxTimesReal (C: Complex; Fact: Real): Complex Multiplicado por un real. Trigonomtricas

Bsicas CpxCos, CpxSin, CpxTan, CpxCo t, CpxSec, CpxCsc Inversas CpxArcCos, CpxArcSin, CpxArcT an, CpxArcCot, CpxArcSec, Cpx ArcCsc Hiperblicas CpxCosH, CpxSinH, CpxTanH, C pxCotH, CpxSecH,CpxCscH Inversas de hiperblicas CpxArcCosH, CpxArcSinH, CpxA rcTanH, CpxArcCotH, CpxArcSec H, CpxArcCscH

Ao de la fecha (un valor entre 1 y 9999). MonthOf (Fecha: TDateTime): Integer Mes de la fecha (un valor entre 1 y 12). DayOf (Fecha: TDateTime): Integer Da de la fecha (un valor entre 1 y 31). DayOfWeek (Fecha: TDateTime): Integer El da de la semana con un valor de 1 a 7. Donde 1=lunes hasta 7=domingo. HourOf (Tiempo: TDateTime): Integer Hora de [fecha/]hora (un valor entre 0 y 23). MinuteOf (Tiempo: TDateTime): Integer Minutos de [fecha/]hora (un valor entre 0 y 59). SecondOf (Tiempo: TDateTime): Integer Segundos de [fecha/]hora (un valor entre 0 y 59). MilliSecondOf (Tiempo: TDateTime): Integer Milsimas de segundo de [fecha/]hora (un valor entre 0 y 999).

Funciones de Fecha/tiempo
Mire tambin func./proc. para programacin. Date : TDateTime La fecha actual. Time : TDateTime La hora (hora + minutos + segundos + milisegundos) actual. Now : TDateTime La fecha y la hora actual = Date + Time. YearOf (Fecha: TDateTime): Integer

FormatDateT (Formato: string; Fecha: TDateTime): string Convierte una fecha/hora en una cadena de caracteres segn el formato designado. Por ejem. FormatDateT ('d-mmm-yy'; Date). d Muestra el da como un nmero con un cero delante (01-31). yyyy h hh n nn

(00-99). Muestra el ao con cuatro cifras (0000-9999). Muestra la hora sin un cero delante (0-23). Muestra la hora con un cero delante (00-23). Muestra el minuto sin un cero delante (0-59). Muestra el minuto con un cero delante (00-59). Muestra el segundo sin un cero delante (0-59). Muestra el segundo con un cero delante (00-59). Muestra la milsima de segundo sin un cero delante (0-999). Muestra la milsima de segundo con un cero delante (000-999).

dd ddd dddd

Muestra el da como un nmero sin un cero delante (1- s 31). Muestra el nombre del da abreviado (dom-lun). Muestra el nombre del da completo (domingo-lunes). ss z

Muestra el mes como un nmero sin un cero delante (112). Si el especificador m siguezz inmediatamente a un especificador h o hh, se muestra el minuto en lugar del mes. Muestra el mes como un nmero con un cero delante (01-12). Si el especificador mm sigue inmediatamente a un especificador h o hh, se muestra el minuto en lugar del mes. Muestra el nombre del mes abreviado (ene-dic). Muestra el nombre del mes completo (enero-diciembre). Muestra el ao con dos cifras

mm

mmm mmmm yy

Programacin
La mejor manera de ver como se hace es ver los ejemplos que se adjuntan con el fichero Programas.ftxt. Si quiere ver la ejecucin paso a paso, active la orden Ejecucin paso a paso ( ), mostrndose en un cuadro de dilogo: el nmero de lnea, la lnea, el resultado o la lnea en la que continuar la ejecucin (segn el caso) y las variables; seguidamente se puede escoger de continuar paso a paso, normalmente o, sencillamente, interrumpir la ejecucin. Si los clculos son largos entonces el ms conveniente es iniciar la ejecucin paso a paso a partir del punto que quiera investigar: inserte una lnea (antes de este punto) con la funcin TraceOn. Se guarda el programa que contenga hasta 255 caracteres en el campo correspondiente del fichero de clculos y programas, si se sobrepasa este lmite el programa lo guarda en un fichero de programacin. A diferencia del Pascal, cada lnea es una sola instruccin y no est acabada por el ;. begin Indica el principio del: 1. Programa. 2. Funcin o procedimiento.

end Indica el fin del: 1. Programa. 2. Funcin o procedimiento, entonces seguir la secuencia de ejecucin en la lnea siguiente a la lnea desde la que se ha llamado la funcin/proc.. var Se utiliza como encabezamiento de las variables: 1. Declaradas. Hay que declarar las variables que se utilizarn indicndose el tipo; se puede desactivar la necesidad de declarar las variables de tipo simple, pero no es recomendable. 2. Parmetros variables utilizados en funciones/procedimento s. Si hay varias variables del mismo tipo se pueden poner en la misma lnea y separadas por una coma. En el momento que se declara una variable esta toma un valor: Integer: 0 Real: 0,0 TDataTime: el dia de hoy String: una cadena vaca Boolean: False. :=

Asignacin de un valor a una variable. Para poderlo hacer es necesario que los tipos sean compatibles. Ejemplo:
var I: Integer R: Real begin R := 2 I := R // incorrecte! I := Round (R) //correcte R := I //correcte end

de las lneas que no son identificadores. Para aumentar fcilmente los dos espacios, slo hay que seleccionar el trozo de texto y teclear Ctrl-Maysc-I, para quitarlos Ctrl-Maysc-U. Ejemplo 1b: Grados desglosados En este ejemplo se presentar un mensaje con la conversin realizada. As si se introduce el valor de 12,345 se mostrar finalmente: 12,345 -> 12 20' 42. Por eso se utiliza la variable, d, de tipo texto = string.
var Minutos, Segundos: Real d: string begin Minutos := Frac(Grados) * 60 Segundos := Frac(Minutos) * 60 d := Grados + ' -> ' + Trunc(Grados) + ' ' + Trunc(Minutos) + ''' ' + Trunc(Segundos) + '"' DialogTextI (d) // lo muestra WriteText (d) // lo escribe end

Ejemplo 1a: Grados desglosados Se introduce una medida fraccionaria en grados (solicitada con la asignacin de la variable en la ventana que se abre con la orden Asigna variables ), y se obtiene el resultado en grados, minutos y segundos. Las variables declaradas despus de var, son: Minutos y Segundos. Entonces si Grados = 43,32:
var Minutos, Segundos: Real begin WriteText (Grados + TabChar) // anota 43,32 WriteText (Trunc (Grados) + TabChar) // anota 43 Minutos := Frac(Grados) * 60 WriteText (Trunc (Minutos) + TabChar) // anota 19 Segundos := Frac(Minutos) * 60 WriteTextLn (Trunc (Segundos)) // anota 12 end

Tipos Sencillos: Integer, Real, Boolean, TDateTi me, String Dobles: Complex, TPoint Objectos: Lists TStringList, TRealList, TPoint List Matrixs

Para mejorar la visibilidad de las lneas del cdigo se han aadido dos espacios en blanco delante

TRMatrix Explicacin
Integer

Lista de nmeros reales. Mire las func./proc. correspondientes.


TPointList

Nmero entero (-2147483648 a 2147483647).


Real

Lista de puntos. Utilizada por Polyline y Polygon. Mire las func./proc. correspondientes.
Matrix

Nmero real.
Boolean

Verdad/Falso (True/False).
TDateTime

Lista bidimensional (filas * columnas). TRMatrix es una matriz.


TRMatrix

Fecha/tiempo. Mire las func./proc. correspondientes.


String

Matriz de nmeros reales. Mire las func./proc. correspondientes. Bloques if, else, elseIf y endIf Hay cuatro formas de la declaracin if... 1. if...endIf 2. if...endIf else...endIf 3. if...endIf elseIf...endIf 4. if...endIf elseIf...endIf else... endIf 1. La sintaxis de una declaracin if...endIf es
if (condicin) bloque endIf

Cadena de caracteres. Mire las func./proc. correspondientes.


Complex

Nmeros complejos. Mire las func./proc. correspondientes.


TPoint

Punto: X e Y, que son de tipo Real. Mire las func./proc. correspondientes.


List

Lista de elementos de tipo sencillo o doble. TStringList, TRealList, TPointList son listas. Mire las func./proc. correspondientes compartidas.
TStringList

Lista de strings. Mire las func./proc. correspondientes.


TRealList

donde la condicin devuelve un valor buliano. Si la condicin es verdad, entonces el bloque se ejecuta; en caso contrario, no. Por ejemplo,
if (J <> 0) A := I / J endIf

2. La sintaxis de una declaracin if...endIf else...endIf es


if (condicin) bloque_1 endIf else bloque_2 endif

if (condicin_1) bloque_1 endIf elseIf (condicin_2) bloque_2 endif else bloque_3 endif

donde la condicin devuelve un valor buliano. Si la condicin es verdad, entonces se ejecuta el bloque_1; en caso contrario se ejecuta el bloque_2. Por ejemplo,
if (J = 0) Exit endIf else A := I / J endif

donde condicin_1 y condicin_2 devuelven un valor buliano. Si la condicin_1 es verdad, entonces se ejecuta el bloque_1 ; en el caso que la condicin_2 sea verdad se ejecuta el bloque_2 o, en caso contrario, el bloque_3. Por ejemplo,
if (J = 0) DialogTextE ('El nmero debe ser diferente de 0') endIf elseIf (J < 1000) A := I / J endif else DialogTextI ('El nmero es demasiado grande') endif

3. La sintaxis de una declaracin if...endIf elseIf...end If es


if (condicin_1) bloque_1 endIf elseIf (condicin_2) bloque_2 endif

for y endFor La sintaxis de una declaracin for es


for (var_entera; valor_A; valor_B) bloque endFor

donde condicin_1 y condicin_2 devuelven un valor buliano. Si la condicin_1 es verdad, entonces se ejecuta el bloque_1; si la condicin_2 es verdad se ejecuta el bloque_2. Por ejemplo,
if (J = 0) Exit endIf elseIf (J < 1000) A := I / J endif

Repite el bloque un nmero de veces = Abs (valor_A - valor_B) + 1. La var_entera inicialmente tendr el valor de valor_A, y va cambiando de valor: 1. Si valor_A < valor_B se incrementar cada vez en un entero hasta que sea menor al

4. La sintaxis de una declaracin if...endIf elseIf...end If else...endif es

valor_B. El cdigo equivalente en Pascal sera:


for var_entera := valor_A to valor_B do begin bloque end

Ejemplo 2b: Nms primos, refinado Similar al anterior ejemplo donde se comprueba que el valor mayor sea realmente mayor al menor. Y seguidamente se cuentan los nmeros primeros encontrados. Debido a que el cdigo del ejemplo es extenso, previamente se ha guardado en un fichero de programacin.
var c, d: Integer begin if (MinV < MaxV) d := 0 while (c; MinV; MaxV) if (IsPrime(c)) WriteTextLn (c) Inc (d) endIf endFor DialogTextI ('Encontrados '+d+' nmeros indivisibles') endIf else DialogTextE ('El menor no puede ser superior al mayor') endIf end

2. Si valor_A > valor_B se decrementar cada vez en un entero hasta que sea menor al valor_B. El cdigo equivalente en Pascal sera:
for var_entera := valor_A downto valor_B do begin bloque end

El bloque puede contener uno (o ms) Break. En el ejemplo siguiente se repetir la suma J + Z cuatro veces:
for (I; 1; 4) J := J + Z endFor

Ejemplo 2a: Nms primos Obtiene los nmeros indivisibles entre dos nmeros a escoger: uno de mnimo (asociado a la variable a) y uno de mximo (asociado a la variable b). Observe que se utiliza una variable que va recorriendo los posibles valores y que es la c.
var c: Integer begin for (c; MinV; MaxV) if (IsPrime(c)) WriteTextLn (c) endIf endFor end

Nota A: Alternativamente se podra indicar que se intercanviasen los valores y se avisase de esta hecha, para eso habra que utilizar otra variable transitoriamente, por ejemplo la variable c. while y endWhile La sintaxis de una declaracin while es
while (condicin) bloque endWhile

donde la condicin devuelve un valor buliano. El bloque se ejecuta repetidamente, comprobando la condicin antes de cada repeticin; y puede contener uno (o ms) Break. En el ejemplo siguiente se repetir la suma J + Sqrt(J) mientras J sea inferior a 8:
J := 1 while (J < 8) J := J + Sqrt(J) endWhile

Ejemplo: Bucle infinito Uno de los riesgos de la programacin es crear una secuencia sin fin.
var a: Integer begin a := 1 while (a >= 1) Inc (a) endWhile end

Como medidas de seguridad para que el programa no quede colgado: 1. Se comprueba que no se pase por el mismo lugar un nmero determinado de veces, el nmero de veces se puede fijar desde la ventana que se abre con la orden Interrupcin de bucle... . 2. Si est desactivada la interrupcin anterior y hay un Delay dentro del bucle se puede parar con la orden Para la ejecucin del programa . Vase la utilidad de esta orden en el ejemploAlarma, para parar el programa antes de que este no avise de que ya es la hora. Break Sale de un bucle for/endFor o while/endWhil e. Con el ejemplo anterior:
var a: Integer begin a := 1 while (a >= 1) if (a = 3) Break

Ejemplo 3: Tabla seno Crea una tabla con el resultado de la funcin seno (Sin) que se muestra en el panel de los resultados, tomando los valores de 0 a 2, con fracciones de dcimas. Observe que se utiliza una variable que va recorriendo los posibles valores y que es la a. La funcin ifGoto enva a la etiqueta que se pasa como segundo parmetro, segn si es cierto o falso, el primer parmetro.
var a: Real begin ClearResP // limpia el panel de los resultados a := -0,1 while (a < 2) // repite el bloque siempre que a sea menor de dos a := a + 0,1 // se incrementa el contador WriteTextLn (a + TabChar + Sin(a)) // muestra los resultados en el panel de los resultados endWhile end

elseIf Inc (a) endWhile DialogTextI (a) // muestra a = 3 end

palabra clave function o procedure resp ectivamente. [ ] es opcional.


encabezamiento [const ...] [var ...] begin [instrucciones], con una asignacin a Result para una function end

label y goto label designa un identificador de lnea, utilizado como parmetro para la orden goto, para evitar la utilizacin del nmero de la lnea como destino ya que siempre puede resultar alterado al insertar o eliminar lneas. goto enva a una determinada lnea del programa. La sintaxis puede ser goto (nmero de lnea), o bien (la mejor) goto (identificador de etiqueta).
Sintaxis: begin [instrucciones] label NombreEtiqueta [instrucciones] goto (NombreEtiqueta) [instrucciones] end

Tenga en cuenta que a las variables definidas localmente solo se puede acceder desde dentro de la funcin o procedimiento donde est (en el ejemplo posterior: Temp) . function y procedure Indica que se inicia una funcin local, despus de esta palabra hay que indicar el identificador de la funcin. Va seguido, opcionalmente, por hasta ocho identificadores de variables que se utilizarn dentro de la funcin; estas estn entre parntesis. Si de alguna de las variables pasadas nos interesa el resultado modificado, pondremos la palabra llave var antes. Hay que tener en cuenta que no se puede pasar una constante u operacin como parmetro para un parmetro definido en la funcin con var. En la siguiente sintaxis: [ ] es opcional.
function NombreFuncin [(Parmetros)]: tipo procedure NombreProcedimiento [(Parmetros)]

Funciones/proc. locales definidas por el usuario


Las funciones/procedimentos locales permiten ser llamadas de forma parecida a las funciones/procedimentos que ya dispone el programa ATCalc. En la siguiente sintaxis: Cada funcin/procedimento queda definida por un encabezamiento con la

Donde
Parmetros = [var] NombreParmetro1: tipo [; [var] NombreParmetro2: tipo]....

Si varios parmetros son del mismo tipo, usted puede escribir:


NombreParmetro1, NombreParmetro2: tipo.

begin S := 0 V := v1 while (V <= v2) S := S + V Inc (V) endWhile Result := S end var Menor, Mayor: Integer begin Menor := 20 Mayor := 2 Swap2 (Menor; Mayor) WriteTextLn (Menor+' '+Mayor) WriteTextLn (SumOfValues (Menor; Mayor)) end

Vea tipo, solamente se permiten los tipos simples. Exit Si se encuentra dentro del bloque del programa, lo acaba. Y si se encuentra dentro de un bloque de funcin o procedimiento, sale de este. Ejemplo 4: Funciones locales Este ejemplo muestra la creacin de un procedimiento y de una funcin. Con el procedimiento se intercambian dos valores: uno de menor y uno de mayor, que intencionadamente hemos puesto al revs. Con la funcin se suman los valores comprendidos entre el menor y el mayor, ambos includos.
procedure Swap2 (var v1, v2: Integer) var Temp: Integer begin if (v1 > v2) Temp := v2 v2 := v1 v1 := Temp endIf end function SumOfValues (v1, v2: Integer): Integer var S, V: Integer

La ltima lnea tambin podra ser llamada con: SumOfValues (Min(Menor;Mayor); Max(Menor;Mayor)), o SumOfValues (2; 20).

Funciones, procedimientos y variables de programacin


Estas funciones (F.), procedimientos (P.) y variables (V.), utilizadas en los clculos multilnea (programacin), comprenden:

Procedimentos aritmticos
Inc P. (var N: Integer)

Aumenta la variable en 1 (por ej. si a = 1, entonces Inc (a) es lo mismo que a := a+1, y a = 2) Dec P. (var N: Integer) Disminuye la variable en 1 (por ej. si a = 1, entonces Dec (a) es lo mismo que a := a-1, y a = 0)

F. (A: Int 1-9999; M: Int 1-12; D: Int 1-31; var Fecha: TDateTime): Boolean Calcula una fecha a partir del ao, mes y da. Devuelve si se ha convertido. EncodedTime P. (h: Int 0-23; m, s: Int 060; ms: Int 0-999; var Tiempo: TDateTime): Boolean Calcula un tiempo a partir de la hora, minutos, segundos y milisegundos.

Func./proc. con Nmeros complejos


Mire tambin funciones para todo. CpxToPolar P. (var Radius, Theta: Real) Devuelve las coordenadas polars

Func./proc. con Cadena de caracteres


StrCopy F. (Texto: string; I, N: Int 0+): string Cadena desde I, N caracteres (por ej. StrCopy ('Barcelona'; 4; 3) devuelve 'cel'). StrLength F. (Texto: string): Integer Nmero de caracteres (por ej. StrLength ('Barcelona') devuelve 9). StrPos F. (Subtexto, Texto: string): Integer Posicin de Subtexto dentro de Text, si no se ha encontrado Subtexto devuelve 0 (por ej. StrPos ('cel'; 'Barcelona') devuelve 4).

Func./proc. de Fecha/tiempo
El tipo utilizado es TDateTime. Mire tambin funciones para todo. DecodeDate P. (Fecha: TDateTime; var A, M, D: Integer) Ao, mes y da de la fecha. DecodeTime P. (Tiempo: TDateTime; var H, M, S, M: Integer) Hora, minutos, segundos y milisegundos de la hora. EncodedDate

StrLowercase F. (Text: string): string A minsculas. StrUppercase F. (Text: string): string A maisculas. StrUntilDel F. (var Texto: string; Delim.: string): string Cadena hasta cualquier caracter del delimitador Delim. (por ej. si S = 'Hello, World', entonces StrUntilDel (S, ' ' ) devuelve 'Hello' y S = ', World'). StrUntilDelX F. (var Texto: string; Delim.: string): string Cadena hasta cualquier caracter del delimitador Delim. (por ej. si S = 'Hello, World', entonces StrUntilDelX (S, ' ' ) devuelve 'Hello' y S = 'World'). StrIsFloat2 F. (Texto: string; var N: Real): Boolean Si es un num. real, y este (por ej. si StrIsFloat2 ('12,4', E) devuelve True y E = 12,4). StrIsInt2 F. (Texto: string; var N: Integer): Boolean

Si es un entero, y este (por ej. si StrIsInt2 ('12', E) devuelve True y E = 12).

Func./proc. con Puntos


El tipo utilizado es TPoint. Son vlidos, si R es un nmero y P1 y P2 puntos:
R := P1.X P2.Y := R P1 := P2 = (P1.X := P2.X) y (P1.Y := P2.Y) P1 = P2 = (P1.X = P2.X) and (P1.Y = P2.Y) P1 <> P2 = (P1.X <> P2.X) or (P1.Y <> P2.Y)

SetXYToP P. (X, Y: Real; P: TPoint) Asigna XY al punto P. SetCToP P. (var P: TPoint) Asigna el centro de la forma previamente dibujada al punto P. AngleU P. (Modo: Int 0-1) Establece las unidades en que sern pasados los ngulos: 0: grados (por defecto) y 1: radiantes. SetPAToP P.(P1: TPoint; ngulo: Real; Distancia: 0+; var P2: TPoint) Desde el punto P1 con un ngulo ngulo y a una distancia Distancia, determina el punto P2.

InputDrwP F. (Texto: string; var P: TPoint): Boolean Asigna el punto P al clicar en el dibujo. Mire tambin InputPoint. Circle3PCenter F. (P1, P2, P3: TPoint; var Centro: TPoint): Boolean De una circumferencia definida por los puntos P1, P2 y P3, busca el Centro. Devuelve si lo ha encontrado. Circle3PRadius F. (P1, P2, P3: TPoint; var Radio: Real): Boolean De una circumferencia definida por los puntos P1, P2 y P3, determina el Radio. Devuelve si lo ha determinado. PolygonASFromR P. (Nm._lados: Int 3255; Radio: +; var Apotema, Long._lado: Real) Determina de un polgono regular la Apotema y la longitud de un lado (Long._costat). PolygonRSFromA P. (Nm._lados: Int 3255; Apotema: +; var Radio, Long._lado: Real) Determina de un polgono regular el Radio y la longitud de un lado (Long._costat). PIsAssigned

F. (P: TPoint): Boolean Devuelve verdadero/falso si el punto est asignado. Es til para verificar si un punto est asignado despus de las funciones ISectPPPP o ISectPAE llipse. NearestPToSegm P. (P1_Segm, P2_Segm, P: TPoint; var P_Ms_Cercano: TPoint) Asigna al punto P_Ms_Cercano el punto ms prximo al punto P en el segmento comprendido entre P1_Segm y P2_Segm. ISectPPPP P. (L1_P1, L1_P2, L2_P1, L2_P2: TPoint; var I: TPoint; var Modo: Int) Asigna al punto I el punto de interseccin de dos lneas o segmentos definidos: el primero por L1_P1-L1_P2 y el segundo por L2_P1-L2_P2. Como segmentos y con un resultado de Modo = 2: se ha encontrado. Como lneas y con un resultado de Modo <> 0: se ha encontrado. ISectPAPA F. (P1: TPoint; ngulo1: Real; P2: TPoint; ngulo2: Real; var I: TPoint): Boolean Asigna al punto I el punto de interseccin de dos lneas definidas: una a partir del punto P1 en una direccin

definida por una ngulo ngulo1, y el otro a partir del punto P2 y el ngulo ngulo2. Devuelve si la ha encontrado. ISectPAEllipse P. (P: TPoint; ngulo: Real; P1, P2: TPoint; var I1, I2: TPoint) Asigna a los puntos I1 y I2, los puntos de interseccin de una lnea definida a partir del punto P en una direccin definida por una ngulo ngulo con una elipse enmarcada por dos puntos P1 yP2. ISectPAPolyL P. (P: TPoint; ngulo: Real; P._polilnea, P._intersec.: TPointList) Determina los puntos de interseccin P._intersec. de una lnea definida a partir del punto P en una direccin definida por una ngulo ngulo con una polilnea definida por P._intersec.. AngleFromPP F. (P1, P2: TPoint): Real Devuelve el ngulo definido por dos puntos. DistFromPP F. (P1, P2: TPoint): Real Devuelve la distancia entre dos puntos.

LClear P. (Lista) Elimina todos los elementos de la lista. LCount F. (Lista): Integer Nmero de elementos de la lista. LLoadedFFile F. (Lista; Nombre_fichero: string): Boolean Carga la lista de elementos de un fichero de texto y devuelve si lo ha hecho. LSavedToFile F. (Lista; Nombre_fichero: string): Boolean Guarda todos los elementos de la lista a un fichero de texto y devuelve si lo ha hecho. LPasteFromClb F. (Lista): Boolean Pega la lista de elementos desde el portapapeles y devuelve si lo ha hecho. LCopyToClb P. (Lista) Copia todos los elementos de la lista al portapapeles. Func./proc. con Lista de cadenes de caracteres El tipo utilizado es TStringList, una lista con las func./proc. heredadas: LClear, LCount, LLoa

Func./proc. con Listas

dedFFile, LSavedToFile, LPasteF romClb y LCopyToClb. SLAdd P. (Lista_cadenas: TStringList; Texto: string) Aade una cadena de caracteres al final de la lista. SLAddStrings P. (Lista_destino, Lista_origen: TStringList) Aade todas las cadenas de una lista. SLIndexOf P. (Lista_cadenas: TStringList; Texto: string): Integer Devuelve la posicin (donde 0 corresponde a la primera cadena) de Texto, sin devuelve -1. SLGetItem F. (Lista_cadenas: TStringList; Pos.: Int 0+): string La cadena de la posicin Pos. (donde 0 corresponde a la primera cadena). SLSetItem P. (Lista_cadenas: TStringList; Pos.: Int 0+; Texto: string) Asigna la cadena Texto a la posicin Pos.. SLSort

P. (Lista_cadenas: TStringList) Ordena la lista alfabticamente. LoadFNFDir F. (Lista_cadenas: TStringList; Directorio, Mscara: string): Boolean Carga los nombres de los ficheros de un directorio. Devuelve si lo ha hecho (existe el directorio). Ejemplos de mscara: '*.jpg', 'A*.gif'. Func./proc. con Lista de nmeros reales El tipo utilizado es TRealList, una lista con las func./proc. heredadas: LClear, LCount, LLoa dedFFile, LSavedToFile, LPasteF romClb y LCopyToClb. LSavedToFile y LCopyToClb utili zan el RNumCopyMode. RLAdd P. (Lista_nm._reales: TRealList; N: Real) Aade un nmero real al final de la lista. RLAddNums P. (Lista_destino, Lista_origen: TRealList) Aade todos los nmeros de una lista. RLIndexOf F. (Lista_nm._reales: TRealList; N: Real): Integer

Devuelve la posicin (donde 0 corresponde al primer nmero) del nmero real N, sin devuelve -1. RLGetItem F. (Lista_nm._reales: TRealList; Pos.: Int 0+): Real El n. real de la posicin Pos. (donde 0 corresponde al primer nmero). RLSetItem P. (Lista_nm._reales: TRealList; Pos.: Int 0+; N: Real) Asigna el n. real N a la posicin Pos. RLSort P. (Lista_nm._reales: TRealList) Ordena los valores. RLMean F. (Lista_nm._reales: TRealList): Real Media de los valores. RLSum F. (Lista_nm._reales: TRealList): Real Suma de los valores. RLStdDev F. (Lista_nm._reales: TRealList): Real Desviacin estndar de los valores. RLDistrShape

P. (Lista_nm._reales: TRealList; var Mediana, Oblicuidad, Curtosis: Real) Devuelve tres parmetros de la forma de la distribucin: la mediana, la oblicuidad y la curtosis. RLVMin F. (Lista_nm._reales: TRealList): Real Valor mnimo. RLVMax F. (Lista_nm._reales: TRealList): Real Valor mximo. RLPercentile F. (Lista_nm._reales: TRealList; Percentil: 0-100): Real Valor d'un percentil determinat. Func./proc. con Lista de puntos El tipo utilizado es TPointList, una lista con las func./proc. heredadas: LClear, LCount, LLoa dedFFile, LSavedToFile, LPasteF romClb y LCopyToClb. LSavedToFile y LCopyToClb utili zan el RNumCopyMode. En la importacin-exportacin cada lnea contiene una pareja de nmeros separados por un carcter de tabulacin. PLAddP

P. (Lista_puntos: TPointList; Punto: TPoint) Aade un punto al final de la lista. PLAddXY P. (Lista_puntos: TPointList; X, Y: Real) Aade un punto XY al final de la lista. PLAddPoints P. (Lista_destino, Lista_origen: TPointList) Aade todos los puntos de una lista. PLGetItem P. (Lista_puntos: TPointList; N: Int 0+; var Punto: TPoint) El punto de la posicin N. PLLimits P. (Lista_puntos: TPointList; var Punto1, Punto2: TPoint) Los lmites. PLCenter P. (Lista_puntos: TPointList; Modo: Int 0-1; var Punto: TPoint) Centro (0: de los puntos, y 1: del rectngulo contenedor de los puntos). PLFlip P. (Lista_puntos: TPointList; Modo: Int 0-1) Voltea los puntos (0: Horizontalmente, y 1:

Verticalmente), respecto del centro del rectngulo contenedor de los puntos. PLMoveAD P. (Lista_puntos: TPointList; ngulo: Real; Distancia: 0+) Mueve cada uno de los puntos de la lista en un ngulo y distancia. PLMoveV P. (Lista_puntos: TPointList; Vector: TPoint) Mueve cada uno de los puntos de la lista segn un vector. Para un vector de valores VX, VY, entonces para cada punto de lal lista X,Y -> X+VX, Y+VY. PLRotate P. (Lista_puntos: TPointList; Punto: TPoint; ngulo: Real) Gira cada uno de los puntos de la lista segn un punto de rotacin y un ngulo. PLScale P. (Lista_puntos: TPointList; Punto: TPoint; Fact._escalado: Real; Modo: Int 0-2) Cambia proporcionalmente la distancia de cada uno de los puntos de la lista segn el punto de referencia y el factor de escalada (as si el factor es 1, los deja igual); en todas las direcciones (Modo = 0),

horizontalmente (1) o verticalmente (2). PLPolygon P. (Lista_puntos: TPointList; Centro: TPoint; Nm._lados: Int 3255; Radio: +) Determina los vrtices de un polgono definido por el Centro, el Nm._lados y el Radio. PLPolyJump P. (Lista_puntos: TPointList; Salto: 2-255) Determina los vrtices de una estrella desde los vrtices de un polgono definido habitualmente por PLPolygon. El polgono debe tener un nmero impar de lados y >= a 5. PLPentagon P. (Lista_puntos: TPointList; P1, P2: TPoint) Determina los vrtices de un pentgono, especificando los vrtices opuestos (P1 y P2) del rectngulo imaginario que lo delimita. PLHexagon P. (Lista_puntos: TPointList; P1, P2: TPoint) Determina los vrtices de un hexgono, especificando los vrtices opuestos (P1 y P2) del rectngulo imaginario que lo delimita.

PLOctagon P. (Lista_puntos: TPointList; P1, P2: TPoint) Determina los vrtices de un octgono, especificando los vrtices opuestos (P1 y P2) del rectngulo imaginario que lo delimita.

Func./proc. Estadsticas
Estas funciones y procedimientos, utilizados en los clculos multilnea (programaci), comprenden: Vase tambin funciones estadsticas y uso estadstico de las matrices. PropInterval P. (n: Int 3-MaxInt; r: Int 0+; Prob.: 0,5-1; var Prop., Lm.inf., Lm.sup.: Real) Devuelve la proporcin, y el valor de la proporcin ms bajo y el ms alto, segn el valor de confianza asignado (habitualmente 0,95). Utiliza la funcin de Gauss (InvNorm).

Func./proc. con Matrices


El tipo utilizado es TRMatrix. El parmetro Int/StringL es: o un nmero entero (>=1) o una lista de cadenas (TStringList) asignando un encabezamiento.

Se utiliza para definir las columnas y filas de una matriz, con las funciones InputRCRM y RMFrom RCStr . Estas funciones y procedimientos, utilizados en los clculos multilnea (programaci), comprenden: InputRCRM F. (Matriz: TRMatrix; Filas, Columnas: Int/StringL): Boolean Solicita la entrada de una matriz, indicando las filas (rows) y las columnas (columns). Puede utilizar CloseInputC y SaveInputP os. InputSSRM F. (Matriz: TRMatrix; Tamanho: Int 1-): Boolean Solicita la entrada de una matriz cuadrada (squared), indicando el tamao (size). Puede utilizar CloseInputC y SaveInputP os. InputRM F. (Matriz: TRMatrix): Boolean Solicita la entrada de una matriz. Puede utilizar CloseInputC y SaveInputP os. InputSRM F. (Matriz: TRMatrix): Boolean Solicita la entrada de una matriz cuadrada. Puede

utilizar CloseInputC y SaveInputP os. RMEdit F. (Matriz: TRMatrix): Boolean Edita una matriz previa. Puede utilizar CloseInputC y SaveInputP os. RMIOHeader P. (Filas, Columnas: Boolean) Indica si en el texto a importar (de un fichero, del portapapeles) se espera que tenga un encabezamiento para las filas y las columnas; o al exportar (escritura en el panel de los resultados, copia en un fichero o al portapapeles) se incluir el encabezamiento de las filas y de las columnas. RMFromRCStr F. (Matriz: TRMatrix; Filas, Columnas: Int/StringL; Cadena: string): Boolean Asigna una matriz indicando las filas y las columnas, y una cadena: 1. Que la define (por ej.: RMFromRCStr (3; 2; '(1;2);(3;4);(5;6)'), o 2. Vaca -> la matriz vaca (por ej. : RMFromRCStr (3; 2; '') RMLoadedFFile F. (Matriz: TRMatrix; Nombre_fichero: string): Boolean

Carga una matriz de un fichero de texto y devuelve si lo ha hecho. RMSavedToFile F. (Matriz: TRMatrix; Nombre_fichero: string): Boolean Guarda la matriz a un fichero de texto y devuelve si lo ha hecho. Utiliza el RNumCopyMode. RMPasteFromClb F. (Matriz: TRMatrix): Boolean Pega una matriz desde el portapapeles y devuelve si lo ha hecho. RMCopyToClb P. (Matriz: TRMatrix) Copia la matriz al portapapeles. Utiliza el RNumCopyMode. RMCopy P. (Mtr._origen, Mtr._destino: TRMatrix) Copia la matriz. RMRows F. (Matriz: TRMatrix): Integer Devuelve el nmero de filas de la matriz. RMCols F. (Matriz: TRMatrix): Integer Devuelve el nmero de columnas de la matriz. RMGetVal

F. (Matriz: TRMatrix; Filas, Columnas: Int 1-): Real Devuelve el valor que tiene la matriz en la fila F y columna C. RMSetVal P. (Matriz: TRMatrix; Filas, Columnas: Int 1-; N: Real) Asigna un valor a la matriz en la fila F y columna C. Uso matemtico RMAdd P. (Matr._1, Matr._2, Mtr._resultante: TRMatrix) Suma dos matrices. RMSubtr P. (Matr._1, Matr._2, Mtr._resultante: TRMatrix) Resta de matrices. RMMult P. (Matr._1, Matr._2, Mtr._resultante: TRMatrix) Multiplicacin de matrices. RMScMult P. (Matriz: TRMatrix; N: Real; Mtr._resultante: TRMatrix) Multiplicacin de una matriz por un nmero (escalar). RMTranspose P. (Matriz, Mtr._resultante: TRMatrix) Matriz transpuesta.

RMInvDet F. (Matriz, Mtr._inversa: TRMatrix; var Determinante: Real): Boolean Matriz inversa y determinante, devuelve si la ha encontrado (True) o no (False: se trata de una matriz singular). RMSolveAxXIsB F. (A, B, Mtr._inversa, X: TRMatrix; var Determinante: Real): Boolean Si A es una matriz n-por-n y B es una matriz n-por-m, esta funcin (eliminacin de Gauss-Jordan) puede computar la matriz inversa A-1, la solucin X al sistema de ecuaciones lineales AX = B, y el determinante de A. Devuelve si la ha encontrado (True) o no (False: se trata de una matriz casisingular). Uso estadstico Vase tambin funciones y procediment os estadsticos. Definiciones
Matriz agrupada por valores

14 15 17 18

12 6 4 2

Es de utilidad si los datos son muy numerosos o la variable es cuantitativa-discreta.


Matriz agrupada por clases

Se trata de una matriz con clases y frecuencias, con dos columnas: 1. El valor de la clase (en este caso: debe ser numrico; y si se trata de un intervalo: debe ser su punto medio). 2. La frecuencia absoluta. Ejemplo, con tres clases: 5-14,9, 15-24,9 i 25-34,9: 10 20 30 12 60 21

Se trata de una matriz con valores observados y frecuencias, con dos columnas: 1. El valor que los representa. 2. La frecuencia absoluta. Ejemplo: 12 8

Se suelen utilizar para la representacin (grfica, o en forma de tabla) de una distribucin, pero no las deberamos utilizar para los clculos: es mejor utilizar los datos no agrupados.

InputRMNum P. (Entero, Cero_o_positivo: Boolean)

Establece limitaciones en los nmeros entrados con las funciones "Input*RM": Si es True: el primer parmetro, slo permite entrar nmeros enteros el segundo, slo nmeros positivos o el cero. InputRMEV P. (Modo: Int 0-2) Con las funciones "Input*RM", permite dejar celdas sin llenar, si es: 0: ningn permiso 1: slo filas vacas al final de la matriz 2: en cualquier lugar RMSort P. (Matriz: TRMatrix; Columna: Int 1-) Ordena una matriz segn los valores de una columna seleccionada. RMSum P. (Matriz, Mtr._resultante: TRMatrix) Obtiene una matriz de una fila con la suma de cada columna. RMMean P. (Matriz, Mtr._resultante: TRMatrix) Obtiene una matriz de una fila con la media de cada columna. RMSD

P. (Matriz, Mtr._resultante: TRMatrix) Obtiene una matriz de una fila con la desviacin estndar de cada columna. RMDistrShape P. (Matriz, Mtr._resultante: TRMatrix) Obtiene una matriz con tres filas, correspondientes a tres parmetros de la forma de la distribucin: la mediana, la oblicuidad y la curtosis, para cada columna. RMMin P. (Matriz, Mtr._resultante: TRMatrix) Obtiene una matriz de una fila con el valor mnimo de cada columna. RMMax P. (Matriz, Mtr._resultante: TRMatrix) Obtiene una matriz de una fila con el valor mximo de cada columna. RMGMean P. (Matr._2_cols.: TRMatrix) Obtiene, de una matriz agrupada, la media de cada columna. RMGSD P. (Matr._2_cols.: TRMatrix)

Obtiene, de una matriz agrupada, la desviacin estndar de cada columna. RMGDistrShape P. (Matr._2_cols.: TRMatrix; var Mediana, Oblicuidad, Curtosis: Real) Obtiene, de una matriz agrupada, tres parmetros de la forma de la distribucin: la mediana, la oblicuidad y la curtosis. RMPercWhole P. (Matriz, Mtr._resultante: TRMatrix) Obtiene una matriz resultante con el porcentaje en cada celda segn la suma de la matriz. RMPercByC P. (Matriz, Mtr._resultante: TRMatrix) Obtiene una matriz resultante con el porcentaje en cada celda segn la suma de cada columna. RMDelEmptyR P. (Matriz: TRMatrix) Obt una matriu resultant amb el percentatge en cada cella segons el suma de cada columna. RMKhi2OO y RMKhi2TO P. (Matriz: TRMatrix; Lim._Yates: Int 5-10; var Usado_Yates: Boolean; Chi2, Prob.: Real)

Prueba de 2. Se trata de una comparacin de variables cualitativas. Se entra la matriz y el mnimo valor a partir del cual se utilizar la correccin de Yates, normalmente 10, pero algunos autores aceptan hasta 5. Devuelve: Si se ha utilizado la mencionada correccin. El valor de 2. El correspondiente valor de la probabilidad para los correspondientes grados de libertad (normalmente se considera que hay significacin estadstica si la probabilidad es <= 0,05). La funcin devuelve si se ha realizado la prueba. RMKhi2OO: compara dos o ms muestras de variables. RMKhi2TO: compara el porcentaje terico con el nmero de variables observadas. RMAnMeanPV F. (mA, mB, DSA, DSB: Real; nA, nB: Int 4-MaxInt): Real Anlisis de medias: entre dos columnas de variables apareadas (de distribucin normal). Devuelve el valor de p. Hay una diferencia significativa si p <= 0.05. Utiliza la funcin de Gauss (PNorm) si ambas muestras son

> 30 y la funcin de Student (PStudent) si alguna de las muestras es <= 30.

WriteTextLn P. (Texto) Id. WriteText ms un salto de lnea. ClearResP P. Limpia el panel de los resultados. CopyTextClb P. (Texto) Id. WriteText, pero lo escribe al portapapeles.

Func./proc. de Escritura
RealToTextD F. (N: Real; Dec.: Int 0-10): string Convierte un nmero real a texto, con el nmero de decimales especificado en el segundo parmetro. CpxToTextD F. (C: Complex; Dec.: Int 0-10): string Convierte un nmero complejo a texto, con el nmero de decimales especificado en el segundo parmetro. WriteText P. (Texto) Escribe la variable en la lnea actual, en el panel de los resultados. Si se pasa una variable, esta se convierte a texto (y si es un nmero real: con el nmero de decimales especificado en el panel del resultado, alternativament puede usar RealToTextD). Puede utilizar LineBreak e TabChar. Ejemplos: WriteText ('Hola'), WriteText ('Resultado: '+a), WriteText (a/2), raramente utilizar una constante (WriteText (Pi)).

Func./proc. de Presentacin y Entrada


Cambio del tipo de letra: Puede cambiar las opciones del tipo de letra (que, por defecto, utiliza la seleccionada desde Fichero | Opciones...) con las rdenes FontName, FontSize y F ontColor, siempre que UseDrawFont = True. Algo a mostrar: consiste en un texto, una variable, o una imagen/texto de un fichero. En el caso de una imagen, su nombre (con la va y extensin) debe ser escrito entre <img src=" y ">, o <txt src=" y "> para un fichero de texto, y <htm src=" y "> para un fichero htm/html. Si se trata de un fichero, puede contener al mismo tiempo texto antes (que se colocar en un panel arriba de todo) y/o texto despus (que se colocar antes de los botones del

plafn de abajo). No se puede presentar ms de un fichero. SaveInputPos V. : Boolean Guarda o no, la posicin en la pantalla de las entradas. Valor por defecto = False. ResDialogW V. : Integer Anchura de los dilogos y entradas redimensionables. ResDialogH V. : Integer Altura de los dilogos y entradas redimensionables. Proc. de Presentacin Cambio del tipo de letra: Puede cambiar las opciones del tipo de letra (que, por defecto, utiliza la seleccionada desde Fichero | Opciones...) con las rdenes FontName, FontSize y F ontColor, siempre que UseDrawFont = True. Algo a mostrar: consiste en un texto, una variable, o una imagen/texto de un fichero. En el caso de una imagen, su nombre (con la va y extensin) debe ser escrito entre <img src=" y ">, o <txt src=" y "> para un fichero de texto, y <htm src=" y "> para un fichero htm/html. Si se trata de un fichero, puede contener al mismo tiempo texto antes (que se

colocar en un panel arriba de todo) y/o texto despus (que se colocar antes de los botones del plafn de abajo). No se puede presentar ms de un fichero. DialogTextI P. (Texto) Muestra algo en una ventana de informacin. Mire cambio del tipo de letra. DialogTextW P. (Texto) Muestra algo en una ventana de advertencia (Warning). Mire cambio del tipo de letra. DialogTextE P. (Texto) Muestra algo en una ventana de error. Mire cambio del tipo de letra. Func./proc. de Entrada Si entra ms de una lnea en el Texto de presentacin, todas menos la ltima lnea, formarn una etiqueta explicativa antes de la caja de los elementos. CloseInputC V. : Boolean Confirmacin de cierre de una entrada, al cancelar. Valor por defecto = False. InputBool F. (Texto; var Res.: Boolean): Boolean

Solicita la entrada de una variable de tipo cierto/falso (boolean). Texto es algo. Puede utilizar CloseInputC y SaveInputP os. InputText F. (Texto; var Res.: string): Boolean Solicita la entrada de una variable de tipo texto. Texto es algo con ttulo. Puede utilizar CloseInputC y SaveInputP os. InputTextW F. (Texto; L.mn., L.mx.: Int 1255; Modo: Int 0-2; var Res.: string): Boolean Solicita la entrada de una variable de tipo texto, con lmites de mnimo y mximo nmero de caracteres y del tipo de conversin de la letra tecleada: 0: normal; 1: a maysculas y 2: a minsculas.Texto es algo con ttulo. Puede utilizar CloseInputC y SaveInputP os. InputSL F. (Texto: string; Lista_cadenas: TStringList; N._mn._elementos: Int 0+): Boolean Solicita la entrada de una lista de cadena de caracteres. Puede utilizar CloseInputC y SaveInputP os. InputInt

F. (Texto: string; var Res.: Integer): Boolean Solicita la entrada de una variable de tipo nmero entero. Puede utilizar CloseInputC y SaveInputP os. InputIntW F. (Texto: string; Mn., Mx.: Integer; var Res.: Integer): Boolean Solicita la entrada de una variable de tipo nmero entero, con lmites mnimo y mximo. Puede utilizar CloseInputC y SaveInputP os. InputIntSE F. (Texto: string; Mn., Mx., Incremento: Integer; var Res.: Integer): Boolean Solicita la entrada de una variable de tipo nmero entero, con lmites mnimo y mximo, y flechas de incremento/decremento del nmero. Puede utilizar CloseInputC y SaveInputP os. InputIntFL F. (Texto; Elementos: string/TStringList; Cols.: Int 110; var Res.: Boolean): Boolean Pide la respuesta correcta (Ok Answer) desde una lista (From List) de Elementos: string con los elementos separados por

';', o una TStringList. Cols. es el nmero de columnas a presentar los elementos, habitualmente ser 1. Si se escoge el primer elemento se devolver un 0, si escoge el segundo un 1, etc., a menos que los elementos tengan una puntuacin definida: despus del signo '|'; por ej. si el primero es'Primero|2', aparecer 'Primero' pero si se escoge devolver un 2. Texto es algo con ttulo. Puede utilizar CloseInputC y SaveInputP os. InputOkAFL F. (Texto; Elementos: string/TStringList; Cols.: Int 110; var Res.: Integer): Boolean Solicita la entrada de una variable de tipo nmero entero (From List) desde una lista de Elementos: string con los elementos separados por ';', o una TStringList. Cols. es el nmero de columnas a presentar los elementos, habitualmente ser 1. El elemento correcto tendr '| * '; por ejemplo si el correcto es 'Elemento|*', aparecer 'Elemento'. Texto es algo con ttulo. Puede utilizar CloseInputC y SaveInputP os. InputReal

F. (Texto: string; var Res.: Real): Boolean Solicita la entrada de una variable de tipo nmero real. Puede utilizar CloseInputC y SaveInputP os. InputRealW F. (Texto: string; Mn., Mx.: Real; var Res.: Real): Boolean Solicita la entrada de una variable de tipo nmero real, con lmites mnimo y mximo. Puede utilizar CloseInputC y SaveInputP os. InputCpx F. (Texto: string; var Complejo: Complex): Boolean Solicita un nmero complejo. Puede utilizar CloseInputC y SaveInputP os. InputCpxW F. (Texto: string; Mn.R, Mx.R, Mn.I, Mx.I: Real; var Complejo: Complex): Boolean Solicita un nmero complejo, con lmites mnimo y mximo. Puede utilizar CloseInputC y SaveInputP os. InputPoint F. (Texto: string; var P: TPoint): Boolean Solicita un punto. Mire tambin InputDrwP. Puede

utilizar CloseInputC y SaveInputP os. InputPointW F. (Texto: string; Mn.X, Mx.X, Mn.YI, Mx.Y: Real; var P: TPoint): Boolean Solicita un punto, con lmites mnimo y mximo. Mire tambin InputDrwP. Puede utilizar CloseInputC y SaveInputP os. InputDir F. (var Directorio: string): Boolean Sollicita el nombre de un directorio. InputFileNO F. (Ext.: string; var Nombre_fichero: string): Boolean Solicita el nombre de un fichero a abrir (Open). InputFileNS F. (Ext.: string; var Nombre_fichero: string): Boolean Solicita el nom de un fichero donde guardar algo (Save). InputEDate F. (Texto: string; var Fecha: TDateTime): Boolean Solicita una fecha exacta. Puede utilizar CloseInputC y SaveInputP os. InputADate

F. (Texto: string; var Fecha: TDateTime): Boolean Solicita una fecha aproximada. Puede utilizar CloseInputC y SaveInputP os. InputTime F. (Texto: string; var Tiempo: Real): Boolean Solicita un tiempo. Puede utilizar CloseInputC y SaveInputP os. Vea tambin con matrices Test F. (Nombre_fichero: string; Dice_resp.: Boolean; Cols.: Int 1-9; var Puntuacin: Integer): Boolean Ejecuta un fichero de test (de nombre Nombre_fichero). Dice_respuesta: Dice la respuesta correcta (definida con |*) si la respuesta dada es incorrecta.

Func./proc. de Memorizacin
Antes de ejecutar la orden principal de memorizacin, Memory, hay que ejecutar cualquiera de los tres siguientes procedimientos (MemMode...), que determinan el modo en que se har el ejercicio de memorizacin. Cualquiera de

los tres anula cualquier otro procedimiento MemM... anteriormente ejecutado. Para cualquiera de los tres, los 2 primeros parmetros son: Pregunta_por la primera o la segunda columna del fichero. Nm._max._rep.: Nmero mximo de repeticiones. Si es 0 slo se har un solo bucle: el inicial con todas las preguntas, si es 1 se harn 2 bucles: el inicial y el segundo con las preguntas que no se hayan respondido correctamente, etc.. MemMClick P. (Preg._por: Int 12; N._mx._rep., N._mx._err._preg.: Int 09; Dice_resp.: Boolean; Aleator: Int 0-3; Cols.: Int 1-9) Este procedimiento de modo de memorizacin, asigna el modo en que ha que clicar la respuesta correcta. N._mx._err._preg., es el nmero mximo de errores por pregunta. Dice_respuesta: Dice la respuesta correcta si no se ha recordado, al superar el N._mx._err._preg.. Aleatorizacin: 0. Ninguna: Ordena las respuestas alfabticamente 1. Aleatoriza las respuestas 2. Aleatoriza las preguntas y ordena las respuestas

alfabticamente 3. Aleatoriza todo: preguntas y respuestas Cols.: nmero de columnas en que se presentarn las respuestas. MemMInMind P. (Preg._por: Int 12; N._mx._rep.: Int 09; Aleator: Boolean) Este procedimiento de modo de memorizacin, asigna el modo en que hay que decir la respuesta mentalmente, seguidamente se presentar la respuesta correcta y habr que decir si la ha recordada. Aleatoritzacin de las preguntas. MemMType P. (Preg._por: Int 12; N._mx._rep., N._mx._err._preg.: Int 09; Dice_resp., Aleator.: Boolean; Opc._edi.: Int 0-7) Este procedimiento de modo de memorizacin, asigna el modo en que hay que teclear la respuesta correcta, no se tiene en cuenta si es mayscula o minscula. N._mx._err._preg., es el nmero mximo de errores por pregunta. Dice_respuesta: Dice la respuesta correcta si no se ha recordado al superar el N._mx._err._preg.. Aleatorizaci-on de las preguntas.

Opciones_edicin: Con la mscara (con el carcter '*': 1) o no (0) + Comprueba cuando: se teclea un carcter (0) o se ejecuta la orden 'Acepta' (2) + Cambia el carcter incorrecto (4) o no (0). Memory F. (Nombre_fichero: string; var Repeticiones, Porcent.: Integer; Completado: Boolean; Matriz: TRMatrix): Boolean Pregunta por la respuesta correcta segn el modo asignado por cualquiera de los tres anteriores procedimientos, de un fichero de memorizacin (de nombre Nombre_fichero). Se obtienen: 1. El nmero de Repeticiones que se ha tenido que realizar para poder recordar todas las respuestas correctas a las preguntas realizadas, si se ha recordado todas las respuestas, en el primer bucle, el resultado es 0. 2. El Porcentaje redondeado de la media de los porcentajes de respuestas correctas sobre las preguntas realizadas, de cada vez que se ha hecho un bucle de preguntas. 3. (Completado) Si se ha conseguido recordar todas las

respuestas correctas en el ltimo bucle de preguntas. 4. De forma ms detallada, Matriz, contiene 1 o ms (repeticiones) filas con las siguientes columnas: Puntuacin, opcional. Nmero de respuestas correctas. Nmero de preguntas efectuadas. Porcentaje redondeado de las dos anteriores columnas. Finalmente devuelve True si se ha completado el ejercicio.

Otras func./proc.
RNumCopyMode P. (Modo: Int 0-1) Indica el nmero de decimales a utilizar por un objeto que contenga nmeros (TPointList, TRealList, TRMatrix), al copiarlo al portapapeles o al guardarlo a un fichero: 0: Utiliza el nmero seleccionado en la entrada Decim. de la ventana principal del programa. 1: Utiliza el nmero requerido. VarIsEmpty F. (): Boolean Comprueba si la variable no tiene valor. TraceOn P. Indica que se active la visualizacin de la ejecucin paso a paso a partir de esta

lnea. Es til para programas largos, para ver que falla (o lo que pasa) en un punto. AnyKPressed F. : Boolean Comprueba que se ha pulsado una tecla. KeyPressed F. (N: Int 8-255): Boolean Comprueba que se ha pulsado una determinada tecla que devuelve un determinado carcter. Cada carcter tiene un nmero determinado por la llamada tabla ascii. As la tecla Esc = 27, la barra espaciadora = 32, etc., puede encontrarlos en: http://es.wikipedia.org/wiki/AS CII, o puede encontrar el nmero con Ord. Ej.: KeyPressed (Ord ('a')). Mire el ejemplo: Mueve crculo. Delay P. (N: Int +) Espera el nmero de milisegundos designado antes de pasar a la siguiente lnea, til por ver como se va dibujando poco a poco. Minimize P. Minimiza esta aplicacin. Restore

P. Restaura esta aplicacin al tamao que tenia antes de ser minimizada. ProgramDir F. Directorio del programa. FileExists F. (Nombre_fichero: string): Boolean Comprueba si existe un fichero. FileOpen F. (Nombre_fichero: string): Boolean Abre un fichero y devuelve si lo ha hecho. Ord F. (Texto: string): Integer Devuelve la posicin en la tabla ascii de un carcter (mire su utilidad con KeyPressed).

Func./proc. de dibujo
Estas funciones y prodimientos, utilizadas en los clculos multilnea (programacin), comprenden: Pen Determina el estilo en que la pluma dibuja las lneas. PenColor V. : Integer Color de la pluma. PenStyle

V. : Int 0-6 Estilos de la pluma: psSolid psDash (Slido) Lnea continua 0

V. : Int 0-7 Estilos de la brocha: bsSolid bsClear bsHorizontal bsVertical bsFDiagonal Relleno completo Sin relleno Con lneas: Horizontales Verticales Diagonales descendiendo de izquierda a derecha Diagonales descendiendo de derecha a izquierda Cruzadas Cruzadas y en diagonal 0 1 2 3 4

psDot

psDashDot

(Ralla) Lnea compuesta de una 1 serie de rallas (Punto) Lnea compuesta de una 2 serie de puntos (Ralla-Punto) Lnea compuesta de 3 rallas y puntos

bsBDiagonal bsCross bsDiagCross ShapeStyle V. : Int 0-2

5 6 7

(Ralla-Punto-Punto) Lnea compuesta de una psDashDotDot 4 serie de combinaciones de ralla-punto-punto

Los estilos de la pluma de punteado o rallado no estn disponibles cuando PenWidth no es 1. PenWidth V. : Int 1-100 Ancho de la pluma (en pxeles). Brush Determina el color y modelo para rellenar las formas grficas BrushColor V. : Integer Color de la brocha. BrushStyle

Dibuja el contorno (con ssFillOutline Pen) y el dentro (con Brush) ssFill Slo el dentro ssOutline Slo el contorno (interior transparente)

0 1 2

Estilo de las formas: Arrow Utilizados por ArrowXY_XY, ArrowXY_AD, ArrowP_P y ArrowP_AD: ArrowSize V. : Int 1-100 Tamao de la punta de la flecha.

DoubleArrow V. : Boolean Flecha con doble punta. Valor por defecto = False. Point Utilizados por PointXY y PointP: PointSymbol V. : Int 0-9 Smbolo del punto: ptsSingle ptsCircle ptsSquare ptsRhombus ptsTriangle Slo el punto Crculo Cuadrado Rombo Tringulo Tringulo ptsInvTriang invertido ptsPlus + ptsMult x ptsPlusMult * PointSize V. : Int 1-100 Tamao del punto. Font Los valores son utilizados por DrawTextXY, DrawTextC y Dr awTextP; y tambin por las funciones de entrada y proc. de presentacin siempre que UseDrawFont = True. InputFont F. : Boolean 0 1,2 3 4 5 6 7 8 9

Solicita un tipo de letra. Font P. (Nombre: string; Tamao: Int 4-255; Color: Integer; Estilo: Int 0-7) Asigna el tipo de letra. Estilos: fsBold Negrita 1 fsItalic Cursiva 2 fsUnderline Subrallada 4 FontName V. : string El nombre del tipo de letra. FontSize V. : Int 4-255 El tamao del tipo de letra. FontColor V. : Integer El color del tipo de letra. Texto Los valores son utilizados por DrawTextXY, DrawTextC y Dr awTextP. TextHGap V. : Real Asigna la separacin horizontal del punto al texto. TextVGap V. : Real

Asigna la separacin vertical del punto al texto. TextGapMode V. : Int 0-1 Asigna el tipo de separacin efectuada con las dos funciones anteriores: 0: en pxeles; 1: proporcional al texto. TextHPos V. : Int 0-2 Asigna la posicin horizontal del punto al texto. pLeft izquierda 0 pCenter centro 1 pRight derecha 2 TextVPos V. : Int 0-2 Asigna la posicin vertical del punto al texto. pAbove encima 0 pCenter centre 1 pBelow debajo 2 TextHeight F. (Texto: string): Integer Devuelve la altura, en los pxeles, de un texto dado en la fuente actual. TextWidth F. (Texto: string): Integer Devuelve la ancho, en los pxeles, de un texto dado en la fuente actual.

Otros ClearImg P. Limpia la imagen. UseXYCoor P. Usa las coordenadas cartesianas, contrariamente se usan las coordenadas de pantalla (X: de derecha a izquierda y Y: de arriba abajo, en pxeles). ExpImgFile F. (Tipo_grf.: Int 05; Nombre_fichero: string): Boolean Guarda la imagen en un fichero, devuelve si lo ha hecho. Vase el siguiente para tipos. ExpImgClb P. (Tipo_grf.: Int 0-5) Exporta la imagen al portapapeles. En donde el tipo es: imgBMP imgPNG imgGIF imgJPG imgEMF imgSVG Imagen BMP de Windows Imagen PNG Imagen GIF Imagen JPG EMF de Windows Grfico vectorial SVG 0 1 2 3 4 5

CaptureImg P. (Modo: Int 0-1) Captura una imagen.

Segn el Modo, de: 0: Una seleccin de la pantalla: pulse el botn izquierdo del ratn en el extremo superior izquierdo (del rea rectangular a capturar), arrastre el cursor del ratn hasta el extremo inferior derecho y deje ir el botn. 1: Una ventana u objeto de la pantalla (botn, plafn, lista): clicando el botn izquierdo del ratn. ImpImgFile F. (Nombre_fichero: string): Boolean Carga la imagen de un fichero (de tipo: jpg, jpeg, jpe, mng, png, gif, bmp, emf, wmf), y es usado como fondo de dibujo. Devuelve si lo ha hecho. InputImgFNO F. (var Nombre_fichero: string): Boolean Solicita el nombre de un fichero a abrir (Open). NoVectorize P. Se utiliza cuando no se quiere guardar en forma vectorial el dibujo. Lo debera utilizar cuando (vase el ejemplo de Mandelbrot) no tiene ningn sentido que el dibujo realizado pueda ser editado posteriormente en forma vectorial (= una imagen con muchos puntos). Height

F. : Integer Devuelve la altura de la rea de dibujo. Width F. : Integer Devuelve el ancho de la rea de dibujo. RGB F. (Rojo, Verde, Azul: Integer): Integer Devuelve un color mezcla del rojo, verde y azul. Cada uno puede tomar los valores de 0 a 255. InputColor F. (var Color: Integer): Boolean Solicita un color. Color F. (X, Y: Real): Integer Devuelve el color de la posicin actual del dibujo. MoveToXY P. (X, Y: Real) Cambia la posicin actual del dibujo al punto (X;Y). MoveToA P. (ngulo: Real; Distancia: 0+) Cambia la posicin actual del dibujo al punto definido por un ngulo A, y a una distancia L. Formas

Polyline P. (Lista_puntos: TPointList) Dibuja una serie de lneas que conectan los puntos pasados (con TPointList). Polygon P. (Lista_puntos: TPointList) Dibuja una serie de lneas que conectan los puntos pasados (con TPointList) y cerrando la forma con una lnea trazada desde el ltimo punto al primero. DrawTextC P. (Texto) Dibuja en el centro de la anterior forma dibujada y segn los valores asignados a Font y Text. Mire tambin DrawTextXY y DrawText P. Formas referenciadas a puntos X,Y Mire tambin las funciones referenciadas a puntos TPoint. PointXY P. (X, Y: Real) Dibuja un punto. Mire PointSymbol y PointSize; tambin PointP. Segm_XY P. (X, Y: Real) Dibuja un segmento desde la posicin actual del dibujo a (X; Y). Segm_XY cambia el valor de

la posicin del dibujo actual a (X;Y). Mire tambin Segm_P. SegmXY_XY P. (X1, Y1, X2, Y2: Real) Dibuja un segmento desde el punto (X1; Y1) a (X2; Y2). SegmXY_XY cambia el valor de la posicin del dibujo actual a (X2; Y2). Mire tambin SegmP_P. Segm_AD P. (ngulo: Real; Distancia: 0+) Dibuja un segmento desde la posicin actual al punto definido por el ngulo y la Distancia. Segm_AD cambia el valor de la posicin del dibujo actual a este ltimo punto. Mire tambinSegm_AD. SegmXY_AD P. (X, Y, ngulo: Real; Distancia: 0+) Dibuja un segmento desde el punto (X; Y) al punto definido por el ngulo y la Distancia. Mire tambin SegmP_AD. LineXY_PPI P. (X1, Y1, X2, Y2: Real) Dibuja una lnea recta desde el punto (X1; Y1) pasando por (X2, Y2) hasta el lmite del dibujo. Mire tambin LineP_PPI. LineXY_IPPI P. (X1, Y1, X2, Y2: Real)

Dibuja una lnea recta que pasa por los puntos (X1; Y1) y (X2, Y2) hasta los lmites del dibujo. Mire tambin LineP_IPPI. LineXY_PAI P. (X, Y, ngulo: Real) Dibuja una lnea recta desde el punto (X; Y) con un ngulo ngulo hasta el lmite del dibujo. Mire tambin LineP_PAI. LineXY_IPAI P. (X, Y, ngulo: Real) Dibuja una lnea recta que pasa por el punto (X; Y) con un ngulo ngulo y hasta los lmites del dibujo. Mire tambin LineP_IPAI. ArrowXY_XY P. (X1, Y1, X2, Y2: Real) Dibuja una flecha desde el punto (X1; Y1) a (X2; Y2). ArrowXY_XY cambia el valor de la posicin del dibujo actual a (X2; Y2). Mire tambin ArrowP_P, ArrowSize, D oubleArrow. ArrowXY_AD P. (X, Y, ngulo: Real; Distancia: 0+) Dibuja una flecha desde el punto (X; Y) al punto definido por el ngulo y la Distancia. ArrowXY_AD cambia el valor de la posicin del dibujo actual a este ltimo punto. Mire tambinArrowP_AD, ArrowSize, DoubleArrow.

RectangleXY P. (X1, Y1, X2, Y2: Real) Dibuja un rectngulo, usando Pen para el contorno y Brush para rellenarlo. Mire tambin RectangleP. RhombusXY P. (X1, Y1, X2, Y2: Real) Dibuja un rombo, especificando el rectngulo que lo delimita. Usa Pen para el contorno y Brush para rellenarlo. Mire tambin RhombusP. RoundRectXY P. (X1, Y1, X2, Y2: Real; Anchura_Red., Altura_Red.: 0+) Dibuja un rectngulo de la misma forma que RectangleXY, pero redondeando las esquinas segn una elipse de ancho Anchura_Red y de altura Altura_Red. Usa Pen para el contorno y Brush para rellenarlo. Mire tambin RoundRectP. CircleXY P. (X, Y: Real; Radio: 0+) Dibuja un crculo, especificando el centro y el Radio. Mire tambin CircleP. EllipseXY P. (X1, Y1, X2, Y2: Real) Dibuja una elipse, especificando los vrtices opuestos

(X1,Y1 y X2,Y2) del rectngulo imaginario que la delimita. Usa Pen para el contorno y Brush para rellenarlo. Mire tambin EllipseP. ArcXY P. (X1, Y1, X2, Y2, X3, Y3, X4, Y4: Real) Dibuja un arco: una lnea elpticamente encorvada. El arco sigue el permetro de una elipse contenida en un rectngulo, de la misma manera que EllipseXY. El arco sigue el pormetro en sentido contrario a las agujas del reloj, del punto inicial al punto final. El punto inicial se define por la interseccin de la elipse y una lnea definida por el centro de la elipse y (X3,Y3). El punto final se define por la interseccin de la elipse y una lnea definida por el centro de la elipse y (X4; Y4). Mire tambin ArcP. ArcHXY P. (X1, Y1, X2, Y2: Real; Tipo: Int 0-3) Dibuja la mitad de una elipse. Donde Tipo es la mitad de: 0: arriba; 1: abajo; 2: izquierda y 3: derecha. Mire tambin ArcHP. ArcQXY P. (X1, Y1, X2, Y2: Real; Tipo: Int 0-3) Dibuja la cuarta parte de una elipse. Donde Tipo es el cuadrante de: 0: abajo a la

izquierda; 1: abajo a la derecha; 2: arriba a la derecha y 3: arriba a la izquierda. Mire tambin ArcQP. ChordXY P. (X1, Y1, X2, Y2, X3, Y3, X4, Y4: Real) Dibuja un arco con su cuerda: creada de la misma forma que ArcXY, pero en la que se unen los puntos inicial y final del arco con una lnea recta. Se rellana usando Brush. Mire tambin ChordP. FloodFillXY P. (X, Y: Real) Rellena una regin (habitualmente irregular) de la imagen con Brush. Los lmites de la regin son determinados a partir del punto (X;Y) hasta que se encuentra otro color. Mire tambinFloodFillP. DrawTextXY P. (X, Y: Real; Texto) Dibuja el texto, a partir de X;Y y segn los valores asignados a Font y Text. Mire tambin DrawTextC y DrawTextP . Formas referenciadas a puntos TPoint Mire tambin los procedimientos referenciados a puntos X,Y. PointP F. (P: TPoint): Boolean

Dibuja un punto. Mire PointSymbol y PointSize; tambin PointXY. Segm_P F. (P: TPoint): Boolean Dibuja un segmento desde la posicin actual del dibujo a P. Segm_P cambia el valor de la posicin del dibujo actual a P. Mire tambin Segm_XY. SegmP_P F. (P1, P2: TPoint): Boolean Dibuja un segmento desde el punto P1 a P2. SegmP_P cambia el valor de la posicin del dibujo actual a P2. Mire tambin SegmXY_XY. SegmP_AD F. (P: TPoint; ngulo: Real; Distancia: 0+): Boolean Dibuja un segmento desde el punto P al punto definido por el ngulo y la Distancia. Mire tambin SegmXY_AD. LineP_PPI F. (P1, P2: TPoint): Boolean Dibuja una lnea recta desde el punto P1 pasando por P2 hasta el lmite del dibujo. Mire tambin LineXY_PPI. LineP_IPPI F. (P1, P2: TPoint): Boolean Dibuja una lnea recta que pasa por los puntos P1 y P2 hasta los

lmites del dibujo. Mire tambin LineXY_IPPI. LineP_PAI F. (P: TPoint; ngulo: Real): Boolean Dibuja una lnea recta desde el punto P con un ngulo ngulo hasta el lmite del dibujo. Mire tambin LineXY_PAI. LineP_IPAI F. (P: TPoint; ngulo: Real): Boolean Dibuja una lnea recta que pasa por el punto P con un ngulo ngulo y hasta los lmites del dibujo. Mire tambin LineXY_IPAI. ArrowP_P F. (P1, P2: TPoint): Boolean Dibuja una flecha desde el punto P1 a P2. ArrowP_P cambia el valor de la posicin del dibujo actual a P2. Mire tambin ArrowXY_XY, ArrowSize , DoubleArrow. ArrowP_AD F. (P: TPoint; ngulo: Real; Distancia: 0+): Boolean Dibuja una flecha desde el punto P al punto definido por el ngulo y la Distancia. ArrowP_AD cambia el valor de la posicin del dibujo actual a P2. Mire tambin ArrowXY_AD, ArrowSize ,DoubleArrow.

RectangleP F. (P1, P2: TPoint): Boolean Dibuja un rectngulo, usando Pen para el contorno y Brush para rellenarlo. Mire tambin RectangleXY. RhombusP F. (P1, P2: TPoint): Boolean Dibuja un rombo, especificando el rectngulo que lo delimita. Usa Pen para el contorno y Brush para rellenarlo. Mire tambin RhombusXY. RoundRectP F. (P1, P2: TPoint; Anchura_Red., Altura_Red.: 0+): Boolean Dibuja un rectngulo de la misma forma que RectangleP, pero redondeando las esquinas segn una elipse de ancho Anchura_Red y de altura Altura_Red. Usa Pen para el contorno y Brush para rellenarlo. Mire tambin RoundRectXY. CircleP F. (P: TPoint; Radio: 0+): Boolean Dibuja un crculo, especificando el centro P y el Radio. Mire tambin CircleXY. EllipseP F. (P1, P2: TPoint): Boolean

Dibuja una elipse, especificando los vrtices opuestos (P1 y P2) del rectngulo imaginario que la delimita. Usa Pen para el contorno y Brush para rellenarlo. Mire tambin EllipseXY. ArcP F. (P1, P2, P3, P4: TPoint): Boolean Dibuja un arco: una lnea elpticamente encorvada. El arco sigue el pormetro de una elipse contenida en un rectngulo, de la misma manera que EllipseP. El arco sigue el pormetro en sentido contrario a las agujas del reloj, del punto inicial al punto final. El punto inicial se define por la interseccin de la elipse y una lnea definida por el centro de la elipse y P3. El punto final se define por la interseccin de la elipse y una lnea definida por el centro de la elipse y P4. Mire tambin ArcXY. ArcHP F. (P1, P2: TPoint; Tipo: Int 0-3): Boolean Dibuja la mitad de una elipse. Donde Tipo es la mitad de: 0: arriba; 1: abajo; 2: izquierda y 3: derecha. Mire tambin ArcHXY. ArcQP F. (P1, P2: TPoint; Tipo: Int 0-3): Boolean Dibuja la cuarta parte de una elipse. Donde Tipo es el

cuadrante de: 0: abajo a la izquierda; 1: abajo a la derecha; 2: arriba a la derecha y 3: arriba a la izquierda. Mire tambin ArcQXY. ChordP F. (P1, P2, P3, P4: TPoint): Boolean Dibuja un arco con su cuerda: creada de la misma forma que ArcP, pero en la que se unen los puntos inicial y final del arco con una lnea recta. Se rellana usando Brush. Mire tambin ChordXY. FloodFillP F. (P: TPoint): Boolean Rellena una regin (habitualmente irregular) de la imagen con Brush. Los lmites de la regin son determinados a partir del punto P hasta que se encuentra otro color. Mire tambin FloodFillXY. DrawTextP F. (P: TPoint; Texto): Boolean Dibuja el texto, a partir de P y segn los valores asignados a Font y Text. Mire tambin DrawTextC y DrawTextX Y.

También podría gustarte