PDF de programación - Programando con KPress-Calc

Imágen de pdf Programando con KPress-Calc

Programando con KPress-Calcgráfica de visualizaciones

Publicado el 15 de Febrero del 2019
155 visualizaciones desde el 15 de Febrero del 2019
36,8 KB
6 paginas
Creado hace 7a (30/07/2012)
Programando con KPress
Programando con KPress----CalcCalcCalcCalc
Programando con KPress
Programando con KPress



. Introducción


KPress-Calc posee un núcleo que nos facilita un entorno de programación extremadamente
potente y sencillo. Se trata de un lenguaje simbólico que nos permite, como usuarios, definir
nuestras propias funciones y crear cualquier tipo de proceso, por complejo que nos parezca.


. Conceptos del lenguaje


expresión1 := expresión2;

expresión;

En KPress-Calc un programa se compone de un conjunto de instrucciones de la forma:



o de la forma:



donde expresión1 puede ser la definición de una función o una variable a las que se les asigna
expresión2. Y expresión supone la ejecución o interpretación de su contenido.
Tanto expresión2 como expresión pueden contener otras expresiones.

Ejemplos:



miNombre:=”Juan López”; (asigna a la variable miNombre el valor entrecomillado)
areaCubo(Lado):=6*(Lado^2); (definición de una función para el cálculo del área del cubo)

areaCubo(5.27); (mostrará el área de un cubo de 5.27 de lado, según la definición superior)

. Elementos del entorno


Como se ha visto anteriormente, con KPress-Calc podemos definir nuestras propias funciones, ya
sea dentro de nuestro programa o como librerías, para ser utilizadas por diferentes programas.

Además, KPress-Calc dispone, de forma intrínseca, de cientos de funciones que podremos usar
directamente en nuestros programas e incluso crear otras funciones a partir de estas.

Puede acceder al conjunto de funciones intrínsecas desde la ayuda de la aplicación. Se ha
hecho una división de estas funciones según su naturaleza en funciones Matemáticas,
Financieras, de Cadena, de Fecha y Hora, de acceso a Base de Datos, de conexión con Word, de
acceso a KPress-Conta y funciones Varias.
Disponemos de todo tipo de operadores: aritméticos, de unión de cadenas, de comparación,
lógicos, de asignación, etc. a cuya definición podemos acceder igualmente desde la ayuda de la
aplicación.


if expresión1 then expresión2 else expresión3;

Las estructuras de decisión nos permitirán realizar diferentes acciones dependiendo de las
condiciones dadas, o repetir un proceso hasta que se dé una situación prevista:



Si el resultado de interpretar expresión1 es verdadero, se ejecuta expresión2, en caso
contrario se ejecuta expresión3. Tanto expresión2 como expresión3 pueden ser un
conjunto de instrucciones, que al estar dentro de una estructura superior han de estar separadas
por : (dos puntos). Las instrucciones de rango superior han de estar separadas por ; (punto y
coma).

Ejemplo:



suEdad:=read(“Introduzca su edad”,1);
if suEdad<18 then

else



write(“Usted puede votar.”) :
write(line(2)) :
write(“Por favor, localice su colegio electoral.”) ;

write(“Eres muy joven para votar.”)

En el ejemplo se solicita al usuario la edad mediante la función intrínseca read y se asigna a la
variable suEdad. Posteriormente, mediante la estructura de decisión if … then … else se muestra
un mensaje dependiendo de que la edad introducida sea menor o mayor o igual que 18.

do expresión exitdo expresión loop;



Mediante la estructura do … loop podemos realizar un conjunto de acciones de manera
reiterada y salir cuando lo deseemos mediante la instrucción exitdo.

Ejemplo:



n:=n+1 :
if n>5 then exitdo else “” :
write(n) :
write(line(1))

n:=0;
do



loop;



En el ejemplo se recorre el bucle hasta que n es mayor que 5, mostrando por el visor cada vez el valor
de n y saltando una línea. Cuando n vale 6 salimos del bucle mediante exitdo.


En la ayuda de KPress-Calc puede ver las diferentes estructuras de decisión existentes.


Recursión: es una de las características que dotan con mayor potencia a KPress-Calc. La
recursión consiste en la posibilidad de que una función se llame a sí misma dentro de la definición.

Ejemplo:





factorial(0):=1;
factorial(N):=N * factorial(N-1);

Como se puede ver en el ejemplo, hemos definido una función para calcular el factorial de un número n
(n!=n*(n-1)*(n-2)* …), y, para ello hemos usado la recursión. Con esta definición podríamos obtener el
factorial de cualquier número, y como KPress-Calc trabaja con aritmética racional de precisión
arbitraria, obtendríamos el número exacto incluso para valores elevados:

factorial(1000) nos devolvería el valor:

