html
EL LENGUAJE REXX
1.- Introducción.
=================
http://www.disc.ua.es/~gil/rexx.html 1/19
13/9/2018 www.disc.ua.es/~gil/rexx.html
http://www2.hursley.ibm.com/rexx
ftp://gwdg.de/pub/languages/rexx/brexx
http://www.disc.ua.es/~gil/rexx.html 2/19
13/9/2018 www.disc.ua.es/~gil/rexx.html
/ * patrón de un programa * /
instrucciónes
salida
/ * patrón de un programa * /
instrucción 0
instrucción 1
...
LLAME a mirutina
instrucción n
instrucción n+1
...
SALIDA
mirutina:
instrucciones
REGRESO
LLAME a mirutina a, b, c
/ * programa principal * /
/* calculo del área del triángulo */
say "introduce la altura del triángulo: "
altura de tiro
say "introduce la base del triángulo: "
tire de la base
call area base, altura
say "el area del triángulo es : "
decir RESULTADO
salida
/* subrutina que calcula area */
zona:
parse arg a, b
devolver 0.5 * a * b
http://www.disc.ua.es/~gil/rexx.html 3/19
13/9/2018 www.disc.ua.es/~gil/rexx.html
http://www.disc.ua.es/~gil/rexx.html 4/19
13/9/2018 www.disc.ua.es/~gil/rexx.html
hacer
instrucción 1
instrucción 2
...
fin
hacer 10
di "hola"
fin
hago yo = 1 a 10
di "hola" i
fin
hago yo = 1 a 10 por 2
di "hola" i
fin
http://www.disc.ua.es/~gil/rexx.html 5/19
13/9/2018 www.disc.ua.es/~gil/rexx.html
do i = 1 a 10 por 2 por 2
di "hola" i
fin
/ *
No aceptar un "NO" por respuesta, salvo si el "NO"
se repite tres veces
* /
hacer 3 hasta respuesta = "NO"
pull respuesta
fin
/ *
Leer 10 números, pero salir si se introduce la cadena vacía
* /
haz 10 hasta respuesta = ""
pull respuesta
fin
http://www.disc.ua.es/~gil/rexx.html 6/19
13/9/2018 www.disc.ua.es/~gil/rexx.html
hago yo = 1 a 100
hacer j = 1 a 100
si aij = 3.14 entonces
drenaje de señal
fin
fin
salir:
http://www.disc.ua.es/~gil/rexx.html 7/19
13/9/2018 www.disc.ua.es/~gil/rexx.html
do yo = 1 a 5
hacer j = 1 a 5
si i = 2 & j = 3 entonces deja j
decir ij
fin
fin
do yo = 1 a 5
hacer j = 1 a 5
si i = 2 y j = 3, entonces repite i
decir ij
fin
fin
4.3.- Condicionales
--------------------
di "introduce un número:"
jalar
si a> 0 entonces
hacer
say "el número es mayor que cero"
say "adiós, hasta la próxima"
fin
más
hacer
say "el número es menor o igual que cero"
say "que pases buen día"
fin
di "introduce un número:"
jalar
si a> 0 entonces
hacer
say "el número es mayor que cero"
say "adiós, hasta la próxima"
fin
más
nop
seleccionar
cuando condicion_0 entonces
hacer
instrucciones
fin
cuando condicion_1 entonces
hacer
http://www.disc.ua.es/~gil/rexx.html 8/19
13/9/2018 www.disc.ua.es/~gil/rexx.html
instrucciones
fin
de otra manera
hacer
instrucciones
fin
fin
= igual
<menor
> alcalde
>= mayor o igual
<= menor o igual
<> distinto
== igual
<< menor
>> alcalde
>>= mayor o igual
<<= menor o igual
/* operadores de comparacion */
a = 2
b = 2.0
si a == b entonces diga "la misma cadena"
si a = b entonces diga "los mismos números"
http://www.disc.ua.es/~gil/rexx.html 9/19
13/9/2018 www.disc.ua.es/~gil/rexx.html
6.- Aritmética
===============
/* factorial grande */
f = 1
hago yo = 1 a 100
f = f * i
fin
decir f
93326215443944152681699238856266700490715968264381621468592963
89521759999322991560894146397615651828625369792082722375825118
5210916864000000000000000000000000
/* algunas operaciones */
jalar
tirar b
tirar c
di a a + b ab a / ba ** b (a + b) / (a + c) a% ca // c
http://www.disc.ua.es/~gil/rexx.html 10/19
13/9/2018 www.disc.ua.es/~gil/rexx.html
http://www.disc.ua.es/~gil/rexx.html 11/19
13/9/2018 www.disc.ua.es/~gil/rexx.html
/ * formato de uso () * /
a = 3.1415
decir formato (a, 1,1)
decir formato (a, 1,6)
decir formato (a, 4,4)
/* uso de archivos */
archivo = "rexx2.txt"
buffer = "-"
linein (archivo, 1.0)
do while buffer = ""
a = linein (archivo ,, 1)
decir un
fin
http://www.disc.ua.es/~gil/rexx.html 12/19
13/9/2018 www.disc.ua.es/~gil/rexx.html
http://www.disc.ua.es/~gil/rexx.html 13/19
13/9/2018 www.disc.ua.es/~gil/rexx.html
resultado=lineout(salida,a.contador2)
si resultado = 1, entonces salga
8.- La cola.
============
http://www.disc.ua.es/~gil/rexx.html 14/19
13/9/2018 www.disc.ua.es/~gil/rexx.html
http://www.disc.ua.es/~gil/rexx.html 15/19
13/9/2018 www.disc.ua.es/~gil/rexx.html
/* uso de parse */
di "introduce tu nombre"
parse pull nombre
si nombre == "Javier" entonces
http://www.disc.ua.es/~gil/rexx.html 16/19
13/9/2018 www.disc.ua.es/~gil/rexx.html
di "Hola Javier"
más
decir "A ti no te conozco"
/* uso de parse */
di "introduce tu nombre"
analizar el nombre del tirón superior
si nombre == "JAVIER" entonces
di "Hola Javier"
más
decir "A ti no te conozco"
/* uso de parse */
say "introduce tres o más nombres"
parse pull primero segundo tercero resto
say primero segundo tercero "/" resto
/* uso de parse */
correcto=0
say "introduce exactamente tres nombres: "
pull uno dos tres resto
seleccionar
cuando tres = "" luego diga "faltan nombres"
when resto \ = "" luego diga "sobran nombres"
de lo contrario correcto = 1
fin
/* lectura de argumentos */
arg primero segundo
say primero segundo
http://www.disc.ua.es/~gil/rexx.html 17/19
13/9/2018 www.disc.ua.es/~gil/rexx.html
http://www.disc.ua.es/~gil/rexx.html 18/19
13/9/2018 www.disc.ua.es/~gil/rexx.html
interpretar dado
Enero de 2001.
http://www.disc.ua.es/~gil/rexx.html 19/19