4023872600770937735437024339230039857193748642107146325437999104299385123986290205920442084869694048004
7998861019719605863166687299480855890132382966994459099742450408707375991882362772718873251977950595099
5276120874975462497043601418278094646496291056393887437886487337119181045825783647849977012476632889835
9557354325131853239584630755574091142624174743493475534286465766116677973966688202912073791438537195882
4980812686783837455973174613608537953452422158659320192809087829730843139284440328123155861103697680135
7304216168747609675871348312025478589320767169132448426236131412508780208000261683151027341827977704784
6358681701643650241536913982812648102130927612448963599287051149649754199093422215668325720808213331861
1681155361583654698404670897560290095053761647584772842188967964624494516076535340819890138544248798495
9953319101723355556602139450399736280750137837615307127761926849034352625200015888535147331611702103968
1759215109077880193931781141945452572238655414610628921879602238389714760885062768629671466746975629112
3408243920816015378088989396451826324367161676217916890977991190375403127462228998800519544441428201218
7361745992642956581746628302955570299024324153181617210465832036786906117260158783520751516284225540265
1704833042261439742869330616908979684825901254583271682264580665267699586526822728070757813918581788896
5220816434834482599326604336766017699961283186078838615027946595513115655203609398818061213855860030143
5694527224206344631797460594682573103790084024432438465657245014402821885252470935190620929023136493273
4975655139587205596542287497740114133469627154228458623773875382304838656889764619273838149001407673104
4664025989949022222176590433990188601856652648506179970235619389701786004081188972991831102117122984590
1641921068884387121855646124960798722908519296819372388642614839657382291123125024186649353143970137428
5319266498753372189406942814341185201580141233448280150513996942901534830776445690990731524332782882698
6460278986432113908350621709500259738986355427719674282224875758676575234422020757363056949882508796892
8162753848863396909959826280956121450994871701244516461260379029309120889086942028510640182154399457156
8059418727489980942547421735824010636774045957417851608292301353580818400969963725242305608559037006242
7124341690900415369010593398383577793941097002775347200000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000


La aritmética racional de precisión arbitraria que tiene implementada KPress-Calc nos permite
trabajar, como se ha visto en el ejemplo anterior, con números muy grandes o con números muy
pequeños de manera exacta. Vemos a continuación un ejemplo en el que calculamos la raíz
cuadrada de 2, que es un número irracional con una cantidad infinita de posiciones decimales. En
nuestro ejemplo establecemos una precisión de 200 mediante la función intrínseca precision.

Ejemplo:



precision(200);
sqr(2);

sqr(2) nos devolvería el valor:

1,414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641572735
01384623091229702492483605585073721264412149709993583141322266592750559275579995050115278206057147



. Variables, listas, matrices y funciones

miNombre:=”Pedro”;
miCodigo:=2357;


Los tipos de datos que podemos utilizar son numéricos y alfanuméricos o de cadena; y para su
tratamiento existe un gran número de operadores y funciones.

Para su almacenamiento se dispone de variables, listas (o vectores) y matrices (o lista de listas).

Todas ellas se representan con un nombre que ha de comenzar con una letra minúscula o el
símbolo de guión bajo ( _ ). Y se les asigna valor mediante el símbolo dos puntos seguido de igual
( := ).



Las listas y matrices representan un caso especial; su nombre sigue la norma anterior, pero para
definir que se trata de una lista, el contenido ha de ir encerrado entre corchetes [ …, …, … ] y los
valores interiores deben estar separados por comas:



En el ejemplo anterior se han definido dos listas; para definir una matriz tenemos que colocar otro
corchete delante y otro detrás, y dentro tendremos diferentes listas separadas por comas:



Las listas (y matrices) han sido implementadas de forma que se pueda distinguir el primer
elemento del resto; para ello utilizaremos el símbolo de barra vertical ( | ). De esta manera
podremos crear multitud de funciones relativas a listas y matrices.

Ejemplo:



dias:=[ [1,2,3,4,5,6,7],[L,M,X,J,V,S,D] ];


misAmigos:=[”Pedro”,”Luz”,”Gabriel”];
susEdades:=[27,32,29];

[L1|RestoL1] + [L2|RestoL2]:=[L1+L2|RestoL1+RestoL2];

Con esta instrucción hemos definido la suma de listas; incluyendo esta definición en nuestro programa,
o en un módulo de librería al que llamáramos desde nuestro programa, podríamos sumar listas o
vectores. Por ejemplo, si hacemos:

a:=[1,2,3,4,5];
b:=[6,7,8,9,10];
write(a+b);

La instrucción write(a+b)nos mostraría [7,9,11,13,15], que es la suma de los dos vectores, y
para ello KPress_Calc ha utilizado la definición de suma de vectores que le hemos proporcionado.


Una función consiste en la definición de un conjunto de acciones que resuelven un problema, de
forma total o parcial. Una función ha de tener un nombre que sigue las mismas convenciones que
las variable
  • Links de descarga
http://lwp-l.com/pdf15198

Comentarios de: Programando con KPress-Calc (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad